nanduzenho
Member
Good morning, I did This procedure, but it is saying that in player.cpp the identifier was not declared when compiling.
This line: it.second->notifyStatusChange(this, VIPSTATUS_PENDING);
This line: it.second->notifyStatusChange(this, VIPSTATUS_PENDING);
Lua:
void Player::despawn()
{
if (isDead()) {
return;
}
listWalkDir.clear();
stopEventWalk();
onWalkAborted();
// remove check
g_game.removeCreatureCheck(this);
// remove from map
Tile* tile = getTile();
std::vector<int32_t> oldStackPosVector;
SpectatorVec spectators;
g_game.map.getSpectators(spectators, tile->getPosition(), true);
for (Creature* spectator : spectators) {
if (Player* player = spectator->getPlayer()) {
oldStackPosVector.push_back(player->canSeeCreature(this) ? tile->getStackposOfCreature(player, this) : -1);
}
}
tile->removeCreature(this);
const Position& tilePosition = tile->getPosition();
//send to client
size_t i = 0;
for (Creature* spectator : spectators) {
if (Player* player = spectator->getPlayer()) {
player->sendRemoveTileThing(tilePosition, oldStackPosVector[i++]);
}
}
//event method
for (Creature* spectator : spectators) {
spectator->onRemoveCreature(this, false);
}
getParent()->postRemoveNotification(this, nullptr, 0);
g_game.removePlayer(this);
// show player as pending
for (const auto& it : g_game.getPlayers()) {
it.second->notifyStatusChange(this, VIPSTATUS_PENDING);
}
setDead(true);
}