Em suas sources, abra o arquivo creature.cpp procure por:
void Creature::eek:nCreatureAppear(Creature* creature, bool)
Vamos adicionar um isLogin, ou seja substitua a linha a cima por:
void Creature::eek:nCreatureAppear(Creature* creature, bool isLogin)
Ainda no creature.cpp procure por:
if (creature == this) {
if (useCacheMap()) {
isMapLoaded = true;
updateMapCache();
}
Logo abaixo pule uma linha e adicione:
if (isLogin) {
setLastPosition(getPosition());
}
Agora abra o seu creature.h
Na linha 156 procure por:
virtual void addList() = 0;
Pule uma linha e adicione:
const Position& getLastPosition() const {
return lastPosition;
}
void setLastPosition(const Position& newLastPos) {
lastPosition = newLastPos;
}
Ainda no creature.h procure por
virtual void onCreatureAppear(Creature* creature, bool);
Substitua a linha a cima por:
virtual void onCreatureAppear(Creature* creature, bool isLogin);
Procure por:
Outfit_t defaultOutfit;
Pule uma linha e adicione:
Position lastPosition;
Agora abra o seu game.cpp e procure por:
ReturnValue Game::internalMoveCreature(Creature* creature, Direction direction, uint32_t flags /*= 0*/)
{
Logo abaixo adicione:
creature->setLastPosition(creature->getPosition());
Agora por fim, abra seu movement.cpp procure por:
LuaScriptInterface::pushPosition(L, fromPos);
Substitua a linha a cima por:
LuaScriptInterface::pushPosition(L, creature->getLastPosition());