Fethi Polat 1
Fethi Polat
xranzei 1
xranzei
Bvural41 1
Bvural41
kralhakan2009 1
kralhakan2009
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
B 1
berione65
sen272 1
sen272
Mt2Hizmet 1
Mt2Hizmet
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

Minimapte boss önizlemesi gösterme 1

indirmek için izniniz yok
Selamun aleyküm paylaşımı daha önce yapıldı lakin bazı eksik yerleri ve anlatımda sıkıntısı vardı.

Sistemi tamamen düzelttim sizlere sunuyorum başlıyalım.

Kanıt;

Ekli dosyayı görüntüle 38677

Locale_inc.h açılır ve eklenir.

Kod:
#define BOSS_MARK_SYSTEM // Minimapte boss gösterme

InstanceBase.cpp açılır ve şu satır bulunur.

Kod:
BOOL CInstanceBase::IsStone()
{
return m_GraphicThingInstance.IsStone();
}

Altına eklenir;


Kod:
#ifdef BOSS_MARK_SYSTEM
BOOL CInstanceBase::IsBoss()
{
if (GetRace() == 691)
return TRUE;
if (GetRace() == 692)
return TRUE;
if (GetRace() == 693)
return TRUE;
if (GetRace() == 791)
return TRUE;
if (GetRace() == 991)
return TRUE;
if (GetRace() == 992)
return TRUE;
if (GetRace() == 993)
return TRUE;
if (GetRace() == 1091)
return TRUE;
if (GetRace() == 1092)
return TRUE;
if (GetRace() == 1093)
return TRUE;
if (GetRace() == 1094)
return TRUE;
if (GetRace() == 1095)
return TRUE;
if (GetRace() == 2191)
return TRUE;
if (GetRace() == 1191)
return TRUE;
if (GetRace() == 1192)
return TRUE;
if (GetRace() == 1304)
return TRUE;
if (GetRace() == 1306)
return TRUE;
if (GetRace() == 1307)
return TRUE;
if (GetRace() == 1901)
return TRUE;
if (GetRace() == 1902)
return TRUE;
if (GetRace() == 1903)
return TRUE;
if (GetRace() == 2206)
return TRUE;
if (GetRace() == 2207)
return TRUE;
if (GetRace() == 2291)
return TRUE;
if (GetRace() == 2306)
return TRUE;
if (GetRace() == 2307)
return TRUE;
if (GetRace() == 2492)
return TRUE;
if (GetRace() == 2493)
return TRUE;
if (GetRace() == 2494)
return TRUE;
if (GetRace() == 2598)
return TRUE;
if (GetRace() == 3090)
return TRUE;
if (GetRace() == 3091)
return TRUE;
if (GetRace() == 3190)
return TRUE;
if (GetRace() == 3191)
return TRUE;
if (GetRace() == 3290)
return TRUE;
if (GetRace() == 3291)
return TRUE;
if (GetRace() == 3390)
return TRUE;
if (GetRace() == 3391)
return TRUE;
if (GetRace() == 3490)
return TRUE;
if (GetRace() == 3491)
return TRUE;
if (GetRace() == 3590)
return TRUE;
if (GetRace() == 3591)
return TRUE;
if (GetRace() == 3690)
return TRUE;
if (GetRace() == 3691)
return TRUE;
if (GetRace() == 3790)
return TRUE;
if (GetRace() == 3791)
return TRUE;
if (GetRace() == 3890)
return TRUE;
if (GetRace() == 3891)
return TRUE;
if (GetRace() == 5001)
return TRUE;
if (GetRace() == 5004)
return TRUE;
if (GetRace() == 5002)
return TRUE;
if (GetRace() == 5161)
return TRUE;
if (GetRace() == 5162)
return TRUE;
if (GetRace() == 5163)
return TRUE;
if (GetRace() == 6091)
return TRUE;
if (GetRace() == 6191)
return TRUE;

return FALSE;
}
#endif

InstanceBase.h açılır ve şu satır aratılır.


Kod:
          NAMECOLOR_WAYPOINT
,


Altına eklenir;


Kod:
#ifdef BOSS_MARK_SYSTEM
NAMECOLOR_BOSS,
#endif


Tekrar aratılır;


Kod:
        BOOL                    IsStone();

Altına eklenir;


Kod:
#ifdef BOSS_MARK_SYSTEM
BOOL IsBoss();
#endif


InstanceBaseEffect.cpp açılır ve şu satır aratılır.


Kod:
else if (IsEnemy())
{
return NAMECOLOR_MOB;
}


Bu şekilde değiştirilir;


Kod:
else if (IsEnemy())
{
#ifdef BOSS_MARK_SYSTEM
if (IsBoss())
return NAMECOLOR_BOSS;
#endif

return NAMECOLOR_MOB;
}



PythonCharacterManagerModule.cpp açılır ve şu satır aratılır.


Kod:
    PyModule_AddIntConstant(poModule, "NAMECOLOR_WAYPOINT", CInstanceBase::NAMECOLOR_WAYPOINT);

Altına eklenir;


