Son günlerde serverlere girip item dupelayıp serveri crashleyen arkadaştan kurtulmanız için basit fix
input_main.cpp arat
altına ekle:
desc.h arat:
altına ekle:
Olası Örnek Durumlar:
input_main.cpp arat
Kod:
int CInputMain::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
{
LPCHARACTER ch;
if (!(ch = d->GetCharacter()))
{
sys_err("no character on desc");
d->SetPhase(PHASE_CLOSE);
return (0);
}
int iExtraLen = 0;
if (test_server && bHeader != HEADER_CG_MOVE)
sys_log(0, "CInputMain::Analyze() ==> Header [%d] ", bHeader);
altına ekle:
Kod:
if (ch->GetDesc()->GetPhase() != PHASE_GAME && ch->GetDesc()->GetPhase() != PHASE_DEAD)
{
sys_err("no character in game");
sys_log(0, "no character in game %u %u %u", ch->GetPlayerID(), ch->GetDesc()->GetPhase(), bHeader);
d->SetPhase(PHASE_CLOSE);
return (0);
}
desc.h arat:
Kod:
bool IsPhase(int phase) const { return m_iPhase == phase ? true : false; }
altına ekle:
Kod:
int GetPhase() const { return m_iPhase; }
Olası Örnek Durumlar: