[C++ | Python] Minimap BOSS más színnel

Indította Pisti95, 2018-05-10, 14:47:19

2018-05-10, 14:47:19 Utolsó szerkesztés: 2020-11-12, 00:31:37 Szerző: Pisti95


Indító forrás

InstanceBase.h

Rákeresel erre:
NAMECOLOR_WAYPOINT,

Ezt írod alá:
NAMECOLOR_BOSS,

Rákeresel erre:
BOOL IsEnemy();


Írd alá ezt:
///boss
BOOL IsBoss();




InstanceBase.cpp

Keresd ezt:
BOOL CInstanceBase::IsFlag()


A tömb alá másold ezt:
///boss
BOOL CInstanceBase::IsBoss()
{

const CPythonNonPlayer::TMobTable *pkTab = CPythonNonPlayer::Instance().GetTable(GetRace());

if(pkTab != nullptr)
{
if (pkTab->bRank >= 4 && !IsStone() && pkTab->bType == 0)
return TRUE;
}

return FALSE;
}
///////////////
///////////////



InstanceBaseEffect.cpp

Rákeresel erre:
else if (IsEnemy())
{
return NAMECOLOR_MOB;
}



Módosítod erre:
else if (IsEnemy())
{
if (IsBoss())
return NAMECOLOR_BOSS;

return NAMECOLOR_MOB;
}





PythonCharacterManagerModule.cpp

Keresd meg ezt a sort:
PyModule_AddIntConstant(poModule, "NAMECOLOR_WAYPOINT", CInstanceBase::NAMECOLOR_WAYPOINT);



Alá másolod ezt:
PyModule_AddIntConstant(poModule, "NAMECOLOR_BOSS", CInstanceBase::NAMECOLOR_BOSS);



PythonMinimap.h

Rákeresel erre:
TInstanceMarkPositionVector m_NPCPositionVector;


Alá írod ezt:
TInstanceMarkPositionVector m_BossPositionVector;



PythonMinimap.cpp


Rákeresel erre:
m_NPCPositionVector.clear();


Írd alá ezt:
m_BossPositionVector.clear();



Keresd ezt a tömböt:
// NPC
STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, CInstanceBase::GetIndexedNameColor(CInstanceBase::NAMECOLOR_NPC));
aIterator = m_NPCPositionVector.begin();
while (aIterator != m_NPCPositionVector.end())
{
TMarkPosition & rPosition = *aIterator;
m_WhiteMark.SetPosition(rPosition.m_fX, rPosition.m_fY);
m_WhiteMark.Render();
++aIterator;
}




Másold alá ezt:
    // Boss
    STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, CInstanceBase::GetIndexedNameColor(CInstanceBase::NAMECOLOR_BOSS));
    aIterator = m_BossPositionVector.begin();
    while (aIterator != m_BossPositionVector.end())
    {
        TMarkPosition & rPosition = *aIterator;
        m_WhiteMark.SetPosition(rPosition.m_fX, rPosition.m_fY);
        m_WhiteMark.Render();
        ++aIterator;
    }





Rákeresel erre a tömbre is:
else if (pkInstEach->IsEnemy())
{
aMarkPosition.m_fX = ( m_fWidth - (float)m_WhiteMark.GetWidth() ) / 2.0f + fDistanceFromCenterX + m_fScreenX;
aMarkPosition.m_fY = ( m_fHeight - (float)m_WhiteMark.GetHeight() ) / 2.0f + fDistanceFromCenterY + m_fScreenY;

m_MonsterPositionVector.push_back(aMarkPosition);
}




Fölé írod ezt:
        else if (pkInstEach->IsBoss())
        {
            aMarkPosition.m_fX = ( m_fWidth - (float)m_WhiteMark.GetWidth() ) / 2.0f + fDistanceFromCenterX + m_fScreenX;
            aMarkPosition.m_fY = ( m_fHeight - (float)m_WhiteMark.GetHeight() ) / 2.0f + fDistanceFromCenterY + m_fScreenY;

            m_BossPositionVector.push_back(aMarkPosition);
        }




Python

colorInfo.py-ba

CHR_NAME_RGB_BOSS = (9, 22, 255)
Itt tudod módosítani a színét a BOSS-oknak.



introloading.py

Keresd meg ezt a sort:
chrmgr.NAMECOLOR_WAYPOINT : colorInfo.CHR_NAME_RGB_WAYPOINT,

Írd alá ezt a sort:
chrmgr.NAMECOLOR_BOSS : colorInfo.CHR_NAME_RGB_BOSS,


Üdv, Pisti95