if(CC_LEVEL_RANGE(lpMsg->level) == 0) -> Verifica que el level este en el rango de 6
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
CHAOS_CASTLE_LEVEL* lpLevel = &this->m_ChaosCastleLevel[lpMsg->level];
if(INVENTORY_FULL_RANGE(lpMsg->slot) == 0) verifica que la entrada este en un slot valido del inventario
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(lpObj->Inventory[lpMsg->slot].m_Index != GET_ITEM(13,29)) Verifica que realmente este la entrada en el inv
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(lpObj->Inventory[8].m_Index == GET_ITEM(13,2) || lpObj->Inventory[8].m_Index == GET_ITEM(13,3) || lpObj->Inventory[8].m_Index == GET_ITEM(13,37)) Verifica que no estes usando pets
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(DS_MAP_RANGE(lpObj->Map) != 0 || BC_MAP_RANGE(lpObj->Map) != 0 || CC_MAP_RANGE(lpObj->Map) != 0 || DA_MAP_RANGE(lpObj->Map) != 0 || DG_MAP_RANGE(lpObj->Map) != 0 || IG_MAP_RANGE(lpObj->Map) != 0) Verifica que no estes en ningun mapa de evento
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(OBJECT_RANGE(lpObj->PartyNumber) != 0) Verifica que mo estes en party
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(lpObj->Guild != 0 && lpObj->Guild->WarState == 1) Verifica que no estes en guild war
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(OBJECT_RANGE(lpObj->DuelUser) != 0) Verifica que no estes en duelo
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(lpObj->PShopOpen != 0) Verifica que no tengas abierto el shop personal
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(lpObj->Change != -1) Veerifica que no tengas puesto ninguna transformacion
{
pMsg.result = 1;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(this->GetEnterEnabled(lpMsg->level) == 0) Verifica que se pueda ingresar al evento
{
pMsg.result = 2;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(gMapServerManager.CheckMapServer(lpLevel->Map) == 0) verifica que el mapa
{
pMsg.result = 2;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(lpObj->Money < ((DWORD)gChaosCastleEnterMoney[lpMsg->level])) Verifica tu zen si alcanza para entrar
{
pMsg.result = 7;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(gServerInfo.m_PKLimitFree == 0 && lpObj->PKLevel >= 4) Verifica tu estado pk
{
pMsg.result = 8;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
if(this->AddUser(lpLevel,aIndex) == 0) Te agrega en caso contrario que aya algun fallo salta el msg
{
pMsg.result = 5;
DataSend(aIndex,(BYTE*)&pMsg,pMsg.header.size);
return;
}
con esto ya saben todo lo que puede ser que te salte el error ese el 90% de los chequeos manda ese msg mira y verifica