2024-12-21 10:04:04 +08:00
# include "StdAfx.h"
# include "DNGMCommand.h"
# include "DNCheatCommand.h"
# include "DNUserSendManager.h"
# include "DNUserQuest.h"
# include "DNGameDataManager.h"
# include "DNLogConnection.h"
# include "DNUserSession.h"
# if defined(_VILLAGESERVER)
# include "DNMasterConnection.h"
# include "DNFieldDataManager.h"
# include "DNScriptAPI.h"
# include "DNPartyManager.h"
# include "DNUserSessionManager.h"
# include "DNField.h"
# include "DNAuthManager.h"
# include "DNCountryUnicodeSet.h"
# include "DNGuildVillage.h"
extern TVillageConfig g_Config ;
# elif defined(_GAMESERVER)
# include "DNGameRoom.h"
# include "DNActor.h"
# include "TaskManager.h"
# include "DnItemTask.h"
# include "DnDropItem.h"
# include "EtActionCoreMng.h"
# include "DNGameServerScriptApi.h"
# include "DnGameTask.h"
# include "DNMasterConnection.h"
# include "DNMasterConnectionManager.h"
# include "PvPRespawnLogic.h"
# include "DnPlayerActor.h"
# if defined( PRE_WORLDCOMBINE_PVP )
# include "PvPGameMode.h"
# endif
# endif
enum eGMCommandType
{
GM_Help = 0 ,
# if defined(_CH)
GM_HideOn , // <20> <> <EFBFBD> <EFBFBD>
GM_HideOff , // <20> <> Ÿ<EFBFBD> <C5B8>
GM_ChangeMap , // <20> <> <EFBFBD> ̵<EFBFBD>
GM_Trace , // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Warp ,
GM_Trace_AID , // <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Trace_CID , // ij<> <C4B3> <EFBFBD> ; <EFBFBD> <CDBE> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Recall , // <20> <> <EFBFBD> <EFBFBD> <20> <> ȯ
GM_UserBan , // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Fatigue ,
GM_HP ,
GM_WEventClear , // <20> ָ<EFBFBD> <D6B8> ̺<EFBFBD> Ʈ Ŭ<> <C5AC> <EFBFBD> <EFBFBD>
# elif defined (_US)
GM_HideOn ,
GM_HideOff ,
GM_ChangeMap ,
GM_Trace ,
GM_UserBan ,
GM_SummonMob ,
GM_AllKillMob ,
GM_ZoneNotice ,
GM_HP ,
GM_SetLevel ,
GM_MakeItem ,
GM_Recall ,
GM_Notice ,
GM_MakeCoin ,
GM_WhisperOn , // <20> ӼӸ<D3BC> <D3B8> <EFBFBD> <EFBFBD> <EFBFBD>
GM_WhisperOff , // <20> ӼӸ<D3BC> <D3B8> <EFBFBD> <EFBFBD> <EFBFBD>
GM_Warp ,
# elif defined (_SG) || defined (_TH)
GM_Notice ,
GM_WhisperOn ,
GM_WhisperOff ,
GM_HideOn ,
GM_HideOff ,
GM_SummonMob ,
GM_AllKillMob ,
GM_MakeItem ,
GM_MakeCoin ,
GM_SetLevel ,
GM_ChangeMap ,
GM_SetQuest ,
GM_ZoneNotice ,
GM_Trace ,
GM_Warp ,
GM_Trace_AID ,
GM_Trace_CID ,
GM_Recall ,
GM_UserBan ,
GM_Fatigue ,
GM_DestroyPvP ,
GM_RepairAll ,
GM_GCreate ,
GM_GDismiss ,
# elif defined (_ID)
GM_Notice ,
GM_WhisperOn ,
GM_WhisperOff ,
GM_HideOn ,
GM_HideOff ,
GM_SummonMob ,
GM_AllKillMob ,
GM_MakeItem ,
GM_MakeCoin ,
GM_SetLevel ,
GM_ChangeMap ,
GM_SetQuest ,
GM_ZoneNotice ,
GM_Trace ,
GM_Warp ,
GM_Trace_AID ,
GM_Trace_CID ,
GM_Recall ,
GM_UserBan ,
GM_Fatigue ,
GM_DestroyPvP ,
# elif defined (_EU)
GM_Notice ,
GM_WhisperOn , // <20> ӼӸ<D3BC> <D3B8> <EFBFBD> <EFBFBD> <EFBFBD>
GM_WhisperOff , // <20> ӼӸ<D3BC> <D3B8> <EFBFBD> <EFBFBD> <EFBFBD>
GM_HideOn , // <20> <> <EFBFBD> <EFBFBD>
GM_HideOff , // <20> <> Ÿ<EFBFBD> <C5B8>
GM_SummonMob , // <20> <> <EFBFBD> <EFBFBD> ȯ
GM_AllKillMob , // <20> <> <EFBFBD> Ҹ<EFBFBD>
GM_MakeItem , // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ۻ<EFBFBD> <DBBB> <EFBFBD>
GM_MakeCoin , // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
GM_SetLevel , // <20> <> <EFBFBD> <EFBFBD>
GM_ChangeMap , // <20> <> <EFBFBD> ̵<EFBFBD>
GM_SetQuest , // <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD>
GM_ZoneNotice , // gm<67> <6D> <20> ִ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ä<> ο <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Trace , // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Warp ,
GM_Trace_AID , // <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Trace_CID , // ij<> <C4B3> <EFBFBD> ; <EFBFBD> <CDBE> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Recall , // <20> <> <EFBFBD> <EFBFBD> <20> <> ȯ
GM_UserBan , // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Fatigue ,
GM_DestroyPvP , // <20> <> <EFBFBD> <EFBFBD> <20> Ǻ<EFBFBD> <C7BA> Ƿ<EFBFBD> <C7B7> ı <EFBFBD>
# else
GM_Notice ,
GM_WhisperOn , // <20> ӼӸ<D3BC> <D3B8> <EFBFBD> <EFBFBD> <EFBFBD>
GM_WhisperOff , // <20> ӼӸ<D3BC> <D3B8> <EFBFBD> <EFBFBD> <EFBFBD>
GM_HideOn , // <20> <> <EFBFBD> <EFBFBD>
GM_HideOff , // <20> <> Ÿ<EFBFBD> <C5B8>
GM_SummonMob , // <20> <> <EFBFBD> <EFBFBD> ȯ
GM_AllKillMob , // <20> <> <EFBFBD> Ҹ<EFBFBD>
GM_MakeItem , // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ۻ<EFBFBD> <DBBB> <EFBFBD>
GM_MakeCoin , // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
GM_SetLevel , // <20> <> <EFBFBD> <EFBFBD>
GM_ChangeMap , // <20> <> <EFBFBD> ̵<EFBFBD>
GM_SetQuest , // <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD>
GM_ZoneNotice , // gm<67> <6D> <20> ִ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ä<> ο <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Trace , // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Warp ,
GM_Trace_AID , // <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Trace_CID , // ij<> <C4B3> <EFBFBD> ; <EFBFBD> <CDBE> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Recall , // <20> <> <EFBFBD> <EFBFBD> <20> <> ȯ
GM_UserBan , // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
GM_Fatigue ,
GM_DestroyPvP , // <20> <> <EFBFBD> <EFBFBD> <20> Ǻ<EFBFBD> <C7BA> Ƿ<EFBFBD> <C7B7> ı <EFBFBD>
GM_WEventClear , // <20> ָ<EFBFBD> <D6B8> ̺<EFBFBD> Ʈ Ŭ<> <C5AC> <EFBFBD> <EFBFBD>
# if defined( PRE_WORLDCOMBINE_PVP )
GM_WORLDPVPROOMALLKILLREDTEAM , // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ų<EFBFBD> <C5B3> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
GM_WORLDPVPROOMALLKILLBLUETEAM ,
GM_WORLDPVPROOMTOURNAMENTSETTING , // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ʸ<EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD>
# endif
# if defined( PRE_ADD_MUTE_USERCHATTING )
GM_MuteUser , // [JPN]<5D> <> <EFBFBD> <EFBFBD> ü<> <C3BC> <20> <> <EFBFBD> <EFBFBD>
# endif // #if defined( PRE_ADD_MUTE_USERCHATTING )
# endif
GM_END
} ;
__GMCmdLineDefineStruct g_GMCmdList [ ] =
{
{ GM_Help , _T ( " /? " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> ڸ<EFBFBD> <EFBFBD> ɾ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Help " ) } ,
# if defined(_CH)
{ GM_HideOn , _T ( " /hideon " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideon " ) , _T ( " Hide On " ) } ,
{ GM_HideOff , _T ( " /hideoff " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideoff " ) , _T ( " Hide Off " ) } ,
{ GM_ChangeMap , _T ( " /go " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /go (MapID) (0-4 : <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /go (MapID) (0-4 : Easy, Normal, Hard, Master, Abyss) " ) } ,
{ GM_Trace , _T ( " /trace " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " Usage(/trace CharacterName), Description(Trace character's dungeon) " ) } ,
{ GM_Warp , _T ( " /warp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /warp ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> ̵<EFBFBD> <CCB5> Ѵ <EFBFBD> .<2E> <> <EFBFBD> Ӽ<EFBFBD> <D3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> ) " ) , _T ( " /wapr CharacterName), (Move Character in Only GameServer) " ) } ,
{ GM_Trace_AID , _T ( " /trace_aid " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_aid <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_aid AccountDBID) - (Trace AccountDBID's position) " ) } ,
{ GM_Trace_CID , _T ( " /trace_cid " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_cid ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_cid CharacterDBID) - (Trace CharacterDBID's position) " ) } ,
{ GM_Recall , _T ( " /recall " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /recall ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȯ<EFBFBD> մϴ<D5B4> . " ) , _T ( " Usage(/recall CharacterName), Description(Recall character to GM Village " ) } ,
{ GM_UserBan , _T ( " /userban " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /userban ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> . " ) , _T ( " /userban CharacterName) " ) } ,
{ GM_Fatigue , _T ( " /fatigue " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /fatigue " ) , _T ( " /fatigue " ) } ,
{ GM_HP , _T ( " /hp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hp (1 - 100) " ) , _T ( " /hp (1 - 100) " ) } ,
{ GM_WEventClear , _T ( " /clearevent " ) , CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /clearevent " ) , _T ( " /clearevent " ) } ,
# elif defined (_US)
{ GM_HideOn , _T ( " /hideon " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideon " ) , _T ( " Hide On " ) } ,
{ GM_HideOff , _T ( " /hideoff " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideoff " ) , _T ( " Hide Off " ) } ,
{ GM_ChangeMap , _T ( " /go " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /go (MapID) (0-4 : <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /go (MapID) (0-4 : Easy, Normal, Hard, Master, Abyss) " ) } ,
{ GM_Trace , _T ( " /trace " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " Usage(/trace CharacterName), Description(Trace character's dungeon) " ) } ,
{ GM_UserBan , _T ( " /userban " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /userban ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> . " ) , _T ( " /userban CharacterName) " ) } ,
{ GM_SummonMob , _T ( " /summonmob " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /summonmob (MonsterID) (MonsterCount) " ) , _T ( " /summonmob (MonsterID) (MonsterCount) " ) } ,
{ GM_AllKillMob , _T ( " /allkillmon " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /allkillmon " ) , _T ( " /allkillmon " ) } ,
{ GM_ZoneNotice , _T ( " /zone " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /zone (Notice) " ) , _T ( " /zone (Notice) " ) } ,
{ GM_HP , _T ( " /hp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hp (1 - 100) " ) , _T ( " /hp (1 - 100) " ) } ,
{ GM_SetLevel , _T ( " /setlevel " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setlevel (Level) " ) , _T ( " /setlevel (Level) " ) } ,
{ GM_MakeItem , _T ( " /makeitem " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /makeitem (ItemIndex) (Count) (Enchant) (Potential) (Cash Period) " ) , _T ( " /makeitem (ItemIndex) (Count) (Enchant) (Potential) (Cash Period) " ) } ,
{ GM_Recall , _T ( " /recall " ) , CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /recall (CharacterName) " ) , _T ( " /recall (CharacterName) " ) } ,
{ GM_Notice , _T ( " /notice " ) , CmdAuth_Master | CmdAuth_QA , _T ( " /notice (Notice) " ) , _T ( " /notice (Notice) " ) } ,
{ GM_MakeCoin , _T ( " /makecoin " ) , CmdAuth_Master | CmdAuth_QA , _T ( " /makecoin (Coin) " ) , _T ( " /makecoin (Coin) " ) } ,
{ GM_WhisperOn , _T ( " /w_on " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_on (CharacterName) " ) , _T ( " /w_on (CharacterName) - Whispser On " ) } ,
{ GM_WhisperOff , _T ( " /w_off " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_off (CharacterName) " ) , _T ( " /w_off (CharacterName) - Whisper Off " ) } ,
{ GM_Warp , _T ( " /warp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /warp ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> ̵<EFBFBD> <CCB5> Ѵ <EFBFBD> .<2E> <> <EFBFBD> Ӽ<EFBFBD> <D3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> ) " ) , _T ( " /wapr CharacterName), (Move Character in Only GameServer) " ) } ,
# elif defined (_SG)
{ GM_Notice , _T ( " /notice " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /notice (Notice) " ) , _T ( " /notice (Notice) " ) } ,
{ GM_WhisperOn , _T ( " /w_on " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_on (CharacterName) " ) , _T ( " /w_on (CharacterName) - Whispser On " ) } ,
{ GM_WhisperOff , _T ( " /w_off " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_off (CharacterName) " ) , _T ( " /w_off (CharacterName) - Whisper Off " ) } ,
{ GM_HideOn , _T ( " /hideon " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideon " ) , _T ( " /hideon " ) } ,
{ GM_HideOff , _T ( " /hideoff " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideoff " ) , _T ( " /hideoff " ) } ,
{ GM_SummonMob , _T ( " /summonmob " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /summonmob (MonsterID) (MonsterCount) " ) , _T ( " /summonmob (MonsterID) (MonsterCount) " ) } ,
{ GM_AllKillMob , _T ( " /allkillmon " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /allkillmon " ) , _T ( " /allkillmon " ) } ,
{ GM_MakeItem , _T ( " /makeitem " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /makeitem (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> ) (<28> <> ȭ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) (ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ϶<EFBFBD> <20> Ⱓ) " ) , _T ( " /makeitem (ItemIndex) (Count) (Enchant) (Potential) (Cash Period) " ) } ,
{ GM_MakeCoin , _T ( " /makecoin " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /makecoin (Coin) " ) , _T ( " /makecoin (Coin) " ) } ,
{ GM_SetLevel , _T ( " /setlevel " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setlevel (Level) " ) , _T ( " /setlevel (Level) " ) } ,
{ GM_ChangeMap , _T ( " /go " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /go (MapID) (0-4 : <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /go (MapID) (0-4 : Easy, Normal, Hard, Master, Abyss) " ) } ,
{ GM_SetQuest , _T ( " /setquest " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setquest (QuestID) (0: <20> ̿Ϸ<CCBF> , 1: <20> Ϸ<EFBFBD> ) " ) , _T ( " /setquest (QuestID) (0: Not Yet, 1:Complete) " ) } ,
{ GM_ZoneNotice , _T ( " /zone " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /zone (Notice) " ) , _T ( " /zone (Notice) " ) } ,
{ GM_Trace , _T ( " /trace " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/trace ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .)" ) , _T ( " Usage(/trace CharacterName), Description(Trace character's dungeon) " ) } ,
{ GM_Warp , _T ( " /warp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /warp ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> ̵<EFBFBD> <CCB5> Ѵ <EFBFBD> .<2E> <> <EFBFBD> Ӽ<EFBFBD> <D3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> ) " ) } ,
{ GM_Trace_AID , _T ( " /trace_aid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_aid <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_aid AccountDBID) - (Trace AccountDBID's position) " ) } ,
{ GM_Trace_CID , _T ( " /trace_cid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_cid ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_cid CharacterDBID) - (Trace CharacterDBID's position) " ) } ,
{ GM_Recall , _T ( " /recall " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/recall ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȯ<EFBFBD> մϴ<D5B4> ." ) , _T ( " Usage(/recall CharacterName), Description(Recall character to GM Village " ) } ,
{ GM_UserBan , _T ( " /userban " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/userban ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /userban CharacterName) " ) } ,
{ GM_Fatigue , _T ( " /fatigue " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /fatigue " ) , _T ( " /fatigue " ) } ,
{ GM_DestroyPvP , _T ( " /destroypvp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /destroypvp " ) , _T ( " /destroypvp(PvP<76> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̱<EFBFBD> <CCB1> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ) " ) } ,
{ GM_RepairAll , _T ( " /repairall " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/repairall), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> .)" ) , _T ( " Usage(/repairall), Description(Repaire all items your character has) " ) } ,
{ GM_GCreate , _T ( " /gcreate " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gcreate <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> â<> <C3A2> )" ) , _T ( " Usage(/gcreate GuildName), Description(Create Guild) " ) } ,
{ GM_GDismiss , _T ( " /gdismiss " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gdismiss), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> ػ<EFBFBD> )" ) , _T ( " Usage(/gdismiss), Description(Dismiss Guild) " ) } ,
# elif defined (_TH)
{ GM_Notice , _T ( " /notice " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /notice (Notice) " ) , _T ( " /notice (Notice) " ) } ,
{ GM_WhisperOn , _T ( " /w_on " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_on (CharacterName) " ) , _T ( " /w_on (CharacterName) - Whispser On " ) } ,
{ GM_WhisperOff , _T ( " /w_off " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_off (CharacterName) " ) , _T ( " /w_off (CharacterName) - Whisper Off " ) } ,
{ GM_HideOn , _T ( " /hideon " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideon " ) , _T ( " /hideon " ) } ,
{ GM_HideOff , _T ( " /hideoff " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideoff " ) , _T ( " /hideoff " ) } ,
{ GM_SummonMob , _T ( " /summonmob " ) , CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /summonmob (MonsterID) (MonsterCount) " ) , _T ( " /summonmob (MonsterID) (MonsterCount) " ) } ,
{ GM_AllKillMob , _T ( " /allkillmon " ) , CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /allkillmon " ) , _T ( " /allkillmon " ) } ,
{ GM_MakeItem , _T ( " /makeitem " ) , CmdAuth_Master | CmdAuth_QA , _T ( " /makeitem (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> ) (<28> <> ȭ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) (ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ϶<EFBFBD> <20> Ⱓ) " ) , _T ( " /makeitem (ItemIndex) (Count) (Enchant) (Potential) (Cash Period) " ) } ,
{ GM_MakeCoin , _T ( " /makecoin " ) , CmdAuth_Master | CmdAuth_QA , _T ( " /makecoin (Coin) " ) , _T ( " /makecoin (Coin) " ) } ,
{ GM_SetLevel , _T ( " /setlevel " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setlevel (Level) " ) , _T ( " /setlevel (Level) " ) } ,
{ GM_ChangeMap , _T ( " /go " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /go (MapID) (0-4 : <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /go (MapID) (0-4 : Easy, Normal, Hard, Master, Abyss) " ) } ,
{ GM_SetQuest , _T ( " /setquest " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setquest (QuestID) (0: <20> ̿Ϸ<CCBF> , 1: <20> Ϸ<EFBFBD> ) " ) , _T ( " /setquest (QuestID) (0: Not Yet, 1:Complete) " ) } ,
{ GM_ZoneNotice , _T ( " /zone " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /zone (Notice) " ) , _T ( " /zone (Notice) " ) } ,
{ GM_Trace , _T ( " /trace " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/trace ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .)" ) , _T ( " Usage(/trace CharacterName), Description(Trace character's dungeon) " ) } ,
{ GM_Warp , _T ( " /warp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /warp ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> ̵<EFBFBD> <CCB5> Ѵ <EFBFBD> .<2E> <> <EFBFBD> Ӽ<EFBFBD> <D3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> ) " ) } ,
{ GM_Trace_AID , _T ( " /trace_aid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_aid <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_aid AccountDBID) - (Trace AccountDBID's position) " ) } ,
{ GM_Trace_CID , _T ( " /trace_cid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_cid ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_cid CharacterDBID) - (Trace CharacterDBID's position) " ) } ,
{ GM_Recall , _T ( " /recall " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/recall ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȯ<EFBFBD> մϴ<D5B4> ." ) , _T ( " Usage(/recall CharacterName), Description(Recall character to GM Village " ) } ,
{ GM_UserBan , _T ( " /userban " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/userban ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /userban CharacterName) " ) } ,
{ GM_Fatigue , _T ( " /fatigue " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /fatigue " ) , _T ( " /fatigue " ) } ,
{ GM_DestroyPvP , _T ( " /destroypvp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /destroypvp " ) , _T ( " /destroypvp(PvP<76> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̱<EFBFBD> <CCB1> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ) " ) } ,
{ GM_RepairAll , _T ( " /repairall " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/repairall), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> .)" ) , _T ( " Usage(/repairall), Description(Repaire all items your character has) " ) } ,
{ GM_GCreate , _T ( " /gcreate " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gcreate <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> â<> <C3A2> )" ) , _T ( " Usage(/gcreate GuildName), Description(Create Guild) " ) } ,
{ GM_GDismiss , _T ( " /gdismiss " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gdismiss), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> ػ<EFBFBD> )" ) , _T ( " Usage(/gdismiss), Description(Dismiss Guild) " ) } ,
# elif defined (_ID)
{ GM_Notice , _T ( " /notice " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /notice (Notice) " ) , _T ( " /notice (Notice) " ) } ,
{ GM_WhisperOn , _T ( " /w_on " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_on (CharacterName) " ) , _T ( " /w_on (CharacterName) - Whispser On " ) } ,
{ GM_WhisperOff , _T ( " /w_off " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_off (CharacterName) " ) , _T ( " /w_off (CharacterName) - Whisper Off " ) } ,
{ GM_HideOn , _T ( " /hideon " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideon " ) , _T ( " /hideon " ) } ,
{ GM_HideOff , _T ( " /hideoff " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideoff " ) , _T ( " /hideoff " ) } ,
{ GM_SummonMob , _T ( " /summonmob " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /summonmob (MonsterID) (MonsterCount) " ) , _T ( " /summonmob (MonsterID) (MonsterCount) " ) } ,
{ GM_AllKillMob , _T ( " /allkillmon " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /allkillmon " ) , _T ( " /allkillmon " ) } ,
{ GM_MakeItem , _T ( " /makeitem " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /makeitem (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> ) (<28> <> ȭ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) (ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ϶<EFBFBD> <20> Ⱓ) " ) , _T ( " /makeitem (ItemIndex) (Count) (Enchant) (Potential) (Cash Period) " ) } ,
{ GM_MakeCoin , _T ( " /makecoin " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /makecoin (Coin) " ) , _T ( " /makecoin (Coin) " ) } ,
{ GM_SetLevel , _T ( " /setlevel " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setlevel (Level) " ) , _T ( " /setlevel (Level) " ) } ,
{ GM_ChangeMap , _T ( " /go " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /go (MapID) (0-4 : <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /go (MapID) (0-4 : Easy, Normal, Hard, Master, Abyss) " ) } ,
{ GM_SetQuest , _T ( " /setquest " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setquest (QuestID) (0: <20> ̿Ϸ<CCBF> , 1: <20> Ϸ<EFBFBD> ) " ) , _T ( " /setquest (QuestID) (0: Not Yet, 1:Complete) " ) } ,
{ GM_ZoneNotice , _T ( " /zone " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /zone (Notice) " ) , _T ( " /zone (Notice) " ) } ,
{ GM_Trace , _T ( " /trace " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/trace ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .)" ) , _T ( " Usage(/trace CharacterName), Description(Trace character's dungeon) " ) } ,
{ GM_Warp , _T ( " /warp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /warp ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> ̵<EFBFBD> <CCB5> Ѵ <EFBFBD> .<2E> <> <EFBFBD> Ӽ<EFBFBD> <D3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> ) " ) } ,
{ GM_Trace_AID , _T ( " /trace_aid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_aid <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_aid AccountDBID) - (Trace AccountDBID's position) " ) } ,
{ GM_Trace_CID , _T ( " /trace_cid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_cid ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_cid CharacterDBID) - (Trace CharacterDBID's position) " ) } ,
{ GM_Recall , _T ( " /recall " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/recall ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȯ<EFBFBD> մϴ<D5B4> ." ) , _T ( " Usage(/recall CharacterName), Description(Recall character to GM Village " ) } ,
{ GM_UserBan , _T ( " /userban " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/userban ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /userban CharacterName) " ) } ,
{ GM_Fatigue , _T ( " /fatigue " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /fatigue " ) , _T ( " /fatigue " ) } ,
{ GM_DestroyPvP , _T ( " /destroypvp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /destroypvp(PvP<76> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̱<EFBFBD> <CCB1> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ) " ) , _T ( " /destroypvp(PvPIndex)(ForceWinGuildName) " ) } ,
# elif defined(_EU) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CmdAuth_New<65> <77> RGM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4>
{ GM_Notice , _T ( " /notice " ) , CmdAuth_Master | CmdAuth_QA , _T ( " /notice (Notice) " ) , _T ( " /notice (Notice) " ) } ,
{ GM_WhisperOn , _T ( " /w_on " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_on (CharacterName) " ) , _T ( " /w_on (CharacterName) - Whispser On " ) } ,
{ GM_WhisperOff , _T ( " /w_off " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_off (CharacterName) " ) , _T ( " /w_off (CharacterName) - Whisper Off " ) } ,
{ GM_HideOn , _T ( " /hideon " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideon " ) , _T ( " /hideon " ) } ,
{ GM_HideOff , _T ( " /hideoff " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideoff " ) , _T ( " /hideoff " ) } ,
{ GM_SummonMob , _T ( " /summonmob " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /summonmob (MonsterID) (MonsterCount) " ) , _T ( " /summonmob (MonsterID) (MonsterCount) " ) } ,
{ GM_AllKillMob , _T ( " /allkillmon " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /allkillmon " ) , _T ( " /allkillmon " ) } ,
{ GM_MakeItem , _T ( " /makeitem " ) , CmdAuth_Master | CmdAuth_QA , _T ( " /makeitem (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> ) (<28> <> ȭ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) (ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ϶<EFBFBD> <20> Ⱓ) " ) , _T ( " /makeitem (ItemIndex) (Count) (Enchant) (Potential) (Cash Period) " ) } ,
{ GM_MakeCoin , _T ( " /makecoin " ) , CmdAuth_Master | CmdAuth_QA , _T ( " /makecoin (Coin) " ) , _T ( " /makecoin (Coin) " ) } ,
{ GM_SetLevel , _T ( " /setlevel " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setlevel (Level) " ) , _T ( " /setlevel (Level) " ) } ,
{ GM_ChangeMap , _T ( " /go " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /go (MapID) (0-4 : <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /go (MapID) (0-4 : Easy, Normal, Hard, Master, Abyss) " ) } ,
{ GM_SetQuest , _T ( " /setquest " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setquest (QuestID) (0: <20> ̿Ϸ<CCBF> , 1: <20> Ϸ<EFBFBD> ) " ) , _T ( " /setquest (QuestID) (0: Not Yet, 1:Complete) " ) } ,
{ GM_ZoneNotice , _T ( " /zone " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /zone (Notice) " ) , _T ( " /zone (Notice) " ) } ,
{ GM_Trace , _T ( " /trace " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/trace ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .)" ) , _T ( " Usage(/trace CharacterName), Description(Trace character's dungeon) " ) } ,
{ GM_Warp , _T ( " /warp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /warp ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> ̵<EFBFBD> <CCB5> Ѵ <EFBFBD> .<2E> <> <EFBFBD> Ӽ<EFBFBD> <D3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> ) " ) } ,
{ GM_Trace_AID , _T ( " /trace_aid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_aid <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_aid AccountDBID) - (Trace AccountDBID's position) " ) } ,
{ GM_Trace_CID , _T ( " /trace_cid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_cid ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_cid CharacterDBID) - (Trace CharacterDBID's position) " ) } ,
{ GM_Recall , _T ( " /recall " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/recall ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȯ<EFBFBD> մϴ<D5B4> ." ) , _T ( " Usage(/recall CharacterName), Description(Recall character to GM Village " ) } ,
{ GM_UserBan , _T ( " /userban " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/userban ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /userban CharacterName) " ) } ,
{ GM_Fatigue , _T ( " /fatigue " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /fatigue " ) , _T ( " /fatigue " ) } ,
{ GM_DestroyPvP , _T ( " /destroypvp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /destroypvp(PvP<76> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̱<EFBFBD> <CCB1> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ) " ) , _T ( " /destroypvp(PvPIndex)(ForceWinGuildName) " ) } ,
# else
{ GM_Notice , _T ( " /notice " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /notice (Notice) " ) , _T ( " /notice (Notice) " ) } ,
{ GM_WhisperOn , _T ( " /w_on " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_on (CharacterName) " ) , _T ( " /w_on (CharacterName) - Whispser On " ) } ,
{ GM_WhisperOff , _T ( " /w_off " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /w_off (CharacterName) " ) , _T ( " /w_off (CharacterName) - Whisper Off " ) } ,
{ GM_HideOn , _T ( " /hideon " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideon " ) , _T ( " /hideon " ) } ,
{ GM_HideOff , _T ( " /hideoff " ) , CmdAuth_Intern | CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /hideoff " ) , _T ( " /hideoff " ) } ,
{ GM_SummonMob , _T ( " /summonmob " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /summonmob (MonsterID) (MonsterCount) " ) , _T ( " /summonmob (MonsterID) (MonsterCount) " ) } ,
{ GM_AllKillMob , _T ( " /allkillmon " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /allkillmon " ) , _T ( " /allkillmon " ) } ,
{ GM_MakeItem , _T ( " /makeitem " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /makeitem (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> ) (<28> <> ȭ) (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) (ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ϶<EFBFBD> <20> Ⱓ) " ) , _T ( " /makeitem (ItemIndex) (Count) (Enchant) (Potential) (Cash Period) " ) } ,
{ GM_MakeCoin , _T ( " /makecoin " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /makecoin (Coin) " ) , _T ( " /makecoin (Coin) " ) } ,
{ GM_SetLevel , _T ( " /setlevel " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setlevel (Level) " ) , _T ( " /setlevel (Level) " ) } ,
{ GM_ChangeMap , _T ( " /go " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /go (MapID) (0-4 : <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /go (MapID) (0-4 : Easy, Normal, Hard, Master, Abyss) " ) } ,
{ GM_SetQuest , _T ( " /setquest " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /setquest (QuestID) (0: <20> ̿Ϸ<CCBF> , 1: <20> Ϸ<EFBFBD> ) " ) , _T ( " /setquest (QuestID) (0: Not Yet, 1:Complete) " ) } ,
{ GM_ZoneNotice , _T ( " /zone " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /zone (Notice) " ) , _T ( " /zone (Notice) " ) } ,
{ GM_Trace , _T ( " /trace " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/trace ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .)" ) , _T ( " Usage(/trace CharacterName), Description(Trace character's dungeon) " ) } ,
{ GM_Warp , _T ( " /warp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /warp ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> ̵<EFBFBD> <CCB5> Ѵ <EFBFBD> .<2E> <> <EFBFBD> Ӽ<EFBFBD> <D3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> ) " ) } ,
{ GM_Trace_AID , _T ( " /trace_aid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_aid <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> ī<EFBFBD> <C4AB> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_aid AccountDBID) - (Trace AccountDBID's position) " ) } ,
{ GM_Trace_CID , _T ( " /trace_cid " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /trace_cid ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .) " ) , _T ( " /trace_cid CharacterDBID) - (Trace CharacterDBID's position) " ) } ,
{ GM_Recall , _T ( " /recall " ) , CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/recall ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȯ<EFBFBD> մϴ<D5B4> ." ) , _T ( " Usage(/recall CharacterName), Description(Recall character to GM Village " ) } ,
{ GM_UserBan , _T ( " /userban " ) , CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/userban ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /userban CharacterName) " ) } ,
{ GM_Fatigue , _T ( " /fatigue " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " /fatigue " ) , _T ( " /fatigue " ) } ,
{ GM_DestroyPvP , _T ( " /destroypvp " ) , CmdAuth_New | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /destroypvp(PvP<76> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̱<EFBFBD> <CCB1> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> ) " ) , _T ( " /destroypvp(PvPIndex)(ForceWinGuildName) " ) } ,
{ GM_WEventClear , _T ( " /clearevent " ) , CmdAuth_Master | CmdAuth_QA | CmdAuth_Developer , _T ( " /clearevent " ) , _T ( " /clearevent " ) } ,
# if defined( PRE_WORLDCOMBINE_PVP )
{ GM_WORLDPVPROOMALLKILLREDTEAM , _T ( " /teamred " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/TeamRed ij<> <C4B3> <EFBFBD> <EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> շ<EFBFBD> <D5B7> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /TeamRed CharacterName...) " ) } ,
{ GM_WORLDPVPROOMALLKILLBLUETEAM , _T ( " /teamblue " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/Teamblue ij<> <C4B3> <EFBFBD> <EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> շ<EFBFBD> <D5B7> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /Teamblue CharacterName...) " ) } ,
{ GM_WORLDPVPROOMTOURNAMENTSETTING , _T ( " /tournament " ) , CmdAuth_New | CmdAuth_Intern | CmdAuth_Monitoring | CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/tournament <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȣ ij<> <C4B3> <EFBFBD> <EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> շ<EFBFBD> <D5B7> <EFBFBD> Ų<EFBFBD> <C5B2> ." ) , _T ( " /tournament 1 CharacterName...) " ) } ,
# endif
# if defined( PRE_ADD_MUTE_USERCHATTING )
{ GM_MuteUser , _T ( " /mute " ) , CmdAuth_Master | CmdAuth_QA , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/mute ij<> <C4B3> <EFBFBD> <EFBFBD> <20> ð<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ð<EFBFBD> <C3B0> <EFBFBD> <EFBFBD> <EFBFBD> ħ<> <C4A7> <EFBFBD> <EFBFBD> Ų<EFBFBD> <C5B2> )" ) , _T ( " /mute CharacterName Mutetime " ) } , // [JPN]<5D> <> <EFBFBD> <EFBFBD> ü<> <C3BC> <20> <> <EFBFBD> <EFBFBD>
# endif // #if defined( PRE_ADD_MUTE_USERCHATTING )
# endif // _CH
} ;
CDNGMCommand : : CDNGMCommand ( CDNUserSession * pSession ) : m_pSession ( pSession )
{
BOOST_STATIC_ASSERT ( GM_END = = _countof ( g_GMCmdList ) ) ;
m_VecWhisperName . clear ( ) ;
}
CDNGMCommand : : ~ CDNGMCommand ( )
{
}
void CDNGMCommand : : AddWhisperName ( wstring wstrName )
{
if ( wstrName . size ( ) = = 0 ) return ;
if ( IsWhisperName ( wstrName . c_str ( ) ) ) return ; // <20> ̹<EFBFBD> <20> ִ<EFBFBD>
# if defined(_VILLAGESERVER)
CDNUserSession * pUserObj = g_pUserSessionManager - > FindUserSessionByName ( wstrName . c_str ( ) ) ;
if ( ! pUserObj ) return ;
# elif defined(_GAMESERVER)
# endif
m_VecWhisperName . push_back ( wstrName . c_str ( ) ) ;
}
void CDNGMCommand : : DelWhisperName ( wstring wstrName )
{
if ( m_VecWhisperName . empty ( ) ) return ;
VecWString : : iterator iter = find ( m_VecWhisperName . begin ( ) , m_VecWhisperName . end ( ) , wstrName . c_str ( ) ) ;
if ( iter ! = m_VecWhisperName . end ( ) )
m_VecWhisperName . erase ( iter ) ;
}
bool CDNGMCommand : : IsWhisperName ( wstring wstrName )
{
if ( m_VecWhisperName . empty ( ) ) return false ;
VecWString : : iterator iter = find ( m_VecWhisperName . begin ( ) , m_VecWhisperName . end ( ) , wstrName . c_str ( ) ) ;
if ( iter ! = m_VecWhisperName . end ( ) ) return true ;
return false ;
}
bool CDNGMCommand : : GMCommand ( wstring & wszCommand )
{
if ( wszCommand . find ( L " / " ) ! = 0 ) return false ;
wstring szResultMsg ;
VecWString tokens ;
TokenizeW ( wszCommand , tokens , L " " ) ;
ToLowerW ( tokens [ 0 ] ) ;
int nCount = sizeof ( g_GMCmdList ) / sizeof ( __GMCmdLineDefineStruct ) ;
for ( int i = 0 ; i < nCount ; i + + )
{
if ( wcscmp ( tokens [ 0 ] . c_str ( ) , g_GMCmdList [ i ] . szString ) = = NULL )
{
if ( ! OnGMCommand ( i , tokens ) ) {
szResultMsg = L " Command param Error " ;
m_pSession - > SendChat ( CHATTYPE_SYSTEM , ( int ) szResultMsg . size ( ) * sizeof ( WCHAR ) , m_pSession - > GetCharacterName ( ) , ( WCHAR * ) szResultMsg . c_str ( ) ) ;
}
return true ;
}
}
return false ;
}
bool CDNGMCommand : : OnGMCommand ( int nCmdID , VecWString & tokens )
{
wstring wStr ;
// <20> <> <EFBFBD> <EFBFBD> <20> ˻<EFBFBD>
int nCheckMask = 0 ;
switch ( m_pSession - > GetAccountLevel ( ) )
{
case AccountLevel_New : nCheckMask = CmdAuth_New ; break ;
case AccountLevel_Intern : nCheckMask = CmdAuth_Intern ; break ;
case AccountLevel_Monitoring : nCheckMask = CmdAuth_Monitoring ; break ;
case AccountLevel_Master : nCheckMask = CmdAuth_Master ; break ;
case AccountLevel_QA : nCheckMask = CmdAuth_QA ; break ;
case AccountLevel_Developer : nCheckMask = CmdAuth_Developer ; break ;
}
if ( ! ( nCheckMask & g_GMCmdList [ nCmdID ] . nAccountLevel ) )
{
wStr = FormatW ( L " Do not have permission " ) ;
m_pSession - > SendChat ( CHATTYPE_SYSTEM , ( int ) wStr . size ( ) * sizeof ( WCHAR ) , m_pSession - > GetCharacterName ( ) , ( WCHAR * ) wStr . c_str ( ) ) ;
return true ;
}
switch ( nCmdID )
{
case GM_Help :
{
for ( int i = 0 ; i < GM_END ; i + + )
{
# if defined (_KR) || defined(_KRAZ) || defined (_WORK)
wStr = FormatW ( L " [%s] - %s " , g_GMCmdList [ i ] . szString , g_GMCmdList [ i ] . szComment ) ;
# else
wStr = FormatW ( L " [%s] - %s " , g_GMCmdList [ i ] . szString , g_GMCmdList [ i ] . szCommentEn ) ;
# endif
m_pSession - > SendChat ( CHATTYPE_SYSTEM , ( int ) wStr . size ( ) * sizeof ( WCHAR ) , m_pSession - > GetCharacterName ( ) , ( WCHAR * ) wStr . c_str ( ) ) ;
}
}
break ;
# if defined(_CH)
case GM_HideOn : return CmdHide ( tokens , true ) ;
case GM_HideOff : return CmdHide ( tokens , false ) ;
case GM_ChangeMap : return CmdChangeMap ( tokens ) ; // <20> <> <EFBFBD> ̵<EFBFBD>
case GM_Trace : return CmdTrace ( TRACE_CHARACTERNAME , tokens ) ;
case GM_Trace_AID : return CmdTrace ( TRACE_ACCOUNTDBID , tokens ) ;
case GM_Trace_CID : return CmdTrace ( TRACE_CHRACTERDBID , tokens ) ;
case GM_Warp : return CmdWarp ( tokens ) ;
case GM_Recall : return CmdRecall ( tokens ) ;
case GM_UserBan : return CmdBanUser ( tokens ) ;
case GM_Fatigue : return CmdFatigue ( tokens ) ;
case GM_HP : return CmdHp ( tokens ) ;
case GM_WEventClear : return CmdWeeklyEventClear ( ) ;
# elif defined (_US)
case GM_HideOn : return CmdHide ( tokens , true ) ;
case GM_HideOff : return CmdHide ( tokens , false ) ;
case GM_ChangeMap : return CmdChangeMap ( tokens ) ;
case GM_Trace : return CmdTrace ( TRACE_CHARACTERNAME , tokens ) ;
case GM_UserBan : return CmdBanUser ( tokens ) ;
case GM_SummonMob : return CmdSummonMob ( tokens ) ;
case GM_AllKillMob : return CmdAllkillMob ( tokens ) ;
case GM_ZoneNotice : return CmdZoneNotice ( tokens ) ;
case GM_HP : return CmdHp ( tokens ) ;
case GM_SetLevel : return CmdSetLevel ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD>
case GM_MakeItem : return CmdMakeItem ( tokens ) ;
case GM_Recall : return CmdRecall ( tokens ) ;
case GM_Notice : return CmdNotice ( tokens ) ;
case GM_MakeCoin : return CmdMakeCoin ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case GM_WhisperOn : return CmdWhisper ( tokens , true ) ;
case GM_WhisperOff : return CmdWhisper ( tokens , false ) ;
case GM_Warp : return CmdWarp ( tokens ) ;
# elif defined( _SG ) || defined (_TH)
case GM_Notice : return CmdNotice ( tokens ) ;
case GM_WhisperOn : return CmdWhisper ( tokens , true ) ;
case GM_WhisperOff : return CmdWhisper ( tokens , false ) ;
case GM_HideOn : return CmdHide ( tokens , true ) ;
case GM_HideOff : return CmdHide ( tokens , false ) ;
case GM_SummonMob : return CmdSummonMob ( tokens ) ;
case GM_AllKillMob : return CmdAllkillMob ( tokens ) ;
case GM_MakeItem : return CmdMakeItem ( tokens ) ;
case GM_MakeCoin : return CmdMakeCoin ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case GM_SetLevel : return CmdSetLevel ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD>
case GM_ChangeMap : return CmdChangeMap ( tokens ) ; // <20> <> <EFBFBD> ̵<EFBFBD>
case GM_SetQuest : return CmdSetQuest ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD>
case GM_ZoneNotice : return CmdZoneNotice ( tokens ) ;
case GM_Trace : return CmdTrace ( TRACE_CHARACTERNAME , tokens ) ;
case GM_Trace_AID : return CmdTrace ( TRACE_ACCOUNTDBID , tokens ) ;
case GM_Trace_CID : return CmdTrace ( TRACE_CHRACTERDBID , tokens ) ;
case GM_Warp : return CmdWarp ( tokens ) ;
case GM_Recall : return CmdRecall ( tokens ) ;
case GM_UserBan : return CmdBanUser ( tokens ) ;
case GM_Fatigue : return CmdFatigue ( tokens ) ;
case GM_DestroyPvP : return CmdDestroyPvP ( tokens ) ;
case GM_RepairAll : return CmdRepairAll ( tokens ) ;
case GM_GCreate : return CmdGCreate ( tokens ) ;
case GM_GDismiss : return CmdGDismiss ( tokens ) ;
# elif defined (_ID)
case GM_Notice : return CmdNotice ( tokens ) ;
case GM_WhisperOn : return CmdWhisper ( tokens , true ) ;
case GM_WhisperOff : return CmdWhisper ( tokens , false ) ;
case GM_HideOn : return CmdHide ( tokens , true ) ;
case GM_HideOff : return CmdHide ( tokens , false ) ;
case GM_SummonMob : return CmdSummonMob ( tokens ) ;
case GM_AllKillMob : return CmdAllkillMob ( tokens ) ;
case GM_MakeItem : return CmdMakeItem ( tokens ) ;
case GM_MakeCoin : return CmdMakeCoin ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case GM_SetLevel : return CmdSetLevel ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD>
case GM_ChangeMap : return CmdChangeMap ( tokens ) ; // <20> <> <EFBFBD> ̵<EFBFBD>
case GM_SetQuest : return CmdSetQuest ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD>
case GM_ZoneNotice : return CmdZoneNotice ( tokens ) ;
case GM_Trace : return CmdTrace ( TRACE_CHARACTERNAME , tokens ) ;
case GM_Warp : return CmdWarp ( tokens ) ;
case GM_Trace_AID : return CmdTrace ( TRACE_ACCOUNTDBID , tokens ) ;
case GM_Trace_CID : return CmdTrace ( TRACE_CHRACTERDBID , tokens ) ;
case GM_Recall : return CmdRecall ( tokens ) ;
case GM_UserBan : return CmdBanUser ( tokens ) ;
case GM_Fatigue : return CmdFatigue ( tokens ) ;
case GM_DestroyPvP : return CmdDestroyPvP ( tokens ) ;
# else
case GM_Notice : return CmdNotice ( tokens ) ;
case GM_WhisperOn : return CmdWhisper ( tokens , true ) ;
case GM_WhisperOff : return CmdWhisper ( tokens , false ) ;
case GM_HideOn : return CmdHide ( tokens , true ) ;
case GM_HideOff : return CmdHide ( tokens , false ) ;
case GM_SummonMob : return CmdSummonMob ( tokens ) ;
case GM_AllKillMob : return CmdAllkillMob ( tokens ) ;
case GM_MakeItem : return CmdMakeItem ( tokens ) ;
case GM_MakeCoin : return CmdMakeCoin ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case GM_SetLevel : return CmdSetLevel ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD>
case GM_ChangeMap : return CmdChangeMap ( tokens ) ; // <20> <> <EFBFBD> ̵<EFBFBD>
case GM_SetQuest : return CmdSetQuest ( tokens ) ; // <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD>
case GM_ZoneNotice : return CmdZoneNotice ( tokens ) ;
case GM_Trace : return CmdTrace ( TRACE_CHARACTERNAME , tokens ) ;
case GM_Trace_AID : return CmdTrace ( TRACE_ACCOUNTDBID , tokens ) ;
case GM_Trace_CID : return CmdTrace ( TRACE_CHRACTERDBID , tokens ) ;
case GM_Warp : return CmdWarp ( tokens ) ;
case GM_Recall : return CmdRecall ( tokens ) ;
case GM_UserBan : return CmdBanUser ( tokens ) ;
case GM_Fatigue : return CmdFatigue ( tokens ) ;
case GM_DestroyPvP : return CmdDestroyPvP ( tokens ) ;
case GM_WEventClear : return CmdWeeklyEventClear ( ) ;
# if defined( PRE_WORLDCOMBINE_PVP )
case GM_WORLDPVPROOMALLKILLREDTEAM : return CmdWorldPvPRoomAllKillTeamSetting ( PvPCommon : : Team : : B , tokens ) ;
case GM_WORLDPVPROOMALLKILLBLUETEAM : return CmdWorldPvPRoomAllKillTeamSetting ( PvPCommon : : Team : : A , tokens ) ;
case GM_WORLDPVPROOMTOURNAMENTSETTING : return CmdWorldPvPRoomTournamentSetting ( tokens ) ;
# endif
# if defined( PRE_ADD_MUTE_USERCHATTING )
case GM_MuteUser : return CmdMuteUser ( tokens ) ;
# endif // #if defined( PRE_ADD_MUTE_USERCHATTING )
# endif // #if defined(_CH)
}
return true ;
}
bool CDNGMCommand : : CmdNotice ( VecWString & tokens )
{
if ( tokens . size ( ) < 2 ) return false ;
WCHAR szMsg [ CHATLENMAX ] = { 0 , } ;
int nLen = 0 ;
for ( int i = 1 ; i < ( int ) tokens . size ( ) ; i + + )
{
int nTempLen = ( int ) wcslen ( tokens [ i ] . c_str ( ) ) ;
if ( nTempLen + nLen > = CHATLENMAX ) return false ;
_wcscpy ( szMsg + nLen , CHATLENMAX - nLen , tokens [ i ] . c_str ( ) , nTempLen ) ;
nLen + = nTempLen ;
szMsg [ nLen + + ] = ' ' ;
}
if ( nLen < CHATLENMAX )
szMsg [ nLen ] = ' \0 ' ;
else
return false ;
# if defined (_VILLAGESERVER)
g_pMasterConnection - > SendNoticeFromClient ( szMsg , nLen ) ;
# elif defined (_GAMESERVER)
g_pMasterConnectionManager - > SendNoticeFromClinet ( szMsg , nLen ) ;
# endif
return true ;
}
bool CDNGMCommand : : CmdWhisper ( VecWString & tokens , bool bWhisper )
{
if ( tokens . size ( ) < 2 ) return false ;
if ( bWhisper ) { // <20> ӼӸ<D3BC> <20> <> <EFBFBD> <EFBFBD>
AddWhisperName ( tokens [ 1 ] ) ;
}
else { // <20> ӼӸ<D3BC> <20> <> <EFBFBD> <EFBFBD>
DelWhisperName ( tokens [ 1 ] ) ;
}
return true ;
}
bool CDNGMCommand : : CmdHide ( VecWString & tokens , bool bHide )
{
if ( tokens . size ( ) < 1 ) return false ;
m_pSession - > SetHide ( bHide ) ;
return true ;
}
bool CDNGMCommand : : CmdSummonMob ( VecWString & tokens )
{
# if defined(_GAMESERVER)
if ( tokens . size ( ) ! = 3 ) return false ;
int nMonsterID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int nCount = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pGameRoom ) return false ;
if ( ! pGameRoom - > GetTaskMng ( ) ) return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pGameRoom - > GetTaskMng ( ) - > GetTask ( " GameTask " ) ;
if ( ! pTask ) return false ;
EtVector3 * pvPos = m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ;
for ( int i = 0 ; i < nCount ; i + + )
{
pTask - > RequestGenerationMonsterFromMonsterID ( nMonsterID , * pvPos , EtVector3 ( 0.f , 0.f , 0.f ) , EtVector3 ( 0.f , 0.f , 0.f ) ) ;
}
# endif
return true ;
}
bool CDNGMCommand : : CmdAllkillMob ( VecWString & tokens )
{
# if defined(_GAMESERVER)
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pGameRoom ) return false ;
if ( ! pGameRoom - > GetTaskMng ( ) ) return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pGameRoom - > GetTaskMng ( ) - > GetTask ( " GameTask " ) ;
if ( ! pTask ) return false ;
pTask - > RequestDestroyAllMonster ( false ) ;
# endif
return true ;
}
bool CDNGMCommand : : CmdMakeItem ( VecWString & tokens )
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> Ķ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȯ<> <C8AE> <EFBFBD> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
int nItemID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
int nCount = ( tokens . size ( ) > = 3 ) ? _wtoi ( tokens [ 2 ] . c_str ( ) ) : 1 ;
if ( nCount < = 0 ) nCount = 1 ;
TItemData * pItemData = g_pDataManager - > GetItemData ( nItemID ) ;
if ( ! pItemData ) return false ;
if ( pItemData - > nType = = ITEMTYPE_QUEST ) {
m_pSession - > GetItem ( ) - > AddQuestInventory ( nItemID , nCount , 0 , DBDNWorldDef : : AddMaterializedItem : : Cheat ) ;
return true ;
}
int nItemLevel = ( tokens . size ( ) > = 4 ) ? _wtoi ( tokens [ 3 ] . c_str ( ) ) : 0 ;
int nItemPotential = ( tokens . size ( ) > = 5 ) ? _wtoi ( tokens [ 4 ] . c_str ( ) ) : 0 ;
int nItemOption = ( tokens . size ( ) > = 6 ) ? _wtoi ( tokens [ 5 ] . c_str ( ) ) : 0 ;
if ( pItemData - > IsCash ) {
int nPeriod = ( tokens . size ( ) > = 7 ) ? _wtoi ( tokens [ 6 ] . c_str ( ) ) : 0 ;
//if (nPeriod <= 0) nPeriod = 1;
m_pSession - > GetItem ( ) - > CreateCashInvenItemByCheat ( nItemID , nCount , nPeriod , DBDNWorldDef : : AddMaterializedItem : : Cheat ) ;
return true ;
}
# if defined(_VILLAGESERVER)
if ( ( nItemLevel > 0 ) | | ( nItemPotential > 0 ) | | ( nItemOption > 0 ) )
{
TItem Item = { 0 , } ;
if ( CDNUserItem : : MakeItemStruct ( nItemID , Item ) = = false )
return false ;
Item . wCount = nCount ;
Item . cLevel = nItemLevel ;
Item . cPotential = nItemPotential ;
Item . cOption = nItemOption ;
m_pSession - > GetItem ( ) - > CreateInvenWholeItem ( Item , DBDNWorldDef : : AddMaterializedItem : : Cheat , 0 ) ;
}
else
{
m_pSession - > GetItem ( ) - > CreateInvenItem1 ( nItemID , nCount , - 1 , - 1 , DBDNWorldDef : : AddMaterializedItem : : Cheat , 0 , CREATEINVEN_ETC ) ;
}
# elif defined(_GAMESERVER)
if ( ! m_pSession | | ! m_pSession - > GetActorHandle ( ) ) return false ;
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
CDnItemTask * pTask = ( CDnItemTask * ) pRoom - > GetTaskMng ( ) - > GetTask ( " ItemTask " ) ;
if ( ! pTask ) return false ;
CMultiRoom * pMultiRoom = pTask - > GetRoom ( ) ;
pTask - > RequestDropItem ( STATIC_INSTANCE_ ( CDnDropItem : : s_dwUniqueCount ) + + , * ( m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ) , nItemID , _rand ( pMultiRoom ) , nCount , 0 ) ;
char cGrade = 0 ;
if ( pItemData ) cGrade = pItemData - > cRank ;
# endif
return true ;
}
bool CDNGMCommand : : Cmdhuanhua ( VecWString & tokens )
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
int nItemID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( m_pSession - > GetItem ( ) - > GetInventoryItemCount ( 335545346 ) < = 1 )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <EFBFBD> <EFBFBD> š<EFBFBD> <EFBFBD> û<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǡ<EFBFBD> " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
m_pSession - > GetItem ( ) - > DeleteInventoryByItemID ( 335545346 , 2 , 0 , 0 ) ;
WCHAR szMsg [ CHATLENMAX ] = { 0 , } ;
wsprintfW ( szMsg , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> [%ws]<5D> <> <EFBFBD> ڻû<DABB> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> " , m_pSession - > GetCharacterName ( ) ) ;
// g_pUserSessionManager->SendChat(static_cast<eChatType>(007), 50, m_pSession->GetCharacterName(), szMsg);
int nCount = ( tokens . size ( ) > = 3 ) ? _wtoi ( tokens [ 2 ] . c_str ( ) ) : 1 ;
if ( nCount < = 0 ) nCount = 1 ;
TItemData * pItemData = g_pDataManager - > GetItemData ( nItemID ) ;
if ( ! pItemData ) return false ;
if ( pItemData - > nType = = ITEMTYPE_QUEST ) {
m_pSession - > GetItem ( ) - > AddQuestInventory ( nItemID , nCount , 0 , DBDNWorldDef : : AddMaterializedItem : : Cheat ) ;
return true ;
}
int nItemLevel = ( tokens . size ( ) > = 4 ) ? _wtoi ( tokens [ 3 ] . c_str ( ) ) : 0 ;
int nItemPotential = ( tokens . size ( ) > = 5 ) ? _wtoi ( tokens [ 4 ] . c_str ( ) ) : 0 ;
int nItemOption = ( tokens . size ( ) > = 6 ) ? _wtoi ( tokens [ 5 ] . c_str ( ) ) : 0 ;
if ( pItemData - > IsCash ) {
int nPeriod = ( tokens . size ( ) > = 7 ) ? _wtoi ( tokens [ 6 ] . c_str ( ) ) : 0 ;
//if (nPeriod <= 0) nPeriod = 1;
m_pSession - > GetItem ( ) - > CreateCashInvenItemByCheat ( nItemID , nCount , nPeriod , DBDNWorldDef : : AddMaterializedItem : : Cheat ) ;
return true ;
}
# if defined(_VILLAGESERVER)
if ( ( nItemLevel > 0 ) | | ( nItemPotential > 0 ) | | ( nItemOption > 0 ) )
{
TItem Item = { 0 , } ;
if ( CDNUserItem : : MakeItemStruct ( nItemID , Item ) = = false )
return false ;
Item . wCount = nCount ;
Item . cLevel = nItemLevel ;
Item . cPotential = nItemPotential ;
Item . cOption = nItemOption ;
m_pSession - > GetItem ( ) - > CreateInvenWholeItem ( Item , DBDNWorldDef : : AddMaterializedItem : : Cheat , 0 ) ;
}
else
{
m_pSession - > GetItem ( ) - > CreateInvenItem1 ( nItemID , nCount , - 1 , - 1 , DBDNWorldDef : : AddMaterializedItem : : Cheat , 0 , CREATEINVEN_ETC ) ;
}
# elif defined(_GAMESERVER)
if ( ! m_pSession | | ! m_pSession - > GetActorHandle ( ) ) return false ;
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
CDnItemTask * pTask = ( CDnItemTask * ) pRoom - > GetTaskMng ( ) - > GetTask ( " ItemTask " ) ;
if ( ! pTask ) return false ;
CMultiRoom * pMultiRoom = pTask - > GetRoom ( ) ;
pTask - > RequestDropItem ( STATIC_INSTANCE_ ( CDnDropItem : : s_dwUniqueCount ) + + , * ( m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ) , nItemID , _rand ( pMultiRoom ) , nCount , 0 ) ;
char cGrade = 0 ;
if ( pItemData ) cGrade = pItemData - > cRank ;
# endif
return true ;
}
bool CDNGMCommand : : CmdMakeCoin ( VecWString & tokens )
{
if ( tokens . size ( ) ! = 2 ) return false ;
if ( ! m_pSession - > AddCoin ( _ttoi64 ( tokens [ 1 ] . c_str ( ) ) , DBDNWorldDef : : CoinChangeCode : : Cheat , 0 ) ) return false ;
return true ;
}
bool CDNGMCommand : : CmdSetLevel ( VecWString & tokens )
{
if ( tokens . size ( ) ! = 2 ) return false ;
int nLevel = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nLevel < 1 | | nLevel > CHARLEVELMAX ) return false ;
# if defined(_VILLAGESERVER)
int nExp = g_pDataManager - > GetExp ( m_pSession - > GetUserJob ( ) , nLevel ) ;
m_pSession - > SetExp ( 1 , DBDNWorldDef : : CharacterExpChangeCode : : Cheat , 0 , false ) ;
m_pSession - > SetLevel ( 1 , DBDNWorldDef : : CharacterLevelChangeCode : : Cheat , false ) ;
m_pSession - > SetExp ( nExp , DBDNWorldDef : : CharacterExpChangeCode : : Cheat , 0 , true ) ; // exp<78> <70> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ָ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ˾Ƽ <CBBE> <20> ٲ<EFBFBD> <D9B2> <EFBFBD>
# elif defined(_GAMESERVER)
int nExp = g_pDataManager - > GetExp ( m_pSession - > GetUserJob ( ) , nLevel ) ;
m_pSession - > GetPlayerActor ( ) - > SetExperience ( 1 ) ;
m_pSession - > GetActorHandle ( ) - > SetLevel ( 1 ) ;
m_pSession - > GetPlayerActor ( ) - > SetExperience ( nExp ) ; // exp <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ָ<EFBFBD> <20> ˾Ƽ <CBBE> <20> ٲ<EFBFBD> <D9B2> <EFBFBD> .
# endif
return true ;
}
bool CDNGMCommand : : CmdChangeMap ( VecWString & tokens )
{
if ( tokens . size ( ) < 2 ) return false ;
if ( _ttoi ( tokens [ 1 ] . c_str ( ) ) < 1 ) return false ;
wstring wszString ;
# if defined(_VILLAGESERVER)
CDNField * pField = m_pSession - > GetField ( ) ;
if ( pField )
{
if ( pField - > bIsPvPVillage ( ) | | pField - > bIsPvPLobby ( ) | | pField - > bIsDarkLairVillage ( ) )
{
wszString = FormatW ( L " PvP<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , PvP<76> κ<EFBFBD> , <20> <> ũ<EFBFBD> <C5A9> <EFBFBD> <EFBFBD> <EEB8B6> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> ɾ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return true ;
}
}
# elif defined(_GAMESERVER)
if ( m_pSession - > GetGameRoom ( ) )
{
if ( m_pSession - > GetGameRoom ( ) - > bIsPvPRoom ( ) )
{
wszString = FormatW ( L " PvP<EFBFBD> ߿<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> ɾ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return true ;
}
}
# endif
int nMapIndex = _ttoi ( tokens [ 1 ] . c_str ( ) ) ; // <20> ̵<EFBFBD> <CCB5> <EFBFBD> mapindex
TDUNGEONDIFFICULTY StageConstrucionLevel = ( tokens . size ( ) < = 2 ) ? Dungeon : : Difficulty : : Easy : static_cast < TDUNGEONDIFFICULTY > ( _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ;
if ( StageConstrucionLevel > = Dungeon : : Difficulty : : Max )
return false ;
int nGateNo = ( tokens . size ( ) < = 3 ) ? 1 : _ttoi ( tokens [ 3 ] . c_str ( ) ) ;
if ( g_pDataManager - > GetMapType ( nMapIndex ) = = GlobalEnum : : MAP_UNKNOWN )
{
std : : wstring wszLocalString ;
wszLocalString = FormatW ( L " Cannot found map index %d " , nMapIndex ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszLocalString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszLocalString . c_str ( ) ) ;
return false ;
}
# if defined(_VILLAGESERVER)
if ( g_pDataManager - > GetMapType ( nMapIndex ) ! = GlobalEnum : : MAP_VILLAGE ) { // <20> <EFBFBD> <D7BC> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
char cGateNo = g_pFieldDataManager - > GetRandomGateNo ( nMapIndex ) ;
if ( m_pSession - > GetPartyID ( ) > 0 ) {
CDNParty * pParty = g_pPartyManager - > GetParty ( m_pSession - > GetPartyID ( ) ) ;
if ( ! pParty ) return false ;
pParty - > SetRandomSeed ( timeGetTime ( ) ) ;
if ( g_pMasterConnection & & g_pMasterConnection - > GetActive ( ) )
g_pMasterConnection - > SendReqGameID ( GameTaskType : : Normal , REQINFO_TYPE_PARTY , pParty - > GetPartyID ( ) , m_pSession - > GetChannelID ( ) , pParty - > GetRandomSeed ( ) , nMapIndex , nGateNo , StageConstrucionLevel , true , pParty ) ; // GameID<49> <44> <20> <> û
else
return false ;
}
else {
m_pSession - > m_cGateNo = nGateNo ;
m_pSession - > m_nSingleRandomSeed = timeGetTime ( ) ;
if ( g_pMasterConnection & & g_pMasterConnection - > GetActive ( ) )
g_pMasterConnection - > SendReqGameID ( GameTaskType : : Normal , REQINFO_TYPE_SINGLE , m_pSession - > GetAccountDBID ( ) , m_pSession - > GetChannelID ( ) , m_pSession - > m_nSingleRandomSeed , nMapIndex , nGateNo , StageConstrucionLevel , true ) ; // GameID<49> <44> <20> <> û
else
return false ;
}
}
else
{ // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
char cGateNo = ( tokens . size ( ) = = 2 ) ? - 1 : _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( m_pSession - > GetPartyID ( ) > 0 ) {
CDNParty * pParty = g_pPartyManager - > GetParty ( m_pSession - > GetPartyID ( ) ) ;
if ( ! pParty ) return false ;
if ( g_pMasterConnection & & g_pMasterConnection - > GetActive ( ) )
g_pMasterConnection - > SendVillageToVillage ( REQINFO_TYPE_PARTY , pParty - > GetPartyID ( ) , nMapIndex , cGateNo , - 1 , pParty ) ;
else
return false ;
}
else
{
if ( g_pMasterConnection & & g_pMasterConnection - > GetActive ( ) )
g_pMasterConnection - > SendVillageToVillage ( REQINFO_TYPE_SINGLE , m_pSession - > GetAccountDBID ( ) , nMapIndex , cGateNo ) ;
else
return false ;
}
}
# elif defined(_GAMESERVER)
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( pRoom - > bIsPvPRoom ( ) ) // PvP<76> 濡<EFBFBD> <E6BFA1> <EFBFBD> <EFBFBD> changemap ġƮ <20> <> <EFBFBD> ´ <EFBFBD> .
return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pRoom - > GetTaskMng ( ) - > GetTask ( " GameTask " ) ;
if ( g_pDataManager - > GetMapType ( nMapIndex ) = = GlobalEnum : : eMapTypeEnum : : MAP_VILLAGE ) {
CDNUserSession * pLeaderSession = NULL ;
for ( DWORD i = 0 ; i < pRoom - > GetUserCount ( ) ; i + + ) {
CDNUserSession * pSession = pRoom - > GetUserData ( i ) ;
pSession - > SetNextVillageData ( NULL , 0 , pTask - > GetMapTableID ( ) , nMapIndex , nGateNo ) ;
if ( pRoom - > GetPartyData ( i ) - > bLeader ) pLeaderSession = pSession ;
}
if ( pLeaderSession ) {
g_pMasterConnectionManager - > SendRequestNextVillageInfo ( pLeaderSession - > GetWorldSetID ( ) , nMapIndex , nGateNo , true , pRoom ) ;
}
}
else {
for ( DWORD i = 0 ; i < pRoom - > GetUserCount ( ) ; i + + )
{
CDNUserSession * pSession = pRoom - > GetUserData ( i ) ;
if ( ! pSession ) continue ;
DnActorHandle hActor = pSession - > GetActorHandle ( ) ;
if ( ! hActor ) continue ;
CDnPlayerActor * pPlayer = static_cast < CDnPlayerActor * > ( hActor . GetPointer ( ) ) ;
pPlayer - > CmdRemoveStateEffect ( STATE_BLOW : : BLOW_099 ) ;
}
# if defined(PRE_FIX_INITSTATEANDSYNC)
pRoom - > ReserveInitStateAndSync ( nMapIndex , nGateNo , CRandom : : Seed ( pRoom ) , StageConstrucionLevel , true ) ;
# else
pRoom - > InitStateAndSync ( nMapIndex , nGateNo , CRandom : : Seed ( pRoom ) , StageConstrucionLevel , true ) ;
# endif //#if defined(PRE_FIX_INITSTATEANDSYNC)
}
# endif
return true ;
}
bool CDNGMCommand : : CmdSetQuest ( VecWString & tokens )
{
if ( tokens . size ( ) ! = 4 ) return false ;
int nQuestID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
int nFlag = _wtoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( nFlag < 0 | | nFlag > 1 ) return false ;
int nResult = 0 ;
if ( nFlag = = 1 ) {
nResult = m_pSession - > GetQuest ( ) - > MarkingCompleteQuest ( nQuestID ) ;
if ( nResult < 0 )
g_Log . Log ( LogType : : _ERROR , m_pSession , L " GM_SetQuest Error: %d MarkingCompleteQuest (Ret:%d) \r \n " , nQuestID , nResult ) ;
}
nResult = m_pSession - > GetQuest ( ) - > CompleteQuest ( nQuestID , true , true ) ;
if ( nResult < 0 )
g_Log . Log ( LogType : : _ERROR , m_pSession , L " GM_SetQuest Error: %d CompleteQuest (Ret:%d) " , nQuestID , nResult ) ;
return true ;
}
bool CDNGMCommand : : CmdZoneNotice ( VecWString & tokens )
{
if ( tokens . size ( ) < 2 ) return false ;
WCHAR szMsg [ CHATLENMAX ] = { 0 , } ;
int nLen = 0 ;
for ( int i = 1 ; i < ( int ) tokens . size ( ) ; i + + )
{
int nTempLen = ( int ) wcslen ( tokens [ i ] . c_str ( ) ) ;
if ( nTempLen + nLen > = CHATLENMAX ) return false ;
_wcscpy ( szMsg + nLen , CHATLENMAX - nLen , tokens [ i ] . c_str ( ) , nTempLen ) ;
nLen + = nTempLen ;
szMsg [ nLen + + ] = ' ' ;
}
if ( nLen < CHATLENMAX )
szMsg [ nLen ] = ' \0 ' ;
else
return false ;
# if defined (_VILLAGESERVER)
g_pMasterConnection - > SendZoneNoticeFromClient ( m_pSession - > GetMapIndex ( ) , szMsg , nLen ) ;
# endif
return true ;
}
bool CDNGMCommand : : CmdFatigue ( VecWString & tokens )
{
if ( tokens . size ( ) < 1 ) return false ;
m_pSession - > SetCheatMaxFatigue ( ) ;
return true ;
}
bool CDNGMCommand : : CmdHp ( VecWString & tokens )
{
# if defined(_GAMESERVER)
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " HP <20> <> (<28> <> <EFBFBD> <EFBFBD> 0~100)<29> <> <20> ־<EFBFBD> <D6BE> ּ<EFBFBD> <D6BC> <EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
CDnPlayerActor * pPlayer = m_pSession - > GetPlayerActor ( ) ;
if ( ! pPlayer ) return false ;
INT64 nHP = ( INT64 ) ( pPlayer - > GetMaxHP ( ) * ( _ttoi ( tokens [ 1 ] . c_str ( ) ) / 100.f ) ) ;
if ( nHP > pPlayer - > GetMaxHP ( ) ) nHP = pPlayer - > GetMaxHP ( ) ;
else if ( nHP < 1 ) nHP = 1 ;
pPlayer - > CmdRefreshHPSP ( nHP , pPlayer - > GetSP ( ) ) ;
# endif
return true ;
}
bool CDNGMCommand : : CmdDestroyPvP ( VecWString & tokens )
{
# if defined(_VILLAGESERVER)
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " PvP<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ε<EFBFBD> <CEB5> <EFBFBD> <EFBFBD> <EFBFBD> <20> ־<EFBFBD> <D6BE> ּ<EFBFBD> <D6BC> <EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
g_pMasterConnection - > SendForceDestroyPvP ( m_pSession - > GetAccountDBID ( ) , _wtoi ( tokens [ 1 ] . c_str ( ) ) , tokens . size ( ) > 2 ? tokens [ 2 ] . c_str ( ) : NULL ) ;
# endif //#if defined(_VILLAGESERVER)
return true ;
}
bool CDNGMCommand : : CmdTrace ( int nType , const VecWString & tokens )
{
# if defined( _VILLAGESERVER )
if ( tokens . size ( ) ! = 2 )
{
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wcslen ( g_GMCmdList [ GM_Trace ] . szComment ) ) , L " " , g_GMCmdList [ GM_Trace ] . szComment ) ;
return false ;
}
bool bIsSelf = true ;
switch ( nType )
{
case TRACE_CHARACTERNAME :
{
bIsSelf = ( wcscmp ( m_pSession - > GetCharacterName ( ) , tokens [ 1 ] . c_str ( ) ) = = 0 ) ? true : false ;
break ;
}
case TRACE_ACCOUNTDBID :
{
bIsSelf = ( m_pSession - > GetAccountDBID ( ) = = _wtoi ( tokens [ 1 ] . c_str ( ) ) ) ? true : false ;
break ;
}
case TRACE_CHRACTERDBID :
{
bIsSelf = ( m_pSession - > GetCharacterDBID ( ) = = _wtoi64 ( tokens [ 1 ] . c_str ( ) ) ) ? true : false ;
break ;
}
}
if ( bIsSelf )
{
std : : wstring wString = L " <EFBFBD> ڱ<EFBFBD> <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .." ;
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wString . size ( ) ) , L " " , wString . c_str ( ) ) ;
return false ;
}
if ( m_pSession - > GetPartyID ( ) > 0 )
{
std : : wstring wString = L " <EFBFBD> <EFBFBD> Ƽ <20> <> <EFBFBD> ¿<EFBFBD> <C2BF> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> ġƮ<C4A1> Դϴ<D4B4> ." ;
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wString . size ( ) ) , L " " , wString . c_str ( ) ) ;
return false ;
}
if ( ! g_pMasterConnection | | ! g_pMasterConnection - > GetActive ( ) )
return false ;
# if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendTraceBreakInto ( nType , m_pSession - > GetAccountDBID ( ) , tokens [ 1 ] . c_str ( ) , m_pSession - > m_eSelectedLanguage ) ;
# else //#if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendTraceBreakInto ( nType , m_pSession - > GetAccountDBID ( ) , tokens [ 1 ] . c_str ( ) ) ;
# endif //#if defined(PRE_ADD_MULTILANGUAGE)
# else
//std::wstring wString = boost::io::str( boost::wformat( L"<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> <EFBFBD> <EFBFBD> ġƮ<C4A1> Դϴ<D4B4> .") );
# if defined(PRE_ADD_MULTILANGUAGE)
std : : wstring wString = boost : : io : : str ( boost : : wformat ( GetEtUIXML ( ) . GetUIString ( CEtUIXML : : idCategory1 , 4429 , m_pSession - > m_eSelectedLanguage ) ) ) ;
# else //#if defined(PRE_ADD_MULTILANGUAGE)
std : : wstring wString = boost : : io : : str ( boost : : wformat ( GetEtUIXML ( ) . GetUIString ( CEtUIXML : : idCategory1 , 4429 ) ) ) ;
# endif //#if defined(PRE_ADD_MULTILANGUAGE)
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wString . size ( ) ) , L " " , wString . c_str ( ) ) ;
return false ;
# endif // #if defined( _VILLAGESERVER )
return true ;
}
bool CDNGMCommand : : CmdWarp ( const VecWString & tokens )
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) ! = 2 )
{
//m_pSession->SendChat( CHATTYPE_GM, static_cast<int>(wcslen(g_GMCmdList[GM_Warp].szComment)), L"", g_GMCmdList[GM_Warp].szComment );
return false ;
}
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom = = NULL )
return false ;
CDNGameRoom : : PartyStruct * pStruct = pGameRoom - > GetPartyData ( const_cast < WCHAR * > ( tokens [ 1 ] . c_str ( ) ) ) ;
if ( pStruct = = NULL | | pStruct - > pSession = = NULL )
return false ;
DnActorHandle hTarget = pStruct - > pSession - > GetActorHandle ( ) ;
if ( ! hTarget )
return false ;
DnActorHandle hActor = m_pSession - > GetActorHandle ( ) ;
if ( ! hActor )
return false ;
hActor - > CmdWarp ( * hTarget - > GetPosition ( ) , EtVec3toVec2 ( * hTarget - > GetLookDir ( ) ) ) ;
# endif // #if defined( _GAMESERVER )
return true ;
}
bool CDNGMCommand : : CmdRecall ( const VecWString & tokens )
{
# if defined( _VILLAGESERVER )
if ( tokens . size ( ) ! = 2 )
{
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wcslen ( g_GMCmdList [ GM_Recall ] . szComment ) ) , L " " , g_GMCmdList [ GM_Recall ] . szComment ) ;
return false ;
}
// GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ִ<EFBFBD> <D6B4> <EFBFBD> <20> ˻<EFBFBD>
CDNField * pField = m_pSession - > GetField ( ) ;
if ( ! pField | | ! pField - > bIsGMVillage ( ) )
{
std : : wstring wString = L " GM<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> <EFBFBD> <EFBFBD> ġƮ<C4A1> Դϴ<D4B4> . " ;
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wString . size ( ) ) , L " " , wString . c_str ( ) ) ;
return false ;
}
if ( wcscmp ( m_pSession - > GetCharacterName ( ) , tokens [ 1 ] . c_str ( ) ) = = 0 )
{
std : : wstring wString = L " <EFBFBD> ڱ<EFBFBD> <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> <> ȯ<EFBFBD> <C8AF> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .." ;
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wString . size ( ) ) , L " " , wString . c_str ( ) ) ;
return false ;
}
if ( ! g_pMasterConnection | | ! g_pMasterConnection - > GetActive ( ) )
return false ;
# if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendReqRecall ( m_pSession - > GetAccountDBID ( ) , pField - > GetChnnelID ( ) , tokens [ 1 ] . c_str ( ) , m_pSession - > m_eSelectedLanguage ) ;
# else //#if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendReqRecall ( m_pSession - > GetAccountDBID ( ) , pField - > GetChnnelID ( ) , tokens [ 1 ] . c_str ( ) ) ;
# endif //#if defined(PRE_ADD_MULTILANGUAGE)
# else
//std::wstring wString = boost::io::str( boost::wformat( L"<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> <EFBFBD> <EFBFBD> ġƮ<C4A1> Դϴ<D4B4> .") );
# if defined(PRE_ADD_MULTILANGUAGE)
std : : wstring wString = boost : : io : : str ( boost : : wformat ( GetEtUIXML ( ) . GetUIString ( CEtUIXML : : idCategory1 , 4429 , m_pSession - > m_eSelectedLanguage ) ) ) ;
# else //#if defined(PRE_ADD_MULTILANGUAGE)
std : : wstring wString = boost : : io : : str ( boost : : wformat ( GetEtUIXML ( ) . GetUIString ( CEtUIXML : : idCategory1 , 4429 ) ) ) ;
# endif //#if defined(PRE_ADD_MULTILANGUAGE)
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wString . size ( ) ) , L " " , wString . c_str ( ) ) ;
return false ;
# endif // #if defined( _VILLAGESERVER )
return true ;
}
bool CDNGMCommand : : CmdBanUser ( const VecWString & tokens )
{
if ( tokens . size ( ) ! = 2 )
{
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wcslen ( g_GMCmdList [ GM_UserBan ] . szComment ) ) , L " " , g_GMCmdList [ GM_UserBan ] . szComment ) ;
return false ;
}
// GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ִ<EFBFBD> <D6B4> <EFBFBD> <20> ˻<EFBFBD>
if ( wcscmp ( m_pSession - > GetCharacterName ( ) , tokens [ 1 ] . c_str ( ) ) = = 0 )
{
std : : wstring wString = L " <EFBFBD> ڱ<EFBFBD> <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> ." ;
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wString . size ( ) ) , L " " , wString . c_str ( ) ) ;
return false ;
}
# if defined( _VILLAGESERVER )
if ( ! g_pMasterConnection | | ! g_pMasterConnection - > GetActive ( ) )
return false ;
# if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendBanUser ( m_pSession - > GetAccountDBID ( ) , tokens [ 1 ] . c_str ( ) , m_pSession - > m_eSelectedLanguage ) ;
# else //#if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendBanUser ( m_pSession - > GetAccountDBID ( ) , tokens [ 1 ] . c_str ( ) ) ;
# endif //#if defined(PRE_ADD_MULTILANGUAGE)
# elif defined (_GAMESERVER)
if ( g_pMasterConnectionManager = = NULL )
return false ;
# if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnectionManager - > SendBanUser ( m_pSession - > GetAccountDBID ( ) , m_pSession - > GetWorldSetID ( ) , tokens [ 1 ] . c_str ( ) , m_pSession - > m_eSelectedLanguage ) ;
# else //#if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnectionManager - > SendBanUser ( m_pSession - > GetAccountDBID ( ) , m_pSession - > GetWorldSetID ( ) , tokens [ 1 ] . c_str ( ) ) ;
# endif //#if defined(PRE_ADD_MULTILANGUAGE)
# endif
return true ;
}
bool CDNGMCommand : : CmdRepairAll ( VecWString & tokens )
{
# if defined( _VILLAGESERVER )
if ( ! m_pSession - > GetItem ( ) )
return false ;
m_pSession - > GetItem ( ) - > OnRecvRepairAll ( true ) ;
# else // #if defined( _VILLAGESERVER )
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 밡<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġƮŰ<C6AE> Դϴ<D4B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif // #if defined( _VILLAGESERVER )
return true ;
}
bool CDNGMCommand : : CmdGCreate ( VecWString & tokens )
{
if ( 2 > tokens . size ( ) ) {
return false ;
}
const std : : wstring aGuildName = tokens [ 1 ] . c_str ( ) ;
if ( aGuildName . empty ( ) | | GUILDNAME_MAX < = aGuildName . size ( ) ) {
return false ;
}
# if defined(_VILLAGESERVER)
// 20100629 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ۼ<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ڵ<EFBFBD> <20> <> <EFBFBD> ڴ뿪 Ȯ<> <C8AE> <EFBFBD> ϵ<EFBFBD> <CFB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ߰<EFBFBD>
if ( ! g_CountryUnicodeSet . Check ( aGuildName . c_str ( ) ) )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ڰ<EFBFBD> <20> <> <EFBFBD> ԵǾ<D4B5> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
const TGuildUID GuildUID = m_pSession - > GetGuildUID ( ) ;
if ( GuildUID . IsSet ( ) ) {
wstring wszString = FormatW ( L " <EFBFBD> ̹<EFBFBD> <20> <> <EFBFBD> 忡 <20> <> <EFBFBD> Ե<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
int wGuildRoleAuth [ GUILDROLE_TYPE_CNT ] = { 0 , } ;
g_pGuildManager - > SetAuthBase ( wGuildRoleAuth ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> )
m_pSession - > GetDBConnection ( ) - > QueryCreateGuild ( m_pSession - > GetDBThreadID ( ) , m_pSession - > GetAccountDBID ( ) , m_pSession - > GetCharacterDBID ( ) , aGuildName . c_str ( ) , m_pSession - > GetMapIndex ( ) , m_pSession - > GetLevel ( ) , 0 , g_Config . nWorldSetID , wGuildRoleAuth ) ;
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> â<> <C3A2> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> û<EFBFBD> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# else // #if defined( _VILLAGESERVER )
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġƮŰ<C6AE> Դϴ<D4B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif // #if defined( _VILLAGESERVER )
return true ;
}
bool CDNGMCommand : : CmdGDismiss ( VecWString & tokens )
{
if ( 1 > tokens . size ( ) ) {
return false ;
}
# if defined(_VILLAGESERVER)
const TGuildUID GuildUID = m_pSession - > GetGuildUID ( ) ;
if ( ! GuildUID . IsSet ( ) ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> 忡 <20> <> <EFBFBD> Ե<EFBFBD> <20> <> <EFBFBD> °<EFBFBD> <20> ƴմϴ<D5B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
// <20> ̹<EFBFBD> <20> <> ü<EFBFBD> <C3BC> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> üũ
if ( g_pGuildManager - > IsDismissExist ( GuildUID ) ) {
m_pSession - > ResetGuildSelfView ( ) ;
m_pSession - > SendDismissGuild ( m_pSession - > GetSessionID ( ) , ERROR_GUILD_ALREADYDISMISS_GUILD , NULL ) ;
return false ;
}
CDNGuildBase * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( ! pGuild )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʽ <EFBFBD> <CABD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) return false ;
# endif
if ( GUILDROLE_TYPE_MASTER ! = m_pSession - > GetGuildSelfView ( ) . btGuildRole )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 常 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
if ( ! pGuild - > GetMemberInfo ( m_pSession - > GetCharacterDBID ( ) ) )
{
wstring wszString = FormatW ( L " <EFBFBD> ش<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ƴմϴ<D5B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
if ( pGuild - > GetMemberCount ( ) > 1 )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
m_pSession - > GetDBConnection ( ) - > QueryDismissGuild ( m_pSession ) ;
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ػ<EFBFBD> <D8BB> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> û<EFBFBD> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# else // #if defined( _VILLAGESERVER )
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġƮŰ<C6AE> Դϴ<D4B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif // #if defined( _VILLAGESERVER )
return true ;
}
bool CDNGMCommand : : CmdWeeklyEventClear ( )
{
# if defined(PRE_ADD_WEEKLYEVENT)
g_pDataManager - > WeeklyEventClear ( ) ;
# endif // #if defined(PRE_ADD_WEEKLYEVENT)
return true ;
}
# if defined( PRE_WORLDCOMBINE_PVP )
bool CDNGMCommand : : CmdWorldPvPRoomAllKillTeamSetting ( PvPCommon : : Team : : eTeam eType , VecWString & tokens )
{
# if defined( _GAMESERVER )
if ( 2 > tokens . size ( ) ) {
return false ;
}
if ( m_pSession - > GetGameRoom ( ) )
{
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( pRoom & & pRoom - > GetWorldPvPRoomReqType ( ) = = WorldPvPMissionRoom : : Common : : GMRoom )
{
for ( int i = 1 ; i < tokens . size ( ) ; i + + )
{
CDNGameRoom : : PartyStruct * pStruct = pRoom - > GetPartyData ( const_cast < WCHAR * > ( tokens [ i ] . c_str ( ) ) ) ;
if ( pStruct )
{
CDNUserSession * pSession = pStruct - > pSession ;
if ( pSession - > GetActorHandle ( ) & & pSession - > GetTeam ( ) ! = PvPCommon : : Team : : Observer )
{
pSession - > SetTeam ( eType ) ;
pSession - > GetActorHandle ( ) - > SetTeam ( eType ) ;
}
}
else
{
wstring wszString = FormatW ( L " %s ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȿ<EFBFBD> <C8BF> <EFBFBD> <EFBFBD> <20> ʽ <EFBFBD> <CABD> ϴ<EFBFBD> . \r \n " , ( WCHAR * ) tokens [ i ] . c_str ( ) ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
}
}
else
return false ;
}
else
return false ;
return true ;
# endif
return false ;
}
bool CDNGMCommand : : CmdWorldPvPRoomTournamentSetting ( VecWString & tokens )
{
# if defined( _GAMESERVER )
if ( 4 ! = tokens . size ( ) )
{
return false ;
}
if ( m_pSession - > GetGameRoom ( ) )
{
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( pRoom & & pRoom - > GetWorldPvPRoomReqType ( ) = = WorldPvPMissionRoom : : Common : : GMRoom )
{
int nTournamentIndex = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( pRoom - > GetPvPMaxUser ( ) < = 0 )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> ӷ<EFBFBD> <20> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
if ( nTournamentIndex > pRoom - > GetPvPMaxUser ( ) / 2 )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȣ <20> <> <EFBFBD> <EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
nTournamentIndex = ( ( nTournamentIndex - 1 ) * 2 ) ;
int nCount = 0 ;
for ( int i = 2 ; i < tokens . size ( ) ; i + + )
{
CDNGameRoom : : PartyStruct * pStruct = pRoom - > GetPartyData ( const_cast < WCHAR * > ( tokens [ i ] . c_str ( ) ) ) ;
if ( pStruct )
{
CDNUserSession * pSession = pStruct - > pSession ;
if ( pSession - > GetActorHandle ( ) & & pSession - > GetTeam ( ) ! = PvPCommon : : Team : : Observer )
{
pRoom - > GetPvPGameMode ( ) - > SetTournamentUserInfo ( nTournamentIndex + nCount , pSession ) ;
nCount + + ;
}
else
{
wstring wszString = FormatW ( L " %s ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> ȿ<EFBFBD> <C8BF> <EFBFBD> <EFBFBD> <20> ʽ <EFBFBD> <CABD> ϴ<EFBFBD> . \r \n " , ( WCHAR * ) tokens [ i ] . c_str ( ) ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
}
}
else
return false ;
}
else
return false ;
return true ;
# endif
return false ;
}
# endif
# if defined( PRE_ADD_MUTE_USERCHATTING )
bool CDNGMCommand : : CmdMuteUser ( VecWString & tokens )
{
if ( 3 ! = tokens . size ( ) )
return false ;
if ( _wtoi ( tokens [ 2 ] . c_str ( ) ) < 0 )
return false ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ã<> Ƽ <EFBFBD> <20> 뺸
# if defined( _VILLAGESERVER )
if ( ! g_pMasterConnection | | ! g_pMasterConnection - > GetActive ( ) )
return false ;
# if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendMuteUserFind ( m_pSession - > GetAccountDBID ( ) , m_pSession - > GetWorldSetID ( ) , tokens [ 1 ] . c_str ( ) , _wtoi ( tokens [ 2 ] . c_str ( ) ) , m_pSession - > m_eSelectedLanguage ) ;
# else // #if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnection - > SendMuteUserFind ( m_pSession - > GetAccountDBID ( ) , m_pSession - > GetWorldSetID ( ) , tokens [ 1 ] . c_str ( ) , _wtoi ( tokens [ 2 ] . c_str ( ) ) ) ;
# endif // #if defined(PRE_ADD_MULTILANGUAGE)
# elif defined (_GAMESERVER)
if ( g_pMasterConnectionManager = = NULL )
return false ;
# if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnectionManager - > SendMuteUserFind ( m_pSession - > GetAccountDBID ( ) , m_pSession - > GetWorldSetID ( ) , tokens [ 1 ] . c_str ( ) , _wtoi ( tokens [ 2 ] . c_str ( ) ) , m_pSession - > m_eSelectedLanguage ) ;
# else // #if defined(PRE_ADD_MULTILANGUAGE)
g_pMasterConnectionManager - > SendMuteUserFind ( m_pSession - > GetAccountDBID ( ) , m_pSession - > GetWorldSetID ( ) , tokens [ 1 ] . c_str ( ) , _wtoi ( tokens [ 2 ] . c_str ( ) ) ) ;
# endif // #if defined(PRE_ADD_MULTILANGUAGE)
# endif
return true ;
}
# endif // #if defined( PRE_ADD_MUTE_USERCHATTING )