#ifndef _NA_0_20110613_GAME_SHOP_RENEWAL #ifndef __SOLARSHOP_DEFINE_SHOPSERVER_H #define __SOLARSHOP_DEFINE_SHOPSERVER_H #pragma once // (CHANGES) (100118) (WAVERIX) changes pack usage #pragma pack(push, 1) // »ó¼ö Á¤ÀÇ #define MAX_RECORD_SIZE 1024 #define MAX_ITEM_NAME_LENGTH 64 #define MAX_ITEM_DESC_LENGTH 128 #define MAX_PACKAGE_NAME_LENGTH 64 #define MAX_PACKAGE_DESC_LENGTH 128 #define MAX_ITEM_SIZE 128 #define MAX_PACKAGE_SIZE 96 #define MAX_BRANCH_ITEM_SIZE 512 #define MAX_BUY_ITEM_SIZE 256 #define MAX_PACKAGE_ITEM_SIZE 16 #define MAX_ITEM_PRICE_SIZE 8 #define MAX_CHARACTER_NAME_LENGTH 96 #define MAX_BUY_REQ_SIZE 16 //#define MAX_GIFT_MESSAGE_LENGTH 96 #define MAX_GIFT_MESSAGE_LENGTH 512 // 07-03-02 º¸³½ ¼±¹° ¸Þ½ÃÁö ±æÀÌ ÆÐÄ¡ ¹× Å×½ºÆ®(°³¹ß ³×Æ®¿÷) #define MAX_GIFT_ITEM_SIZE 32 #define MAX_ITEM_EXTEND_OPTIONS 3 #define MAX_ITEM_EXTEND_OPTION_SIZE 1024 #define E_EXCEPTION (DWORD)(~0) #define GAME_CODE_MU "01" #define GAME_CODE_SUN "02" /* ¼±¹° ¾ÆÀÌÅÛ »óÅ */ enum eGIFT_STATE { eGS_WAIT = 0, ///> ´ë±â eGS_ACCEPT, ///> ¼±¹° ½ÂÀÎ eGS_REJECT, ///> ¼±¹° °ÅºÎ eGS_DELETE ///> ¼±¹° »èÁ¦ }; /* ¾ÆÀÌÅÛ ±¸ºÐ */ enum eDEF_ITEM_TYPE { eTYPE_ITEM = 1, eTYPE_PACKAGE }; /* ¾ÆÀÌÅÛ ±¸ºÐ */ enum eBUY_TYPE { eBT_CASH = 1, eBT_NON_CASH = 2, #ifdef __NA_00387_20070605_SHOP_MILEAGE2 eBT_MILEAGE = 3, #endif }; /** ERROR Á¤ÀÇ */ enum eRET_ERROR_CODE { eRET_FAIL, ///> ½ÇÆÐ eRET_SUCCESS, ///> ¼º°ø eRET_NOT_ENOUGH_CASH = 8, ///> ÀÜ¾× ºÎÁ· eRET_DB_ERROR, ///> Shop DB ¿À·ù eRET_NOT_FOUND_ITEM, ///> Á¸Àç ÇÏÁö ¾Ê´Â ÆÇ¸Å ¾ÆÀÌÅÛ eRET_LIMIT_BUY_COUNT_ERROR, ///> ÆÇ¸Å Á¦ÇѼö Á¦ÇÑ eRET_BUY_COOL_TIME_ERROR, ///> ±¸¸Å ÄðŸÀÓ Á¦ÇÑ eRET_INVALID_VALUE, ///> À߸øµÈ °ªÀÎ °æ¿ì eRET_INVALID_ID_VALUE, ///> À߸øµÈ ID¹× GUID°ªÀÎ °æ¿ìr eRET_NOT_ENOUGH_MILEAGE, ///> ¸¶Àϸ®Áö ºÎÁ· =====> 2007/6/5 Ãß°¡ eRet_INVALID_BILLING_PARAM, ///> ºô¸µ ÆÄ¶ó¸ÞÅÍ ¿¡·¯ eRet_BILLING_NETWORK_ERROR, ///> ºô¸µ ¼­¹ö ³×Æ®¿öÅ© Àå¾Ö eRet_BILLING_SERVER_LOGIC_ERROR, ///> ºô¸µ ¼­¹ö ·ÎÁ÷ Àå¾Ö eRet_NOT_EXIST_BILLING_ITEM_CODE, ///> ºô¸µ ¼­¹ö¿¡ µî·ÏµÇÁö ¾ÊÀº »óǰÄÚµå eRet_NOT_EXIST_BILLING_TRADE_CODE, ///> ºô¸µ ¼­¹ö¿¡ µî·ÏµÇÁö ¾ÊÀº °Å·¡±¸ºÐÄÚµå eRet_EXCEED_LIMIT_CHARGE, ///> ÃæÀüÇѵµÃʰú eRet_ABNORMALITY_CHARGE_TRANSACTION,///> ºñÁ¤»óÀûÀÎ ÃæÀü Æ®·£Àè¼Ç eRet_GIFT_ITEM_BLACK_LIST, ///> ¼±¹° ÀÚ°Ý ¹Ì´Þ - black listed eRet_GIFT_ITEM_BANNED_USER, ///> ¼±¹° ÀÚ°Ý ¹Ì´Þ - banned user eRet_GIFT_ITEM_NOT_EXIST_HISTORY, ///> ¼±¹° ÀÚ°Ý ¹Ì´Þ - µÎ´Þ³» µÎ¹øÀÌ»ó ÃæÀüÀÌ·ÂÀÌ ¾øÀ»¶§ eRet_EXCEED_LIMIT_GIFT_ITEM, ///> ¼±¹° ÀÚ°Ý ¹Ì´Þ - ¼±¹°Çϱâ ÇѵµÃʰú eRet_BILLING_SYSTEM_ERROR, ///> ºô¸µ ½Ã½ºÅÛ ¿¡·¯ eRet_BILLING_ETC_ERROR, ///> ºô¸µ ±âŸ¿¡·¯ }; /** ÆÇ¸Å ¾ÆÀÌÅÛ °¡°Ý Á¤º¸ record */ typedef struct sellItemPrice { DWORD dwPriceGuid; ///> ÆÇ¸Å °¡°Ý °íÀ¯ ¹øÈ£ DWORD dwItemGuid; ///> ÆÇ¸Å °íÀ¯ ¹øÈ£ DWORD dwUseTime; ///> (Á¤¾×Á¦:³¯Â¥ Á¤·®Á¦:½Ã°£) DWORD dwAmount; ///> (¼Ò¸ð¼º,¹«Á¦ÇÑ:¼ö·®) DWORD dwPrice; ///> ÆÇ¸Å°¡°Ý DWORD dwSellRate; ///> ¾ÆÀÌÅÛ ¼¼ÀÏ ºñÀ²°ª } tblSellItemPrice; /** ÆÇ¸Å ¾ÆÀÌÅÛ record */ typedef struct sellItem { DWORD dwItemGuid; ///> ÆÇ¸Å °íÀ¯ ¹øÈ£ DWORD dwItemCODE; ///> ¾ÆÀÌÅÛ °íÀ¯ ¹øÈ£ DWORD dwCategoryID; ///> Ä«Å×°í¸® ¾ÆÀ̵ð DWORD dwUseType; ///> »ç¿ë ¼Ó¼º(1: Á¤¾×Á¦ 2: Á¤·®Á¦ 3: ¼Ò¸ð¼º 4:¹«Á¦ÇÑ) DWORD dwBuyType; ///> ±¸¸Å ¼ö´Ü(1: ij½¬ 2: ÇÏÀÓ) DWORD dwCoolTime; ///> ±¸¸Å ÄðŸÀÓ double dbVarEndDate; ///> ¸¸·á ÀÏÀÚ DWORD dwLimitSellCount; ///> ¾ÆÀÌÅÛ ÃÑ ÆÇ¸Å ¼ö·® DWORD dwState; ///> ¾ÆÀÌÅÛ »óÅÂ(1:ÆÇ¸ÅÁß 2:ÆÇ¸Å´ë±âÁß) char szItemName[MAX_ITEM_NAME_LENGTH]; ///> ¾ÆÀÌÅÛ À̸§ char szItemDesc[MAX_ITEM_DESC_LENGTH]; ///> ¾ÆÀÌÅÛ ¼³¸í DWORD dwPriceCount; tblSellItemPrice itemPrice[MAX_ITEM_PRICE_SIZE]; ///> °¡°Ý Á¤º¸ } tblSellItem; #ifdef __NA_00387_20070605_SHOP_MILEAGE2 //2007/6/5 Ãß°¡ /** ÆÇ¸Å ¸¶Àϸ®Áö ¾ÆÀÌÅÛ record */ typedef struct sellMileageItem { DWORD dwItemGuid; ///> ÆÇ¸Å °íÀ¯ ¹øÈ£ DWORD dwItemCODE; ///> ¾ÆÀÌÅÛ °íÀ¯ ¹øÈ£ DWORD dwCategoryID; ///> Ä«Å×°í¸® ¾ÆÀ̵ð DWORD dwUseType; ///> »ç¿ë ¼Ó¼º(1: Á¤¾×Á¦ 2: Á¤·®Á¦ 3: ¼Ò¸ð¼º 4:¹«Á¦ÇÑ) DWORD dwBuyType; ///> ±¸¸Å ¼ö´Ü(1: ij½¬ 2: ÇÏÀÓ 3: ¸¶Àϸ®Áö) DWORD dwCoolTime; ///> ±¸¸Å ÄðŸÀÓ double dbVarEndDate; ///> ¸¸·á ÀÏÀÚ DWORD dwLimitSellCount; ///> ¾ÆÀÌÅÛ ÃÑ ÆÇ¸Å ¼ö·® DWORD dwState; ///> ¾ÆÀÌÅÛ »óÅÂ(1:ÆÇ¸ÅÁß 2:ÆÇ¸Å´ë±âÁß) char szItemName[MAX_ITEM_NAME_LENGTH]; ///> ¾ÆÀÌÅÛ À̸§ char szItemDesc[MAX_ITEM_DESC_LENGTH]; ///> ¾ÆÀÌÅÛ ¼³¸í DWORD dwPriceCount; tblSellItemPrice itemPrice[MAX_ITEM_PRICE_SIZE]; ///> °¡°Ý Á¤º¸ } tblSellMileageItem; #endif /** ÆÇ¸Å ÆÐŰÁö record */ typedef struct sellPackage { DWORD dwPackageGuid; ///> ÆÐŰÁö ¾ÆÀÌÅÛ °íÀ¯ ¹øÈ£ tblSellItemPrice itemPrice; ///> ÆÐŰÁö °¡°Ý Á¤º¸ DWORD dwImageCode; ///> ÆÐŰÁö À̹ÌÁö ÄÚµå DWORD dwCategory; ///> Ä«Å×°í¸® ¾ÆÀ̵ð DWORD dwBuyType; ///> ±¸¸Å¼ö´Ü(1: ij½¬ 2: ÇÏÀÓ) DWORD dwLimitSellCount; ///> ¾ÆÀÌÅÛ ÃÑ ÆÇ¸Å ¼ö·® DWORD dwInItemCount; ///> Æ÷ÇÔµÈ ¾ÆÀÌÅÛ °¹¼ö double dbVarEndDate; ///> ¸¸·á ÀÏÀÚ DWORD dwState; ///> ¾ÆÀÌÅÛ »óÅÂ(1:ÆÇ¸ÅÁß 2:ÆÇ¸Å´ë±âÁß) tblSellItemPrice inItemPrices[MAX_PACKAGE_ITEM_SIZE]; ///> Æ÷ÇÔµÈ ¾ÆÀÌÅÛ °¡°Ý Á¤º¸ ¸®½ºÆ® char szPackageName[MAX_PACKAGE_NAME_LENGTH]; ///> ÆÐŰÁö À̸§ char szPackageDesc[MAX_PACKAGE_DESC_LENGTH]; ///> ÆÐŰÁö ¼³¸í } tblSellPackage; /** ¾ÆÀÌÅÛ ±¸¸Å ÀÌ·Â record */ typedef struct buyItem { DWORD dwServerGuid; ///> ¿ùµå ±¸º°À» À§ÇÑ ¼­¹ö Ű char szCharName[MAX_CHARACTER_NAME_LENGTH]; ///> ij¸¯ÅÍ À̸§ char szItemName[MAX_ITEM_NAME_LENGTH]; ///> ¾ÆÀÌÅÛ À̸§ DWORD dwPriceGuid; ///> ±¸¸Å¹øÈ£ GUID DWORD dwBuyType; ///> ±¸¸Å ¼ö´Ü DWORD dwPrice; ///> ±¸¸Å °¡°Ý double dbVarBuyDate; ///> ±¸¸ÅÀÏ } tblBuyItem; /** ¾ÆÀÌÅÛ ºÐ·ù ¸ñ·Ï record */ typedef struct itemBranch { DWORD dwBranchID; DWORD dwGuid; ///> ¾ÆÀÌÅÛ ÀÎ °æ¿ì´Â ¾ÆÀÌÅÛ Guid / ÆÐŰÁöÀÎ °æ¿ì´Â ÆÐŰÁö Guid DWORD dwItemType; ///> ¾ÆÀÌÅÛ Å¸ÀÔ(1:¾ÆÀÌÅÛ 2:ÆÐŰÁö) } tblItemBranch; /** ±¸¸Å ¿äû Transzction record */ typedef struct buyItemTransaction { DWORD dwTransactionGuid; ///> ±¸¸Å ¿äû Transaction Guid DWORD dwPriceGuid; ///> ÆÇ¸Å °¡°Ý °íÀ¯ ¹øÈ£ DWORD dwResult; ///> °á°ú #if defined(_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_) enum { PURCHASE_DEFAULT = 1, PURCHASE_PP_CASH = 2 }; BYTE buy_cache_type; //< ±¸¸Å ij½¬Å¸ÀÔ (1:ij½¬, 2:¼±ºÒÄ«µå_PP_) #endif /* 0 : ½ÇÆÐ 1 : ¼º°ø 8 : ÀÜ¾× ºÎÁ· 9 : Shop DB ¿À·ù */ } tblBuyItemTransaction; /** ¹ÞÀº ¼±¹° ¸ñ·Ï record */ typedef struct recvGiftItem { DWORD dwGiftItemID; ///> GiftItemID DWORD dwBuyItemID; ///> BuyItemID DWORD dwPriceGuid; ///> PriceGuid char szSendCharName[MAX_CHARACTER_NAME_LENGTH]; ///> º¸³½ »ç¿ëÀÚ Ä³¸¯ÅÍ À̸§ char szSendMessage[MAX_GIFT_MESSAGE_LENGTH]; ///> º¸³½ ¸Þ¼¼Áö DWORD dwState; ///> »óÅ char szItemName[MAX_ITEM_NAME_LENGTH]; ///> ¾ÆÀÌÅÛ À̸§ double dbSendDate; ///> º¸³½ ³¯Â¥ } tblRecvGiftItem; /** º¸³½ ¼±¹° ¸ñ·Ï record */ typedef struct sendGiftItem { DWORD dwGiftItemID; ///> GiftItemID DWORD dwBuyItemID; ///> BuyItemID DWORD dwPriceGuid; ///> PriceGuid char szSendMessage[MAX_GIFT_MESSAGE_LENGTH]; ///> º¸³½ ¸Þ¼¼Áö char szRecvCharName[MAX_CHARACTER_NAME_LENGTH]; ///> ¹ÞÀº »ç¿ëÀÚ Ä³¸¯ÅÍ À̸§ char szRecvMessage[MAX_GIFT_MESSAGE_LENGTH]; ///> ¹ÞÀº ¸Þ¼¼Áö DWORD dwState; ///> »óÅ char szItemName[MAX_ITEM_NAME_LENGTH]; ///> ¾ÆÀÌÅÛ À̸§ double dbSendDate; ///> º¸³½ ³¯Â¥ } tblSendGiftItem; // ¹«±â, ¹æ¾î±¸ È®Àå¿É¼Ç typedef struct itemExtendOption { DWORD dwItemGuid; DWORD dwItemOptions[MAX_ITEM_EXTEND_OPTIONS]; ///> 0. ÀÎæƮ·¹º§ 1. ·©Å©¾÷·¹º§ }tblItemExtendOption; #if !defined(__SHOP_CASH_DATA_DECLARATION__) #define __SHOP_CASH_DATA_DECLARATION__ // presentation by _NA00XXXX_090111_CASH_TYPE_SHARED_ struct CashData { CASH cash_; // default cash CASH pp_cash_; // pp card cash DWORD mileage_; // china mileage service }; #endif //#ifdef _NA_0_20101015_SOLAR_SHOP_REFACTORING typedef struct sellItemContainer { BOOL is_skin_item; // ½ºÅ² ¾ÆÀÌÅÛ ¿©ºÎ DWORD shopitem_filter; DWORD partition_index; // Æ÷ÇÔµÈ ÆÄƼ¼Ç DWORD category_index; // Ä«Å×°í¸® DWORD cache_index; tblSellItem* singleitem_info; tblSellPackage* packageitem_info; }tblSellItemContainer; //#endif //================================================================================================== #pragma pack(pop) #endif //__SOLARSHOP_DEFINE_SHOPSERVER_H #endif // not defined _NA_0_20110613_GAME_SHOP_RENEWAL