/////////////////////////////////////////////////////////////////////////////////////////////// // // DB Struct Define // ////////////////////////////////////////////////////////////////////////////////////////////// #ifndef _DBDefine #define _DBDefine #pragma pack(push, 1) // 1byte order·Î ÆÐÅ· /////////////////////////////////////////////////////////////////////////////////////////////// // // À¯Àú Á¤º¸ Å×ÀÌºí ±¸Á¶Ã¼(Åø) // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _USERINFO_TABLE { unsigned long UID; // ¾ÆÀ̵ð unsigned long Char1; // ij¸¯ÅÍ ¾ÆÀ̵ð (ù¹øÂ°) unsigned long Char2; // ij¸¯ÅÍ ¾ÆÀ̵ð (µÎ¹øÂ°) unsigned long Char3; // ij¸¯ÅÍ ¾ÆÀ̵ð (¼¼¹øÂ°) }USERINFO_TABLE, *LPUSERINFO_TABLE; /////////////////////////////////////////////////////////////////////////////////////////////// // // ½Ã°£ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _TIME { unsigned short Year; // ¿¬µµ unsigned short Month; // ´Þ unsigned short Day; // ³¯Â¥ unsigned short Hour; // ½Ã°£ unsigned short Minute; // ºÐ unsigned short Second; // ÃÊ unsigned long MSecond; // ¹Ð¸®ÃÊ }TIME, *LPTIME; /////////////////////////////////////////////////////////////////////////////////////////////// // // ¿ä½Ã·£µå ÀÎÁõ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _AUTH { unsigned long Errcode; // ¿¡·¯ ÄÚµå unsigned long Type; // ÀÎÁõ ŸÀÔ unsigned long UID; // À¯Àú ¾ÆÀ̵ð union COMMENT { unsigned long Point; // Æ÷ÀÎÆ® ¾ç TIME Time; // ½Ã°£ }Comment; unsigned long Dumy[4]; // ±Ô°Ý¿¡ ¸ÂÁö ¾ÊÀº »çÀÌÁîÀÇ µ¥ÀÌÅÍ ´ëºñ }AUTH, *LPAUTH; /////////////////////////////////////////////////////////////////////////////////////////////// // // ÇѰÔÀÓ ÀÎÁõ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _HAN_UID { unsigned long hUID; // À¯Àú ¾ÆÀ̵ð unsigned long lUID; // À¯Àú ¾ÆÀ̵ð }HAN_UID, *LPHAN_UID; typedef struct _HAN_AUTH { unsigned char Num; // ÀÚ¸®¼ö unsigned short Extra; // ¹¹ÇÏ´Â °ÇÁö ¸ð¸§ unsigned long UID; // À¯Àú ¾ÆÀ̵ð unsigned char Dump; // ºó°ø°£ }HAN_AUTH, *LPHAN_AUTH; typedef union _HAN_CONVERT { unsigned _int64 iValue; // 64 Bit °ª HAN_AUTH sValue; // ±¸Á¶Ã¼ }HAN_CONVERT, *LPHAN_CONVERT; /////////////////////////////////////////////////////////////////////////////////////////////// // // À§Ä¡ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _POS { float fPointX; // Point X ÁÂÇ¥ float fPointY; // Point Y ÁÂÇ¥ float fPointZ; // Point Z ÁÂÇ¥ }POS, *LPPOS; /////////////////////////////////////////////////////////////////////////////////////////////// // // ½ºÅ³ ½½·Ô // modified 2002/10/3 11:20 by sparrowhawk // ////////////////////////////////////////////////////////////////////////////////////////////// union SKILLSLOT { enum { MAX_SKILL_LEVEL = 7, // 0~6 MAX_LOCKCOUNT = 5 // 0~4 }; struct { unsigned short wSkill; // ½ºÅ³ ¾ÆÀ̵ð char cLockCount; // ½ºÅ³ ¶ô Ä«¿îÆ® ( 0~4 ) char cSkillLevel; // ½ºÅ³ ·¹º§ ( -127 ~ 128 ) }SKILLINFO; unsigned long dwSkillSlot; SKILLSLOT() : dwSkillSlot(0) { } SKILLSLOT(unsigned short skill, char lockcount, char skillLevel) { SKILLINFO.wSkill = skill; SKILLINFO.cLockCount = lockcount; SKILLINFO.cSkillLevel = skillLevel; } }; typedef SKILLSLOT* LPSKILLSLOT; /////////////////////////////////////////////////////////////////////////////////////////////// // // ½ºÅ³ // modified 2002/10/3 11:20 by sparrowhawk // ////////////////////////////////////////////////////////////////////////////////////////////// struct SKILL { enum { MAX_SLOT_NUM = 20 }; unsigned short wSkillNum; // ½ºÅ³ ¼ö unsigned short wSlotNum; // ½½·Ô ¼ö SKILLSLOT SSlot[MAX_SLOT_NUM]; // ½ºÅ³ SKILL() : wSkillNum(0), wSlotNum(0) { } SKILL(unsigned short usSkillNum, unsigned short usSlotNum) : wSkillNum(usSkillNum), wSlotNum(usSlotNum) { } }; typedef SKILL* LPSKILL; /////////////////////////////////////////////////////////////////////////////////////////////// // // ŸÀÌÆ² // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _TITLE { __int64 dlTitle; // ŸÀÌÆ² ¾ÆÀ̵ð unsigned short wScore; // ŸÀÌÆ² Á¡¼ö }TITLE, *LPTITLE; /////////////////////////////////////////////////////////////////////////////////////////////// // // Àåºñ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _EQUIP { enum { MAX_EQUIP_SIZE = 1436 }; // + 4 = 1440 unsigned long dwSize; char Data[MAX_EQUIP_SIZE]; } EQUIP, *LPEQUIP; /////////////////////////////////////////////////////////////////////////////////////////////// // // Àκ¥ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _INVEN { enum { MAX_INVEN_SIZE = 5116 }; // + 4 = 5120 unsigned long dwSize; char Data[MAX_INVEN_SIZE]; } INVEN, *LPINVEN; /////////////////////////////////////////////////////////////////////////////////////////////// // // Extra // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _EXTRA { enum { MAX_EXTRA_SIZE = 508 }; // + 4 = 512 unsigned long dwSize; char Data[MAX_EXTRA_SIZE]; } EXTRA, *LPEXTRA; /////////////////////////////////////////////////////////////////////////////////////////////// // // Exchange // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _EXCHANGE { enum { MAX_EXCHANGE_SIZE = 1280 }; // + 4 = 1284 unsigned long dwSize; char Data[MAX_EXCHANGE_SIZE]; } EXCHANGE, *LPEXCHANGE; /////////////////////////////////////////////////////////////////////////////////////////////// // // Äü ½½·Ô // ////////////////////////////////////////////////////////////////////////////////////////////// struct QUICKSLOT { enum Type { NONE = 0, SKILL = 1, ITEM = 2 }; char nType; char nSkillLockCount; char nSkillLevel; unsigned short wID; // Skill_ID ¶Ç´Â ¾ÆÀÌÅÛ ProtoType ID QUICKSLOT() : nType(NONE), nSkillLockCount(0), nSkillLevel(0), wID(0) { } QUICKSLOT(char type, char lockCount, char skillLevel, unsigned short wid) : nType(type), nSkillLockCount(lockCount), nSkillLevel(skillLevel), wID(wid) { } }; typedef QUICKSLOT* LPQUICKSLOT; typedef struct _QUICK { enum { MAX_QUICK_NUM = 10 }; QUICKSLOT Slots[MAX_QUICK_NUM]; }QUICK, *LPQUICK; /////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ »ý¼º ±¸Á¶Ã¼ // ////////////////////////////////////////////////////////////////////////////////////////////// struct CHAR_CREATE { enum { MAX_NAME_LEN = 16 }; enum _Nationality { HUMAN = 0, AKHAN = 1 }; char Name[MAX_NAME_LEN]; // ij¸¯ÅÍ À̸§ char Sex; // ij¸¯ÅÍ ¼º char Hair; // ij¸¯ÅÍ ¸Ó¸® ¸ð¾ç char Face; // ij¸¯ÅÍ ¾ó±¼ ¸ð¾ç char Nationality; // ij¸¯ÅÍ ±¹°¡ unsigned short Class; // ij¸¯ÅÍ Å¬·¡½º unsigned short Equip[15]; // Àåºñ unsigned short STR; // ij¸¯ÅÍ STR unsigned short DEX; // ij¸¯ÅÍ DEX unsigned short CON; // ij¸¯ÅÍ CON unsigned short INT; // ij¸¯ÅÍ INT unsigned short WIS; // ij¸¯ÅÍ WIS }; typedef CHAR_CREATE* LPCHAR_CREATE; /////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ ¸ð¾ç ±¸Á¶Ã¼ // ////////////////////////////////////////////////////////////////////////////////////////////// struct CHAR_VIEW { enum { MAX_NAME_LEN = 16 }; enum _Nationality { HUMAN = 0, AKHAN = 1 }; unsigned long UID; char Name[MAX_NAME_LEN]; // ij¸¯ÅÍ À̸§ char Sex; // ij¸¯ÅÍ ¼º char Hair; // ij¸¯ÅÍ ¸Ó¸® ¸ð¾ç char Face; // ij¸¯ÅÍ ¾ó±¼ ¸ð¾ç char Nationality; // ij¸¯ÅÍ ±¹°¡ unsigned short Class; // ij¸¯ÅÍ Å¬·¡½º unsigned long Merits; // °øÇåµµ unsigned short Fame; // ¸í¼º unsigned long Guild; // ij¸¯ÅÍ ±æµå unsigned long Party; // ij¸¯ÅÍ ÆÄƼ char Level; // ij¸¯ÅÍ ·¹º§ unsigned short Equip[15]; // Àåºñ(°Ñº¸±â) }; typedef CHAR_VIEW* LPCHAR_VIEW; /////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ Á¤º¸ DB Table // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _USER_INFO { unsigned long Char1; // ij¸¯ÅÍ ¾ÆÀ̵ð (ù¹øÂ°) unsigned long Char2; // ij¸¯ÅÍ ¾ÆÀ̵ð (µÎ¹øÂ°) unsigned long Char3; // ij¸¯ÅÍ ¾ÆÀ̵ð (¼¼¹øÂ°) unsigned long Zone; // ij¸¯ÅÍ ÃÖ±Ù Á¸ }USER_INFO, *LPUSER_INFO; /////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ Á¤º¸ DB Table // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _CHAR_INFOST { enum { MAX_NAME_LEN = 16 }; unsigned long UID; char Name[MAX_NAME_LEN]; // ij¸¯ÅÍ À̸§ char Sex; // ij¸¯ÅÍ ¼º char Hair; // ij¸¯ÅÍ ¸Ó¸® ¸ð¾ç char Face; // ij¸¯ÅÍ ¾ó±¼ ¸ð¾ç char Nationality; // ij¸¯ÅÍ ±¹°¡ unsigned short Class; // ij¸¯ÅÍ Å¬·¡½º unsigned long Merits; // °øÇåµµ unsigned short Fame; // ¸í¼º unsigned long Guild; // ij¸¯ÅÍ ±æµå unsigned long Party; // ij¸¯ÅÍ ÆÄƼ char Level; // ij¸¯ÅÍ ·¹º§ unsigned long Gold; // µ· unsigned short IP; // Áõ°¡ Æ÷ÀÎÆ® unsigned short STR; // ij¸¯ÅÍ STR unsigned short DEX; // ij¸¯ÅÍ DEX unsigned short CON; // ij¸¯ÅÍ CON unsigned short INT; // ij¸¯ÅÍ INT unsigned short WIS; // ij¸¯ÅÍ WIS short HP; // ij¸¯ÅÍ HP short MP; // ij¸¯ÅÍ MP __int64 Exp; // ij¸¯ÅÍ °æÇèÁ¡ } CHAR_INFOST, *LPCHAR_INFOST; /////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ Ãß°¡ Á¤º¸ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _CHAR_INFOEX { unsigned long Total; // ÃÑ ÀÌ¿ë ½Ã°£(ºÐ) unsigned long ServerID; // Á¸ } CHAR_INFOEX, *LPCHAR_INFOEX; /////////////////////////////////////////////////////////////////////////////////////////////// // // ij¸¯ÅÍ À§Ä¡ Á¤º¸ DB Table // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _CHAR_POS { POS LastPoint; // ¸¶Áö¸· À§Ä¡ POS SavePoint; // ¼¼À̺ê À§Ä¡ } CHAR_POS, *LPCHAR_POS; /////////////////////////////////////////////////////////////////////////////////////////////// // // ÆÄƼ Á¤º¸ DB Table // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _PARTY_INFO { enum { MAX_MEM = 10, MAX_NAME_LEN = 16 }; unsigned long MemberCID[MAX_MEM]; // ¸â¹ö CID char Name[MAX_MEM][MAX_NAME_LEN]; // ¸â¹ö À̸§ } PARTY_INFO, *LPPARTY_INFO; /////////////////////////////////////////////////////////////////////////////////////////////// // // ÆÄƼ // ////////////////////////////////////////////////////////////////////////////////////////////// typedef struct _PARTY { enum { MAX_MEM = 10, MAX_NAME_LEN = 16 }; unsigned long m_dwPartyID; unsigned long m_dwLeaderID; unsigned char m_cMemberNum; char Name[MAX_MEM][MAX_NAME_LEN]; unsigned long MemberCID[MAX_MEM]; unsigned long ServerID[MAX_MEM]; }PARTY, *LPPARTY; typedef struct _PARTY_EX : PARTY { unsigned short m_wClass[MAX_MEM]; char m_cLevel[MAX_MEM]; }PARTY_EX, *LPPARTY_EX; #pragma pack(pop) #endif