Hello, I saw lot of people having This bug so I decided to create a simple fix in order to help them !
Let's go !
Open uiinventory.py and search :
def DetachMetinFromItem(self, scrollSlotPos, targetSlotPos):
Then replace the whole function by :
def DetachMetinFromItem(self, scrollSlotPos, targetSlotPos): ## Resetting Sash Stats Fix - Galet - 11/11/2015 - 17h45 - Tribute to the victims of the war
scrollIndex = player.GetItemIndex(scrollSlotPos)
targetIndex = player.GetItemIndex(targetSlotPos)
for i in xrange(player.INVENTORY_PAGE_SIZE*2):
slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
getItemVNum=player.GetItemIndex
itemVnum = getItemVNum(slotNumber)
if 85009 == itemVnum:
item.SelectItem(targetIndex)
if item.GetItemSubType() == item.COSTUME_TYPE_ACCE:
if self.GetAcceAttribute(targetSlotPos) == 0:
return
self.questionDialog = uiCommon.QuestionDialog()
self.questionDialog.SetText("Would you like to reset your sash shoulder stats?")
self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDetachMetinFromItem))
self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
self.questionDialog.Open()
self.questionDialog.sourcePos = scrollSlotPos
self.questionDialog.targetPos = targetSlotPos
else:
return
else:
if not player.CanDetach(scrollIndex, targetSlotPos):
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
return
self.questionDialog = uiCommon.QuestionDialog()
self.questionDialog.SetText(localeInfo.REFINE_DO_YOU_SEPARATE_METIN)
self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDetachMetinFromItem))
self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
self.questionDialog.Open()
self.questionDialog.sourcePos = scrollSlotPos
self.questionDialog.targetPos = targetSlotPos
If you want it on pastebin, here you go : [Hidden Content]
WARNING : This fix is only for people who have 2 inventory pages, maybe it's working with more but as it is untested I prefer to precise this, even if I'm pretty sure that the fix are completely working with the actual code, regardless on how many pages you got : If you got more than 2 pages, you must replace
(player.INVENTORY_PAGE_SIZE*2)
With
(player.INVENTORY_PAGE_SIZE*NUMBEROFPAGES)
"NUMBEROFPAGES" is simply the number of the inventory pages you got, so 4 for 4, 9 for 9, 2147483647 for 2147483647
It is probably not the best way to fix it but should works like a charm !
If you got any problems I can provide you the help needed on Metin2Dev in English and on Skype in English, German, French and Spanish
Have a nice day all