Adrian1428 31 Posted August 22, 2014 Share Posted August 22, 2014 Video: https://www.youtube.com/watch?v=zVmeZ88fpTc&feature=youtu.be Who knows a solution? I tried to change something but without success. Thanks. The bug work only items of type 18. Sorry for my bad english. 2 Link to comment Share on other sites More sharing options...
Morphe 159 Posted August 22, 2014 Share Posted August 22, 2014 Use the function item.remove() instead of pc.remove_item Works perfect. Link to comment Share on other sites More sharing options...
Developer PACI 921 Posted August 22, 2014 Developer Share Posted August 22, 2014 Use the function item.remove() instead of pc.remove_item Works perfect. Wtf are you talking about? The official belt system doesn't even use quest. when you return 0 and server doesn't boot: Link to comment Share on other sites More sharing options...
Denis 1474 Posted August 22, 2014 Share Posted August 22, 2014 Use the function item.remove() instead of pc.remove_item Works perfect. Wtf are you talking about? The official belt system doesn't even use quest. I think he means the soul stone quest to use pc.remove_item instead of item.remove but this isn't a "fix" 2 Link to comment Share on other sites More sharing options...
cBaraN 109 Posted August 23, 2014 Share Posted August 23, 2014 Fix: if pc . count_item ( 50513 ) < 1 then say_title ( "Bug Controls" ) say ( "Object, drag it to the inventar." ) return end Evidence that work: Click YouTube Best Regards Can BARAN... 1 Link to comment Share on other sites More sharing options...
M.Sorin 282 Posted August 23, 2014 Share Posted August 23, 2014 It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. Link to comment Share on other sites More sharing options...
Denis 1474 Posted August 23, 2014 Share Posted August 23, 2014 Fix: if pc . count_item ( 50513 ) < 1 then say_title ( "Bug Controls" ) say ( "Object, drag it to the inventar." ) return end Evidence that work: Click YouTube Best Regards Can BARAN... You could fix it by this way too: int item_remove(lua_State* L) { CQuestManager& q = CQuestManager::instance(); LPITEM item = q.GetCurrentItem(); if (item != NULL) { if (q.GetCurrentCharacterPtr() == item->GetOwner()) { // ITEM_MANAGER::instance().RemoveItem(item); CQuestManager::instance().GetCurrentCharacterPtr()->RemoveSpecifyItem(item->GetVnum(), 1); } else { sys_err("Tried to remove invalid item %p", get_pointer(item)); } q.ClearCurrentItem(); } return 0; } I don't know if it's gonna work by that way It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. It would be easier to change the function void CHARACTER::RemoveSpecifyItem(DWORD vnum, DWORD count) to count belt items too, because if you can see it has only one for loop for inventory items Link to comment Share on other sites More sharing options...
Morphe 159 Posted August 23, 2014 Share Posted August 23, 2014 It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. I tried this two years ago, does not work Link to comment Share on other sites More sharing options...
denyxp31 0 Posted August 23, 2014 Share Posted August 23, 2014 It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. I tried this two years ago, does not work tried now, it does not work Link to comment Share on other sites More sharing options...
Denis 1474 Posted August 23, 2014 Share Posted August 23, 2014 It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. I tried this two years ago, does not work 2 years?Really? 3 Link to comment Share on other sites More sharing options...
denyxp31 0 Posted August 23, 2014 Share Posted August 23, 2014 int item_remove(lua_State* L) { CQuestManager& q = CQuestManager::instance(); LPITEM item = q.GetCurrentItem(); if (item != NULL) { if (q.GetCurrentCharacterPtr() == item->GetOwner()) { // ITEM_MANAGER::instance().RemoveItem(item); CQuestManager::instance().GetCurrentCharacterPtr()->RemoveSpecifyItem(item->GetVnum(), 1); } else { sys_err("Tried to remove invalid item %p", get_pointer(item)); } q.ClearCurrentItem(); } return 0; } by the way, this doesn`t work too. other solutions? Link to comment Share on other sites More sharing options...
Morphe 159 Posted August 23, 2014 Share Posted August 23, 2014 It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. I tried this two years ago, does not work 2 years?Really? I was ironic. ) Link to comment Share on other sites More sharing options...
cBaraN 109 Posted August 23, 2014 Share Posted August 23, 2014 2 years? :D Link to comment Share on other sites More sharing options...
Morphe 159 Posted August 23, 2014 Share Posted August 23, 2014 2 years? :D Do you know the joke? ) Link to comment Share on other sites More sharing options...
Reboot 772 Posted August 23, 2014 Share Posted August 23, 2014 It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. I tried this two years ago, does not work wtf, two years? I think you were on Mars Yes, definitely on Mars. Link to comment Share on other sites More sharing options...
Denis 1474 Posted August 23, 2014 Share Posted August 23, 2014 (edited) Edited August 26, 2022 by Metin2 Dev Core X - External 2 Internal 6 Link to comment Share on other sites More sharing options...
cBaraN 109 Posted August 23, 2014 Share Posted August 23, 2014 2 years? :D Do you know the joke? ) I know, but this is a pretty bad joke :D Link to comment Share on other sites More sharing options...
cBaraN 109 Posted August 23, 2014 Share Posted August 23, 2014 (edited) hahaha :D Edited August 26, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Adrian1428 31 Posted August 23, 2014 Author Share Posted August 23, 2014 It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. break it is for switch or loop , and doesn't work , problem is safebox Another solution would be for the items of type18 can not put in safebox....or edited pc.remove_item function... Maybe someone has a better solution... 1 Link to comment Share on other sites More sharing options...
denyxp31 0 Posted August 24, 2014 Share Posted August 24, 2014 something new? Link to comment Share on other sites More sharing options...
Denis 1474 Posted August 24, 2014 Share Posted August 24, 2014 Check my post http://metin2dev.org/board/topic/2640-belt-inventory-bug/?p=17780 Link to comment Share on other sites More sharing options...
C. Alexandru-Sorin 8 Posted August 27, 2014 Share Posted August 27, 2014 Fix: if pc . count_item ( 50513 ) < 1 then say_title ( "Bug Controls" ) say ( "Object, drag it to the inventar." ) return end Evidence that work: Click YouTube Best Regards Can BARAN... You could fix it by this way too: int item_remove(lua_State* L) { CQuestManager& q = CQuestManager::instance(); LPITEM item = q.GetCurrentItem(); if (item != NULL) { if (q.GetCurrentCharacterPtr() == item->GetOwner()) { // ITEM_MANAGER::instance().RemoveItem(item); CQuestManager::instance().GetCurrentCharacterPtr()->RemoveSpecifyItem(item->GetVnum(), 1); } else { sys_err("Tried to remove invalid item %p", get_pointer(item)); } q.ClearCurrentItem(); } return 0; } I don't know if it's gonna work by that way It`s not realy a fix but.. static bool CanMoveIntoBeltInventory(LPITEM item) { bool canMove = true; if (item->GetType() == ITEM_QUEST) { canMove = false; break; } return canMove; } It`s not tested and the fix is made by a e*pvp member. It would be easier to change the function void CHARACTER::RemoveSpecifyItem(DWORD vnum, DWORD count) to count belt items too, because if you can see it has only one for loop for inventory items Hi Denis, I just tried your version, but does not work! Delete just what's in inventory, not in the belt inventory. The Belt Item Inventory remains permanently. Link to comment Share on other sites More sharing options...
Adrian1428 31 Posted August 27, 2014 Author Share Posted August 27, 2014 Still not found anyone any solution? 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