Fix invalid item bug

This commit is contained in:
Gent 2020-09-18 14:42:11 -04:00
parent 9f78735caa
commit cd7fec2d5b
2 changed files with 6 additions and 1 deletions

View File

@ -47,7 +47,6 @@ void CNShardServer::keepAliveTimer(CNServer* serv, time_t currTime) {
} }
void CNShardServer::periodicSaveTimer(CNServer* serv, time_t currTime) { void CNShardServer::periodicSaveTimer(CNServer* serv, time_t currTime) {
std::cout << "players size: " << PlayerManager::players.size() << std::endl;
for (auto& pair : PlayerManager::players) { for (auto& pair : PlayerManager::players) {
Database::updatePlayer(pair.second.plr); Database::updatePlayer(pair.second.plr);
} }

View File

@ -162,6 +162,12 @@ void ItemManager::itemGMGiveHandler(CNSocket* sock, CNPacketData* data) {
// sock->sendPacket(new CNPacketData((void*)resp, P_FE2CL_REP_PC_GIVE_ITEM_FAIL, sizeof(sP_FE2CL_REP_PC_GIVE_ITEM_FAIL), sock->getFEKey())); // sock->sendPacket(new CNPacketData((void*)resp, P_FE2CL_REP_PC_GIVE_ITEM_FAIL, sizeof(sP_FE2CL_REP_PC_GIVE_ITEM_FAIL), sock->getFEKey()));
} else if (itemreq->eIL == 1 && itemreq->Item.iType >= 0 && itemreq->Item.iType <= 10) { } else if (itemreq->eIL == 1 && itemreq->Item.iType >= 0 && itemreq->Item.iType <= 10) {
if (ItemData.find(std::pair<int32_t, int32_t>(itemreq->Item.iID, itemreq->Item.iType)) == ItemData.end()) {
// invalid item
std::cout << "[WARN] Item id " << itemreq->Item.iID << " with type " << itemreq->Item.iType << " is invalid (give item)" << std::endl;
return;
}
INITSTRUCT(sP_FE2CL_REP_PC_GIVE_ITEM_SUCC, resp); INITSTRUCT(sP_FE2CL_REP_PC_GIVE_ITEM_SUCC, resp);
resp.eIL = itemreq->eIL; resp.eIL = itemreq->eIL;