/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2008.06.04 * ³» ¿ë : * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #pragma pack( push, 1 ) #include "CommonDefines.h" #include "CommonNetworkMsgStruct.h" #include "Item_Common.h" #include "sqltypes.h" enum eCHEAT_SPEEDUP { eCHEATSPEEDUP_NONE = 0, eCHEATSPEEDUP_50UP, eCHEATSPEEDUP_100UP, eCHEATSPEEDUP_150UP, eCHEATSPEEDUP_200UP, eCHEATSPEEDUP_250UP, eCHEATSPEEDUP_MAX, }; enum eCHEAT_CHANGE_JOB_LEVEL { eCHANGE_JOB_LEVEL_1 = 30, /// 1Â÷ ÀüÁ÷ ·¡¹ë eCHANGE_JOB_LEVEL_2 = 60, /// 2Â÷ ÀüÁ÷ ·¡¹ë }; const int ERROR_CHEAT_NO_ERROR = 0; const int ERROR_CHEAT_ALREADY_RUN = 1; const int ERROR_CHEAT_UNKNOWN_USER = 2; /// À̸§µî·Ï #define ERROR_CHEAT_GM_NAME_SUCCESS 0 // µî·Ï¼º°ø #define ERROR_CHEAT_GM_NAME_FAIL 1 // µî·Ï½ÇÆÐ #define ERROR_CHEAT_GM_NAME_ALREADY 2 // µî·Ï½ÇÆÐ-À̹̻ç¿ëÁß #define ERROR_CHEAT_GM_NAME_EXISTS 3 // µî·Ï½ÇÆÐ-Áߺ¹µÊ struct MSG_REQ_CHEAT_GM_NAME : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; struct MSG_RES_CHEAT_GM_NAME : public MSG_ERROR {}; /// ÀÔÀå struct MSG_REQ_CHEAT_IN : public MSGROOT { }; struct MSG_RES_CHEAT_IN : public MSGROOT { }; struct MSG_SYN_CHEAT_IN : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º }; /// ¼Óµµ Áõ°¡ struct MSG_REQ_CHEAT_SPEEDUP : public MSGROOT { eCHEAT_SPEEDUP mSpeedUp; }; /// ±Ó¸» struct MSG_REQ_CHEAT_EAR : public MSGROOT { bool mMode; }; struct MSG_RES_CHEAT_EAR : public MSGROOT { bool mMode; }; /// Åõ¸í struct MSG_REQ_CHEAT_HIDE : public MSGROOT { bool mMode; }; struct MSG_RES_CHEAT_HIDE : public MSGROOT { bool mMode; }; struct MSG_SYN_CHEAT_HIDE_ON : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º }; /// ¹«Àû struct MSG_REQ_CHEAT_UNDEAD : public MSGROOT { bool mMode; }; struct MSG_RES_CHEAT_UNDEAD : public MSGROOT { bool mMode; }; /// Á¤º¸ struct MSG_REQ_CHEAT_INFO : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; struct MSG_RES_CHEAT_INFO : public MSGROOT { wchar_t mUserID[MAX_UID_BUFFER_SIZE]; /// ¾ÆÀ̵ð short mMapNum; /// ¸Ê ¹øÈ£ float mPosX; /// ÁÂÇ¥ float mPosY; unsigned short mJob; /// Á÷¾÷ unsigned char mLevel; /// ·¹º§ unsigned long mMoney; /// µ· /// ±æµå }; /// °¨½Ã struct MSG_REQ_CHEAT_WATCH : public MSGROOT { bool mMode; }; struct MSG_RES_CHEAT_WATCH : public MSGROOT { bool mMode; }; /// Á¢¼Ó Á¾·á struct MSG_REQ_CHEAT_KICK : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; const int ERROR_CHEAT_KICK_SUCCESS = 0; const int ERROR_CHEAT_KICK_FAIL = 1; const int ERROR_CHEAT_KICK_UNKNOWN_USER = 2; const int ERROR_CHEAT_KICK_NOT_CONNECTED = 3; struct MSG_RES_CHEAT_KICK : public MSGROOT { }; struct MSG_RES_CHEAT_KICK_GM : public MSG_ERROR { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; /// ȸº¹ struct MSG_REQ_CHEAT_RECOVER : public MSGROOT { }; struct MSG_RES_CHEAT_RECOVER : public MSGROOT { unsigned long mMaxHP; /// HP unsigned long mMaxMP; /// MP }; struct MSG_SYN_CHEAT_RECOVER : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º unsigned long mMaxHP; /// HP unsigned long mMaxMP; /// MP }; /// ºÎȰ struct MSG_REQ_CHEAT_REBIRTH : public MSGROOT { }; struct MSG_RES_CHEAT_REBIRTH : public MSGROOT { unsigned long mMaxHP; /// HP unsigned long mMaxMP; /// MP }; struct MSG_SYN_CHEAT_REBIRTH : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º unsigned long mMaxHP; /// HP unsigned long mMaxMP; /// MP }; /// ¼ø°£À̵¿ struct MSG_REQ_CHEAT_TELEPORT : public MSGROOT { float mStartX; /// ½ÃÀÛ ÁöÁ¡ float mStartY; float mDestX; /// ¸ñÇ¥ ÁöÁ¡ float mDestY; }; struct MSG_SYN_CHEAT_TELEPORT : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º float mDestX; /// ¸ñÇ¥ ÁöÁ¡ float mDestY; }; /// °¡±â struct MSG_REQ_CHEAT_GO : public MSGROOT { short mMapNum; /// ¸Ê ¹øÈ£ float mDestX; /// ¸ñÇ¥ ÁöÁ¡ float mDestY; }; /// ÃßÀû struct MSG_REQ_CHEAT_CHASE : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; struct MSG_RES_CHEAT_CHASE_GM : public MSG_ERROR { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; /// À̵¿ struct MSG_REQ_CHEAT_MOVE : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í short mMapNum; /// ¸Ê ¹øÈ£ float mDestX; /// ¸ñÇ¥ ÁöÁ¡ float mDestY; }; struct MSG_RES_CHEAT_MOVE_GM: public MSG_ERROR { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; /// ¼Òȯ struct MSG_REQ_CHEAT_CALL : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; const unsigned char ERROR_CHEAT_CALL_SUCCESS = 0; const unsigned char ERROR_CHEAT_CALL_FAIL_UNKNOWN_USER = 1; const unsigned char ERROR_CHEAT_CALL_FAIL_USER_STOP_STATE = 2; const unsigned char ERROR_CHEAT_CALL_FAIL_MAP_CHANGE = 3; const unsigned char ERROR_CHEAT_CALL_FAIL_DIFF_MAP = 4; struct MSG_RES_CHEAT_CALL_GM : public MSG_ERROR { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; /// À¯Àú À§Ä¡ ÃßÀû struct MSG_REQ_CHEAT_SEARCH : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; const unsigned char ERROR_CHEAT_SEARCH_SUCCESS = 0; const unsigned char ERROR_CHEAT_SEARCH_FAIL_UNKNOWN_USER = 1; const unsigned char ERROR_CHEAT_SEARCH_FAIL_UNKNOWN_USER2 = 2; struct MSG_RES_CHEAT_SEARCH_GM : public MSG_ERROR { short mMapNum; /// ¸Ê ¹øÈ£ float mPosX; /// ÁÂÇ¥ float mPosY; }; const unsigned char ERROR_CHEAT_SEARCH_CHANNEL_SUCCESS = 0; struct MSG_RES_CHEAT_SEARCH_CHANNEL_GM : public MSG_ERROR { short mChannelNum; /// ¸Ê ¹øÈ£ }; /// äÆÃ ±ÝÁö struct MSG_REQ_CHEAT_NO_CHAT : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í unsigned long mDuration; /// Áö¼Ó ½Ã°£ (ºÐ) }; const unsigned char ERROR_CHEAT_NO_CHAT_SUCCESS = 0; const unsigned char ERROR_CHEAT_NO_CHAT_FAIL = 1; const unsigned char ERROR_CHEAT_NO_CHAT_NO_PLAYER = 2; struct MSG_RES_CHEAT_NO_CHAT_GM : public MSG_ERROR { }; struct MSG_SYN_CHEAT_NO_CHAT : public MSGROOT { }; struct MSG_REQ_CHEAT_NO_CHAT_LIST : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; const unsigned char ERROR_CHEAT_NO_CHAT_LIST_SUCCESS = 0; const unsigned char ERROR_CHEAT_NO_CHAT_LIST_FAIL = 1; const unsigned char ERROR_CHEAT_NO_CHAT_LIST_NO_PLAYER = 2; struct MSG_RES_CHEAT_NO_CHAT_LIST_GM : public MSG_ERROR { }; struct NO_CHAT_CHARACTER_DUMMY { wchar_t characterName[ 17 ]; // ij¸¯ÅÍ À̸§ wchar_t adminName[ 17 ]; // Á¦ÇÑÀ» °¡ÇÑ ¿î¿µÀÚ Äɸ¯ÅÍ À̸§ time_t registDate; // µî·ÏÀÏ time_t validThru; // À¯È¿¸¸±â }; struct MSG_RES_CHEAT_NO_CHAT_LIST : public MSG_ERROR { int mRowCount; /// Àû¿ë Çà ¼ö NO_CHAT_CHARACTER_DUMMY table[1]; /// äÆÃ ±ÝÁöµÈ Äɸ¯ÅÍ Á¤º¸ // ½ÇÁ¦º¸³»´Â ¸Þ¼¼Áö Å©±â unsigned long GetMsgLength( ) { return sizeof(MSG_RES_CHEAT_NO_CHAT_LIST) - sizeof(table) + (mRowCount * sizeof(table)); } }; /// äÆÃ Çã¿ë struct MSG_REQ_CHEAT_ALLOW_CHAT : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; const unsigned char ERROR_CHEAT_ALLOW_CHAT_SUCCESS = 0; const unsigned char ERROR_CHEAT_ALLOW_CHAT_FAIL = 1; const unsigned char ERROR_CHEAT_ALLOW_CHAT_NO_PLAYER = 2; struct MSG_RES_CHEAT_ALLOW_CHAT_GM : public MSG_ERROR { }; struct MSG_SYN_CHEAT_ALLOW_CHAT : public MSGROOT { }; /// ÀδøÀ̵¿ /// NM_CHEAT_GOTO_INSTANT_DUNGEON_REQ enum TYPE_GOTO_INSTANT_DUNGEON { GOTO_ID_PVP01 = 101, GOTO_ID_PvP02 = 102, GOTO_ID_THEME01 = 200, GOTO_ID_THEME02 = 201, GOTO_ID_TURORIAL = 501, }; struct MSG_REQ_GOTO_INSTANT_DUNGEON : public MSGROOT { unsigned short type; // TYPE_GOTO_INSTANT_DUNGEON ÂüÁ¶ }; const int ERROR_GOTO_GAMESERVER_SUCCESS = 0; // ¼º°ø const int ERROR_GOTO_GAMESERVER_FAIL = 1; // À̵¿ ¼³Á¤ ¿À·ù struct MSG_REQ_GOTO_GAMESERVER : public MSGROOT { unsigned short mMapNum; float mPosX; float mPosY; }; #define ERROR_GOTO_INSTANT_DUNGEON_SUCCESS 0 // ¼º°ø #define ERROR_GOTO_INSTANT_DUNGEON_FAIL 1 // ½ÇÆÐ #define ERROR_GOTO_INSTANT_DUNGEON_FAIL_ALREADY_IN 2 // Á¤»óÀûÀÎ ÀÔÀå ÈÄ GM Åø »ç¿ëÀ¸·Î ´øÁ¯À̵¿Àº ºÒ°¡. struct MSG_RES_GOTO_INSTANT_DUNGEON : public MSG_ERROR { }; /// NM_CHEAT_USED_ROOM_ID_REQ struct MSG_REQ_USED_ROOM_ID : public MSGROOT { unsigned short type; // TYPE_GOTO_INSTANT_DUNGEON ÂüÁ¶ }; #define ERROR_USED_ROOM_ID_SUCCESS 0 // ¼º°ø #define ERROR_USED_ROOM_ID_FAIL 1 // ½ÇÆÐ struct MSG_RES_USED_ROOM_ID : public MSG_ERROR { long rowCount; long roomInfo[1]; unsigned long GetMsgLength( ) { return (sizeof(MSG_RES_USED_ROOM_ID)-sizeof(roomInfo)) + (rowCount*sizeof(roomInfo)); } }; ///NM_CHEAT_ROOMCHANGE_INSTANT_DUNGEON_REQ #define ERROR_ROOMCHANGE_INSTANT_DUNGEON_SUCCESS 0 // ¼º°ø #define ERROR_ROOMCHANGE_INSTANT_DUNGEON_FAIL 1 // ½ÇÆÐ #define ERROR_ROOMCHANGE_INSTANT_DUNGEON_FAIL_ALREADY_IN 2 // Á¤»óÀûÀÎ ÀÔÀå ÈÄ GM Åø »ç¿ëÀ¸·Î ´øÁ¯À̵¿Àº ºÒ°¡. struct MSG_REQ_ROOMCHANGE_INSTANT_DUNGEON : public MSG_ERROR { unsigned short mapNum; }; /// Á¤Áö struct MSG_REQ_CHEAT_STOP : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í unsigned long mDuration; /// Áö¼Ó ½Ã°£ (¹Ð¸®ÃÊ) }; struct MSG_RES_CHEAT_STOP_GM : public MSG_ERROR { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; const int ERROR_CHEAT_STOP_SUCCESS = 0; /// ¼º°ø const int ERROR_CHEAT_STOP_FAIL = 1; /// ½ÇÆÐ const int ERROR_CHEAT_STOP_NOT = 2; /// ġƮ Á¤Áö»óÅ ¾Æ´Ô struct MSG_SYN_CHEAT_STOP : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º }; /// Á¤Áö ÇØÁ¦ struct MSG_REQ_CHEAT_CANCEL_STOP : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; struct MSG_RES_CHEAT_CANCEL_STOP_GM : public MSG_ERROR { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; struct MSG_SYN_CHEAT_CANCEL_STOP : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º }; /// ¾ÆÀÌÅÛ Á¦°Å struct MSG_REQ_CHEAT_REMOVE_ITEM : public MSGROOT { }; /// ¸ó½ºÅÍ Á¦°Å struct MSG_REQ_CHEAT_REMOVE_MONSTER : public MSGROOT { }; /// ·¹º§¾÷ struct MSG_REQ_CHEAT_LEVELUP : public MSGROOT { unsigned char mAddedValue; /// ´õÇÒ °ª }; /// ½ºÅ³¾÷ struct MSG_REQ_CHEAT_SKILLUP : public MSGROOT { unsigned char mAddedValue; /// ´õÇÒ °ª }; /// ¾ÆÀÌÅÛ »ý¼º struct MSG_REQ_CHEAT_MAKE : public MSGROOT { unsigned long mItemIndex; /// ¾ÆÀÌÅÛ À妽º unsigned short mCount; /// ¼ö·® unsigned char mEnhance; /// °­È­( 0 ~ 15 ) /// Ä«µåÀåÂø unsigned long mCardSlot[5]; /// ÀåÂøÇÑ Ä«µåÁ¤º¸ }; const int ERROR_CHEAT_MAKE_SUCCESS = 0; /// ¼º°ø const int ERROR_CHEAT_MAKE_FAIL = 1; /// ½ÇÆÐ const int ERROR_CHEAT_MAKE_NOTYET = 2; /// DB»ç¿ëÁß struct MSG_RES_CHEAT_MAKE : public MSG_ERROR { BYTE rowCount; // ¿µÇâ¹ÞÀº Çà ¼ö sInventory inventory[1]; // Àκ¥Å丮 // ½ÇÁ¦º¸³»´Â ¸Þ¼¼Áö Å©±â unsigned long GetMsgLength( ) { return sizeof(MSG_RES_CHEAT_MAKE) - sizeof(inventory) + (rowCount * sizeof(inventory)); } }; struct sCheat_Make_Item_Info { unsigned long mItemIndex; /// ¾ÆÀÌÅÛ À妽º unsigned short mCount; /// ¼ö·® unsigned char mEnhance; /// °­È­( 0 ~ 15 ) /// Ä«µåÀåÂø unsigned long mCardSlot[5]; /// ÀåÂøÇÑ Ä«µåÁ¤º¸ }; /// ¾ÆÀÌÅÛ ¿©·¯°³ »ý¼º /// ¾ÆÀÌÅÛ ¿©·¯°³ »ý¼º ÀÀ´ä 󸮴 MSG_RES_CHEAT_MAKE ·Î ¹ÞÀ½. struct MSG_REQ_CHEAT_MAKE_ITEMS : public MSGROOT { unsigned char mCount; sCheat_Make_Item_Info mItemInfo[1]; // ½ÇÁ¦º¸³»´Â ¸Þ¼¼Áö Å©±â unsigned long GetMsgLength( ) { return sizeof(MSG_REQ_CHEAT_MAKE_ITEMS) - sizeof(mItemInfo) + (mCount * sizeof(mItemInfo)); } }; /// µ· »ý¼º struct MSG_REQ_CHEAT_GOLD : public MSGROOT { unsigned long mValue; /// ´õÇÒ °ª }; /// ¸ó½ºÅ͸¦ ¼Òȯ struct MSG_REQ_CHEAT_SUMMON : public MSGROOT { unsigned long mMonsterNum; /// ¸ó½ºÅÍ ¹øÈ£ unsigned char mValue; /// °ª }; /// ¸ó½ºÅ͸¦ Á¦°Å struct MSG_REQ_CHEAT_REMOVE : public MSGROOT { unsigned long mObjIndex; /// ¿ÀºêÁ§Æ® À妽º }; struct MSG_REQ_CHEAT_KILL : public MSGROOT { unsigned long mObjIndex; }; /// Exp Áõ°¡ struct MSG_REQ_CHEAT_EXP : public MSGROOT { short mExpUpPercent; }; const int ERROR_CHEAT_EXP_SUCCESS = 0; /// ¼º°ø const int ERROR_CHEAT_EXP_FAIL = 1; /// ½ÇÆÐ struct MSG_RES_CHEAT_EXP_GM : public MSG_ERROR { short mExpUpPercent; }; /// SXP Áõ°¡ struct MSG_REQ_CHEAT_SXP : public MSGROOT { short mSxpUpPercent; }; const int ERROR_CHEAT_SXP_SUCCESS = 0; /// ¼º°ø const int ERROR_CHEAT_SXP_FAIL = 1; /// ½ÇÆÐ struct MSG_RES_CHEAT_SXP_GM : public MSG_ERROR { short mSxpUpPercent; }; /// µå·ÓÀ² Áõ°¡ struct MSG_REQ_CHEAT_DROP : public MSGROOT { short mDropUpPercent; }; const int ERROR_CHEAT_DROP_SUCCESS = 0; /// ¼º°ø const int ERROR_CHEAT_DROP_FAIL = 1; /// ½ÇÆÐ struct MSG_RES_CHEAT_DROP_GM : public MSG_ERROR { short mDropUpPercent; }; const unsigned char ERROR_CHEAT_SKILL_ADD_SUCCESS = 0; const unsigned char ERROR_CHEAT_SKILL_ADD_DBERROR = 1; const unsigned char ERROR_CHEAT_SKILL_ADD_ERR_PLAYER = 2; const unsigned char ERROR_CHEAT_SKILL_ADD_ERR_SCRIPT = 3; const unsigned char ERROR_CHEAT_SKILL_ADD_ERR_SKILLSTEP = 4; const unsigned char ERROR_CHEAT_SKILL_ADD_ERR_RACE = 5; const unsigned char ERROR_CHEAT_SKILL_ADD_ERR_JOB = 6; const unsigned char ERROR_CHEAT_SKILL_ADD_ERR_MAPINSERT = 7; struct MSG_REQ_CHEAT_SKILL_ADD : public MSGROOT { unsigned long mSkillClassIdx; unsigned char mSkillStep; bool mIsSkillUp; }; const unsigned char ERROR_CHEAT_GM_SKILL_USE_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_SKILL_USE_ERR_TARGET = 1; struct MSG_REQ_CHEAT_GM_SKILL_USE_PLAYER : public MSGROOT { unsigned long mCharacterIdx; unsigned long mInfluenceIndex; }; struct MSG_SYN_CHEAT_GM_SKILL_USE_PLAYER : public MSGROOT { unsigned long mInfluenceIndex; }; const unsigned char ERROR_CHEAT_GM_SKILL_AREA_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_SKILL_AREA_ERR_TARGET = 1; struct MSG_REQ_CHEAT_GM_SKILL_USE_AREA : public MSGROOT { float mPosX; float mPosY; unsigned long mInfluenceIndex; //unsigned long mDistance; ///°Å¸® }; const unsigned char ERROR_CHEAT_GM_JOB_CHANGE_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_JOB_CHANGE_ERR_NOT_MATCH = 1; /// ÀüÁ÷ÇÒ ¼ö ÀÖ´Â Á÷¾÷ÀÌ ¾Æ´Ô const unsigned char ERROR_CHEAT_GM_JOB_CHANGE_DB_ERR = 2; /// DB»ç¿ëÁß struct MSG_REQ_CHEAT_GM_JOB_CHANGE : public MSGROOT { unsigned long mChangeJobIndex; }; const unsigned char ERROR_CHEAT_GM_FORCE_CHANGE_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_FORCE_CHANGE_SAMETYPE = 1; const unsigned char ERROR_CHEAT_GM_FORCE_CHANGE_BADTYPE = 2; struct MSG_REQ_CHEAT_GM_FORCE_CHANGE : public MSGROOT { unsigned char mForceType; }; const unsigned char ERROR_CHEAT_GM_FORCE_POINT_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_FORCE_POINT_NOFORCE = 1; const unsigned char ERROR_CHEAT_GM_FORCE_POINT_BADTYPE = 2; const unsigned char ERROR_CHEAT_GM_FORCE_POINT_FAIL = 3; const unsigned char ERROR_CHEAT_GM_FORCE_POINT_BADPOINT = 4; struct MSG_REQ_CHEAT_GM_FORCE_POINT : public MSGROOT { unsigned char mForceType; unsigned long mForcePoint; }; struct MSG_REQ_CHEAT_PLAYERINFO : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; struct MSG_RES_CHEAT_PLAYERINFO : public MSG_ERROR { unsigned int mState; unsigned char mStateStop; unsigned long mRequestRejection; bool mCashInfo; long mInventoryDB; long mCommonDatabase; long mGameInDatabase; bool mGameInDBEnd; long mSkillDatabase; long mQuestDatabase; long mGuildDatabase; long mRequestData; long mCompleteData; }; const unsigned char ERROR_CHEAT_GM_THEME_INFO_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_THEME_INFO_FAIL = 1; const unsigned char ERROR_CHEAT_GM_THEME_INFO_NO_PLAYER = 2; const unsigned char ERROR_CHEAT_GM_THEME_INFO_NO_DATA = 3; /// Å׸¶ ÃʱâÈ­ struct MSG_REQ_CHEAT_THEME_INFO : public MSGROOT { wchar_t mCharName[MAX_NAME_BUFFER_SIZE]; /// ij¸¯ÅÍ ¸í }; struct sCheat_Theme_Info { short themeIdx; // Å׸¶ IDX long uniqueIdx; // ±Í¼Ó °íÀ¯¹øÈ£ BYTE mode; // ·ë ¸ðµå(³­À̵µ) time_t lastDate; // ·ë ¸¶Áö¸· ¾÷µ¥ÀÌÆ®(ÀÏ) time_t validThru; // ·ë À¯È¿¸¸±â(ÀÏ) }; struct MSG_RES_CHEAT_THEME_INFO : public MSG_ERROR { unsigned long mCharacterIdx; long mRowCount; sCheat_Theme_Info mThemeInfo[1]; unsigned long GetMsgLength(){ return sizeof( MSG_RES_CHEAT_THEME_INFO ) - sizeof( mThemeInfo ) + ( mRowCount * sizeof( mThemeInfo ) ); } }; /// Å׸¶ Á¤º¸ struct MSG_REQ_CHEAT_THEME_RESET : public MSGROOT { unsigned long mCharacterIdx; /// Ç÷¹À̾îÀ妽º unsigned short mThemeIdx; /// Å׸¶Á¾·ù unsigned char mThemeMode; /// Å׸¶¸ðµå }; const unsigned char ERROR_CHEAT_GM_THEME_RESET_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_THEME_RESET_FAIL = 1; const unsigned char ERROR_CHEAT_GM_THEME_RESET_NOT_SAME_CHANNEL = 2; /// µ¿ÀÏ Ã¤³Î ¾Æ´Ô const unsigned char ERROR_CHEAT_GM_THEME_RESET_THEME_IN = 3; /// À¯Àú°¡ Å׸¶¿¡ ÀÖÀ½ const unsigned char ERROR_CHEAT_GM_THEME_RESET_TIME = 4; /// Å׸¶´øÁ¯ ÃʱâÈ­ ÁغñÁß const unsigned char ERROR_CHEAT_GM_THEME_RESET_NO_PLAYER = 5; /// ÃʱâÈ­ÇÒ À¯Àú°¡ Á¸ÀçÇÏÁö ¾ÊÀ½ const unsigned char ERROR_CHEAT_GM_THEME_RESET_DB_USE = 6; /// GMÀ¯Àú DB »ç¿ëÁß const unsigned char ERROR_CHEAT_GM_THEME_RESET_NO_DATA = 7; /// ÇØ´ç Å׸¶°¡ Á¸ÀçÇÏÁö ¾ÊÀ½ struct MSG_RES_CHEAT_THEME_RESET : public MSG_ERROR { }; struct MSG_SYN_CHEAT_THEMERESET : public MSG_ERROR { unsigned short mThemeNum; /// Å׸¶ Á¾·ù(¸ÊŸÀÔ) unsigned char mThemeMode; /// ³­À̵µ }; /// GM À̺¥Æ® Àû¿ëµÈ È¿°ú °Ë»ö const unsigned char ERROR_CHEAT_GM_EVENT_SEARCH_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_EVENT_SEARCH_FAIL = 1; const unsigned char ERROR_CHEAT_GM_EVENT_SEARCH_NO_DATA = 2; /// Àû¿ëÁßÀÎ À̺¥Æ® ¾øÀ½ struct MSG_REQ_CHEAT_GM_EVENT_SEARCH : public MSGROOT { }; struct GM_EVENT_INFO { unsigned long index; /// DB Index unsigned long influenceIdx; /// È¿°ú À妽º time_t startTime; /// ½ÃÀÛ ½Ã°£ time_t validThru; /// ¸¸±â ½Ã°£ }; struct MSG_RES_CHEAT_GM_EVENT_SEARCH : public MSG_ERROR { long mRowCount; GM_EVENT_INFO mTable[1]; unsigned long GetMsgLength(){ return sizeof( MSG_RES_CHEAT_GM_EVENT_SEARCH ) - sizeof( mTable ) + ( mRowCount * sizeof( mTable ) ); } }; /// GM À̺¥Æ® Àû¿ëµÈ È¿°ú Àû¿ë const unsigned char ERROR_CHEAT_GM_EVENT_APPLY_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_EVENT_APPLY_FAIL = 1; const unsigned char ERROR_CHEAT_GM_EVENT_APPLY_ALREADY_REGIST = 2; /// ÀÌ¹Ì Àû¿ëµÊ const unsigned char ERROR_CHEAT_GM_EVENT_APPLY_DB_USE = 3; /// DB»ç¿ëÁß const unsigned char ERROR_CHEAT_GM_EVENT_APPLY_DB_INSERT = 4; /// DB»ç¿ë ½ÇÆÐ const unsigned char ERROR_CHEAT_GM_EVENT_APPLY_BAD_VALIDTHRU = 5; /// È¿°úÀÇ ³¡³ª´Â ½Ã°£ÀÌ ÇöÀç½Ã°£º¸´Ù °ú°ÅÀÓ const unsigned char ERROR_CHEAT_GM_EVENT_APPLY_BAD_INFLUENCE = 6; /// Á¤ÀǵÇÁö ¾ÊÀº È¿°ú°ªÀÓ /// GM À̺¥Æ® È¿°ú Àû¿ë½Ã۱â struct MSG_REQ_CHEAT_GM_EVENT_APPLY : public MSGROOT { unsigned long mInfluenceIdx; SYSTEMTIME mStartTime; SYSTEMTIME mValidThru; }; struct MSG_RES_CHEAT_GM_EVENT_APPLY : public MSG_ERROR { }; /// GM À̺¥Æ® È¿°ú »èÁ¦Çϱâ const unsigned char ERROR_CHEAT_GM_EVENT_RELEASE_SUCCESS = 0; const unsigned char ERROR_CHEAT_GM_EVENT_RELEASE_FAIL = 1; const unsigned char ERROR_CHEAT_GM_EVENT_RELEASE_DB_USE = 2; /// DB»ç¿ëÁß const unsigned char ERROR_CHEAT_GM_EVENT_RELEASE_BAD_INDEX = 3; /// ÇØ´ç À妽º¸¦ °¡Áø È¿°ú¸¦ ãÀ» ¼ö ¾øÀ½ struct MSG_REQ_CHEAT_GM_EVENT_RELEASE : public MSGROOT { unsigned long mDBIndex; /// DB¿¡ ÀúÀåµÈ °íÀ¯ Index }; struct MSG_RES_CHEAT_GM_EVENT_RELEASE : public MSG_ERROR { }; #pragma pack( pop )