- #ifndef __INC_TABLES_H__
- #define __INC_TABLES_H__
- #include "service.h"
- #include "length.h"
- typedef DWORD IDENT;
- /**
- * @version 05/06/10 Bang2ni - Myshop Pricelist °ü·Ã ÆĞŶ HEADER_XX_MYSHOP_PRICELIST_XXX Ãß°¡
- */
- enum
- {
- HEADER_GD_LOGIN = 1,
- HEADER_GD_LOGOUT = 2,
- HEADER_GD_PLAYER_LOAD = 3,
- HEADER_GD_PLAYER_SAVE = 4,
- HEADER_GD_PLAYER_CREATE = 5,
- HEADER_GD_PLAYER_DELETE = 6,
- HEADER_GD_LOGIN_KEY = 7,
- // 8 empty
- HEADER_GD_BOOT = 9,
- HEADER_GD_PLAYER_COUNT = 10,
- HEADER_GD_QUEST_SAVE = 11,
- HEADER_GD_SAFEBOX_LOAD = 12,
- HEADER_GD_SAFEBOX_SAVE = 13,
- HEADER_GD_SAFEBOX_CHANGE_SIZE = 14,
- HEADER_GD_EMPIRE_SELECT = 15,
- HEADER_GD_SAFEBOX_CHANGE_PASSWORD = 16,
- HEADER_GD_SAFEBOX_CHANGE_PASSWORD_SECOND = 17, // Not really a packet, used internal
- HEADER_GD_DIRECT_ENTER = 18,
- HEADER_GD_GUILD_SKILL_UPDATE = 19,
- HEADER_GD_GUILD_EXP_UPDATE = 20,
- HEADER_GD_GUILD_ADD_MEMBER = 21,
- HEADER_GD_GUILD_REMOVE_MEMBER = 22,
- HEADER_GD_GUILD_CHANGE_GRADE = 23,
- HEADER_GD_GUILD_CHANGE_MEMBER_DATA = 24,
- HEADER_GD_GUILD_DISBAND = 25,
- HEADER_GD_GUILD_WAR = 26,
- HEADER_GD_GUILD_WAR_SCORE = 27,
- HEADER_GD_GUILD_CREATE = 28,
- HEADER_GD_ITEM_SAVE = 30,
- HEADER_GD_ITEM_DESTROY = 31,
- HEADER_GD_ADD_AFFECT = 32,
- HEADER_GD_REMOVE_AFFECT = 33,
- HEADER_GD_HIGHSCORE_REGISTER = 34,
- HEADER_GD_ITEM_FLUSH = 35,
- HEADER_GD_PARTY_CREATE = 36,
- HEADER_GD_PARTY_DELETE = 37,
- HEADER_GD_PARTY_ADD = 38,
- HEADER_GD_PARTY_REMOVE = 39,
- HEADER_GD_PARTY_STATE_CHANGE = 40,
- HEADER_GD_PARTY_HEAL_USE = 41,
- HEADER_GD_FLUSH_CACHE = 42,
- HEADER_GD_RELOAD_PROTO = 43,
- HEADER_GD_CHANGE_NAME = 44,
- HEADER_GD_SMS = 45,
- HEADER_GD_GUILD_CHANGE_LADDER_POINT = 46,
- HEADER_GD_GUILD_USE_SKILL = 47,
- HEADER_GD_REQUEST_EMPIRE_PRIV = 48,
- HEADER_GD_REQUEST_GUILD_PRIV = 49,
- HEADER_GD_MONEY_LOG = 50,
- HEADER_GD_GUILD_DEPOSIT_MONEY = 51,
- HEADER_GD_GUILD_WITHDRAW_MONEY = 52,
- HEADER_GD_GUILD_WITHDRAW_MONEY_GIVE_REPLY = 53,
- HEADER_GD_REQUEST_CHARACTER_PRIV = 54,
- HEADER_GD_SET_EVENT_FLAG = 55,
- HEADER_GD_PARTY_SET_MEMBER_LEVEL = 56,
- HEADER_GD_GUILD_WAR_BET = 57,
- HEADER_GD_CREATE_OBJECT = 60,
- HEADER_GD_DELETE_OBJECT = 61,
- HEADER_GD_UPDATE_LAND = 62,
- HEADER_GD_MARRIAGE_ADD = 70,
- HEADER_GD_MARRIAGE_UPDATE = 71,
- HEADER_GD_MARRIAGE_REMOVE = 72,
- HEADER_GD_WEDDING_REQUEST = 73,
- HEADER_GD_WEDDING_READY = 74,
- HEADER_GD_WEDDING_END = 75,
- HEADER_GD_AUTH_LOGIN = 100,
- HEADER_GD_LOGIN_BY_KEY = 101,
- HEADER_GD_BILLING_EXPIRE = 104,
- HEADER_GD_VCARD = 105,
- HEADER_GD_BILLING_CHECK = 106,
- HEADER_GD_MALL_LOAD = 107,
- HEADER_GD_MYSHOP_PRICELIST_UPDATE = 108, ///< °¡°İÁ¤º¸ °»½Å ¿äû
- HEADER_GD_MYSHOP_PRICELIST_REQ = 109, ///< °¡°İÁ¤º¸ ¸®½ºÆ® ¿äû
- HEADER_GD_BLOCK_CHAT = 110,
- // PCBANG_IP_LIST_BY_AUTH
- HEADER_GD_PCBANG_REQUEST_IP_LIST = 111,
- HEADER_GD_PCBANG_CLEAR_IP_LIST = 112,
- HEADER_GD_PCBANG_INSERT_IP = 113,
- // END_OF_PCBANG_IP_LIST_BY_AUTH
- HEADER_GD_HAMMER_OF_TOR = 114,
- HEADER_GD_RELOAD_ADMIN = 115, ///<¿î¿µÀÚ Á¤º¸ ¿äû
- HEADER_GD_BREAK_MARRIAGE = 116, ///< °áÈ¥ Æıâ
- HEADER_GD_ELECT_MONARCH = 117, ///< ±ºÁÖ ÅõÇ¥
- HEADER_GD_CANDIDACY = 118, ///< ±ºÁÖ µî·Ï
- HEADER_GD_ADD_MONARCH_MONEY = 119, ///< ±ºÁÖ µ· Áõ°¡
- HEADER_GD_TAKE_MONARCH_MONEY = 120, ///< ±ºÁÖ µ· °¨¼Ò
- HEADER_GD_COME_TO_VOTE = 121, ///< Ç¥°á
- HEADER_GD_RMCANDIDACY = 122, ///< Èĺ¸ Á¦°Å (¿î¿µÀÚ)
- HEADER_GD_SETMONARCH = 123, ///<±ºÁÖ¼³Á¤ (¿î¿µÀÚ)
- HEADER_GD_RMMONARCH = 124, ///<±ºÁÖ»èÁ¦
- HEADER_GD_DEC_MONARCH_MONEY = 125,
- HEADER_GD_CHANGE_MONARCH_LORD = 126,
- HEADER_GD_BLOCK_COUNTRY_IP = 127, // ±¤´ë¿ª IP-Block
- HEADER_GD_BLOCK_EXCEPTION = 128, // ±¤´ë¿ª IP-Block ¿¹¿Ü
- HEADER_GD_REQ_CHANGE_GUILD_MASTER = 129,
- HEADER_GD_REQ_SPARE_ITEM_ID_RANGE = 130,
- HEADER_GD_UPDATE_HORSE_NAME = 131,
- HEADER_GD_REQ_HORSE_NAME = 132,
- HEADER_GD_DC = 133, // Login Key¸¦ Áö¿ò
- HEADER_GD_VALID_LOGOUT = 134,
- // AUCTION
- #ifdef __AUCTION__
- HEADER_GD_GET_AUCTION_LIST = 135,
- HEADER_GD_COMMAND_AUCTION = 136,
- #endif
- HEADER_GD_REQUEST_CHARGE_CASH = 137,
- HEADER_GD_DELETE_AWARDID = 138, // delete gift notify icon
- HEADER_GD_UPDATE_CHANNELSTATUS = 139,
- HEADER_GD_REQUEST_CHANNELSTATUS = 140,
- // BEGIN_OFFLINE_SHOP
- HEADER_GD_ADD_OFFLINESHOP_ITEM = 141,
- HEADER_GD_DEL_OFFLINESHOP_ITEM = 142,
- HEADER_GD_GET_OFFLINESHOP_ITEM = 143,
- HEADER_GD_UPDATE_OFFLINESHOP_COUNT = 144,
- // END_OF_OFFLINE_SHOP
- #ifdef ENABLE_BEVIS_DUNGEON_FOR_GUILD
- HEADER_GD_GUILD_DUNGEON = 145,
- HEADER_GD_GUILD_DUNGEON_CD = 146,
- #endif
- HEADER_GD_SETUP = 0xff,
- ///////////////////////////////////////////////
- HEADER_DG_NOTICE = 1,
- // BEGIN_OFFLINE_SHOP
- HEADER_DG_TOTAL_ONLINE = 2,
- // END_OF_OFFLINE_SHOP
- HEADER_DG_LOGIN_SUCCESS = 30,
- HEADER_DG_LOGIN_NOT_EXIST = 31,
- HEADER_DG_LOGIN_WRONG_PASSWD = 33,
- HEADER_DG_LOGIN_ALREADY = 34,
- HEADER_DG_PLAYER_LOAD_SUCCESS = 35,
- HEADER_DG_PLAYER_LOAD_FAILED = 36,
- HEADER_DG_PLAYER_CREATE_SUCCESS = 37,
- HEADER_DG_PLAYER_CREATE_ALREADY = 38,
- HEADER_DG_PLAYER_CREATE_FAILED = 39,
- HEADER_DG_PLAYER_DELETE_SUCCESS = 40,
- HEADER_DG_PLAYER_DELETE_FAILED = 41,
- HEADER_DG_ITEM_LOAD = 42,
- HEADER_DG_BOOT = 43,
- HEADER_DG_QUEST_LOAD = 44,
- HEADER_DG_SAFEBOX_LOAD = 45,
- HEADER_DG_SAFEBOX_CHANGE_SIZE = 46,
- HEADER_DG_SAFEBOX_WRONG_PASSWORD = 47,
- HEADER_DG_SAFEBOX_CHANGE_PASSWORD_ANSWER = 48,
- HEADER_DG_EMPIRE_SELECT = 49,
- HEADER_DG_AFFECT_LOAD = 50,
- HEADER_DG_MALL_LOAD = 51,
- HEADER_DG_DIRECT_ENTER = 55,
- HEADER_DG_GUILD_SKILL_UPDATE = 56,
- HEADER_DG_GUILD_SKILL_RECHARGE = 57,
- HEADER_DG_GUILD_EXP_UPDATE = 58,
- HEADER_DG_PARTY_CREATE = 59,
- HEADER_DG_PARTY_DELETE = 60,
- HEADER_DG_PARTY_ADD = 61,
- HEADER_DG_PARTY_REMOVE = 62,
- HEADER_DG_PARTY_STATE_CHANGE = 63,
- HEADER_DG_PARTY_HEAL_USE = 64,
- HEADER_DG_PARTY_SET_MEMBER_LEVEL = 65,
- HEADER_DG_TIME = 90,
- HEADER_DG_ITEM_ID_RANGE = 91,
- HEADER_DG_GUILD_ADD_MEMBER = 92,
- HEADER_DG_GUILD_REMOVE_MEMBER = 93,
- HEADER_DG_GUILD_CHANGE_GRADE = 94,
- HEADER_DG_GUILD_CHANGE_MEMBER_DATA = 95,
- HEADER_DG_GUILD_DISBAND = 96,
- HEADER_DG_GUILD_WAR = 97,
- HEADER_DG_GUILD_WAR_SCORE = 98,
- HEADER_DG_GUILD_TIME_UPDATE = 99,
- HEADER_DG_GUILD_LOAD = 100,
- HEADER_DG_GUILD_LADDER = 101,
- HEADER_DG_GUILD_SKILL_USABLE_CHANGE = 102,
- HEADER_DG_GUILD_MONEY_CHANGE = 103,
- HEADER_DG_GUILD_WITHDRAW_MONEY_GIVE = 104,
- HEADER_DG_SET_EVENT_FLAG = 105,
- HEADER_DG_GUILD_WAR_RESERVE_ADD = 106,
- HEADER_DG_GUILD_WAR_RESERVE_DEL = 107,
- HEADER_DG_GUILD_WAR_BET = 108,
- HEADER_DG_RELOAD_PROTO = 120,
- HEADER_DG_CHANGE_NAME = 121,
- HEADER_DG_AUTH_LOGIN = 122,
- HEADER_DG_CHANGE_EMPIRE_PRIV = 124,
- HEADER_DG_CHANGE_GUILD_PRIV = 125,
- HEADER_DG_MONEY_LOG = 126,
- HEADER_DG_CHANGE_CHARACTER_PRIV = 127,
- HEADER_DG_BILLING_REPAIR = 128,
- HEADER_DG_BILLING_EXPIRE = 129,
- HEADER_DG_BILLING_LOGIN = 130,
- HEADER_DG_VCARD = 131,
- HEADER_DG_BILLING_CHECK = 132,
- HEADER_DG_CREATE_OBJECT = 140,
- HEADER_DG_DELETE_OBJECT = 141,
- HEADER_DG_UPDATE_LAND = 142,
- HEADER_DG_MARRIAGE_ADD = 150,
- HEADER_DG_MARRIAGE_UPDATE = 151,
- HEADER_DG_MARRIAGE_REMOVE = 152,
- HEADER_DG_WEDDING_REQUEST = 153,
- HEADER_DG_WEDDING_READY = 154,
- HEADER_DG_WEDDING_START = 155,
- HEADER_DG_WEDDING_END = 156,
- HEADER_DG_MYSHOP_PRICELIST_RES = 157, ///< °¡°İÁ¤º¸ ¸®½ºÆ® ÀÀ´ä
- HEADER_DG_RELOAD_ADMIN = 158, ///< ¿î¿µÀÚ Á¤º¸ ¸®·Îµå
- HEADER_DG_BREAK_MARRIAGE = 159, ///< °áÈ¥ Æıâ
- HEADER_DG_ELECT_MONARCH = 160, ///< ±ºÁÖ ÅõÇ¥
- HEADER_DG_CANDIDACY = 161, ///< ±ºÁÖ µî·Ï
- HEADER_DG_ADD_MONARCH_MONEY = 162, ///< ±ºÁÖ µ· Áõ°¡
- HEADER_DG_TAKE_MONARCH_MONEY = 163, ///< ±ºÁÖ µ· °¨¼Ò
- HEADER_DG_COME_TO_VOTE = 164, ///< Ç¥°á
- HEADER_DG_RMCANDIDACY = 165, ///< Èĺ¸ Á¦°Å (¿î¿µÀÚ)
- HEADER_DG_SETMONARCH = 166, ///<±ºÁÖ¼³Á¤ (¿î¿µÀÚ)
- HEADER_DG_RMMONARCH = 167, ///<±ºÁÖ»èÁ¦
- HEADER_DG_DEC_MONARCH_MONEY = 168,
- HEADER_DG_CHANGE_MONARCH_LORD_ACK = 169,
- HEADER_DG_UPDATE_MONARCH_INFO = 170,
- HEADER_DG_BLOCK_COUNTRY_IP = 171, // ±¤´ë¿ª IP-Block
- HEADER_DG_BLOCK_EXCEPTION = 172, // ±¤´ë¿ª IP-Block ¿¹¿Ü account
- HEADER_DG_ACK_CHANGE_GUILD_MASTER = 173,
- HEADER_DG_ACK_SPARE_ITEM_ID_RANGE = 174,
- HEADER_DG_UPDATE_HORSE_NAME = 175,
- HEADER_DG_ACK_HORSE_NAME = 176,
- HEADER_DG_NEED_LOGIN_LOG = 177,
- #ifdef __AUCTION__
- HEADER_DG_AUCTION_RESULT = 178,
- #endif
- HEADER_DG_RESULT_CHARGE_CASH = 179,
- HEADER_DG_ITEMAWARD_INFORMER = 180, //gift notify
- HEADER_DG_RESPOND_CHANNELSTATUS = 181,
- // BEGIN_OFFLINE_SHOP
- HEADER_DG_ADD_OFFLINESHOP_ITEM = 182,
- HEADER_DG_DEL_OFFLINESHOP_ITEM = 183,
- HEADER_DG_GET_OFFLINESHOP_ITEM = 184,
- // END_OF_OFFLINE_SHOP
- #ifdef ENABLE_BEVIS_DUNGEON_FOR_GUILD
- HEADER_DG_GUILD_DUNGEON = 185,
- HEADER_DG_GUILD_DUNGEON_CD = 186,
- #endif
- HEADER_DG_MAP_LOCATIONS = 0xfe,
- HEADER_DG_P2P = 0xff,
- HEADER_GP_CONFIRM_PASSPOD = 1,
- HEADER_PG_CONFIRM_PASSPOD = 2,
- };
- enum E_PASSPOD
- {
- E_PASSPOD_SUCCESS = 0,
- E_PASSPOD_FAILED_PASSPOD_ERROR,
- E_PASSPOD_FAILED_USER_NOT_FOUND,
- E_PASSPOD_FAILED_SYSTEM_NOT_FOUND,
- E_PASSPOD_FAILED_TOKEN_DISABLED,
- E_PASSPOD_FAILED_EMPTY,
- };
- typedef struct SRequestConfirmPasspod
- {
- int pid;
- char passpod[MAX_PASSPOD + 1];
- char login[LOGIN_MAX_LEN + 1];
- } RequestConfirmPasspod;
- typedef struct SResultConfirmPasspod
- {
- int pid;
- int ret_code;
- char login[LOGIN_MAX_LEN + 1];
- } ResultConfirmPasspod;
- /* ----------------------------------------------
- * table
- * ----------------------------------------------
- */
- /* game Server -> DB Server */
- #pragma pack(1)
- enum ERequestChargeType
- {
- ERequestCharge_Cash = 0,
- ERequestCharge_Mileage,
- };
- typedef struct SRequestChargeCash
- {
- DWORD dwAID; // id(primary key) - Account Table
- DWORD dwAmount;
- ERequestChargeType eChargeType;
- } TRequestChargeCash;
- typedef struct SSimplePlayer
- {
- DWORD dwID;
- char szName[CHARACTER_NAME_MAX_LEN + 1];
- BYTE byJob;
- BYTE byLevel;
- DWORD dwPlayMinutes;
- BYTE byST, byHT, byDX, byIQ;
- WORD wMainPart;
- BYTE bChangeName;
- WORD wHairPart;
- #ifdef __SASH_SYSTEM__
- WORD wSashPart;
- #endif
- BYTE bDummy[4];
- long x, y;
- long lAddr;
- WORD wPort;
- BYTE skill_group;
- } TSimplePlayer;
- typedef struct SAccountTable
- {
- DWORD id;
- char login[LOGIN_MAX_LEN + 1];
- char passwd[PASSWD_MAX_LEN + 1];
- char social_id[SOCIAL_ID_MAX_LEN + 1];
- char status[ACCOUNT_STATUS_MAX_LEN + 1];
- BYTE bEmpire;
- TSimplePlayer players[PLAYER_PER_ACCOUNT];
- } TAccountTable;
- typedef struct SPacketDGCreateSuccess
- {
- BYTE bAccountCharacterIndex;
- TSimplePlayer player;
- } TPacketDGCreateSuccess;
- typedef struct TPlayerItemAttribute
- {
- BYTE bType;
- short sValue;
- } TPlayerItemAttribute;
- typedef struct SPlayerItem
- {
- DWORD id;
- BYTE window;
- WORD pos;
- DWORD count;
- DWORD vnum;
- long alSockets[ITEM_SOCKET_MAX_NUM]; // ¼ÒÄϹøÈ£
- TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
- DWORD owner;
- #ifdef ENABLE_BEVIS_SOULBIND_SYSTEM
- long sealbind;
- #endif
- } TPlayerItem;
- typedef struct SQuickslot
- {
- BYTE type;
- BYTE pos;
- } TQuickslot;
- typedef struct SPlayerSkill
- {
- BYTE bMasterType;
- BYTE bLevel;
- time_t tNextRead;
- } TPlayerSkill;
- struct THorseInfo
- {
- BYTE bLevel;
- BYTE bRiding;
- short sStamina;
- short sHealth;
- DWORD dwHorseHealthDropTime;
- };
- typedef struct SPlayerTable
- {
- DWORD id;
- char name[CHARACTER_NAME_MAX_LEN + 1];
- char ip[IP_ADDRESS_LENGTH + 1];
- WORD job;
- BYTE voice;
- BYTE level;
- BYTE level_step;
- short st, ht, dx, iq;
- DWORD exp;
- INT gold;
- #ifdef ENABLE_CHEQUE_SYSTEM
- int cheque;
- #endif
- BYTE dir;
- INT x, y, z;
- INT lMapIndex;
- long lExitX, lExitY;
- long lExitMapIndex;
- // @fixme301
- int hp;
- int sp;
- short sRandomHP;
- short sRandomSP;
- int playtime;
- short stat_point;
- short skill_point;
- short sub_skill_point;
- short horse_skill_point;
- TPlayerSkill skills[SKILL_MAX_NUM];
- TQuickslot quickslot[QUICKSLOT_MAX_NUM];
- BYTE part_base;
- WORD parts[PART_MAX_NUM];
- short stamina;
- BYTE skill_group;
- long lAlignment;
- #ifdef ENABLE_TITLE_SYSTEM
- long lPrestige;
- #endif
- char szMobile[MOBILE_MAX_LEN + 1];
- short stat_reset_count;
- THorseInfo horse;
- DWORD logoff_interval;
- int aiPremiumTimes[PREMIUM_MAX_NUM];
- } TPlayerTable;
- typedef struct SMobSkillLevel
- {
- DWORD dwVnum;
- BYTE bLevel;
- } TMobSkillLevel;
- typedef struct SEntityTable
- {
- DWORD dwVnum;
- } TEntityTable;
- typedef struct SMobTable : public SEntityTable
- {
- char szName[CHARACTER_NAME_MAX_LEN + 1];
- char szLocaleName[CHARACTER_NAME_MAX_LEN + 1];
- BYTE bType; // Monster, NPC
- BYTE bRank; // PAWN, KNIGHT, KING
- BYTE bBattleType; // MELEE, etc..
- BYTE bLevel; // Level
- BYTE bSize;
- DWORD dwGoldMin;
- DWORD dwGoldMax;
- DWORD dwExp;
- DWORD dwMaxHP;
- BYTE bRegenCycle;
- BYTE bRegenPercent;
- WORD wDef;
- DWORD dwAIFlag;
- DWORD dwRaceFlag;
- DWORD dwImmuneFlag;
- BYTE bStr, bDex, bCon, bInt;
- DWORD dwDamageRange[2];
- short sAttackSpeed;
- short sMovingSpeed;
- BYTE bAggresiveHPPct;
- WORD wAggressiveSight;
- WORD wAttackRange;
- char cEnchants[MOB_ENCHANTS_MAX_NUM];
- char cResists[MOB_RESISTS_MAX_NUM];
- DWORD dwResurrectionVnum;
- DWORD dwDropItemVnum;
- BYTE bMountCapacity;
- BYTE bOnClickType;
- BYTE bEmpire;
- char szFolder[64 + 1];
- float fDamMultiply;
- DWORD dwSummonVnum;
- DWORD dwDrainSP;
- DWORD dwMobColor;
- DWORD dwPolymorphItemVnum;
- TMobSkillLevel Skills[MOB_SKILL_MAX_NUM];
- BYTE bBerserkPoint;
- BYTE bStoneSkinPoint;
- BYTE bGodSpeedPoint;
- BYTE bDeathBlowPoint;
- BYTE bRevivePoint;
- } TMobTable;
- typedef struct SSkillTable
- {
- DWORD dwVnum;
- char szName[32 + 1];
- BYTE bType;
- BYTE bMaxLevel;
- DWORD dwSplashRange;
- char szPointOn[64];
- char szPointPoly[100 + 1];
- char szSPCostPoly[100 + 1];
- char szDurationPoly[100 + 1];
- char szDurationSPCostPoly[100 + 1];
- char szCooldownPoly[100 + 1];
- char szMasterBonusPoly[100 + 1];
- //char szAttackGradePoly[100 + 1];
- char szGrandMasterAddSPCostPoly[100 + 1];
- DWORD dwFlag;
- DWORD dwAffectFlag;
- // Data for secondary skill
- char szPointOn2[64];
- char szPointPoly2[100 + 1];
- char szDurationPoly2[100 + 1];
- DWORD dwAffectFlag2;
- // Data for grand master point
- char szPointOn3[64];
- char szPointPoly3[100 + 1];
- char szDurationPoly3[100 + 1];
- BYTE bLevelStep;
- BYTE bLevelLimit;
- DWORD preSkillVnum;
- BYTE preSkillLevel;
- long lMaxHit;
- char szSplashAroundDamageAdjustPoly[100 + 1];
- BYTE bSkillAttrType;
- DWORD dwTargetRange;
- } TSkillTable;
- typedef struct SShopItemTable
- {
- DWORD vnum;
- BYTE count;
- TItemPos pos; // PC »óÁ¡¿¡¸¸ ÀÌ¿ë
- DWORD price; // PC, shop_table_ex.txt »óÁ¡¿¡¸¸ ÀÌ¿ë
- //UMUTKA PR?CE
- DWORD price7;
- //END UMUTK PR?CE
- //#ifdef ENABLE_CHEQUE_SYSTEM
- //BYTE cheque_price;
- //#endif
- BYTE display_pos; // PC, shop_table_ex.txt »óÁ¡¿¡¸¸ ÀÌ¿ë, º¸ÀÏ À§Ä¡.
- } TShopItemTable;
- //#ifdef ENABLE_CHEQUE_SYSTEM
- //typedef struct SItemPriceType
- //{
- //SItemPriceType(){ dwPrice = byChequePrice = 0 ;}
- //SItemPriceType(DWORD gold, BYTE cheque)
- //{
- //dwPrice = gold;
- //byChequePrice = cheque;
- //}
- //DWORD dwPrice;
- //BYTE byChequePrice;
- //} TItemPriceType;
- //#endif
- typedef struct SShopTable
- {
- DWORD dwVnum;
- DWORD dwNPCVnum;
- BYTE byItemCount;
- TShopItemTable items[SHOP_HOST_ITEM_MAX_NUM];
- } TShopTable;
- #define QUEST_NAME_MAX_LEN 32
- #define QUEST_STATE_MAX_LEN 64
- typedef struct SQuestTable
- {
- DWORD dwPID;
- char szName[QUEST_NAME_MAX_LEN + 1];
- char szState[QUEST_STATE_MAX_LEN + 1];
- long lValue;
- } TQuestTable;
- typedef struct SItemLimit
- {
- BYTE bType;
- long lValue;
- } TItemLimit;
- typedef struct SItemApply
- {
- BYTE bType;
- long lValue;
- } TItemApply;
- typedef struct SItemTable : public SEntityTable
- {
- DWORD dwVnumRange;
- char szName[ITEM_NAME_MAX_LEN + 1];
- char szLocaleName[ITEM_NAME_MAX_LEN + 1];
- BYTE bType;
- BYTE bSubType;
- BYTE bWeight;
- BYTE bSize;
- DWORD dwAntiFlags;
- DWORD dwFlags;
- DWORD dwWearFlags;
- DWORD dwImmuneFlag;
- DWORD dwGold;
- DWORD dwShopBuyPrice;
- TItemLimit aLimits[ITEM_LIMIT_MAX_NUM];
- TItemApply aApplies[ITEM_APPLY_MAX_NUM];
- long alValues[ITEM_VALUES_MAX_NUM];
- long alSockets[ITEM_SOCKET_MAX_NUM];
- DWORD dwRefinedVnum;
- WORD wRefineSet;
- BYTE bAlterToMagicItemPct;
- BYTE bSpecular;
- BYTE bGainSocketPct;
- short int sAddonType; // ±âº» ¼Ó¼º
- // ¾Æ·¡ limit flagµéÀº realtime¿¡ üũ ÇÒ ÀÏÀÌ ¸¹°í, ¾ÆÀÌÅÛ VNUM´ç °íÁ¤µÈ °ªÀε¥,
- // ÇöÀç ±¸Á¶´ë·Î ¸Å¹ø ¾ÆÀÌÅÛ¸¶´Ù ÇÊ¿äÇÑ °æ¿ì¿¡ LIMIT_MAX_NUM±îÁö ·çÇÁµ¹¸é¼ üũÇÏ´Â ºÎÇÏ°¡ Ä¿¼ ¹Ì¸® ÀúÀå ÇØ µÒ.
- char cLimitRealTimeFirstUseIndex; // ¾ÆÀÌÅÛ limit Çʵ尪 Áß¿¡¼ LIMIT_REAL_TIME_FIRST_USE Ç÷¡±×ÀÇ À§Ä¡ (¾øÀ¸¸é -1)
- char cLimitTimerBasedOnWearIndex; // ¾ÆÀÌÅÛ limit Çʵ尪 Áß¿¡¼ LIMIT_TIMER_BASED_ON_WEAR Ç÷¡±×ÀÇ À§Ä¡ (¾øÀ¸¸é -1)
- } TItemTable;
- struct TItemAttrTable
- {
- TItemAttrTable() :
- dwApplyIndex(0),
- dwProb(0)
- {
- szApply[0] = 0;
- memset(&lValues, 0, sizeof(lValues));
- memset(&bMaxLevelBySet, 0, sizeof(bMaxLevelBySet));
- }
- char szApply[APPLY_NAME_MAX_LEN + 1];
- DWORD dwApplyIndex;
- DWORD dwProb;
- long lValues[5];
- BYTE bMaxLevelBySet[ATTRIBUTE_SET_MAX_NUM];
- };
- typedef struct SConnectTable
- {
- char login[LOGIN_MAX_LEN + 1];
- IDENT ident;
- } TConnectTable;
- typedef struct SLoginPacket
- {
- char login[LOGIN_MAX_LEN + 1];
- char passwd[PASSWD_MAX_LEN + 1];
- } TLoginPacket;
- typedef struct SPlayerLoadPacket
- {
- DWORD account_id;
- DWORD player_id;
- BYTE account_index; /* account ¿¡¼ÀÇ À§Ä¡ */
- } TPlayerLoadPacket;
- typedef struct SPlayerCreatePacket
- {
- char login[LOGIN_MAX_LEN + 1];
- char passwd[PASSWD_MAX_LEN + 1];
- DWORD account_id;
- BYTE account_index;
- TPlayerTable player_table;
- } TPlayerCreatePacket;
- typedef struct SPlayerDeletePacket
- {
- char login[LOGIN_MAX_LEN + 1];
- DWORD player_id;
- BYTE account_index;
- //char name[CHARACTER_NAME_MAX_LEN + 1];
- char private_code[8];
- } TPlayerDeletePacket;
- typedef struct SLogoutPacket
- {
- char login[LOGIN_MAX_LEN + 1];
- char passwd[PASSWD_MAX_LEN + 1];
- } TLogoutPacket;
- typedef struct SPlayerCountPacket
- {
- DWORD dwCount;
- } TPlayerCountPacket;
- #define SAFEBOX_MAX_NUM 135
- #define SAFEBOX_PASSWORD_MAX_LEN 6
- typedef struct SSafeboxTable
- {
- DWORD dwID;
- BYTE bSize;
- DWORD dwGold;
- WORD wItemCount;
- } TSafeboxTable;
- typedef struct SSafeboxChangeSizePacket
- {
- DWORD dwID;
- BYTE bSize;
- } TSafeboxChangeSizePacket;
- typedef struct SSafeboxLoadPacket
- {
- DWORD dwID;
- char szLogin[LOGIN_MAX_LEN + 1];
- char szPassword[SAFEBOX_PASSWORD_MAX_LEN + 1];
- } TSafeboxLoadPacket;
- typedef struct SSafeboxChangePasswordPacket
- {
- DWORD dwID;
- char szOldPassword[SAFEBOX_PASSWORD_MAX_LEN + 1];
- char szNewPassword[SAFEBOX_PASSWORD_MAX_LEN + 1];
- } TSafeboxChangePasswordPacket;
- typedef struct SSafeboxChangePasswordPacketAnswer
- {
- BYTE flag;
- } TSafeboxChangePasswordPacketAnswer;
- typedef struct SEmpireSelectPacket
- {
- DWORD dwAccountID;
- BYTE bEmpire;
- } TEmpireSelectPacket;
- typedef struct SPacketGDSetup
- {
- char szPublicIP[16]; // Public IP which listen to users
- BYTE bChannel; // ä³Î
- WORD wListenPort; // Ŭ¶óÀ̾ğÆ®°¡ Á¢¼ÓÇÏ´Â Æ÷Æ® ¹øÈ£
- WORD wP2PPort; // ¼¹ö³¢¸® ¿¬°á ½ÃÅ°´Â P2P Æ÷Æ® ¹øÈ£
- long alMaps[MAP_ALLOW_LIMIT];
- DWORD dwLoginCount;
- BYTE bAuthServer;
- } TPacketGDSetup;
- typedef struct SPacketDGMapLocations
- {
- BYTE bCount;
- } TPacketDGMapLocations;
- typedef struct SMapLocation
- {
- long alMaps[MAP_ALLOW_LIMIT];
- char szHost[MAX_HOST_LENGTH + 1];
- WORD wPort;
- } TMapLocation;
- typedef struct SPacketDGP2P
- {
- char szHost[MAX_HOST_LENGTH + 1];
- WORD wPort;
- BYTE bChannel;
- } TPacketDGP2P;
- typedef struct SPacketGDDirectEnter
- {
- char login[LOGIN_MAX_LEN + 1];
- char passwd[PASSWD_MAX_LEN + 1];
- BYTE index;
- } TPacketGDDirectEnter;
- typedef struct SPacketDGDirectEnter
- {
- TAccountTable accountTable;
- TPlayerTable playerTable;
- } TPacketDGDirectEnter;
- typedef struct SPacketGuildSkillUpdate
- {
- DWORD guild_id;
- int amount;
- BYTE skill_levels[12];
- BYTE skill_point;
- BYTE save;
- } TPacketGuildSkillUpdate;
- typedef struct SPacketGuildExpUpdate
- {
- DWORD guild_id;
- int amount;
- } TPacketGuildExpUpdate;
- typedef struct SPacketGuildChangeMemberData
- {
- DWORD guild_id;
- DWORD pid;
- DWORD offer;
- BYTE level;
- BYTE grade;
- } TPacketGuildChangeMemberData;
- typedef struct SPacketDGLoginAlready
- {
- char szLogin[LOGIN_MAX_LEN + 1];
- } TPacketDGLoginAlready;
- typedef struct TPacketAffectElement
- {
- DWORD dwType;
- BYTE bApplyOn;
- long lApplyValue;
- DWORD dwFlag;
- long lDuration;
- long lSPCost;
- } TPacketAffectElement;
- typedef struct SPacketGDAddAffect
- {
- DWORD dwPID;
- TPacketAffectElement elem;
- } TPacketGDAddAffect;
- typedef struct SPacketGDRemoveAffect
- {
- DWORD dwPID;
- DWORD dwType;
- BYTE bApplyOn;
- } TPacketGDRemoveAffect;
- typedef struct SPacketGDHighscore
- {
- DWORD dwPID;
- long lValue;
- char cDir;
- char szBoard[21];
- } TPacketGDHighscore;
- typedef struct SPacketPartyCreate
- {
- DWORD dwLeaderPID;
- } TPacketPartyCreate;
- typedef struct SPacketPartyDelete
- {
- DWORD dwLeaderPID;
- } TPacketPartyDelete;
- typedef struct SPacketPartyAdd
- {
- DWORD dwLeaderPID;
- DWORD dwPID;
- BYTE bState;
- } TPacketPartyAdd;
- typedef struct SPacketPartyRemove
- {
- DWORD dwLeaderPID;
- DWORD dwPID;
- } TPacketPartyRemove;
- typedef struct SPacketPartyStateChange
- {
- DWORD dwLeaderPID;
- DWORD dwPID;
- BYTE bRole;
- BYTE bFlag;
- } TPacketPartyStateChange;
- typedef struct SPacketPartySetMemberLevel
- {
- DWORD dwLeaderPID;
- DWORD dwPID;
- BYTE bLevel;
- } TPacketPartySetMemberLevel;
- typedef struct SPacketGDBoot
- {
- DWORD dwItemIDRange[2];
- char szIP[16];
- } TPacketGDBoot;
- typedef struct SPacketGuild
- {
- DWORD dwGuild;
- DWORD dwInfo;
- } TPacketGuild;
- typedef struct SPacketGDGuildAddMember
- {
- DWORD dwPID;
- DWORD dwGuild;
- BYTE bGrade;
- } TPacketGDGuildAddMember;
- typedef struct SPacketDGGuildMember
- {
- DWORD dwPID;
- DWORD dwGuild;
- BYTE bGrade;
- BYTE isGeneral;
- BYTE bJob;
- BYTE bLevel;
- DWORD dwOffer;
- char szName[CHARACTER_NAME_MAX_LEN + 1];
- } TPacketDGGuildMember;
- typedef struct SPacketGuildWar
- {
- BYTE bType;
- BYTE bWar;
- DWORD dwGuildFrom;
- DWORD dwGuildTo;
- long lWarPrice;
- long lInitialScore;
- } TPacketGuildWar;
- // Game -> DB : »ó´ëÀû º¯È°ª
- // DB -> Game : ÅäÅ»µÈ ÃÖÁ¾°ª
- typedef struct SPacketGuildWarScore
- {
- DWORD dwGuildGainPoint;
- DWORD dwGuildOpponent;
- long lScore;
- long lBetScore;
- } TPacketGuildWarScore;
- typedef struct SRefineMaterial
- {
- DWORD vnum;
- int count;
- } TRefineMaterial;
- typedef struct SRefineTable
- {
- //DWORD src_vnum;
- //DWORD result_vnum;
- DWORD id;
- BYTE material_count;
- int cost; // ¼Ò¿ä ºñ¿ë
- int prob; // È®·ü
- TRefineMaterial materials[REFINE_MATERIAL_MAX_NUM];
- } TRefineTable;
- typedef struct SBanwordTable
- {
- char szWord[BANWORD_MAX_LEN + 1];
- } TBanwordTable;
- // BEGIN_OFFLINE_SHOP
- typedef struct SSpawnOfflineShopTable
- {
- BYTE bChannel;
- char szSign[SHOP_SIGN_MAX_LEN + 1];
- long lMapIndex, x, y;
- int iTime;
- } TSpawnOfflineShopTable;
- // END_OF_OFFLINE_SHOP
- typedef struct SPacketGDChangeName
- {
- DWORD pid;
- char name[CHARACTER_NAME_MAX_LEN + 1];
- } TPacketGDChangeName;
- typedef struct SPacketDGChangeName
- {
- DWORD pid;
- char name[CHARACTER_NAME_MAX_LEN + 1];
- } TPacketDGChangeName;
- typedef struct SPacketGuildLadder
- {
- DWORD dwGuild;
- long lLadderPoint;
- long lWin;
- long lDraw;
- long lLoss;
- } TPacketGuildLadder;
- typedef struct SPacketGuildLadderPoint
- {
- DWORD dwGuild;
- long lChange;
- } TPacketGuildLadderPoint;
- typedef struct SPacketGDSMS
- {
- char szFrom[CHARACTER_NAME_MAX_LEN + 1];
- char szTo[CHARACTER_NAME_MAX_LEN + 1];
- char szMobile[MOBILE_MAX_LEN + 1];
- char szMsg[SMS_MAX_LEN + 1];
- } TPacketGDSMS;
- typedef struct SPacketGuildUseSkill
- {
- DWORD dwGuild;
- DWORD dwSkillVnum;
- DWORD dwCooltime;
- } TPacketGuildUseSkill;
- typedef struct SPacketGuildSkillUsableChange
- {
- DWORD dwGuild;
- DWORD dwSkillVnum;
- BYTE bUsable;
- } TPacketGuildSkillUsableChange;
- typedef struct SPacketGDLoginKey
- {
- DWORD dwAccountID;
- DWORD dwLoginKey;
- } TPacketGDLoginKey;
- typedef struct SPacketGDAuthLogin
- {
- DWORD dwID;
- DWORD dwLoginKey;
- char szLogin[LOGIN_MAX_LEN + 1];
- char szSocialID[SOCIAL_ID_MAX_LEN + 1];
- DWORD adwClientKey[4];
- BYTE bBillType;
- DWORD dwBillID;
- int iPremiumTimes[PREMIUM_MAX_NUM];
- } TPacketGDAuthLogin;
- typedef struct SPacketGDLoginByKey
- {
- char szLogin[LOGIN_MAX_LEN + 1];
- DWORD dwLoginKey;
- DWORD adwClientKey[4];
- char szIP[MAX_HOST_LENGTH + 1];
- } TPacketGDLoginByKey;
- /**
- * @version 05/06/08 Bang2ni - Áö¼Ó½Ã°£ Ãß°¡
- */
- typedef struct SPacketGiveGuildPriv
- {
- BYTE type;
- int value;
- DWORD guild_id;
- time_t duration_sec; ///< Áö¼Ó½Ã°£
- } TPacketGiveGuildPriv;
- typedef struct SPacketGiveEmpirePriv
- {
- BYTE type;
- int value;
- BYTE empire;
- time_t duration_sec;
- } TPacketGiveEmpirePriv;
- typedef struct SPacketGiveCharacterPriv
- {
- BYTE type;
- int value;
- DWORD pid;
- } TPacketGiveCharacterPriv;
- typedef struct SPacketRemoveGuildPriv
- {
- BYTE type;
- DWORD guild_id;
- } TPacketRemoveGuildPriv;
- typedef struct SPacketRemoveEmpirePriv
- {
- BYTE type;
- BYTE empire;
- } TPacketRemoveEmpirePriv;
- typedef struct SPacketDGChangeCharacterPriv
- {
- BYTE type;
- int value;
- DWORD pid;
- BYTE bLog;
- } TPacketDGChangeCharacterPriv;
- /**
- * @version 05/06/08 Bang2ni - Áö¼Ó½Ã°£ Ãß°¡
- */
- typedef struct SPacketDGChangeGuildPriv
- {
- BYTE type;
- int value;
- DWORD guild_id;
- BYTE bLog;
- time_t end_time_sec; ///< Áö¼Ó½Ã°£
- } TPacketDGChangeGuildPriv;
- typedef struct SPacketDGChangeEmpirePriv
- {
- BYTE type;
- int value;
- BYTE empire;
- BYTE bLog;
- time_t end_time_sec;
- } TPacketDGChangeEmpirePriv;
- typedef struct SPacketMoneyLog
- {
- BYTE type;
- DWORD vnum;
- INT gold;
- } TPacketMoneyLog;
- typedef struct SPacketGDGuildMoney
- {
- DWORD dwGuild;
- INT iGold;
- } TPacketGDGuildMoney;
- typedef struct SPacketDGGuildMoneyChange
- {
- DWORD dwGuild;
- INT iTotalGold;
- } TPacketDGGuildMoneyChange;
- typedef struct SPacketDGGuildMoneyWithdraw
- {
- DWORD dwGuild;
- INT iChangeGold;
- } TPacketDGGuildMoneyWithdraw;
- typedef struct SPacketGDGuildMoneyWithdrawGiveReply
- {
- DWORD dwGuild;
- INT iChangeGold;
- BYTE bGiveSuccess;
- } TPacketGDGuildMoneyWithdrawGiveReply;
- typedef struct SPacketSetEventFlag
- {
- char szFlagName[EVENT_FLAG_NAME_MAX_LEN + 1];
- long lValue;
- } TPacketSetEventFlag;
- typedef struct SPacketBillingLogin
- {
- DWORD dwLoginKey;
- BYTE bLogin;
- } TPacketBillingLogin;
- typedef struct SPacketBillingRepair
- {
- DWORD dwLoginKey;
- char szLogin[LOGIN_MAX_LEN + 1];
- char szHost[MAX_HOST_LENGTH + 1];
- } TPacketBillingRepair;
- typedef struct SPacketBillingExpire
- {
- char szLogin[LOGIN_MAX_LEN + 1];
- BYTE bBillType;
- DWORD dwRemainSeconds;
- } TPacketBillingExpire;
- typedef struct SPacketLoginOnSetup
- {
- DWORD dwID;
- char szLogin[LOGIN_MAX_LEN + 1];
- char szSocialID[SOCIAL_ID_MAX_LEN + 1];
- char szHost[MAX_HOST_LENGTH + 1];
- DWORD dwLoginKey;
- DWORD adwClientKey[4];
- } TPacketLoginOnSetup;
- typedef struct SPacketGDCreateObject
- {
- DWORD dwVnum;
- DWORD dwLandID;
- INT lMapIndex;
- INT x, y;
- float xRot;
- float yRot;
- float zRot;
- } TPacketGDCreateObject;
- typedef struct SPacketGDHammerOfTor
- {
- DWORD key;
- DWORD delay;
- } TPacketGDHammerOfTor;
- typedef struct SPacketGDVCard
- {
- DWORD dwID;
- char szSellCharacter[CHARACTER_NAME_MAX_LEN + 1];
- char szSellAccount[LOGIN_MAX_LEN + 1];
- char szBuyCharacter[CHARACTER_NAME_MAX_LEN + 1];
- char szBuyAccount[LOGIN_MAX_LEN + 1];
- } TPacketGDVCard;
- typedef struct SGuildReserve
- {
- DWORD dwID;
- DWORD dwGuildFrom;
- DWORD dwGuildTo;
- DWORD dwTime;
- BYTE bType;
- long lWarPrice;
- long lInitialScore;
- bool bStarted;
- DWORD dwBetFrom;
- DWORD dwBetTo;
- long lPowerFrom;
- long lPowerTo;
- long lHandicap;
- } TGuildWarReserve;
- typedef struct
- {
- DWORD dwWarID;
- char szLogin[LOGIN_MAX_LEN + 1];
- DWORD dwGold;
- DWORD dwGuild;
- } TPacketGDGuildWarBet;
- // Marriage
- typedef struct
- {
- DWORD dwPID1;
- DWORD dwPID2;
- time_t tMarryTime;
- char szName1[CHARACTER_NAME_MAX_LEN + 1];
- char szName2[CHARACTER_NAME_MAX_LEN + 1];
- } TPacketMarriageAdd;
- typedef struct
- {
- DWORD dwPID1;
- DWORD dwPID2;
- INT iLovePoint;
- BYTE byMarried;
- } TPacketMarriageUpdate;
- typedef struct
- {
- DWORD dwPID1;
- DWORD dwPID2;
- } TPacketMarriageRemove;
- typedef struct
- {
- DWORD dwPID1;
- DWORD dwPID2;
- } TPacketWeddingRequest;
- typedef struct
- {
- DWORD dwPID1;
- DWORD dwPID2;
- DWORD dwMapIndex;
- } TPacketWeddingReady;
- typedef struct
- {
- DWORD dwPID1;
- DWORD dwPID2;
- } TPacketWeddingStart;
- typedef struct
- {
- DWORD dwPID1;
- DWORD dwPID2;
- } TPacketWeddingEnd;
- /// °³ÀλóÁ¡ °¡°İÁ¤º¸ÀÇ Çì´õ. °¡º¯ ÆĞŶÀ¸·Î ÀÌ µÚ¿¡ byCount ¸¸ÅÀÇ TItemPriceInfo °¡ ¿Â´Ù.
- typedef struct SPacketMyshopPricelistHeader
- {
- DWORD dwOwnerID; ///< °¡°İÁ¤º¸¸¦ °¡Áø Ç÷¹À̾î ID
- BYTE byCount; ///< °¡°İÁ¤º¸ °¹¼ö
- } TPacketMyshopPricelistHeader;
- /// °³ÀλóÁ¡ÀÇ ´ÜÀÏ ¾ÆÀÌÅÛ¿¡ ´ëÇÑ °¡°İÁ¤º¸
- typedef struct SItemPriceInfo
- {
- DWORD dwVnum; ///< ¾ÆÀÌÅÛ vnum
- //#ifdef ENABLE_CHEQUE_SYSTEM
- //TItemPriceType price;
- //#else
- DWORD dwPrice; ///< °¡°İ
- //#endif
- } TItemPriceInfo;
- /// °³ÀλóÁ¡ ¾ÆÀÌÅÛ °¡°İÁ¤º¸ ¸®½ºÆ® Å×À̺í
- typedef struct SItemPriceListTable
- {
- DWORD dwOwnerID; ///< °¡°İÁ¤º¸¸¦ °¡Áø Ç÷¹À̾î ID
- BYTE byCount; ///< °¡°İÁ¤º¸ ¸®½ºÆ®ÀÇ °¹¼ö
- TItemPriceInfo aPriceInfo[SHOP_PRICELIST_MAX_NUM]; ///< °¡°İÁ¤º¸ ¸®½ºÆ®
- } TItemPriceListTable;
- typedef struct
- {
- char szName[CHARACTER_NAME_MAX_LEN + 1];
- long lDuration;
- } TPacketBlockChat;
- // PCBANG_IP_LIST
- typedef struct SPacketPCBangIP
- {
- DWORD id;
- DWORD ip;
- } TPacketPCBangIP;
- // END_OF_PCBANG_IP_LIST
- //ADMIN_MANAGER
- typedef struct TAdminInfo
- {
- int m_ID; //°íÀ¯ID
- char m_szAccount[32]; //°èÁ¤
- char m_szName[32]; //ij¸¯ÅÍÀ̸§
- char m_szContactIP[16]; //Á¢±Ù¾ÆÀÌÇÇ
- char m_szServerIP[16]; //¼¹ö¾ÆÀÌÇÇ
- int m_Authority; //񀀥
- } tAdminInfo;
- //END_ADMIN_MANAGER
- //BOOT_LOCALIZATION
- struct tLocale
- {
- char szValue[32];
- char szKey[32];
- };
- //BOOT_LOCALIZATION
- //RELOAD_ADMIN
- typedef struct SPacketReloadAdmin
- {
- char szIP[16];
- } TPacketReloadAdmin;
- //END_RELOAD_ADMIN
- typedef struct TMonarchInfo
- {
- DWORD pid[4]; // ±ºÁÖÀÇ PID
- int64_t money[4]; // ±ºÁÖÀÇ º°°³ µ·
- char name[4][32]; // ±ºÁÖÀÇ À̸§
- char date[4][32]; // ±ºÁÖ µî·Ï ³¯Â¥
- } MonarchInfo;
- typedef struct TMonarchElectionInfo
- {
- DWORD pid; // ÅõÇ¥ ÇÑ»ç¶÷ PID
- DWORD selectedpid; // ÅõÇ¥ ´çÇÑ PID ( ±ºÁÖ Âü°¡ÀÚ )
- char date[32]; // ÅõÇ¥ ³¯Â¥
- } MonarchElectionInfo;
- // ±ºÁÖ Ã⸶ÀÚ
- typedef struct tMonarchCandidacy
- {
- DWORD pid;
- char name[32];
- char date[32];
- } MonarchCandidacy;
- typedef struct tChangeMonarchLord
- {
- BYTE bEmpire;
- DWORD dwPID;
- } TPacketChangeMonarchLord;
- typedef struct tChangeMonarchLordACK
- {
- BYTE bEmpire;
- DWORD dwPID;
- char szName[32];
- char szDate[32];
- } TPacketChangeMonarchLordACK;
- // Block Country Ip
- typedef struct tBlockCountryIp
- {
- DWORD ip_from;
- DWORD ip_to;
- } TPacketBlockCountryIp;
- enum EBlockExceptionCommand
- {
- BLOCK_EXCEPTION_CMD_ADD = 1,
- BLOCK_EXCEPTION_CMD_DEL = 2,
- };
- // Block Exception Account
- typedef struct tBlockException
- {
- BYTE cmd; // 1 == add, 2 == delete
- char login[LOGIN_MAX_LEN + 1];
- }TPacketBlockException;
- typedef struct tChangeGuildMaster
- {
- DWORD dwGuildID;
- DWORD idFrom;
- DWORD idTo;
- } TPacketChangeGuildMaster;
- typedef struct tItemIDRange
- {
- DWORD dwMin;
- DWORD dwMax;
- DWORD dwUsableItemIDMin;
- } TItemIDRangeTable;
- typedef struct tUpdateHorseName
- {
- DWORD dwPlayerID;
- char szHorseName[CHARACTER_NAME_MAX_LEN + 1];
- } TPacketUpdateHorseName;
- typedef struct tDC
- {
- char login[LOGIN_MAX_LEN + 1];
- } TPacketDC;
- typedef struct tNeedLoginLogInfo
- {
- DWORD dwPlayerID;
- } TPacketNeedLoginLogInfo;
- //µ¶ÀÏ ¼±¹° ¾Ë¸² ±â´É Å×½ºÆ®¿ë ÆĞŶ Á¤º¸
- typedef struct tItemAwardInformer
- {
- char login[LOGIN_MAX_LEN + 1];
- char command[20]; //¸í·É¾î
- unsigned int vnum; //¾ÆÀÌÅÛ
- } TPacketItemAwardInfromer;
- // ¼±¹° ¾Ë¸² ±â´É »èÁ¦¿ë ÆĞŶ Á¤º¸
- typedef struct tDeleteAwardID
- {
- DWORD dwID;
- } TPacketDeleteAwardID;
- typedef struct SChannelStatus
- {
- short nPort;
- BYTE bStatus;
- } TChannelStatus;
- #ifdef ENABLE_BEVIS_DUNGEON_FOR_GUILD
- typedef struct SPacketGDGuildDungeon
- {
- DWORD dwGuildID;
- BYTE bChannel;
- long lMapIndex;
- } TPacketGDGuildDungeon;
- typedef struct SPacketDGGuildDungeon
- {
- DWORD dwGuildID;
- BYTE bChannel;
- long lMapIndex;
- } TPacketDGGuildDungeon;
- typedef struct SPacketGDGuildDungeonCD
- {
- DWORD dwGuildID;
- DWORD dwTime;
- } TPacketGDGuildDungeonCD;
- typedef struct SPacketDGGuildDungeonCD
- {
- DWORD dwGuildID;
- DWORD dwTime;
- } TPacketDGGuildDungeonCD;
- #endif
- // BEGIN_OFFLINE_SHOP
- typedef struct SOfflineShopAddItem
- {
- DWORD owner;
- WORD pos;
- DWORD count;
- DWORD price;
- //UMUTKA PR?CE
- DWORD price7;
- //END UMUTK PR?CE
- DWORD vnum;
- long alSockets[ITEM_SOCKET_MAX_NUM];
- TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
- } TPlayerOfflineShopAddItem;
- typedef struct
- {
- DWORD dwOnlinePlayers;
- DWORD dwOnlineShops;
- } TPacketOnlineSize;
- typedef struct
- {
- bool bIncrease;
- } TPacketUpdateOfflineShopsCount;
- // END_OF_OFFLINE_SHOP
- #ifdef ENABLE_BEVIS_DAMAGE_TOP
- typedef struct SDamage
- {
- SDamage() { dwDamageValue = 0; }
- char szAttackerName[CHARACTER_NAME_MAX_LEN + 1];
- BYTE bAttackerLevel;
- BYTE bAttackerEmpire;
- char szVictimName[CHARACTER_NAME_MAX_LEN + 1];
- DWORD dwDamageValue;
- BYTE bDamageType;
- } TDamage;
- #endif
- #pragma pack()
- #endif
new tables.h