Birodalmi metinkő SRC (help)

Indította Red, 2019-07-20, 11:08:55

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/


2019-07-22, 13:21:00 #4 Utolsó szerkesztés: 2019-07-22, 13:23:32 Szerző: Red
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.
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

sa red..
Ha segítettem vagy akármi érted, akkor a +-t elfogadom.