Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

MaviAyGames | Minimapte boss önizlemesi gösterme 1

indirmek için izniniz yok
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

MaviAy44

Emre Kırıcı
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Yönetici
Turnuva
Yarışma
Katılım
16 Tem 2019
Konular
714
Mesajlar
3,541
Online süresi
6ay 20g
Reaksiyon Skoru
2,107
Altın Konu
34
Başarım Puanı
309
TM Yaşı
6 Yıl 9 Ay 10 Gün
MmoLira
26,224
DevLira
122

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

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;

Adsz.png


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;

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);
}

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.
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler
 
teşekkür ederiz 🥳
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst