Sziasztok.
Forrásban hogyan lehet megoldani, hogy egy adott metinkövet(mobot), egy adott birodalom ne tudja sebezni?
Válaszokat előre köszönöm.
Hmm, állandóan vagy csak egy adott időpontban?
Ha állandóan, akkor én az AIFlaggal oldalnám meg.
AIFLAG_NOATTACKSHINSU
AIFLAG_NOATTACKJINNO
AIFLAG_NOATTACKCHUNJO
Ha csak egy adott helyzetben, akkor adnék egy átmeneti változót a karakternek, amit megváltoztatnék ha úgy kell.
Mindez csak elképzelés, a megvalósítás rajtad áll.
Talán ez is hasznodra lehet.
https://metin2.dev/board/index.php?/topic/15842-disable-empire-attack/
+
Természetesen állandóan szeretném megoldani.
A char_state.cpp-ben kell bővíteni az AIFlaggot egy if-el?
Gondolok itt erre:
void CHARACTER::SetNoAttackShinsu()
{
SET_BIT(m_pointsInstant.dwAIFlag, AIFLAG_NOATTACKSHINSU);
}
bool CHARACTER::IsNoAttackShinsu() const
{
return IS_SET(m_pointsInstant.dwAIFlag, AIFLAG_NOATTACKSHINSU);
}
if (item->GetAntiFlag() & ITEM_ANTIFLAG_CHUNJO)
return false;
break;
if (item->GetAntiFlag() & ITEM_ANTIFLAG_JINNO)
return false;
break;
if (item->GetAntiFlag() & ITEM_ANTIFLAG_SHINSOO)
return false;
break;
int empire = ch->GetEmpire();
if (ch->GetEmpire() == victim->GetEmpire())
return true;
else
return false;
if (iEmpireByMapIndex && GetEmpire() != iEmpireByMapIndex)
if ( m_pkChr->IsNoAttackShinsu() )
{
if ( pkChr->GetEmpire() == 1 )
return false;
}
if ( m_pkChr->IsNoAttackChunjo() )
{
if ( pkChr->GetEmpire() == 2 )
return false;
}
if ( m_pkChr->IsNoAttackJinno() )
{
if ( pkChr->GetEmpire() == 3 )
return false;
}
Útba igazítás.
sa red..