#ifndef _GAME_LOG_PACKET_H_ #define _GAME_LOG_PACKET_H_ #include namespace GAMELOG { namespace CMD { enum Packet { DefaultInfo = 1, ItemInfo = 2, EquipInfo = 3, }; enum LogType { CHAR_LOGIN = 1, // ·Î±×ÀÎ CHAR_LOGOUT = 2, // ·Î±×¾Æ¿ô PICKUP = 3, // ¾ÆÀÌÅÛ Áý±â - µ· Æ÷ÇÔ DROP = 4, // ¾ÆÀÌÅÛ ¹ö¸®±â - µ· Æ÷ÇÔ BUY_ITEM = 5, // ¾ÆÀÌÅÛ »ç±â - µ· Æ÷ÇÔ SELL_ITEM = 6, // ¾ÆÀÌÅÛ ÆÈ±â - µ· Æ÷ÇÔ BEFORE_EXCHANGE = 7, // ¾ÆÀÌÅÛ ±³È¯ ÀüÀÇ ±³È¯Ã¢ ¾ÆÀÌÅÛ - µ· Æ÷ÇÔ AFTER_EXCHANGE = 8, // ¾ÆÀÌÅÛ ±³È¯ ÀüÀÇ ±³È¯Ã¢ ¾ÆÀÌÅÛ - µ· Æ÷ÇÔ USE_ITEM = 9, // ¾ÆÀÌÅÛ »ç¿ë - µ· Æ÷ÇÔ UPGRADE_ITEM = 10, // ¾ÆÀÌÅÛ ¾÷±×·¹À̵å - µ· Æ÷ÇÔ INSTALL_SOCKET = 11, // ¾ÆÀÌÅÛ ¼ÒÄÏ¿¡ º¸¼® ¹Ú±â GET_QUEST_ITEM = 12, // Äù½ºÆ® ¾ÆÀÌÅÛ ¾ò±â GET_QUEST_REWARD = 13, // Äù½ºÆ® º¸»ó ¾ò±â - µ· Æ÷ÇÔ REMOVE_QUEST_ITEM = 14, // Äù½ºÆ® ¾ÆÀÌÅÛ Á¦°Å REPAIR_ITEM = 15, // ¾ÆÀÌÅÛ ¼ö¸® - µ· Æ÷ÇÔ ADMIN_DROP = 16, // ¿î¿µÀÚ ¸í·ÉÀ¸·Î ¾ÆÀÌÅÛ ¶³±¸±â - µ· Æ÷ÇÔ CHAR_LOGIN_INVENTORY_GOLD = 17, // ij¸¯ÅÍ ·Î±×Àνà Àκ¥Å丮 µ· CHAR_LOGIN_DEPOSIT_GOLD = 18, // ij¸¯ÅÍ ·Î±×Àνà â°í µ· CHAR_LOGOUT_INVENTORY_GOLD = 19, // ij¸¯ÅÍ ·Î±×¾Æ¿ô½Ã Àκ¥Å丮 µ· CHAR_LOGOUT_DEPOSIT_GOLD = 20, // ij¸¯ÅÍ ·Î±×¾Æ¿ô½Ã â°í µ· DEPOSIT_RENT_GOLD = 21, // â°í ´ë¿©·á FAME_GET_BATTLE = 22, // ÀüÅõ·Î ¾òÀº ¸í¼º FAME_LOSE_BATTLE = 23, // ÀüÅõ·Î ÀÒÀº ¸í¼º FAME_GET_CAMP = 24, // ¿ä»õ·Î ¾òÀº ¸í¼º FAME_LOSE_CAMP = 25, // ¿ä»õ·Î ÀÒÀº ¸í¼º QUEST_GET_REWARD = 26, // Äù½ºÆ® ¼öÇàÀ¸·Î ¾òÀº º¸»ó CHANGE_RIDE = 27, // ¶óÀÌ´õ Ÿ±â ·Î±× MAX_LOG_TYPE = 28 }; }; namespace PACKET { enum Flags { ITEM_INFO = (1 << 0), EQUIP_INFO = (1 << 1) }; enum { MAX_SOCKET_NUM = 8, MAX_ATTRIBUTE_NUM = 35 }; #pragma pack(1) struct DefaultInfo : public PktBase { time_t m_dwTime; unsigned long m_dwFirstUID; // ÇàÀ§ÀÚÀÇ UID unsigned long m_dwFirstCID; // ÇàÀ§ÀÚÀÇ CID unsigned long m_dwGold; // ÇàÀ§·Î ÀÎÇØ¼­ ¿µÇâÀ» ¹Þ°Ô µÈ ±Ý¾× unsigned long m_dwSecondUID; // ´ë»óÀÚÀÇ UID unsigned long m_dwSecondCID; // ´ë»óÀÚÀÇ CID unsigned short m_usPosX; // »ç°ÇÀÌ ÀϾ Àå¼Ò(X) unsigned short m_usPosY; // »ç°ÇÀÌ ÀϾ Àå¼Ò(Y) unsigned short m_usPosZ; // »ç°ÇÀÌ ÀϾ Àå¼Ò(Z) unsigned char m_cCommand; // »ç°Ç Á¾·ù unsigned char m_cFlags; // ±âŸ Á¤º¸(¾ÆÀÌÅÛ Á¤º¸ÀÎÁö.. Àåºñ Á¤º¸°¡ µû¶ó ºÙ´ÂÁö µî..) }; struct ItemInfo : public DefaultInfo { unsigned __int64 m_dwItemUID; unsigned short m_usItemProtoTypeID; unsigned char m_cTakeType; unsigned char m_cItemAmount; unsigned char m_cItemPosX; unsigned char m_cItemPosY; unsigned char m_cItemPosZ; unsigned char m_cItemExtra; // Ãß°¡ Á¤º¸ }; struct EquipInfo : public ItemInfo { unsigned short m_usRuneSocket; // ·é ¼ÒÄÏ ³»¿ë unsigned char m_cUpgradeStep; // ¾÷±×·¹ÀÌµå ´Ü°è unsigned char m_cMaxSocket; // ÇöÀç ¶Õ·Á ÀÖ´Â ¼ÒÄÏ ¼ö unsigned char m_cMaxDurability; // ÃÖ´ë ³»±¸µµ unsigned char m_cSocket[MAX_SOCKET_NUM]; // ¼ÒÄÏ ³»¿ë short m_usAttribute[MAX_ATTRIBUTE_NUM]; // ¼Ó¼º ³»¿ë }; #pragma pack() }; }; #endif