Kod:
#ifdef BOSS_MARK_SYSTEM
PyModule_AddIntConstant(poModule, "NAMECOLOR_BOSS", CInstanceBase::NAMECOLOR_BOSS);
#endif

PythonMiniMap.cpp açılır ve şu satır aratılır.

Kod:
m_NPCPositionVector.clear();


Altına eklenir;

Kod:
#ifdef BOSS_MARK_SYSTEM
m_BossPositionVector.clear();
#endif

Aratılır;

[CODE title="7"] if (pkInstEach->IsPC() && !pkInstEach->IsInvisibility())
{
if (pkInstEach == CPythonCharacterManager::Instance().GetMainInstancePtr())
continue;

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;
aMarkPosition.m_eNameColor=pkInstEach->GetNameColorIndex();
if (aMarkPosition.m_eNameColor==CInstanceBase::NAMECOLOR_PARTY)
m_PartyPCPositionVector.push_back(aMarkPosition);
else
m_OtherPCPositionVector.push_back(aMarkPosition);
}[/CODE]

Kod bloğunun altına eklenir;

Kod:
#ifdef BOSS_MARK_SYSTEM
else if (pkInstEach->IsBoss())
{
aMarkPosition.m_fX = (m_fWidth - (float)m_BossMark.GetWidth()) / 2.0f + fDistanceFromCenterX + m_fScreenX;
aMarkPosition.m_fY = (m_fHeight - (float)m_BossMark.GetHeight()) / 2.0f + fDistanceFromCenterY + m_fScreenY;

m_BossPositionVector.push_back(aMarkPosition);
}
#endif

Aratılır;

Kod:
if (m_fScale >= 2.0f)
{
// Monster
STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, CInstanceBase::GetIndexedNameColor(CInstanceBase::NAMECOLOR_MOB));//m_MarkTypeToColorMap[TYPE_MONSTER]);
aIterator = m_MonsterPositionVector.begin();
while (aIterator != m_MonsterPositionVector.end())
{
TMarkPosition & rPosition = *aIterator;
m_WhiteMark.SetPosition(rPosition.m_fX, rPosition.m_fY);
m_WhiteMark.Render();
++aIterator;
}

Kod bloğunun altına eklenir;

Kod:
#ifdef BOSS_MARK_SYSTEM
STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, CInstanceBase::GetIndexedNameColor(CInstanceBase::NAMECOLOR_BOSS));
aIterator = m_BossPositionVector.begin();
while (aIterator != m_BossPositionVector.end())
{
TMarkPosition & rPosition = *aIterator;
m_BossMark.SetPosition(rPosition.m_fX, rPosition.m_fY);
m_BossMark.Render();
++aIterator;
}
#endif

Aratılır;


Kod:
  const std::string strWhiteMark = strImageRoot + "minimap/whitemark.sub";

Altına eklenir;


Kod:
#ifdef BOSS_MARK_SYSTEM
const std::string strBossMark = strImageRoot + "bossmark.tga";
#endif

Aratılır;

Kod:
    m_WhiteMark.SetImagePointer(pSubImage);

Altına eklenir;

Kod:
#ifdef BOSS_MARK_SYSTEM
pSubImage = (CGraphicSubImage *)CResourceManager::Instance().GetResourcePointer(strBossMark.c_str());
m_BossMark.SetImagePointer(pSubImage);
#endif

Aratılır;


Kod:
    m_PlayerMark.Destroy();

Altına eklenir;


Kod:
#ifdef BOSS_MARK_SYSTEM
m_BossMark.Destroy();
#endif


PythonMiniMap.h açılır ve şu satır aratılır.


Kod:
        CGraphicImageInstance            m_WhiteMark;

Altına eklenir;

Kod:
#ifdef BOSS_MARK_SYSTEM
CGraphicExpandedImageInstance m_BossMark;
#endif

Aratılır;

Kod:
        TInstanceMarkPositionVector        m_NPCPositionVector;

Altına eklenir;

Kod:
#ifdef BOSS_MARK_SYSTEM
TInstanceMarkPositionVector m_BossPositionVector;
#endif

SRC ile işimiz bitti.
Gelelim phyton kısmına..

Root içerisindeki colorinfo.py açılır ve aratılır.

Kod:
CHR_NAME_RGB_EMPIRE_PC_C = (23, 30, 138)

Altına eklenir.


Kod:
CHR_NAME_RGB_BOSS = (255, 255, 255)

Ardından introloading.py açılır ve aratılır.


Kod:
           chrmgr.NAMECOLOR_WAYPOINT : colorInfo.CHR_NAME_RGB_WAYPOINT,

Altına eklenir;

Kod:
            chrmgr.NAMECOLOR_BOSS : colorInfo.CHR_NAME_RGB_BOSS,

İndirdiğiniz dosyayı etc packini açın ymirwork/ui kısmına atın packi kapatın.
  • Adsz.png
    Adsz.png
    1.1 MB · Görüntüleme: 0
Yazar
MaviAy44
Kaynak İndirilme
42
Görüntüleme
341
İlk yayınlama
Son Güncelleme

Ratings

0.00 yıldız(lar) 0 rating

MaviAy44 - Kaynakları

Geri
Üst