/* ========================================================================== * ÆÄ ÀÏ : Guild_Common.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2008-10-31 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #pragma pack(push,1) #include "CommonDefines.h" #include "CommonNetworkMsgStruct.h" #include "Item_Common.h" #include "sqltypes.h" #define MAX_GUILD 50 /// ±æµåÀÇ ÃÖ´ë À¯Àú ¼ö #define GUILDLIMIT_LEVEL 10 /// ±æµå¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Â ·¹º§ #define GUILDLIMIT_MONEY 10000 /// ±æµå¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Â ±Ý¾× #define MARK_WIDTH 24 #define MARK_HEIGHT 24 #define MARK_BPP 32 #define TGA_EXTENSION 26 /// TGA ÆÄÀÏ ³¡ È®Àå ºÎºÐ /// Æ÷Åä˜Þ¿¡¼­ 24x24x32bit ÆÄÀÏÀ» »Ì¾Æ³»¸é ¿ø·¡ Å©±âº¸´Ù 2¹ÙÀÌÆ®°¡ ´õ ´Ã¾î³²... #define MARK_SIZE (MARK_WIDTH*MARK_HEIGHT*(MARK_BPP/8) + 54 +2 ) /// ±æµå Á÷À§ enum eGUILD_POSITION { eGUILD_NONE = 0, eGUILD_MASTER, /// ±æµåÀå eGUILD_SUBMASTER, /// ºÎ ±æµåÀå eGUILD_ELDER, /// Àå·Î eGUILD_UPPERHOUSE, /// »ó¿ø ÀÇ¿ø eGUILD_LOWERHOUSE, /// ÇÏ¿ø ÀÇ¿ø eGUILD_GENERAL, /// ÀÏ¹Ý }; // ±æµå Á¤º¸ struct sGuildInfo { unsigned long idx; // ±æµå À妽º wchar_t name[MAX_GUILDNAME_BUFFER_SIZE]; // ±æµå¸í unsigned long masterIndex; // ±æµåÀå À妽º wchar_t masterName[MAX_NAME_BUFFER_SIZE]; // ±æµåÀå¸í wchar_t notice[MAX_GUILD_NOTICE_BUFFER_SIZE]; // ±æµå °øÁö char position; // ³» Á÷À§ tm markRegistDate; // ±æµå¸¶Å© Ãֽа»½Å³¯Â¥ bool useMark; }; // ±æµå À¯Àú Á¤º¸ struct sGuildUserInfo { unsigned long characterIdx; // ij¸¯ÅÍ À妽º wchar_t name[MAX_NAME_BUFFER_SIZE]; // ij¸¯Å͸í char level; // ·¹º§ unsigned short job; // ij¸¯ÅÍ Á÷¾÷ short mapnum; // ¸Ê ¹øÈ£ char position; // Á÷À§ DWORD channelNum; // ä³Î ¹øÈ£ }; // ½Ã°£¸¶´Ù °»½ÅÇÒ À¯ÀúÁ¤º¸ struct sGuildUserUpdate { long characterIdx; // ij¸¯ÅÍ À妽º char level; // ·¹º§ unsigned short job; // ij¸¯ÅÍ Á÷¾÷ short mapnum; // ¸Ê ¹øÈ£ DWORD channelNum; // ä³Î ¹øÈ£ }; /// ±æµå »ý¼º Á¤º¸ struct MSG_RES_GUILD_CREATEDATA : MSGROOT { long idx; // ±æµå À妽º wchar_t name[MAX_GUILDNAME_BUFFER_SIZE]; // ±æµå¸í }; /// ±æµå À¯Àú Á¤º¸ struct MSG_SYN_GUILD_LIST : MSGROOT { unsigned char rowCount; // ¿­ ¼ö sGuildInfo data; // ±æµå µ¥ÀÌÅÍ sGuildUserInfo table[1]; // ±æµå À¯Àú ¸®½ºÆ® }; #define ERROR_GUILD_ADD_SUCCESS 0 // ¼º°ø - ±æµå ½Åû ¼º°ø #define ERROR_GUILD_ADD_FAIL 1 // ½ÇÆÐ #define ERROR_GUILD_ADD_REQUEST 2 // ½ÇÆÐ - ÀÌ¹Ì ½ÅûÁßÀÓ #define ERROR_GUILD_ADD_NOTEXIST 3 // ½ÇÆÐ - »ó´ë°¡ Á¸ÀçÇÏÁö ¾ÊÀ½ #define ERROR_GUILD_ADD_HAVEGUILD 4 // ½ÇÆÐ - »ó´ë°¡ ÀÌ¹Ì ±æµå °¡ÀÔÁß #define ERROR_GUILD_ADD_MAXGUILD 5 // ½ÇÆÐ - ±æµå Àοø Á¦ÇÑ #define ERROR_GUILD_ADD_REFUSE 6 // ½ÇÆÐ - ÃÊ´ë °ÅÀý #define ERROR_GUILD_ADD_REFUSETIME 7 // ½ÇÆÐ - ÃÊ´ë °ÅÀý - ÀÀ´ä ½Ã°£ Ãʰú #define ERROR_GUILD_ADD_STATUSHERO 8 // ½ÇÆÐ - ½Åû°¡´É »óÅ ¾Æ´Ô #define ERROR_GUILD_ADD_STATUS 9 // ½ÇÆÐ - »ó´ë¹æÀÌ ½Åû¹Þ±â °¡´É »óÅ ¾Æ´Ô /// ±æµå ÃÊ´ë ¿äû struct MSG_REQ_GUILD_ADD : MSGROOT { wchar_t name[MAX_NAME_BUFFER_SIZE]; // ±æµå ÃÊ´ëÇÒ À¯Àú¸í }; struct MSG_RES_GUILD_ADD : MSG_ERROR {}; /// ±æµåÃÊ´ë ¹ÞÀ½ struct MSG_SYN_GUILD_ADD : MSGROOT { wchar_t name[MAX_NAME_BUFFER_SIZE]; // ÃÊ´ë À¯Àú¸í wchar_t guildName[MAX_GUILDNAME_BUFFER_SIZE]; // ÃÊ´ë ±æµå¸í }; #define ERROR_GUILD_ADDREPLY_SUCCESS 0 // ¼º°ø - °¡ÀÔ #define ERROR_GUILD_ADDREPLY_FAIL 1 // ½ÇÆÐ #define ERROR_GUILD_ADDREPLY_EXIST 2 // ½ÇÆÐ #define ERROR_GUILD_ADDREPLY_FAILUPDATE 3 // ½ÇÆÐ #define ERROR_GUILD_ADDREPLY_REFUSE 4 // ÃÊ´ë °ÅÀý #define ERROR_GUILD_ADDREPLY_REFUSETIME 5 // ÃÊ´ë °ÅÀý #define GUILD_REPLAY_SUCCESS 0 // ¼ö¶ô #define GUILD_REPLAY_REFUSE 1 // °ÅÀý #define GUILD_REPLAY_REFUSETIME 2 // °ÅÀý /// ±æµåÃÊ´ë ´äº¯ º¸³»±â struct MSG_REQ_GUILD_REPLY : MSGROOT { char reply; }; struct MSG_RES_GUILD_REPLY : MSG_ERROR {}; /// ½Å±Ô°¡ÀÔ À¯Àú Á¤º¸ º¸³»±â struct MSG_SYN_GUILD_USERADD : MSGROOT { sGuildUserInfo user; /// Ãß°¡µÈ À¯ÀúÁ¤º¸ º¸³»±â }; #define ERROR_GUILD_OUT_SUCCESS 0 // ¼º°ø - Å»Åð #define ERROR_GUILD_OUT_FAIL 1 // ½ÇÆÐ #define ERROR_GUILD_OUT_MASTER 2 // ½ÇÆÐ - ±æµåÀå Å»Åð ºÒ°¡ // ±æµå Å»Åð ¿äû struct MSG_REQ_GUILD_OUT : MSGROOT {}; struct MSG_RES_GUILD_OUT : MSG_ERROR {}; struct MSG_SYN_GUILD_OUT : MSGROOT { unsigned long characterIdx; // Å»ÅðÇÑ À¯ÀúÀ妽º }; #define ERROR_GUILD_CUT_SUCCESS 0 // ¼º°ø - Å»Åð #define ERROR_GUILD_CUT_FAIL 1 // ½ÇÆÐ #define ERROR_GUILD_CUT_MASTER 2 // ½ÇÆÐ - ±æµåÀ常 Ãß¹æ °¡´É // ±æµå Ãß¹æ ¿äû struct MSG_REQ_GUILD_CUT : MSGROOT { unsigned long characterIdx; // Ãß¹æÇÒ À¯ÀúÀ妽º }; struct MSG_RES_GUILD_CUT : MSG_ERROR {}; struct MSG_SYN_GUILD_CUT : MSGROOT // ÀÚ½ÅÀÌ Ãß¹æ´çÇÔ {}; struct MSG_SYN_GUILD_USERCUT : MSGROOT { unsigned long characterIdx; // Ãß¹æ´çÇÑ À¯ÀúÀ妽º }; #define ERROR_GUILD_DELETE_SUCCESS 0 // ¼º°ø - ÇØÃ¼ #define ERROR_GUILD_DELETE_FAIL 1 // ½ÇÆÐ #define ERROR_GUILD_DELETE_MASTER 2 // ½ÇÆÐ - ±æµåÀ常 ÇØÃ¼ °¡´É #define ERROR_GUILD_DELETE_USEREXIST 3 // ½ÇÆÐ - ±æµåÀ¯Àú°¡ ³²¾ÆÀÖÀ½ // ±æµå ÇØÃ¼ ¿äû struct MSG_REQ_GUILD_DELETE : MSGROOT {}; struct MSG_RES_GUILD_DELETE : MSG_ERROR {}; /// ÀÏÁ¤½Ã°£ °»½Å struct MSG_SYN_GUILD_UPDATE : MSGROOT { unsigned char rowCount; // ¿­ ¼ö sGuildUserUpdate table[1]; // º¯°æµÈ À¯Àú Á¤º¸ ¸®½ºÆ® }; #define ERROR_GUILD_GIVEPOSITION_SUCCESS 0 // ¼º°ø #define ERROR_GUILD_GIVEPOSITION_FAIL 1 // ½ÇÆÐ #define ERROR_GUILD_GIVEPOSITION_POSITION 2 // ½ÇÆÐ - ±ÇÇÑ ½ÇÆÐ // ±æµå Á÷À§ º¯°æ struct MSG_REQ_GUILD_GIVEPOSITION : MSGROOT { unsigned long characterIdx; // Á÷À§º¯°æÇÒ À¯ÀúÀ妽º char position; // Á÷À§ }; struct MSG_RES_GUILD_GIVEPOSITION : MSG_ERROR {}; struct MSG_SYN_GUILD_GIVEPOSITION : MSGROOT { unsigned long characterIdx; // Á÷À§º¯°æµÈ À¯ÀúÀ妽º char position; // Á÷À§ }; #define ERROR_GUILD_NOTICE_SUCCESS 0 // ¼º°ø #define ERROR_GUILD_NOTICE_FAIL 1 // ½ÇÆÐ #define ERROR_GUILD_NOTICE_MASTER 2 // ½ÇÆÐ - ±æµåÀå // ±æµå °øÁö ¼öÁ¤ struct MSG_REQ_GUILD_NOTICE : MSGROOT { wchar_t notice[MAX_GUILD_NOTICE_BUFFER_SIZE]; // µî·ÏÇÒ °øÁö }; struct MSG_RES_GUILD_NOTICE : MSG_ERROR {}; struct MSG_SYN_GUILD_NOTICE : MSGROOT { wchar_t notice[MAX_GUILD_NOTICE_BUFFER_SIZE]; // »õ °øÁö unsigned long GetMsgLength( ) { return sizeof(MSG_SYN_GUILD_NOTICE) - sizeof(notice) + ::wcslen(notice)*sizeof(wchar_t); } }; #define ERROR_GUILDMARK_UPDATE_SUCCESS 0 // ¼º°ø #define ERROR_GUILDMARK_UPDATE_FAIL 1 // ½ÇÆÐ #define ERROR_GUILDMARK_UPDATE_POSITION 2 // ±ÇÇÑ½ÇÆÐ // ±æµå ¸¶Å© º¯°æ struct MSG_REQ_GUILDMARK_UPDATE : MSGROOT { BYTE mark[MARK_SIZE]; /// ±æµå¸¶Å© °»½Å }; struct MSG_RES_GUILDMARK_UPDATE : MSG_ERROR {}; #define ERROR_GUILDMARK_SEND_SUCCESS 0 // ¼º°ø #define ERROR_GUILDMARK_SEND_FAIL 1 // ½ÇÆÐ // ±æµå ¸¶Å© send ¿äû struct MSG_REQ_GUILDMARK_SEND : MSGROOT { unsigned long guildIndex; /// ±æµå À妽º }; struct MSG_RES_GUILDMARK_SEND : MSG_ERROR { unsigned long guildIndex; /// ±æµå À妽º tm registDate; /// µî·Ï ³¯Â¥ BYTE mark[MARK_SIZE]; /// ±æµå¸¶Å© }; // ±æµåÀ¯Àú Á¢¼Ó Á¤º¸ struct MSG_SYN_GUILDUSER_CONNECT : MSGROOT { unsigned long characterIndex; BYTE connect; DWORD channelNum; }; #pragma pack(pop)