Originale 134 Posted February 27, 2014 Share Posted February 27, 2014 Hi to all Here I wanted to run the auction system From after that I could see this system it needs 4 missing table. Table "auction, sale, wish, my_bid" auction.sql SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `auction` -- ---------------------------- DROP TABLE IF EXISTS `auction`; CREATE TABLE `auction` ( `item_num` int(10) DEFAULT NULL, `offer_price` int(10) DEFAULT NULL, `price` int(10) DEFAULT NULL, `offer_id` int(10) DEFAULT NULL, `shown_name` int(10) DEFAULT NULL, `empire` int(10) DEFAULT NULL, `expired_time` int(10) DEFAULT NULL, `item_id` int(10) DEFAULT NULL, `bidder_id` int(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; sale.sql SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `sale` -- ---------------------------- DROP TABLE IF EXISTS `sale`; CREATE TABLE `sale` ( `item_num` int(10) DEFAULT NULL, `offer_price` int(10) DEFAULT NULL, `price` int(10) DEFAULT NULL, `offer_id` int(10) DEFAULT NULL, `shown_name` int(10) DEFAULT NULL, `empire` int(10) DEFAULT NULL, `expired_time` int(10) DEFAULT NULL, `item_id` int(10) DEFAULT NULL, `whisher_id` int(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; wish.sql SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `wish` -- ---------------------------- DROP TABLE IF EXISTS `wish`; CREATE TABLE `wish` ( `item_num` int(10) DEFAULT NULL, `offer_price` int(10) DEFAULT NULL, `price` int(10) DEFAULT NULL, `offer_id` int(10) DEFAULT NULL, `shown_name` int(10) DEFAULT NULL, `empire` int(10) DEFAULT NULL, `expired_time` int(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; my_bid.sql SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `my_bid` -- ---------------------------- DROP TABLE IF EXISTS `my_bid`; CREATE TABLE `my_bid` ( `player_id` int(10) DEFAULT NULL, `item_id` int(10) DEFAULT NULL, ) ENGINE=InnoDB DEFAULT CHARSET=latin1; I am not a professional so I put the table as I could xD I saw also that he lacks the SQL syntax in the source code and db game can be. void AuctionManager::LoadAuctionInfo() { char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "select * from auction"); SQLMsg *msg = CDBManager::instance().DirectQuery(szQuery); MYSQL_RES *res = msg->Get()->pSQLResult; if (!res) { return; } int rows; if ((rows = mysql_num_rows(res)) <= 0) // µ¥ÀÌÅÍ ¾øÀ½ { return; } for (int i = 0; i < rows; ++i) { MYSQL_ROW row = mysql_fetch_row(res); TAuctionItemInfo auctionItemInfo; int cur = 0; str_to_number(auctionItemInfo.item_num, row[cur++]); str_to_number(auctionItemInfo.offer_price, row[cur++]); str_to_number(auctionItemInfo.price, row[cur++]); str_to_number(auctionItemInfo.offer_id, row[cur++]); thecore_memcpy (auctionItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1); cur++; str_to_number(auctionItemInfo.empire, row[cur++]); str_to_number(auctionItemInfo.expired_time, row[cur++]); str_to_number(auctionItemInfo.item_id, row[cur++]); str_to_number(auctionItemInfo.bidder_id, row[cur++]); InsertAuctionItemInfoCache(&auctionItemInfo, true); } return; } void AuctionManager::LoadSaleInfo() { char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "select * from sale"); SQLMsg *msg = CDBManager::instance().DirectQuery(szQuery); MYSQL_RES *res = msg->Get()->pSQLResult; if (!res) { return; } int rows; if ((rows = mysql_num_rows(res)) <= 0) // µ¥ÀÌÅÍ ¾øÀ½ { return; } for (int i = 0; i < rows; ++i) { MYSQL_ROW row = mysql_fetch_row(res); TSaleItemInfo saleItemInfo; int cur = 0; str_to_number(saleItemInfo.item_num, row[cur++]); str_to_number(saleItemInfo.offer_price, row[cur++]); str_to_number(saleItemInfo.price, row[cur++]); str_to_number(saleItemInfo.offer_id, row[cur++]); thecore_memcpy (saleItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1); cur++; str_to_number(saleItemInfo.empire, row[cur++]); str_to_number(saleItemInfo.expired_time, row[cur++]); str_to_number(saleItemInfo.item_id, row[cur++]); str_to_number(saleItemInfo.wisher_id, row[cur++]); InsertSaleItemInfoCache(&saleItemInfo, true); } return; } void AuctionManager::LoadWishInfo() { char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "select * from wish"); SQLMsg *msg = CDBManager::instance().DirectQuery(szQuery); MYSQL_RES *res = msg->Get()->pSQLResult; if (!res) { return; } int rows; if ((rows = mysql_num_rows(res)) <= 0) // µ¥ÀÌÅÍ ¾øÀ½ { return; } for (int i = 0; i < rows; ++i) { MYSQL_ROW row = mysql_fetch_row(res); TWishItemInfo wishItemInfo; int cur = 0; str_to_number(wishItemInfo.item_num, row[cur++]); str_to_number(wishItemInfo.offer_price, row[cur++]); str_to_number(wishItemInfo.price, row[cur++]); str_to_number(wishItemInfo.offer_id, row[cur++]); thecore_memcpy (wishItemInfo.shown_name, (char*)row[cur], strlen((char*)row[cur]) +1); cur++; str_to_number(wishItemInfo.empire, row[cur++]); str_to_number(wishItemInfo.expired_time, row[cur++]); InsertWishItemInfoCache(&wishItemInfo, true); } return; } void AuctionManager::LoadMyBidInfo () { char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "select * from my_bid"); SQLMsg *msg = CDBManager::instance().DirectQuery(szQuery); MYSQL_RES *res = msg->Get()->pSQLResult; if (!res) { return; } int rows; if ((rows = mysql_num_rows(res)) <= 0) // µ¥ÀÌÅÍ ¾øÀ½ { return; } for (int i = 0; i < rows; ++i) { MYSQL_ROW row = mysql_fetch_row(res); int cur = 0; DWORD player_id; DWORD item_id; int money; str_to_number(player_id, row[cur++]); str_to_number(item_id, row[cur++]); str_to_number(money, row[cur++]); InsertMyBid (player_id, item_id, money); } return; } It would be cool to make this system work for the benefit of the comunity 4 Link to comment Share on other sites More sharing options...
JachuPL 312 Posted February 27, 2014 Share Posted February 27, 2014 Great work! I will check if there are any files in global client //edit: Yes, we have one script called uiauction.py in root import ui class AuctionWindow(ui.ScriptWindow): class PageWindow(ui.ScriptWindow): def __init__(self, parent, filename): ui.ScriptWindow.__init__(self) self.SetParent(parent) self.filename = filename def GetScriptFileName(self): return self.filename def __init__(self): ui.ScriptWindow.__init__(self) self.__LoadWindow() self.SelectPage("UNIQUE_AUCTION") def __LoadWindow(self): pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, "uiscript/auctionwindow.py") self.pageName = { "LIST" : "¸Ĺ¸Ĺ ¸®˝şĆ®", "REGISTER" : "¸Ĺ¸Ĺ µî·Ď", "UNIQUE_AUCTION" : "ŔŻ´ĎĹ© °ć¸Ĺ", } self.pageWindow = { "LIST" : self.PageWindow(self, "uiscript/auctionwindow_listpage.py"), "REGISTER" : self.PageWindow(self, "uiscript/auctionwindow_registerpage.py"), "UNIQUE_AUCTION" : self.PageWindow(self, "uiscript/auctionwindow_uniqueauctionpage.py"), } self.board = self.GetChild("Board") self.tabDict = { "LIST" : self.GetChild("Tab_01"), "REGISTER" : self.GetChild("Tab_02"), "UNIQUE_AUCTION" : self.GetChild("Tab_03"), } self.tabButtonDict = { "LIST" : self.GetChild("Tab_Button_01"), "REGISTER" : self.GetChild("Tab_Button_02"), "UNIQUE_AUCTION" : self.GetChild("Tab_Button_03"), } for page in self.pageWindow.values(): pyScrLoader.LoadScriptFile(page, page.GetScriptFileName()) for key, button in self.tabButtonDict.items(): button.SetEvent(self.SelectPage, key) self.__MakeListPage() self.__MakeRegisterPage() self.__MakeUniqueAuctionPage() def Destroy(self): self.ClearDictionary() def __MakeListPage(self): page = self.pageWindow["LIST"] yPos = 27 AUCTION_LINE_COUNT = 10 for i in xrange(AUCTION_LINE_COUNT): numberSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_00.sub", 11, yPos) numberSlot = ui.MakeTextLine(numberSlotImage) page.Children.append(numberSlotImage) page.Children.append(numberSlot) nameSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_04.sub", 55, yPos) nameSlot = ui.MakeTextLine(nameSlotImage) page.Children.append(nameSlotImage) page.Children.append(nameSlot) priceSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_05.sub", 175, yPos) priceSlot = ui.MakeTextLine(priceSlotImage) page.Children.append(priceSlotImage) page.Children.append(priceSlot) deleteButton = ui.Button() deleteButton.SetParent(page) deleteButton.SetPosition(310, yPos) deleteButton.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub") deleteButton.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub") deleteButton.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub") deleteButton.SetText("±¸ŔÔ") deleteButton.Show() page.Children.append(deleteButton) yPos += 20 def __MakeRegisterPage(self): pass def __MakeUniqueAuctionPage(self): page = self.pageWindow["UNIQUE_AUCTION"] LINE_COUNT = 3 for i in xrange(LINE_COUNT): yPos = 5 + 99*i itemSlotImage = ui.MakeSlotBar(page, 10, yPos, 97, 97) page.Children.append(itemSlotImage) itemName = ui.MakeTextLine(page, FALSE, 117, yPos + 14) page.Children.append(itemName) ## Temporary itemName.SetText("Ľ±łŕŔÇ şńłŕ") ## Temporary curPrice = ui.MakeTextLine(page, FALSE, 117, yPos + 31) page.Children.append(curPrice) ## Temporary curPrice.SetText("ÇöŔç°ˇ : 20ľď 1234¸¸ 1234łÉ") ## Temporary lastTime = ui.MakeTextLine(page, FALSE, 117, yPos + 48) page.Children.append(lastTime) ## Temporary lastTime.SetText("ł«Âű±îÁö ł˛Ŕş ˝Ă°Ł : 19şĐ 28ĂĘ") ## Temporary priceSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_05.sub", 117, yPos + 65) priceSlot = ui.MakeTextLine(priceSlotImage) page.Children.append(priceSlotImage) page.Children.append(priceSlot) ## Temporary priceSlot.SetText("20ľď 1234¸¸ 1234łÉ") ## Temporary def SelectPage(self, arg): for key, btn in self.tabButtonDict.items(): if arg != key: btn.SetUp() for key, img in self.tabDict.items(): if arg == key: img.Show() else: img.Hide() for key, page in self.pageWindow.items(): if arg == key: page.Show() else: page.Hide() self.board.SetTitleName(self.pageName[arg]) Link to comment Share on other sites More sharing options...
Originale 134 Posted February 27, 2014 Author Share Posted February 27, 2014 The Base page Python This file is present in all customer and I think is not complete import ui class AuctionWindow(ui.ScriptWindow): class PageWindow(ui.ScriptWindow): def __init__(self, parent, filename): ui.ScriptWindow.__init__(self) self.SetParent(parent) self.filename = filename def GetScriptFileName(self): return self.filename def __init__(self): ui.ScriptWindow.__init__(self) self.__LoadWindow() self.SelectPage("UNIQUE_AUCTION") def __LoadWindow(self): pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, "uiscript/auctionwindow.py") self.pageName = { "LIST" : "¸Å¸Å ¸®½ºÆ®", "REGISTER" : "¸Å¸Å µî·Ï", "UNIQUE_AUCTION" : "À¯´ÏÅ© °æ¸Å", } self.pageWindow = { "LIST" : self.PageWindow(self, "uiscript/auctionwindow_listpage.py"), "REGISTER" : self.PageWindow(self, "uiscript/auctionwindow_registerpage.py"), "UNIQUE_AUCTION" : self.PageWindow(self, "uiscript/auctionwindow_uniqueauctionpage.py"), } self.board = self.GetChild("Board") self.tabDict = { "LIST" : self.GetChild("Tab_01"), "REGISTER" : self.GetChild("Tab_02"), "UNIQUE_AUCTION" : self.GetChild("Tab_03"), } self.tabButtonDict = { "LIST" : self.GetChild("Tab_Button_01"), "REGISTER" : self.GetChild("Tab_Button_02"), "UNIQUE_AUCTION" : self.GetChild("Tab_Button_03"), } for page in self.pageWindow.values(): pyScrLoader.LoadScriptFile(page, page.GetScriptFileName()) for key, button in self.tabButtonDict.items(): button.SetEvent(self.SelectPage, key) self.__MakeListPage() self.__MakeRegisterPage() self.__MakeUniqueAuctionPage() def Destroy(self): self.ClearDictionary() def __MakeListPage(self): page = self.pageWindow["LIST"] yPos = 27 AUCTION_LINE_COUNT = 10 for i in xrange(AUCTION_LINE_COUNT): numberSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_00.sub", 11, yPos) numberSlot = ui.MakeTextLine(numberSlotImage) page.Children.append(numberSlotImage) page.Children.append(numberSlot) nameSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_04.sub", 55, yPos) nameSlot = ui.MakeTextLine(nameSlotImage) page.Children.append(nameSlotImage) page.Children.append(nameSlot) priceSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_05.sub", 175, yPos) priceSlot = ui.MakeTextLine(priceSlotImage) page.Children.append(priceSlotImage) page.Children.append(priceSlot) deleteButton = ui.Button() deleteButton.SetParent(page) deleteButton.SetPosition(310, yPos) deleteButton.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub") deleteButton.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub") deleteButton.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub") deleteButton.SetText("±¸ÀÔ") deleteButton.Show() page.Children.append(deleteButton) yPos += 20 def __MakeRegisterPage(self): pass def __MakeUniqueAuctionPage(self): page = self.pageWindow["UNIQUE_AUCTION"] LINE_COUNT = 3 for i in xrange(LINE_COUNT): yPos = 5 + 99*i itemSlotImage = ui.MakeSlotBar(page, 10, yPos, 97, 97) page.Children.append(itemSlotImage) itemName = ui.MakeTextLine(page, FALSE, 117, yPos + 14) page.Children.append(itemName) ## Temporary itemName.SetText("¼±³àÀÇ ºñ³à") ## Temporary curPrice = ui.MakeTextLine(page, FALSE, 117, yPos + 31) page.Children.append(curPrice) ## Temporary curPrice.SetText("ÇöÀç°¡ : 20¾ï 1234¸¸ 1234³É") ## Temporary lastTime = ui.MakeTextLine(page, FALSE, 117, yPos + 48) page.Children.append(lastTime) ## Temporary lastTime.SetText("³«Âû±îÁö ³²Àº ½Ã°£ : 19ºÐ 28ÃÊ") ## Temporary priceSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_05.sub", 117, yPos + 65) priceSlot = ui.MakeTextLine(priceSlotImage) page.Children.append(priceSlotImage) page.Children.append(priceSlot) ## Temporary priceSlot.SetText("20¾ï 1234¸¸ 1234³É") ## Temporary def SelectPage(self, arg): for key, btn in self.tabButtonDict.items(): if arg != key: btn.SetUp() for key, img in self.tabDict.items(): if arg == key: img.Show() else: img.Hide() for key, page in self.pageWindow.items(): if arg == key: page.Show() else: page.Hide() self.board.SetTitleName(self.pageName[arg]) MDR you was faster: p Link to comment Share on other sites More sharing options...
Evor 72 Posted February 27, 2014 Share Posted February 27, 2014 Okey, but how we can even think about auction?, As far as i'm concerned in this .py we don't have ANY function which will connect into the server, or i'm wrong and blind. Link to comment Share on other sites More sharing options...
JachuPL 312 Posted February 27, 2014 Share Posted February 27, 2014 I found another scripts in uiscript AuctionWindow_ListPage.py SEARCHING_AREA_X_POS = 15 SEARCHING_AREA_Y_POS = 235 window = { "name" : "AuctionWindow_RegisterPage", "x" : 8, "y" : 30, "width" : 360, "height" : 298, "children" : ( { "name" : "NumberPrint", "type" : "text", "x" : 18, "y" : 7, "text" : "ąřČŁ", }, { "name" : "NamePrint", "type" : "text", "x" : 79, "y" : 7, "text" : "ľĆŔĚĹŰ Ŕ̸§", }, { "name" : "NamePrint", "type" : "text", "x" : 228, "y" : 7, "text" : "°ˇ°Ý", }, { "name" : "ItemSearchAreaBar", "type" : "horizontalbar", "x" : 0, "y" : 235, "width" : 330, "horizontal_align" : "center", "children" : ( { "name" : "ItemSearchAreaBarPrint", "type" : "text", "x" : 0, "y" : 0, "text" : "ľĆŔĚĹŰ °Ë»öÇϱâ", "all_align" : "center", }, ), }, { "name" : "SearchingNamePrint", "type" : "text", "x" : SEARCHING_AREA_X_POS + 5, "y" : SEARCHING_AREA_Y_POS + 24, "text" : "ľĆŔĚĹŰŔ̸§", }, { "name" : "SearchingNameSlot", "type" : "image", "x" : SEARCHING_AREA_X_POS + 68, "y" : SEARCHING_AREA_Y_POS + 22, "image" : "d:/ymir work/ui/public/Parameter_Slot_04.sub", }, { "name" : "SearchingIDPrint", "type" : "text", "x" : SEARCHING_AREA_X_POS + 5, "y" : SEARCHING_AREA_Y_POS + 44, "text" : "ąřČŁ·ÎĂŁ±â", }, { "name" : "SearchingIDSlot", "type" : "image", "x" : SEARCHING_AREA_X_POS + 68, "y" : SEARCHING_AREA_Y_POS + 42, "image" : "d:/ymir work/ui/public/Parameter_Slot_04.sub", }, { "name" : "SearchingIDPrint", "type" : "text", "x" : SEARCHING_AREA_X_POS + 205, "y" : SEARCHING_AREA_Y_POS + 24, "text" : "ĽŇÄĎż©şÎ", }, { "name" : "SearchingButtonByName", "type" : "button", "x" : SEARCHING_AREA_X_POS + 295, "y" : SEARCHING_AREA_Y_POS + 20, "text" : "ĂŁ±â", "default_image" : "d:/ymir work/ui/public/small_button_01.sub", "over_image" : "d:/ymir work/ui/public/small_button_02.sub", "down_image" : "d:/ymir work/ui/public/small_button_03.sub", }, { "name" : "SearchingButtonByID", "type" : "button", "x" : SEARCHING_AREA_X_POS + 295, "y" : SEARCHING_AREA_Y_POS + 40, "text" : "ĂŁ±â", "default_image" : "d:/ymir work/ui/public/small_button_01.sub", "over_image" : "d:/ymir work/ui/public/small_button_02.sub", "down_image" : "d:/ymir work/ui/public/small_button_03.sub", }, ), } AuctionWindow_RegisterPage.py window = { "name" : "AuctionWindow_RegisterPage", "x" : 8, "y" : 30, "width" : 360, "height" : 298, "children" : ( { "name" : "ItemSlot", "type" : "slotbar", "x" : 0, "y" : 30, "width" : 97, "height" : 97, "horizontal_align" : "center", "text_horizontal_align" : "center", "children" : ( { "name" : "TemporaryImage", "type" : "image", "x" : 0, "y" : 0, "horizontal_align" : "center", "vertical_align" : "center", "image" : "d:/ymir work/ui/items/weapon/03100.sub", }, ), }, { "name" : "ItemName", "type" : "text", "x" : 0, "y" : 150, "horizontal_align" : "center", "text_horizontal_align" : "center", "text" : "ľĆŔĚĹŰŔ» ŔĚ°÷żˇ µĺ·ˇ±×ÇĎż© łÖľîÁÖĽĽżä", }, { "name" : "LowerSellingPriceName", "type" : "text", "x" : 70, "y" : 185, "text" : "¸Ĺ¸Ĺ ĂÖŔú°ˇ", }, { "name" : "LowerSellingPriceSlot", "type" : "image", "x" : 150, "y" : 185 - 3, "image" : "d:/ymir work/ui/public/Parameter_Slot_05.sub", "children" : ( { "name" : "LowerSellingPriceValue", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "123456789123456789", }, ), }, { "name" : "AverageSellingPriceName", "type" : "text", "x" : 70, "y" : 205, "text" : "¸Ĺ¸Ĺ Ćň±Ő°ˇ", }, { "name" : "AverageSellingPriceSlot", "type" : "image", "x" : 150, "y" : 205 - 3, "image" : "d:/ymir work/ui/public/Parameter_Slot_05.sub", "children" : ( { "name" : "AverageSellingPriceValue", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "123456789123456789", }, ), }, { "name" : "InputPriceSlot", "type" : "image", "x" : 90, "y" : 250 - 3, "image" : "d:/ymir work/ui/public/Parameter_Slot_05.sub", "children" : ( { "name" : "InputPriceValue", "type" : "text", "x" : 0, "y" : 1, "all_align" : "center", "text" : "123456789123456789", }, ), }, { "name" : "RegisterButton", "type" : "button", "x" : 230, "y" : 250 - 3, "text" : "µî·Ď", "default_image" : "d:/ymir work/ui/public/small_button_01.sub", "over_image" : "d:/ymir work/ui/public/small_button_02.sub", "down_image" : "d:/ymir work/ui/public/small_button_03.sub", }, ), } AuctionWindow_UniqueAuctionPage.py - unfortunately its empty window = { "name" : "AuctionWindow_UniqueAuctionPage", "x" : 8, "y" : 30, "width" : 360, "height" : 298, } AuctionWindow.py ROOT_PATH = "d:/ymir work/ui/game/guild/" window = { "name" : "AuctionWindow", "style" : ("movable", "float",), "x" : 0, "y" : 0, "width" : 376, "height" : 370, "children" : ( { "name" : "Board", "type" : "board_with_titlebar", "x" : 0, "y" : 0, "width" : 376, "height" : 370, "title" : "¸Ĺ¸Ĺ µî·Ď", "children" : ( ## Tab Area { "name" : "TabControl", "type" : "window", "x" : 0, "y" : 37, "vertical_align" : "bottom", "width" : 376, "height" : 37, "children" : ( ## Tab { "name" : "Tab_01", "type" : "image", "x" : 0, "y" : 0, "width" : 376, "height" : 37, "image" : ROOT_PATH+"tab_1.sub", }, { "name" : "Tab_02", "type" : "image", "x" : 0, "y" : 0, "width" : 376, "height" : 37, "image" : ROOT_PATH+"tab_2.sub", }, { "name" : "Tab_03", "type" : "image", "x" : 0, "y" : 0, "width" : 376, "height" : 37, "image" : ROOT_PATH+"tab_3.sub", }, ## RadioButton { "name" : "Tab_Button_01", "type" : "radio_button", "x" : 6, "y" : 5, "width" : 53, "height" : 27, }, { "name" : "Tab_Button_02", "type" : "radio_button", "x" : 61, "y" : 5, "width" : 67, "height" : 27, }, { "name" : "Tab_Button_03", "type" : "radio_button", "x" : 130, "y" : 5, "width" : 60, "height" : 27, }, ), }, ), }, ), } 1 Link to comment Share on other sites More sharing options...
Management Karbust 4908 Posted April 1, 2015 Management Share Posted April 1, 2015 Hi Someone could explain to me what is this system? Thanks, King Regards Link to comment Share on other sites More sharing options...
MaRRaTPL 3 Posted April 1, 2015 Share Posted April 1, 2015 please image Link to comment Share on other sites More sharing options...
Shang 371 Posted April 1, 2015 Share Posted April 1, 2015 eBay metin2. 1 Link to comment Share on other sites More sharing options...
ImBacK 8 Posted April 3, 2015 Share Posted April 3, 2015 this system for metin2 office but they not completed. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now