Onforum.net - Web and gaming resource community

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members .

Metin2 BOSSMARK

Vanilla

Elite
Elite
Credits
1,180
58ce37e500201daf2c539c22d9e22bd3.png

Open Locale_inc.h and add:
Code:
#define BOSS_MARK_SYSTEM // show boss on minimap
InstanceBase.cpp opens and the following line is found.
Code:
BOOL CInstanceBase::IsStone()
{
return m_GraphicThingInstance.IsStone();
}
Add to the bottom;
Code:
#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 opens and the following line is searched.
Code:
          NAMECOLOR_WAYPOINT

add to the bottom
Code:
#ifdef BOSS_MARK_SYSTEM
NAMECOLOR_BOSS,
#endif

Search again;
Code:
        BOOL                    IsStone();
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
BOOL IsBoss();
#endif
InstanceBaseEffect.cpp opens and the following line is searched.
Code:
else if (IsEnemy())
{
return NAMECOLOR_MOB;
}

It is changed in this way;
Code:
else if (IsEnemy())
{
#ifdef BOSS_MARK_SYSTEM
if (IsBoss())
return NAMECOLOR_BOSS;
#endif

return NAMECOLOR_MOB;
}

PythonCharacterManagerModule.cpp opens and the following line is searched.
Code:
    PyModule_AddIntConstant(poModule, "NAMECOLOR_WAYPOINT", CInstanceBase::NAMECOLOR_WAYPOINT);
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
PyModule_AddIntConstant(poModule, "NAMECOLOR_BOSS", CInstanceBase::NAMECOLOR_BOSS);
#endif
PythonMiniMap.cpp opens and the following line is searched.
Code:
m_NPCPositionVector.clear();
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
m_BossPositionVector.clear();
#endif
Search;
Code:
    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);
}
It is added below the code block;

Code:
#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
Search;
Code:
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;
}
It is added below the code block;
Code:
#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
Searched;
Code:
  const std::string strWhiteMark = strImageRoot + "minimap/whitemark.sub";
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
const std::string strBossMark = strImageRoot + "bossmark.tga";
#endif

Searched;
Code:
m_WhiteMark.SetImagePointer(pSubImage);
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
pSubImage = (CGraphicSubImage *)CResourceManager::Instance().GetResourcePointer(strBossMark.c_str());
m_BossMark.SetImagePointer(pSubImage);
#endif
Searched;
Code:
m_PlayerMark.Destroy();
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
m_BossMark.Destroy();
#endif
PythonMiniMap.h opens and the following line is searched.
Code:
CGraphicImageInstance            m_WhiteMark;
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
CGraphicExpandedImageInstance m_BossMark;
#endif
Searched;
Code:
TInstanceMarkPositionVector        m_NPCPositionVector;
It is added to the bottom;
Code:
#ifdef BOSS_MARK_SYSTEM
TInstanceMarkPositionVector m_BossPositionVector;
#endif

We're done with the SRC.
Let's get to the phyton part .. The

colorinfo.py in root is opened and searched.
Code:
_NAME_RGB_EMPIRE_PC_C = (23, 30, 138)
It is added to the bottom.
Code:
CHR_NAME_RGB_BOSS = (255, 255, 255)
Then introloading.py opens and searches.
Code:
chrmgr.NAMECOLOR_WAYPOINT : colorInfo.CHR_NAME_RGB_WAYPOINT,
It is added to the bottom;
Code:
chrmgr.NAMECOLOR_BOSS : colorInfo.CHR_NAME_RGB_BOSS,
Open the etc pack the downloaded file, put it in the ymirwork / ui section, close pack
 
Top

Dear User!

We found that you are blocking the display of ads on our site.

Please add it to the exception list or disable AdBlock.

The advertises that you'll see aren't intrusive they just help us to keep the community alive

If you don't want to see those ads just buy an upgrade.

Thank you for understanding!

Rogue

Rogue Purchase

User upgrade! at

🔥 Upgrade Now
Baba2

Baba2 Purchase

User upgrade! at

🔥 Upgrade Now

Escanor25 Purchase

User upgrade! at

🔥 Upgrade Now