#ifndef _CHAR_STATUS_PACKET_H_ #define _CHAR_STATUS_PACKET_H_ // CharStatusPacket.h #include #include #include #include "CharStatusPacketStruct.h" #pragma pack(1) // ij¸¯ÅÍ ÀÚ»ì typedef struct PktSC* LPPktSC; struct PktSC : public PktBase { unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð }; // ij¸¯ÅÍ ÀÚ»ì Ack typedef struct PktSCAck PktSCAck, *LPPktSCAck; struct PktSCAck : public PktBase { POS m_Pos; unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð }; // ¹ÙÀÎµå Æ÷Áö¼Ç typedef struct PktBP* LPPktBP; struct PktBP : public PktBase { enum PktBPCmd { BP_SAVE_POSITION = 0, BP_WARP = 1, BP_RECALL = 2 }; POS m_Pos; // ¹ÙÀεåÇÒ À§Ä¡ char m_cZone; // ¹ÙÀεåÇÒ Á¸ unsigned long m_dwNPCID; // ¹ÙÀεåÇÒ NPC ID unsigned char m_cCmd; // Æ÷Áö¼Ç ¸í·É (0 = ¼¼À̺ê À§Ä¡, 1 = À§Ä¡ À̵¿) }; // ·¹º§¾÷ typedef struct PktLU* LPPktLU; struct PktLU : public PktBase { ChState m_State; unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned char m_cLevel; // ·¹º§ }; // ·¹º§¾÷ Á¤º¸ typedef struct PktLUInfo* LPPktLUInfo; struct PktLUInfo : public PktBase { unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned char m_cLevel; // ij¸¯ÅÍ ·¹º§ }; // ½ºÅÈ ÃʱâÈ­ typedef struct PktSR* LPPktSR; struct PktSR : public PktBase { ChState m_State; }; // ½ºÅÈ ÃʱâÈ­ typedef struct PktSRAck* LPPktSRAck; struct PktSRAck : public PktBase { enum PktSRAckErr { FAIL_NO_CHANCE = 2 }; ChState m_State; SKILL m_Skill; }; // ½ºÅ×ÀÌÅͽº ÀçºÐ¹è typedef struct PktSRT* LPPktSRT; struct PktSRT : public PktBase { ChState m_State; Item::ItemPos m_ItemPos; // ¸Á°¢ÀÇ µ¹ À§Ä¡ }; // ½ºÅ×ÀÌÅͽº ÀçºÐ¹è Ack typedef struct PktSRTAck* LPPktSRTAck; struct PktSRTAck : public PktBase { enum PktSRTAckErr { FAIL_INVALID_IP = 2, // ÀçºÐ¹è ÇÒ ¼ö ÀÖ´Â Æ÷ÀÎÆ®¸¦ ÃʰúÇÏ¿© ÀçºÐ¹èÇÏ·Á ÇÑ °æ¿ì FAIL_NO_ITEM = 3, // ¿äûÇÑ À§Ä¡¿¡ ¾ÆÀÌÅÛ(¸Á°¢ÀÇ µ¹)ÀÌ ¾øÀ½ (ȤÀº °¹¼ö°¡ ÀÌ»óÇϰųª ¼­¹ö¿¡¼­ ¾ÆÀÌÅÛ Á¦°Å¿¡ ½ÇÆÐÇÑ °æ¿ì) FAIL_INVALID_ITEM = 4, // ¿äûÇÑ À§Ä¡¿¡ ÀÖ´Â ¾ÆÀÌÅÛÀÌ ¿Ã¹Ù¸¥ ¾ÆÀÌÅÛ(¸Á°¢ÀÇ µ¹)ÀÌ ¾Æ´Ñ °æ¿ì FAIL_NOT_ENOUGH_GOLD = 5, // ±Ý¾× ºÎÁ· FAIL_INVALID_STATUS = 6 // ÀçºÐ¹èµÈ ½ºÅÈ¿¡ ¹®Á¦°¡ ÀÖ´Â °æ¿ì (ÃÑ IP°¡ ¸ÂÁö ¾Ê°Å³ª Ŭ·¡½º ÃÖ¼Ò ½ºÅÈ¿¡ ¸ø ¹ÌÄ¡´Â °æ¿ì) }; enum Const { MAX_STATUS_RETRAIN = 800 }; ChState m_State; SKILL m_Skill; Item::ItemPos m_ItemPos; // ¸Á°¢ÀÇ µ¹ À§Ä¡ unsigned long m_dwGold; // ¼Òºñ ±Ý¾× }; // ´É·ÂÄ¡ Áõ°¡ typedef struct PktIP* LPPktIP; struct PktIP : public PktBase { unsigned long m_dwCharID; // ij¸¯ÅÍ ID unsigned char m_cStateType; // ´É·ÂÄ¡ ŸÀÔ }; // ´É·ÂÄ¡ Áõ°¡ Ack typedef struct PktIPAck* LPPktIPAck; struct PktIPAck : public PktBase { ChState m_State; unsigned long m_dwCharID; // ij¸¯ÅÍ ID }; // Ŭ·¡½º ¾÷±×·¹À̵å typedef struct PktCU* LPPktCU; struct PktCU : public PktBase { unsigned long m_dwCharID; // ij¸¯ÅÍ ID unsigned char m_cClass; // Ŭ·¡½º ¹øÈ£ }; // Ŭ·¡½º ¾÷±×·¹À̵å Ack typedef struct PktCUAck* LPPktCUAck; struct PktCUAck : public PktBase { ChState m_State; // ij¸¯ÅÍ »óÅ unsigned long m_dwCharID; // ij¸¯ÅÍ ID unsigned long m_dwFame; // ¸í¼º unsigned char m_cLevel; // ·¹º§ unsigned char m_cClass; // Ŭ·¡½º ¹øÈ£ }; // ¾×½ºÆ®¶ó À̺¥Æ® // edith 2009.09.05 ½Å±Ô À̺¥Æ® Á¦ÀۺκРtypedef struct PktExtraEvent* LPPktExtraEvent; struct PktExtraEvent : public PktBase { enum PktExtraEventErr { EVENT_NONE = 2, // 󸮵ÇÁö ¾Ê´Â À̺¥Æ® EVENT_CLEAR = 3, // Ŭ¸®¾îÇß´Ù. FAIL_EVENT = 4, // À̺¥Æ® ½ÇÆÐ FAIL_REWARD = 5, // À̺¥Æ® º¸»ó ½ÇÆÐ }; unsigned long m_dwUserID; // À¯Àú ID unsigned long m_dwCharID; // ij¸¯ÅÍ ID unsigned long m_dwEventID; // À̺¥Æ® ID unsigned long m_dwValue1; // Ãß°¡°ª unsigned long m_dwValue2; // Ãß°¡°ª }; // ½ºÅ³ (»ý¼º/Áö¿ì±â/¶ô/¶ôÇØÁ¦) typedef struct PktSk* LPPktSk; struct PktSk : public PktBase { enum PktSkError { // TODO : °ãÄ¡´Â »ó¼öµéÀº Ŭ¶óÀÌ¾ðÆ®¿Í »óÀÇÇÏ¿© À¯´ÏÅ©ÇÏ°Ô ¼öÁ¤ÇսôÙ. // ½ºÅ³ °ü·Ã °øÅë ¿¡·¯ FAIL_NOT_SKILL = 2, FAIL_ERASE_CLASS_SKILL = 5, // Ŭ·¡½º ½ºÅ³ »èÁ¦ FAIL_NO_ITEM = 6, // ¿äûÇÑ À§Ä¡¿¡ ¾ÆÀÌÅÛ(¸Á°¢ÀÇ µ¹)ÀÌ ¾øÀ½ (ȤÀº °¹¼ö°¡ ÀÌ»óÇϰųª ¼­¹ö¿¡¼­ ¾ÆÀÌÅÛ Á¦°Å¿¡ ½ÇÆÐÇÑ °æ¿ì) FAIL_INVALID_ITEM = 7, // ¿äûÇÑ À§Ä¡¿¡ ÀÖ´Â ¾ÆÀÌÅÛÀÌ ¿Ã¹Ù¸¥ ¾ÆÀÌÅÛ(¸Á°¢ÀÇ µ¹)ÀÌ ¾Æ´Ñ °æ¿ì // »ý¼º ¿¡·¯ FAIL_MAX_LEVEL = 2, // ÃÖ´ë ·¹º§ÀÓ (¶ôÇØ¾ßÇÔ) FAIL_NOT_CURRENT_LOCK_COUNT = 3, // ÀÍÈú ´Ü°è°¡ ¾Æ´Ñ ½ºÅ³ FAIL_NOT_ENOUGH_SLOT = 4, // ½½·Ô ºÎÁ· FAIL_NOT_CURRENT_CLASS = 5, // ÇØ´ç Ŭ·¡½º°¡ ¾Æ´Ô FAIL_NOT_ENOUGH_STATUS = 6, // ½ºÅÈÀÌ ¸ðÀÚ¶÷ FAIL_NOT_ENOUGH_SKILL_POINT = 7, // ½ºÅ³ Æ÷ÀÎÆ® ºÎÁ· // Áö¿ì±â ¿¡·¯ FAIL_NON_LEVEL = 3, // ·¹º§ÀÌ ¾øÀ½ FAIL_ALREADY_LOCK = 4, // ÀÌ¹Ì ¶ôÇÑ ½ºÅ³ // ¶ô ¿¡·¯ FAIL_FULL_LOCK = 3, // ¶ôÀ» ¸ðµÎÇÑ ½ºÅ³ FAIL_NOT_ENOUGH_LEVEL = 4, // ·¹º§ÀÌ ´Ù Â÷Áö¾ÊÀº ½ºÅ³ // ¶ô ÇØÁ¦ ¿¡·¯ FAIL_NON_LOCK = 3, // ¶ôÇÏÁö ¾ÊÀº ½ºÅ³ FAIL_FIFTHSKILL_UNLOCK = 4 // 5´Ü°è ½ºÅ³Àº Áö¿ì±â·Î 4´Ü°è·Î ³»¸±¼ö ¾ø´Ù. }; unsigned long m_dwCharID; // ij¸¯ÅÍ ID unsigned short m_wSkill; // ½ºÅ³ ¹øÈ£ unsigned char m_cIndex; // ½ºÅ³ À§Ä¡ unsigned char m_cSkillLevel; // ½ºÅ³ ·¹º§ Item::ItemPos m_ItemPos; // ¸Á°¢ÀÇ µ¹ À§Ä¡ }; /* // ½ºÅ³ ¶ô ÇØÁ¦ typedef struct PktSkUL* LPPktSkUL; struct PktSkUL : public PktSk { Item::ItemPos m_itemPos; // ¸Á°¢ÀÇ µ¹ À§Ä¡ PktSk¿¡ Á¤ÀÇ }; */ // ½ºÅ³ ¶ô ÇØÁ¦ Ack typedef struct PktSkULAck* LPPktSkULAck; struct PktSkULAck : public PktSk { unsigned long m_dwGold; // ¼Òºñ ±Ý¾× // Item::ItemPos m_itemPos; // ¸Á°¢ÀÇ µ¹ À§Ä¡ PktSk¿¡ Á¤ÀÇ }; // HP ¸®Á¨ ÆÐŶ ( Char HP Regen ) typedef struct PktHP* LPPktHP; struct PktHP : public PktBase { unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned short m_sHP; // ÇöÀç hp unsigned short m_sMP; // ÇöÀç mp }; // Á¤º¸ ¿äû ( Require Info ) // - P2P·Î ´Ù¸¥ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Á÷Á¢ º¸³¾ ½Ã¿¡´Â ÁÖ¼Ò³»¿ëÀÌ Ãß°¡ µÇ¸ç, // ÇØ´ç Ŭ¶óÀÌ¾ðÆ® ¾ÆÀ̵ð´Â º¸³»´Â ÀÌÀÇ Ä³¸¯ÅÍ ¾ÆÀ̵𰡠µÇ°Ú´Ù. typedef struct PktRI* LPPktRI; struct PktRI : public PktBase { SOCKADDR_IN m_PublicAddress; SOCKADDR_IN m_PrivateAddress; unsigned long m_dwCharID; // ÇØ´ç ij¸¯ÅÍ ¾ÆÀ̵ð unsigned char m_cCmd; // Ä¿¸Çµå (0 : HP, MP Á¤º¸, 1 : UDP ÁÖ¼Ò, 2 : ¸ð¾ç) }; // ij¸¯ÅÍ °Ñ¸ð½À Á¤º¸ typedef struct PktSI* LPPktSI; struct PktSI : public PktBase { enum { MAX_STALL_NAME_LEN = 32 }; enum WEAPON_HAND { WEAPON_HAND1 = 1, WEAPON_HAND2 = 2 }; CHAR_VIEW m_CharView; // ij¸¯ÅÍ °Ñ¸ð½À unsigned long m_dwStatusFlag; // ij¸¯ÅÍ¿¡ °É·Á ÀÖ´Â chant, enchant Flag bool m_bPeace; // ¹ÝÀü ¸ðµå unsigned char m_cSelectedHands; // ÇöÀç »ç¿ëÁßÀÎ ¼Õ (1 = ¹«±â1 & ¹æÆÐ1, 2 = ¹«±â2 & ¹æÆÐ2) char m_StallName[MAX_STALL_NAME_LEN]; // ³ëÁ¡»ó À̸§ }; // ¿¤¸®Æ® º¸³Ê½º typedef struct PktEB* LPPktEB; struct PktEB : public PktBase { char m_cEliteBonus; // ¿¤¸®Æ® º¸³Ê½º }; #pragma pack() #endif