void ClusterInterface::HandlePlayerChangedServers(WorldPacket & pck) { uint32 sessionid, dsid; pck >> sessionid >> dsid; if(!_sessions[dsid]) { Log.Error("HandlePlayerChangedServers", "Invalid session: %u", sessionid); return; } WorldSession * s = _sessions[sessionid]; PlayerPointer plr = s->GetPlayer(); /* build the packet with the players information */ WorldPacket data(ICMSG_PLAYER_CHANGE_SERVER_INFO, 1000); data << sessionid << plr->GetGUIDLow(); /* pack */ //data << plr-> /* remove the player from our world. */ sEventMgr.AddEvent(plr, &Player::EventRemoveAndDelete, EVENT_GAMEOBJECT_EXPIRE /* meh :P */, 1000, 1); /* dereference the session */ }