#ifndef _PACKETSTRUCT_GM_H_ #define _PACKETSTRUCT_GM_H_ #include #include #include #pragma pack(push,1) // DB ÇÁ¶ô½Ã ¼­¹öÀÇ Á¤º¸¸¦ º¸³»ÁØ´Ù. struct MSG_GM_CONNECTION_SERVER_INFO_CMD : public MSG_BASE { SERVER_KEY m_ServerKey; DWORD m_dwServerGUID; CHAR m_szDBProxyServerIP[MAX_IP_STRING_LEN+1]; WORD m_wDBProxyServerPort; CHAR m_szAgentServerIP[MAX_IP_STRING_LEN+1]; WORD m_wAgentServerPort; CHAR m_szGuildServerIP[MAX_IP_STRING_LEN+1]; WORD m_wGuildServerPort; CHAR m_szPortalServerIP[MAX_IP_STRING_LEN+1]; WORD m_wPortalServerPort; CHAR m_szShopServerIP[MAX_IP_STRING_LEN+1]; WORD m_wShopServerPort; }; // µ¥ÀÌÅ͸¦ ¸®·Îµå Çϵµ·Ï ¸í·ÉÇÑ´Ù. struct MSG_GM_RELOAD_DATA_CMD : public MSG_BASE { }; // ÇöÀç ¼­¹öÀÇ ÅëÈ­·® Á¤¸® struct MSG_GM_USERMONEY_NTF : public MSG_BASE_FORWARD { ULONGLONG ui64TotalGetMoney; // ÀÏÁ¤ ½Ã°£ µ¿¾È »ý°Ü³­ µ· ÃѰè ULONGLONG ui64TotalLoseMoney; // ÀÏÁ¤ ½Ã°£ µ¿¾È ¾ø¾îÁø µ· ÃѰè ULONGLONG ui64TotalUserMoney; // ÇöÀç µ¿Á¢ À¯ÀúµéÀÌ °®°í ÀÖ´Â Æò±Õ ±Ý¾× }; // °ÔÀÓ Åë°è struct MSG_GM_OPERATION_STATISTICS_REQ : public MSG_BASE { MSG_GM_OPERATION_STATISTICS_REQ() { m_byCategory = GM_OPERATION; m_byProtocol = GM_OPERATION_STATISTICS_REQ; } }; struct MSG_GM_OPERATION_STATISTICS_ANS : public MSG_BASE { MSG_GM_OPERATION_STATISTICS_ANS() { m_byCategory = GM_OPERATION; m_byProtocol = GM_OPERATION_STATISTICS_ANS; } ULONGLONG ui64UserMoney; ULONGLONG ui64WarehouseAveMoney; // â°í Æò±Õ ±Ý¾× ULONGLONG ui64StatisticsType[41]; // Àüü Åë°è(eSTATISTICS_TYPE ÂüÁ¶) }; struct MSG_GM_OPERATION_USERMONEY_REQ : public MSG_BASE { MSG_GM_OPERATION_USERMONEY_REQ() { m_byCategory = GM_OPERATION; m_byProtocol = GM_OPERATION_USERMONEY_REQ; } }; struct MSG_GM_OPERATION_USERMONEY_ANS : public MSG_BASE { MSG_GM_OPERATION_USERMONEY_ANS() { m_byCategory = GM_OPERATION; m_byProtocol = GM_OPERATION_USERMONEY_ANS; } ULONGLONG ui64UserMoney; ULONGLONG ui64TotalPlusMoney; ULONGLONG ui64TotalMinusMoney; ULONGLONG ui64WarehouseAveMoney; // â°í Æò±Õ ±Ý¾× ULONGLONG ui64WarehousePlusMoney; // â°í¿¡ µé¾î°£ µ· ULONGLONG ui64WarehouseMinusMoney; // â°í¿¡¼­ ³ª°£ µ· USHORT usJackpotCnt; // ÀèÆÌ ÅÍÁø Ƚ¼ö ULONGLONG JackpotMoney; // ÀèÆÌ ±Ý¾× ÇÕ°è }; /* struct STRUCT_RESTRICT { DWORD dwFunc; BOOL bAllow; }; */ // ƯÁ¤ ±â´É »ç¿ë ±ÝÁö struct MSG_GM_OPERATION_FUNCRESTRICT_CMD : public MSG_BASE { enum { MAX_FUNC_COUNT = 255, }; MSG_GM_OPERATION_FUNCRESTRICT_CMD() { m_byCategory = GM_OPERATION; m_byProtocol = GM_OPERATION_FUNCRESTRICT_CMD; } BYTE byRestrictNum; // ±ÝÁöÇÒ ±â´É °³¼ö STRUCT_RESTRICT SRESTRICT[MAX_FUNC_COUNT]; int GetSize() { return ( sizeof(MSG_GM_OPERATION_FUNCRESTRICT_CMD) - ( sizeof(STRUCT_RESTRICT) * ( MAX_FUNC_COUNT - byRestrictNum ) ) ); } }; /* ////////////////////////////////// // Á¾·á ÆÐŶ struct MSG_GM_OPERATION_SERVERSHUTDOWN_REQ : public MSG_BASE_FORWARD { }; struct MSG_GM_OPERATION_SERVERSHUTDOWN_ANS : public MSG_BASE_FORWARD { }; */ #define PACKET_GM_OPEN( c, p ) \ struct MSG_##p : public MSG_BASE \ { MSG_##p() { m_byCategory = c; m_byProtocol = p; } #define PACKET_GM_CLOSE }; #ifdef __WAVERIX_SOLAR_AUTH_SERVER_IMPLEMENTATION__ PACKET_GM_OPEN( GM_CONNECTION, GM_CONNECTION_DISCONNECT_CMD ) PACKET_GM_CLOSE PACKET_GM_OPEN( GM_CONNECTION, GM_CONNECTION_PHASE_SHIFT_CMD ) DWORD m_dwPHASE_SHIFT; PACKET_GM_CLOSE PACKET_GM_OPEN( GM_CONNECTION, GM_CONNECTION_BLOCK_CMD ) PACKET_GM_CLOSE #endif //__WAVERIX_SOLAR_AUTH_SERVER_IMPLEMENTATION__ //__NA000000_070523_REPORT_TO_SOLARAUTH PACKET_GM_OPEN( GM_OPERATION, GM_OPERATION_REPORT_CACHEITEM_PURCHASE_NTF ) sCACHEITEM_REPORT_INFO m_INFO; PACKET_GM_CLOSE #pragma pack(pop) #endif // _PACKETSTRUCT_GM_H_