Fliegex3 29 Posted December 17, 2014 Share Posted December 17, 2014 I found my mistake, forgot 2 lines in char_item.cpp, only changed 2 of 4 Link to comment Share on other sites More sharing options...
Premium Ocelot2606 140 Posted December 17, 2014 Premium Share Posted December 17, 2014 Shit Happens 1 Link to comment Share on other sites More sharing options...
Erryas 2 Posted December 19, 2014 Share Posted December 19, 2014 can someon send me his Uiinventory. and invintory.py PLEASE!!!!! Link to comment Share on other sites More sharing options...
Former Staff Shisui 490 Posted December 30, 2014 Former Staff Share Posted December 30, 2014 What's wrong? uiInventory.py(line:313) __LoadWindow ui.py(line:2708) GetChild InventoryWindow.LoadWindow.BindObject - <type 'exceptions.KeyError'>:'Inventory_Tab_03' 1230 19:48:23718 :: ============================================================================================================ 1230 19:48:23718 :: Abort!!!! Link to comment Share on other sites More sharing options...
Former Staff flygun 304 Posted December 30, 2014 Former Staff Share Posted December 30, 2014 What's wrong? uiInventory.py(line:313) __LoadWindow ui.py(line:2708) GetChild InventoryWindow.LoadWindow.BindObject - <type 'exceptions.KeyError'>:'Inventory_Tab_03' 1230 19:48:23718 :: ============================================================================================================ 1230 19:48:23718 :: Abort!!!! open locale_interface.txt in your locale and add Inventory_Tab_03 <TAB> inventory 3 or anything you want here Inventory_Tab_04 <TAB> inventory 4 or anything you want here Link to comment Share on other sites More sharing options...
Former Staff Shisui 490 Posted December 31, 2014 Former Staff Share Posted December 31, 2014 (edited) Edit 2: What's wrong now? Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Premium Zonni 230 Posted December 31, 2014 Premium Share Posted December 31, 2014 (edited) Edit 2: What's wrong now? U didn't set right value in client side. Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Former Staff Shisui 490 Posted December 31, 2014 Former Staff Share Posted December 31, 2014 (edited) Edit 2: What's wrong now? U didn't set right value in client side. Can you help me with? Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
bamsd 0 Posted January 2, 2015 Share Posted January 2, 2015 # Link to comment Share on other sites More sharing options...
bamsd 0 Posted January 3, 2015 Share Posted January 3, 2015 # Link to comment Share on other sites More sharing options...
Premium phayara 424 Posted January 10, 2015 Premium Share Posted January 10, 2015 Thank you very much. iStark Link to comment Share on other sites More sharing options...
Matteo 46 Posted January 10, 2015 Share Posted January 10, 2015 (edited) How to fix?? item what open on me don`t see in up inventory You need to change the numbers of the pages in the client binary too. Atleast for us it solved this problem. Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal System Administrator @ Hungarian Government System Administrator @ Vibestro Freelancer Developer @ Various projects Link to comment Share on other sites More sharing options...
Former Staff Shisui 490 Posted January 15, 2015 Former Staff Share Posted January 15, 2015 (edited) Some help please, Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal 2 Link to comment Share on other sites More sharing options...
Former Staff Shisui 490 Posted January 16, 2015 Former Staff Share Posted January 16, 2015 (edited) I just have one problem, I can't upgrade items that are on 3rd & 4th Inventory. Any idea? Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
rootmaster 0 Posted January 16, 2015 Share Posted January 16, 2015 Hi guys Someone wondered how to make 4 inventory page with source. I will share how to make 4 inventory page today I hope you are like it First which you are use to source files open it. I will use to mainline_released(SG) log in mainline_released/mainline_sg/Srcs/Server/common after open length.h after search this INVENTORY_MAX_NUM = 90, Replace to INVENTORY_MAX_NUM = 180, Open char_item.cpp and search this BYTE bPage = bCell / (INVENTORY_MAX_NUM / 2); Replace to BYTE bPage = bCell / (INVENTORY_MAX_NUM / 4); search this if (p / (INVENTORY_MAX_NUM / 2) != bPage) Replace to if (p / (INVENTORY_MAX_NUM / 4) != bPage) open exchange.cpp. Search this after add under this. static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2 will be like this. static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // inven page 1 static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2 static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 2); // inven page 3 static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 2); // inven page 4 s_grid1.Clear(); s_grid2.Clear(); s_grid3.Clear(); s_grid4.Clear(); and replace to your self.. for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid1.Put(i, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid3.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid4.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } After client.. Log in mainline_released/mainline_sg/Srcs/Client/Userinterface after open GameType.h after search this const DWORD c_Inventory_Page_Count = 2; Replace to const DWORD c_Inventory_Page_Count = 4; open inventorywindow.py and search this EQUIPMENT_START_INDEX = 90 Replace to EQUIPMENT_START_INDEX = 180 open uiinventory.py and search this after add under this self.inventoryTab.append(self.GetChild("Inventory_Tab_02")) self.inventoryTab.append(self.GetChild("Inventory_Tab_03")) self.inventoryTab.append(self.GetChild("Inventory_Tab_04")) search this after add under this self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg)) self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg)) self.inventoryTab[3].SetEvent(lambda arg=3: self.SetInventoryPage(arg)) Search SetInventoryPage function and replace with this. def SetInventoryPage(self, page): self.inventoryTab[self.inventoryPageIndex].SetUp() self.inventoryPageIndex = page self.inventoryTab[self.inventoryPageIndex].Down() self.RefreshBagSlotWindow() Thanks for @Zardon,Deniec Cikiec comment. i will share my inventorywindow.py import uiScriptLocale import item EQUIPMENT_START_INDEX = 180 window = { "name" : "InventoryWindow", ## 600 - (width + 오른쪽으로 부터 띄우기 24 px) "x" : SCREEN_WIDTH - 176, "y" : SCREEN_HEIGHT - 37 - 565, "style" : ("movable", "float",), "width" : 176, "height" : 585, "children" : ( ## Inventory, Equipment Slots { "name" : "board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : 176, "height" : 585, "children" : ( ## Title { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 7, "width" : 161, "color" : "yellow", "children" : ( { "name":"TitleName", "type":"text", "x":77, "y":3, "text":uiScriptLocale.INVENTORY_TITLE, "text_horizontal_align":"center" }, ), }, ## Equipment Slot { "name" : "Equipment_Base", "type" : "image", "x" : 10, "y" : 33, "image" : "d:/ymir work/ui/equipment_bg_without_ring.tga", "children" : ( { "name" : "EquipmentSlot", "type" : "slot", "x" : 3, "y" : 3, "width" : 150, "height" : 182, "slot" : ( {"index":EQUIPMENT_START_INDEX+0, "x":39, "y":37, "width":32, "height":64}, {"index":EQUIPMENT_START_INDEX+1, "x":39, "y":2, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+2, "x":39, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+3, "x":75, "y":67, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+4, "x":3, "y":3, "width":32, "height":96}, {"index":EQUIPMENT_START_INDEX+5, "x":114, "y":67, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+6, "x":114, "y":35, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+7, "x":2, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+8, "x":75, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+9, "x":114, "y":2, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+10, "x":75, "y":35, "width":32, "height":32}, ## 새 반지1 ##{"index":item.EQUIPMENT_RING1, "x":2, "y":106, "width":32, "height":32}, ## 새 반지2 ##{"index":item.EQUIPMENT_RING2, "x":75, "y":106, "width":32, "height":32}, ## 새 벨트 {"index":item.EQUIPMENT_BELT, "x":39, "y":106, "width":32, "height":32}, ), }, ## Dragon Soul Button { "name" : "DSSButton", "type" : "button", "x" : 114, "y" : 107, "tooltip_text" : uiScriptLocale.TASKBAR_DRAGON_SOUL, "default_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_03.tga", }, ## MallButton { "name" : "MallButton", "type" : "button", "x" : 118, "y" : 148, "tooltip_text" : uiScriptLocale.MALL_TITLE, "default_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_01.tga", "over_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_02.tga", "down_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_03.tga", }, ## CostumeButton { "name" : "CostumeButton", "type" : "button", "x" : 78, "y" : 5, "tooltip_text" : uiScriptLocale.COSTUME_TITLE, "default_image" : "d:/ymir work/ui/game/taskbar/costume_Button_01.tga", "over_image" : "d:/ymir work/ui/game/taskbar/costume_Button_02.tga", "down_image" : "d:/ymir work/ui/game/taskbar/costume_Button_03.tga", }, { "name" : "Equipment_Tab_01", "type" : "radio_button", "x" : 86, "y" : 161, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "children" : ( { "name" : "Equipment_Tab_01_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "I", }, ), }, { "name" : "Equipment_Tab_02", "type" : "radio_button", "x" : 86 + 32, "y" : 161, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "children" : ( { "name" : "Equipment_Tab_02_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "II", }, ), }, ), }, { "name" : "Inventory_Tab_01", "type" : "radio_button", "x" : 10, "y" : 33 + 189, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_1, "children" : ( { "name" : "Inventory_Tab_01_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "I", }, ), }, { "name" : "Inventory_Tab_02", "type" : "radio_button", "x" : 10 + 78, "y" : 33 + 189, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2, "children" : ( { "name" : "Inventory_Tab_02_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "II", }, ), }, { "name" : "Inventory_Tab_03", "type" : "radio_button", "x" : 10, "y" : 33 + 210, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2, "children" : ( { "name" : "Inventory_Tab_03_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "III", }, ), }, { "name" : "Inventory_Tab_04", "type" : "radio_button", "x" : 10 + 78, "y" : 33 + 210, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2, "children" : ( { "name" : "Inventory_Tab_04_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "IV", }, ), }, ## Item Slot { "name" : "ItemSlot", "type" : "grid_table", "x" : 8, "y" : 264, "start_index" : 0, "x_count" : 5, "y_count" : 9, "x_step" : 32, "y_step" : 32, "image" : "d:/ymir work/ui/public/Slot_Base.sub" }, ## Print { "name":"Money_Slot", "type":"button", "x":8, "y":28, "horizontal_align":"center", "vertical_align":"bottom", "default_image" : "d:/ymir work/ui/public/parameter_slot_05.sub", "over_image" : "d:/ymir work/ui/public/parameter_slot_05.sub", "down_image" : "d:/ymir work/ui/public/parameter_slot_05.sub", "children" : ( { "name":"Money_Icon", "type":"image", "x":-18, "y":2, "image":"d:/ymir work/ui/game/windows/money_icon.sub", }, { "name" : "Money", "type" : "text", "x" : 3, "y" : 3, "horizontal_align" : "right", "text_horizontal_align" : "right", "text" : "123456789", }, ), }, ), }, ), } open beltinventorywindow.py after search this EQUIPMENT_START_INDEX = 90 replace to EQUIPMENT_START_INDEX = 180 I think someone don't make part of client-side. I share binary file (original file) with your. https://mega.co.nz/#!TxpUzL6Y!9vC4ip61k_El6Ew6POIF53_PApd29a4CFSqIMdzb4XQ Kind Regards HaveBeen I did not add it on resolving issues or where the file on the base in the beautiful ... log in mainline_released/mainline_sg/Srcs/Server/common after open length.h after search this ? 16 INVENTORY_MAX_NUM = 90, Replace to ? 6 INVENTORY_MAX_NUM = 180, Open char_item.cpp and search this ? BYTE bPage = bCell / (INVENTORY_MAX_NUM / 2); Replace to ? BYTE bPage = bCell / (INVENTORY_MAX_NUM / 4); search this ? if (p / (INVENTORY_MAX_NUM / 2) != bPage) Replace to ? if (p / (INVENTORY_MAX_NUM / 4) != bPage) open exchange.cpp. Search this after add under this. ? static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2 will be like this. ? static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // inven page 1 static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2 static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 2); // inven page 3 static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 2); // inven page 4 s_grid1.Clear(); s_grid2.Clear(); s_grid3.Clear(); s_grid4.Clear(); and replace to your self.. ? for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid1.Put(i, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid3.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid4.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } After client.. Log in mainline_released/mainline_sg/Srcs/Client/Userinterface after open GameType.h after search this ? const DWORD c_Inventory_Page_Count = 2; Replace to ? const DWORD c_Inventory_Page_Count = 4; open inventorywindow.py and search this ? EQUIPMENT_START_INDEX = 90 Link to comment Share on other sites More sharing options...
Former Staff flygun 304 Posted January 17, 2015 Former Staff Share Posted January 17, 2015 (edited) I just have one problem, I can't upgrade items that are on 3rd & 4th Inventory. Any idea? at Zonni's post in page number 9 same guys here Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal 1 Link to comment Share on other sites More sharing options...
Bot Metin2 Dev 4871 Posted January 18, 2015 Bot Share Posted January 18, 2015 Thanks bro Link to comment Share on other sites More sharing options...
Premium Ocelot2606 140 Posted January 21, 2015 Premium Share Posted January 21, 2015 Change def SetInventoryPage(self, page): self.inventoryTab[self.inventoryPageIndex].SetUp() self.inventoryPageIndex = page self.inventoryTab[self.inventoryPageIndex].Down() self.RefreshBagSlotWindow()[/php] to [php] def SetInventoryPage(self, page): self.inventoryPageIndex = page for i in xrange(4): if i != self.inventoryPageIndex: self.inventoryTab[i].SetUp() self.inventoryTab[self.inventoryPageIndex].Down() self.RefreshBagSlotWindow() 1 Link to comment Share on other sites More sharing options...
Premium Ocelot2606 140 Posted January 21, 2015 Premium Share Posted January 21, 2015 Did set TAB´s? Copy and Paste doesnt work with tabs so you have to delete all the spaces and make TAB´s 1 Link to comment Share on other sites More sharing options...
V1ru7 3 Posted January 27, 2015 Share Posted January 27, 2015 I Have a Problem, when the first and second inventorys are full i cant exchange. It says my inventory is full but i have the 3rd and 4th free. What can i do against it? MfG Link to comment Share on other sites More sharing options...
.Devil. 28 Posted January 31, 2015 Share Posted January 31, 2015 for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i) // 0 to 45 (OK!) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid1.Put(i, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of third and fourth inventory in the second!)(Right: 45 to 90) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); // (WRONG!) } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of fourth inventory in the third!)(Right: 90 to 135) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid3.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); // (WRONG!) } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG! You're putting items of second and third inventory in the fourth!)(Right: 135 to 180) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid4.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); // (WRONG!) } I think there is an error with exchange. (I've commented where're the issues.) And there left some checks of free space (always in CExchange::CheckSpace()). --- Update --- static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // inven page 1 static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2 static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 2); // inven page 3 static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 2); // inven page 4 This must be: static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 4); // inven page 1 static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 4); // inven page 2 static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 4); // inven page 3 static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 4); // inven page 4 Link to comment Share on other sites More sharing options...
Active Member hachiwari 138 Posted January 31, 2015 Active Member Share Posted January 31, 2015 for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i) // 0 to 45 (OK!) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid1.Put(i, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of third and fourth inventory in the second!)(Right: 45 to 90) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of fourth inventory in the third!)(Right: 90 to 135) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid3.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG! You're putting items of second and third inventory in the fourth!)(Right: 135 to 180) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid4.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } I think there is an error with exchange. (I've commented where're the issues.)And there left some checks of free space (always in CExchange::CheckSpace()). Yes of course. Link to comment Share on other sites More sharing options...
Former Staff flygun 304 Posted January 31, 2015 Former Staff Share Posted January 31, 2015 for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i) // 0 to 45 (OK!) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid1.Put(i, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of third and fourth inventory in the second!)(Right: 45 to 90) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of fourth inventory in the third!)(Right: 90 to 135) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid3.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG! You're putting items of second and third inventory in the fourth!)(Right: 135 to 180) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid4.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } I think there is an error with exchange. (I've commented where're the issues.) And there left some checks of free space (always in CExchange::CheckSpace()). Yes of course. this was already solved by Zonni on the 9th and 11th pages of this topic 1 Link to comment Share on other sites More sharing options...
.Devil. 28 Posted January 31, 2015 Share Posted January 31, 2015 for (i = 0; i < INVENTORY_MAX_NUM / 4; ++i) // 0 to 45 (OK!) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid1.Put(i, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of third and fourth inventory in the second!)(Right: 45 to 90) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid2.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG!)(You're putting items of fourth inventory in the third!)(Right: 90 to 135) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid3.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } for (i = INVENTORY_MAX_NUM / 4; i < INVENTORY_MAX_NUM; ++i) // 45 to 180 (WRONG! You're putting items of second and third inventory in the fourth!)(Right: 135 to 180) { if (!(item = victim->GetInventoryItem(i))) continue; s_grid4.Put(i - INVENTORY_MAX_NUM / 4, 1, item->GetSize()); } I think there is an error with exchange. (I've commented where're the issues.) And there left some checks of free space (always in CExchange::CheckSpace()). Yes of course. this was already solved by Zonni on the 9th and 11th pages of this topic Sorry, i've not noticed it, i watched only the first post. int iPos = s_grid1.FindBlank(1, item->GetSize()); if (iPos >= 0) { s_grid1.Put(iPos, 1, item->GetSize()); } else { iPos = s_grid2.FindBlank(1, item->GetSize()); if (iPos >= 0) { s_grid2.Put(iPos, 1, item->GetSize()); } else { iPos = s_grid3.FindBlank(1, item->GetSize()); if (iPos >= 0) { s_grid3.Put(iPos, 1, item->GetSize()); } else { iPos = s_grid4.FindBlank(1, item->GetSize()); if (iPos >= 0) { s_grid4.Put(iPos, 1, item->GetSize()); } else { iPos = s_grid5.FindBlank(1, item->GetSize()); if (iPos >= 0) { s_grid5.Put(iPos, 1, item->GetSize()); } else { return false; } } } } } Insted of this you can put the grids in array and after loop it. Link to comment Share on other sites More sharing options...
Premium iRETEMAG 137 Posted February 11, 2015 Premium Share Posted February 11, 2015 (edited) I'm trying to "reverse" to 2 inv. I get this error lOOOl Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Recommended Posts