#ifndef _CHAR_COMMUNITY_PACKET_H_ #define _CHAR_COMMUNITY_PACKET_H_ // CharCommunityPacket.h // DBDefineÇÊ¿ä. #include #include #include #include "AddressPacket.h" #include "CharCommunityPacketStruct.h" #pragma pack(1) // ÆÄƼ »ý¼º typedef struct PktPI* LPPktPI; struct PktPI : public PktBase { PARTY m_Party; }; // ÆÄƼ ¸í·É // // ¸í·É : // 0 = ÃÊ´ë, 1 = °¡ÀÔ, 2 = °ÅÀý // 3 = ÅðÀå, 4 = Å»Åð, 5 = ¾çµµ // 6 = ÆÄ±«, 7 = ·Î±×ÀÎ, 8 = ·Î±×¾Æ¿ô // 9 = »èÁ¦(ij¸¯ÅÍ), 10 = Àç·Î±×ÀÎ, // 11 = ÆÄƼã±â, 12 = ¸â¹öã±â // // ¿¡·¯ : // 1 = ¼­¹ö ¿¡·¯, 2 = ÀÌ¹Ì ÆÄƼ¿¡ °¡ÀԵǾî ÀÖ´Â °æ¿ì, 3 = °¡ÀÔ ½ÇÆÐ // 4 = ÅðÀå ½ÇÆÐ, 5 = Å»Åð ½ÇÆÐ, 6 = ¾çµµ ½ÇÆÐ, 7 = ÆÄƼ Àοø Ãʰú, // 8 = ÃÊ´ë ½ÇÆÐ, 9 = °ÅºÎ ¿É¼ÇÀ» ÄÒ »óÅ // typedef struct PktPC* LPPktPC; struct PktPC : public PktBase { enum PartyCmd { PC_INVITE = 0, PC_ACCEPT = 1, PC_REFUSE = 2, PC_BANISH = 3, PC_SECESSION = 4, PC_TRANSFER = 5, PC_DESTROY = 6, PC_LOGIN = 7, PC_LOGOUT = 8, PC_DELETE = 9, PC_RELOGIN = 10, PC_FINDPARTY = 11, PC_FINDMEMBER = 12 }; enum PktPCError { SERVER_ERROR = 1, CHAR_JOINED = 2, FAIL_ACCEPT = 3, FAIL_BANISH = 4, FAIL_SECESSION = 5, FAIL_TRANSFER = 6, OVER_MEMBER = 7, FAIL_INVITE = 8, FAIL_REJECT = 9 }; unsigned long m_dwPartyID; // ÆÄƼ ¾ÆÀ̵ð unsigned long m_dwSenderID; // ij¸¯ÅÍ ¾ÆÀ̵ð(ÁÖü) unsigned long m_dwReferenceID; // ÂüÁ¶ ¾ÆÀ̵ð(´ë»ó ij¸¯ÅÍ/¼­¹ö ¾ÆÀ̵ð) unsigned short m_wCmd; // ¸í·É }; // // ÆÄƼ ¸í·É Ack // // ¸í·É : // 0 = ÃÊ´ë, 1 = °¡ÀÔ, 2 = °ÅÀý // 3 = ÅðÀå, 4 = Å»Åð, 5 = ¾çµµ // 6 = ÆÄ±«, 7 = ·Î±×ÀÎ, 8 = ·Î±×¾Æ¿ô // 9 = »èÁ¦(ij¸¯ÅÍ) // // ¿¡·¯ : // 1 = ¼­¹ö ¿¡·¯, 2 = ÀÌ¹Ì ÆÄƼ¿¡ °¡ÀԵǾî ÀÖ´Â °æ¿ì, 3 = °¡ÀÔ ½ÇÆÐ // 4 = ÅðÀå ½ÇÆÐ, 5 = Å»Åð ½ÇÆÐ, 6 = ¾çµµ ½ÇÆÐ, 7 = ÆÄƼ Àοø Ãʰú // typedef struct PktPCAck* LPPktPCAck; struct PktPCAck : public PktBase { enum PartyCmd { PC_INVITE = 0, PC_ACCEPT = 1, PC_REFUSE = 2, PC_BANISH = 3, PC_SECESSION = 4, PC_TRANSFER = 5, PC_DESTROY = 6, PC_LOGIN = 7, PC_LOGOUT = 8, PC_DELETE = 9 }; enum PktPCErrorAck { SERVER_ERROR = 1, CHAR_JOINED = 2, FAIL_ACCEPT = 3, FAIL_BANISH = 4, FAIL_SECESSION = 5, FAIL_TRANSFER = 6, OVER_MEMBER = 7, FAIL_INVITE = 8 }; AddressInfo m_SenderAddressInfo; // SenderÀÇ ÁÖ¼Ò char m_strSenderName[CHAR_INFOST::MAX_NAME_LEN]; // SenderÀÇ À̸§ unsigned long m_dwPartyID; // ÆÄƼ ¾ÆÀ̵ð unsigned long m_dwSenderID; // ij¸¯ÅÍ ¾ÆÀ̵ð(ÁÖü) unsigned long m_dwReferenceID; // ÂüÁ¶ ¾ÆÀ̵ð(´ë»ó ij¸¯ÅÍ/¼­¹ö ¾ÆÀ̵ð) unsigned char m_cCmd; // ¸í·É }; // // ÆÄƼ Á¤º¸ // // ¸í·É : // 0 = ÃÊ´ë, 1 = °¡ÀÔ, 2 = °ÅÀý // 3 = ÅðÀå, 4 = Å»Åð, 5 = ¾çµµ // 6 = ÆÄ±«, 7 = ·Î±×ÀÎ, 8 = ·Î±×¾Æ¿ô // 9 = »èÁ¦(ij¸¯ÅÍ) // // ¿¡·¯ : // 1 = ¼­¹ö ¿¡·¯, 2 = ÀÌ¹Ì ÆÄƼ¿¡ °¡ÀԵǾî ÀÖ´Â °æ¿ì, 3 = °¡ÀÔ ½ÇÆÐ // 4 = ÅðÀå ½ÇÆÐ, 5 = Å»Åð ½ÇÆÐ, 6 = ¾çµµ ½ÇÆÐ, 7 = ÆÄƼ Àοø Ãʰú // typedef struct PktPCInfo* LPPktPCInfo; struct PktPCInfo : public PktBase { enum PartyCmd { PC_INVITE = 0, PC_ACCEPT = 1, PC_REFUSE = 2, PC_BANISH = 3, PC_SECESSION = 4, PC_TRANSFER = 5, PC_DESTROY = 6, PC_LOGIN = 7, PC_LOGOUT = 8, PC_DELETE = 9 }; enum PktPCInfoError { SERVER_ERROR = 1, CHAR_JOINED = 2, FAIL_ACCEPT = 3, FAIL_BANISH = 4, FAIL_SECESSION = 5, FAIL_TRANSFER = 6, OVER_MEMBER = 7, FAIL_INVITE = 8 }; unsigned long m_dwPartyID; // ÆÄƼ ID unsigned long m_dwMemberID; // ¸â¹ö ID unsigned char m_cCmd; // ¸í·É }; // ÆÄƼ ¸â¹ö µ¥ÀÌÅÍ (+ °¡º¯±æÀÌ µ¥ÀÌÅÍ) typedef struct PktMD* LPPktMD; struct PktMD : public PktBase { unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned short m_wCmd; // ¼­ºê ¸í·É unsigned short m_wLen; // ±æÀÌ }; // ÆÄƼ ¸â¹ö Á¤º¸ typedef struct PktPM* LPPktPM; struct PktPM : public PktBase { SOCKADDR_IN m_PublicAddress; SOCKADDR_IN m_PrivateAddress; unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned long m_dwPartyID; // ÆÄƼ ¾ÆÀ̵ð unsigned long m_dwChant; // æƮ »óÅ unsigned long m_dwEnchant; // ÀÎæƮ »óÅ unsigned short m_wMaxHP; // ÃÖ´ë HP unsigned short m_sCurrHP; // ÇöÀç HP unsigned short m_wMaxMP; // ÃÖ´ë MP unsigned short m_sCurrMP; // ÇöÀç MP unsigned char m_cClass; // ij¸¯ÅÍ Å¬·¡½º unsigned char m_cLevel; // ij¸¯ÅÍ ·¹º§ }; // ÆÄƼ ã±â typedef struct PktPF* LPPktPF; struct PktPF : public PktBase { unsigned long m_dwCharID; }; // ÆÄƼ ã±â Ack typedef struct PktPFAck* LPPktPFAck; struct PktPFAck : public PktBase { enum { MAX_LIST = 30, MAX_DIFF_LEVEL_VIEW = 5 }; unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned char m_cMemberFindPartyNum; // ÆÄƼ ã±â ¸®½ºÆ® ¼ö unsigned char m_cPartyFindMemberNum; // ÆÄƼ¿ø ã±â ¸®½ºÆ® ¼ö }; // ij¸¯ÅÍ ¸í¼º(°øÇåµµ) Á¤º¸ typedef struct PktFI* LPPktFI; struct PktFI : public PktBase { enum InfoKind { NONE = 0, FAME = 1, MERITS = 2 }; unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned char m_cInfoKind; // Á¤º¸ Á¾·ù }; // ij¸¯ÅÍ ¸í¼º(°øÇåµµ) Á¤º¸ Ack typedef struct PktFIAck* LPPktFIAck; struct PktFIAck : public PktBase { enum InfoKind { NONE = 0, FAME = 1, MERITS = 2 }; unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð unsigned long m_dwFameOrMerits; // ÇöÀç ¸í¼º(¶Ç´Â °øÇåµµ) unsigned char m_cRankingByRace; // Á¾Á·º° ¼øÀ§ unsigned char m_cRankingByClass; // Ŭ·¡½ºº° ¼øÀ§ unsigned char m_cInfoKind; // Á¤º¸ Á¾·ù }; // ¿É¼Ç Á¶Á¤ typedef struct PktCOp* LPPktCOp; struct PktCOp : public PktBase { unsigned long m_dwCharID; // ij¸¯ÅÍ ¾ÆÀ̵ð RejectOption m_RejectOption; // °ÅºÎ ¿É¼Ç ºñÆ®™V }; // ij¸¯ÅÍ Ã¤ÆÃ ÆÐŶ. typedef struct PktCt* LPPktCt; struct PktCt : public PktBase { enum PktCtCmd { NORMAL = 0, PARTY = 1, FRIEND = 2, GUILD = 3, NOTICE = 4, CLIENT_LOG = 5, STALL = 6, PktCtMaxSize = 180 }; unsigned long m_dwCharID; unsigned short m_sCmd; }; // ij¸¯ÅÍ ¼Ó»èÀÓ ÆÐŶ. typedef struct PktWh* LPPktWh; struct PktWh : public PktBase { enum { SERVER_ERROR = 1, FAIL_CHAR_LOGOUT = 2, FAIL_REJECT = 3, FAIL_ENEMY = 4, PktWhMaxSize = 180 }; char m_SenderName[CHAR_INFOST::MAX_NAME_LEN]; char m_RecverName[CHAR_INFOST::MAX_NAME_LEN]; }; // ij¸¯ÅÍ ³ëÁ¡»ó °³¼³ ÆÐŶ. typedef struct PktStO* LPPktStO; struct PktStO : public PktBase { enum { MAX_STALL_NAME_LEN = 32 }; unsigned long m_dwCharID; char m_StallName[MAX_STALL_NAME_LEN]; }; // ij¸¯ÅÍ ³ëÁ¡»ó ¹°°Ç µî·Ï ÆÐŶ. typedef struct PktStRI* LPPktStRI; struct PktStRI : public PktBase { enum PktStRICmd { SC_REGISTER = 0, SC_CHANGEPRICE = 1, SC_CANCEL = 2 }; enum PktStRIEErr { SUCCESS = 0, SERVER_ERROR = 1, FAIL_NOT_ITEM = 2 }; unsigned long m_dwCharID; TakeType m_TakeType; unsigned long m_dwPrice; unsigned char m_cCmd; }; // ij¸¯ÅÍ ³ëÁ¡»ó ÀÔÀå ÆÐŶ. typedef struct PktStE* LPPktStE; struct PktStE : public PktBase { enum PktStEErr { SUCCESS = 0, SERVER_ERROR = 1, FAIL_FULL_STALL = 2, FAIL_ENTER = 3, FAIL_LEAVE = 4 }; unsigned long m_dwCustomerID; unsigned long m_dwOwnerID; }; // ij¸¯ÅÍ ³ëÁ¡»ó ¾ÆÀÌÅÛ Á¤º¸ ÆÐŶ. typedef struct PktStIInfo* LPPktStIInfo; struct PktStIInfo : public PktBase { unsigned long m_dwItemSize; unsigned short m_wItemNum; }; #pragma pack() #endif