#pragma once #include "GameSrvDefines.h" struct SecureInfo { char session[32]; // GUID(UNIQUE) char status[3]; // »óÅÂ. u_long memberIdx; // °è Á¤ À妽º. u_long loginIdx; // ·Î±×ÀÎ À妽º. u_long lastChannel; // ÀÌÀü ä³Î. u_long characterIdx; // ij¸¯ÅÍ À妽º. BYTE slevel; // º¸¾Èµî±Þ. long pc; // PC¹æ »ç¿ëÀÚ. long gotoCID; // À̵¿ÇÒ CID. ULONG_PTR mHSClientHandle; // ÇÙ½¯µå u_long mHSNextCheckTime; // " bool mHSIsWait; // " bool mHSIsSkip; // " }; struct ClientInfo { union // Database Flag - Common { struct { // 0 off / 1 on bool check : 1; // ·Î±×ÀÎ ¿©ºÎ È®ÀÎ. bool characterList : 1; // ij¸¯ÅÍ ¸ñ·Ï °Ë»ö. bool characterName : 1; // ij¸¯ÅÍ À̸§ °Ë»ö. bool characterInsert : 1; // ij¸¯ÅÍ »ý¼º. bool characterDelete : 1; // ij¸¯ÅÍ »èÁ¦. bool characterSelect : 1; // ij¸¯ÅÍ ¼±ÅÃ. bool characterUpdate : 1; // ij¸¯ÅÍ °»½Å. bool characterMoney : 1; // ij¸¯ÅÍ ¼ÒÁö±Ý¾× °»½Å. bool characterActiveWeapon : 1; // ij¸¯ÅÍ È°¼º ¹«±âÁ¤º¸ °»½Å. bool characterLogin : 1; // ij¸¯ÅÍ Á¢¼ÓÁß °Ë»ö. bool friendSelect : 1; // Ä£±¸ ¸ñ·Ï °Ë»ö. bool friendInsert : 1; // Ä£±¸ Ãß°¡. bool friendUpdate : 1; // Ä£±¸ °»½Å. bool friendDelete : 1; // Ä£±¸ »èÁ¦. bool spreadValue : 1; // ½ºÇÁ·¹µå °á°ú°ª ¹Ýȯ. bool tarotResult : 1; // Ÿ·ÎÄ«µå È¿°ú°ª ¹Ýȯ. bool gameToGame : 1; // °ÔÀÓ¼­¹ö Á¢¼Ó(ä³ÎÀ̵¿). bool shortcutUpdate : 1; // ´ÜÃàâ °»½Å. bool logout : 1; // ·Î±×¾Æ¿ô. bool itemAgentSearch : 1; // ÆÇ¸Å´ëÇà °Ë»ö. bool out : 1; // ·Î±×ÀÎ °­Á¦ ÇØÁ¦. bool characterGmName : 1; // ij¸¯ÅÍ GMÀ̸§ µî·Ï. bool themeUserCheck : 1; // Å׸¶ ÀÎÁõ °Ë»ç. bool themeUserRemove : 1; // Å׸¶ »ç¿ë Á¤¸®. bool trial : 1; // ÀÚµ¿»ç³É ½Å°í bool loginLimit : 1; // ·Î±×ÀÎ Á¦ÇÑ (* »ç¿ëÇÏ´Â °÷ ¾øÀ½..) bool gmThemeUserReset : 1; // GM Å׸¶ ´øÁ¯ ÃʱâÈ­ bool gmEventInsert : 1; // GM À̺¥Æ® »ðÀÔ bool gmEventUpdate : 1; // GM À̺¥Æ® »èÁ¦ bool itemPwd : 1; // ¾ÆÀÌÅÛ ¾ÈÀü¹øÈ£ bool obtEvent : 1; // OBT À̺¥Æ® ////////////////////////////////////////////////////////////////////////// /// ¡Ø Ç׸ñ Ãß°¡³ª »èÁ¦½Ã COMMON_DB_CHECK ¸®½ºÆ®¿Í ¦À» ¸ÂÃç¾ß ÇÑ´Ù.!!! ////////////////////////////////////////////////////////////////////////// } commonDb; long commonDatabase; }; union // Database Flag - GameIn { struct { bool inventorySelect : 1; // Àκ¥Å丮 ¸ñ·Ï°Ë»ö. bool inventoryCooltime : 1; // ÄðŸÀÓ ¸ñ·Ï°Ë»ö. bool itemBillSelect : 1; // ¾ÆÀÌÅÛ ºô ¸ñ·Ï°Ë»ö. bool skillSelect : 1; // º¸À¯½ºÅ³ ¸ñ·Ï°Ë»ö. bool skillInfluenceSelect : 1; // º¸À¯½ºÅ³È¿°ú ¸ñ·Ï°Ë»ö. bool shortcutSelect : 1; // Äü½½·Ô ¸ñ·Ï°Ë»ö. bool questList : 1; // Äù½ºÆ® ¸ñ·Ï°Ë»ö. bool questEndList : 1; // Äù½ºÆ® ¿Ï·á ¸ñ·Ï°Ë»ö. bool questValidList : 1; // Äù½ºÆ® ¸¸±âÀϸñ·Ï°Ë»ö. bool titleList : 1; // º¸À¯È£Äª ¸ñ·Ï°Ë»ö. bool makeSkillList : 1; // Á¦Á¶½ºÅ³ ¸ñ·Ï°Ë»ö. bool fortuneData : 1; // ¿î¼¼Á¤º¸ ¸ñ·Ï°Ë»ö. bool themeUser : 1; // Å׸¶Á¤º¸ ¸ñ·Ï°Ë»ö. bool trial : 1; // ÀÚµ¿»ç³É½Å°í °ü·Ã½Ã°£. } gameInDb; long gameInDatabase; }; bool gameInDBEnd; bool gameInDBCnt; bool gameOutDBCnt; union // Databse Flag - Skill { struct { // 0 off / 1 on bool skillDbUse : 1; bool makeSkillDbUse : 1; } skillDb; long skillDatabase; }; union { struct { // 0 off / 1on bool questInsert : 1; // Äù½ºÆ® »ðÀÔ(db±â·ÏÁßÀÎÁö üũ) bool questDelete : 1; // Äù½ºÆ® Æ÷±â bool questDeleteAuto : 1; // Äù½ºÆ® ÀÚµ¿ »èÁ¦ bool questComplete : 1; // Äù½ºÆ® ÁøÇà¿Ï·á bool questReward : 1; // Äù½ºÆ® º¸»ó } questDb; long questDatabase; }; union { struct { // 0 off / 1on bool guildCreate : 1; // ±æµå »ý¼º bool guildAdd : 1; // ±æµå¿ø Ãß°¡ bool guildOut : 1; // ±æµå Å»Åð bool guildCut : 1; // ±æµå Ãß¹æ bool guildDelete : 1; // ±æµå ÇØÃ¼ bool guildGivePosition : 1; // ±æµå Á÷À§ºÎ¿© bool guildMarkUpdate : 1; // ±æµå ¸¶Å© °»½Å } guildDb; long guildDatabase; }; union // Request Flag { struct { // 0 off / 1 on bool channelList : 1; // ä³Î¸ñ·Ï. bool characterList : 1; // ij¸¯Å͸ñ·Ï. bool characterSelect : 1; // ij¸¯Åͼ±ÅÃ. bool characterEquip : 1; // ij¸¯ÅÍÀåºñ ±³Ã¤. bool characterOptionSend : 1; // ij¸¯ÅÍ¿É¼Ç Àü¼Û. bool gameIn : 1; // °ÔÀÓÀÎ. bool gameOut : 1; // °ÔÀӾƿô. bool inventorySend : 1; // Àκ¥Å丮 Àü¼Û. bool inventoryCooltimeSend : 1; // Àκ¥Å丮 ÄðŸÀÓ Àü¼Û. bool shortcutSend : 1; // ´ç Ãà â Àü¼Û. bool questSend : 1; // Äù½ºÆ® ¸ñ·Ï Àü¼Û bool titleSend : 1; // ȣĪ ¸ñ·Ï Àü¼Û bool gotoInstantDungeon : 1; // Instant Dungeon bool joinInstantDungeon : 1; // Instant Dungeon bool returnToMap : 1; // Return to Map bool joinMap : 1; // Join Map bool friendList : 1; // Ä£±¸ Àü¼Û. } request; long requestData; }; union // Complete Flag { struct { // 0 off / 1 on bool check : 1; // ·Î±×ÀÎ È®ÀÎ. bool characterSelect : 1; // ij¸¯ÅÍ ¼±ÅÃ. bool gameIn : 1; // °ÔÀÓÀÎ. bool inventory : 1; // Àκ¥Å丮. bool inventoryCooltime : 1; // Àκ¥Å丮 Äð ŸÀÓ. bool characterUpdate : 1; // ij¸¯ÅÍ ¾÷µ¥ÀÌÆ®. bool characterActiveWeapon : 1; // ij¸¯ÅÍ È°¼º ¹«±âÁ¤º¸. bool characterOption : 1; // ij¸¯ÅÍ ¿É¼Ç. bool influenceRelease : 1; // ½ºÅ³ È¿°ú ¸ñ·Ï Á¦°Å bool skillRelease : 1; // ½ºÅ³ Á¤º¸ Á¦°Å bool skillInfluenceUpdate : 1; // ½ºÅ³ È¿°ú ÀúÀå bool skillCoolTime : 1; // ÄðŸÀÓ ÀúÀå bool duelEnd : 1; // °áÅõ Á¾·á ó¸® bool shortcut : 1; // ´ÜÃàâ µî·ÏÁ¤º¸. bool friendSelect : 1; // Ä£±¸¸ñ·Ï È®ÀÎ. bool quest : 1; // Äù½ºÆ® È®ÀÎ bool pvpJoin : 1; // pvpÁß bool title : 1; // ȣĪ È®ÀÎ. bool fortuneData : 1; // ¿î¼¼¼Ó¼º È®ÀÎ. bool recipeCoolTime : 1; // Á¶ÇÕ ·¹½ÃÇÇ ÄðŸÀÓ. bool themeUser : 1; // Å׸¶. bool gameToGame : 1; // ä³Î°£ À̵¿. bool firstGameIn : 1; // ù °ÔÀÓ Á¢¼Ó. bool pgBilling : 1; // PC¹æ ºô¸µ. } complete; long completeData; }; struct { DWORD loginUpdate; // ·Î±×ÀÎ ¾÷µ¥ÀÌÆ® Áö¿¬. DWORD characterTTL; // ij¸¯ÅÍ TTL Áö¿¬. DWORD channelList; // ä ³Î¸ñ·Ï Áö¿¬. DWORD characterList; // ij¸¯Å͸ñ·Ï Áö¿¬. DWORD firendSend; // Ä£ ±¸¸ñ·Ï Áö¿¬. DWORD questSave; // Äù½ºÆ®ÀúÀå Áö¿¬. DWORD chatting; // äÆÃ Áö¿¬. DWORD cashList; // ij½Ã¾ÆÀÌÅÛ ¸ñ·Ï Áö¿¬ } delay; // struct SecureInfo - ½ÃÀÛ (SecureInfo¿Í µ¿ÀÏÇÏ°Ô µî·Ï ÇØ¾ßµÊ) char session[32]; // GUID(UNIQUE) char status[3]; // »óÅÂ. u_long memberIdx; // °è Á¤ À妽º. u_long loginIdx; // ·Î±×ÀÎ À妽º. u_long lastChannel; // ÀÌÀü ä³Î. u_long characterIdx; // ij¸¯ÅÍ À妽º. BYTE slevel; // º¸¾Èµî±Þ. long pc; // PC¹æ »ç¿ëÀÚ. long gotoCID; // À̵¿ÇÒ CID. // ÀϺ»OBT À̺¥Æ® ¾ÆÀÌÅÛ Áö±Þ °ü·Ã // °ª - 0:´ë»ó¾Æ´Ô/1:À̺¥Æ®´ë»ó/2:¾ÆÀÌÅÛÁö±Þ¿Ï·á BYTE cbtUser; // CBT Âü¿© ¿©ºÎ BYTE obtUser; // OBT ½Å±Ô À¯Àú ¿©ºÎ BYTE fourGamer; // 4gamer À¯Àú ¿©ºÎ ULONG_PTR mHSClientHandle; // ÇÙ½¯µå u_long mHSNextCheckTime; // " bool mHSIsWait; // " bool mHSIsSkip; // " ////////////////////////////////////////////////////////////////////////// // ¡Ø Ç׸ñ º¯°æ½Ã struct SecureInfo ¿Í ¦À» ¸ÂÃç¾ß ÇÑ´Ù. !!! ////////////////////////////////////////////////////////////////////////// // struct SecureInfo - Á¾·á bool isCheatDungeonIn; short themeRoomIdx; // Å׸¶ ·ë ¹øÈ£. char themeMode; // Å׸¶ ¸ðµå(³­À̵µ) unsigned long mBPNextCheckTime; // ÀÓ½ÃÀúÀå Á¤º¸. TB_SHORTCUT shortcut; // ´ÜÃàŰ µ¥ÀÌÅÍ. long optionData1; // ¿É ¼Ç µ¥ÀÌÅÍ. };