Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: Red Dátum 2019-07-20, 11:08:55

Cím: Birodalmi metinkő SRC (help)
Írta: Red Dátum 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.
Cím: Re:Birodalmi metinkő SRC (help)
Írta: [VIP]P3NG3R Dátum 2019-07-20, 12:25:08
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.
Cím: Re:Birodalmi metinkő SRC (help)
Írta: Chookez Dátum 2019-07-20, 13:19:46
Talán ez is hasznodra lehet.
https://metin2.dev/board/index.php?/topic/15842-disable-empire-attack/
Cím: Re:Birodalmi metinkő SRC (help)
Írta: Mark881 Dátum 2019-07-20, 19:21:59
+
Cím: Re:Birodalmi metinkő SRC (help)
Írta: Red Dátum 2019-07-22, 13:21:00
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);
}
Cím: Re:Birodalmi metinkő SRC (help)
Írta: TheSLESH Dátum 2019-07-22, 15:00:21
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.
Cím: Re:Birodalmi metinkő SRC (help)
Írta: trodhenta Dátum 2019-07-26, 10:32:03
sa red..
EhPortal 1.39 © 2025, WebDev