struct PlayerInfo { int nDBID; User *pUser; wchar_t wszName[14]; unsigned int nObjectID; int nRank; int nCharges; int nNewX; int nNewY; int nNewZ; int nSummonerDBID; bool bCanBeSummoned; }; class Player { public: Player(); static Player *In(); User *GetPlayerByName(wchar_t wszName[14]); User *GetPlayerByDBID(int nDBID); User *GetPlayerByObjID(unsigned int nObjectID); void AddPlayer(User *pUser); void DelPlayer(User *pUser); bool PlayerExists(User *pUser); std::map MPlayerInfo; std::map ::iterator Iter; ~Player() { }; };