Game.py aratılır def __DropItem(self, attachedType, attachedItemIndex satır içinde tekrar aratılır (aynı işlem 2 kere yapılır) questionText = localeInfo.HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, attachedItemCount) ve alttaki ile değiştirilir if app.WJ_NEW_DROP_DIALOG: questionText = localeInfo.HOW_MANY_ITEM_DO_YOU_DROP_NEW(dropItemName, attachedItemCount, localeInfo.NumberToMoneyString(player.GetISellItemPrice(attachedItemSlotPos))) else: questionText = localeInfo.HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, attachedItemCount) Tekrar aratılır: itemDropQuestionDialog = uiCommon.QuestionDialog() alttaki ile değiştirilir if app.WJ_NEW_DROP_DIALOG: itemDropQuestionDialog = uiCommon.QuestionDialogItem() else: itemDropQuestionDialog = uiCommon.QuestionDialog() Aratılır: itemDropQuestionDialog.SetAcceptEvent(lambda arg=True: self.RequestDropItem(arg)) altına eklenir if app.WJ_NEW_DROP_DIALOG: itemDropQuestionDialog.SetDestroyEvent(lambda arg=True: self.RequestDestroyItem(arg)) itemDropQuestionDialog.SetSellEvent(lambda arg=True: self.RequestSellItem(arg)) Game.py içinde uygun bir yere eklenir; if app.WJ_NEW_DROP_DIALOG: def __SendDestroyItemPacket(self, itemVNum, itemInvenType = player.INVENTORY): if uiPrivateShopBuilder.IsBuildingPrivateShop(): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP) return net.SendItemDestroyPacket(itemVNum) def __SendSellItemPacket(self, itemVNum, itemInvenTyoe = player.INVENTORY): if uiPrivateShopBuilder.IsBuildingPrivateShop(): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP) return net.SendItemSellPacket(itemVNum) def RequestDestroyItem(self, answer): if not self.itemDropQuestionDialog: return if answer: dropType = self.itemDropQuestionDialog.dropType dropNumber = self.itemDropQuestionDialog.dropNumber if player.SLOT_TYPE_INVENTORY == dropType: if dropNumber == player.ITEM_MONEY: return else: self.__SendDestroyItemPacket(dropNumber) self.itemDropQuestionDialog.Close() self.itemDropQuestionDialog = None constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0) def RequestSellItem(self, answer): if not self.itemDropQuestionDialog: return if answer: dropType = self.itemDropQuestionDialog.dropType dropNumber = self.itemDropQuestionDialog.dropNumber if player.SLOT_TYPE_INVENTORY == dropType: if dropNumber == player.ITEM_MONEY: return else: self.__SendSellItemPacket(dropNumber) self.itemDropQuestionDialog.Close() self.itemDropQuestionDialog = None constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0) localeinfo.py içinde aratılır: def NumberToMoneyString(n) : satır sonuna eklenir if app.WJ_NEW_DROP_DIALOG: def HOW_MANY_ITEM_DO_YOU_DROP_NEW(dropItemName, dropItemCount, sellItemPrice) : if dropItemCount > 1 : return HOW_MANY_ITEM_DO_YOU_DROP_NEW2 % (dropItemName, dropItemCount, sellItemPrice) else : return HOW_MANY_ITEM_DO_YOU_DROP_NEW1 % (dropItemName, sellItemPrice) uicommon.py aratılır : class MoneyInputDialog(ui.ScriptWindow): satır sonuna eklenir if app.WJ_NEW_DROP_DIALOG: class QuestionDialogItem(ui.ScriptWindow): def __init__(self): ui.ScriptWindow.__init__(self) self.__CreateDialog() def __del__(self): ui.ScriptWindow.__del__(self) def __CreateDialog(self): pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog_item.py") self.board = self.GetChild("board") self.textLine = self.GetChild("message") self.acceptButton = self.GetChild("drop") self.destroyButton = self.GetChild("destroy") self.sellButton = self.GetChild("sell") self.cancelButton = self.GetChild("cancel") self.itemPic = self.GetChild("image") try: self.itemPic.LoadImage(item.GetIconImageFileName()) except: dbg.TraceError("AttachMetinDialog.Open.LoadImage - Failed to find item data") def Open(self): self.SetCenterPosition() self.SetTop() self.Show() def Close(self): self.Hide() def SetWidth(self, width): height = self.GetHeight() self.SetSize(width, height) self.board.SetSize(width, height) self.SetCenterPosition() self.UpdateRect() def SAFE_SetAcceptEvent(self, event): self.acceptButton.SAFE_SetEvent(event) def SAFE_SetCancelEvent(self, event): self.cancelButton.SAFE_SetEvent(event) def SetAcceptEvent(self, event): self.acceptButton.SetEvent(event) def SetDestroyEvent(self, event): self.destroyButton.SetEvent(event) def SetSellEvent(self, event): self.sellButton.SetEvent(event) def SetCancelEvent(self, event): self.cancelButton.SetEvent(event) def SetText(self, text): self.textLine.SetText(text) def SetAcceptText(self, text): self.acceptButton.SetText(text) def SetCancelText(self, text): self.cancelButton.SetText(text) def OnPressEscapeKey(self): self.Close() return True locale_tr packında locale_game.txt eklenir HOW_MANY_ITEM_DO_YOU_DROP_NEW1 [ |cff8BBDFF|H|h%s|h|r ] Nesnesi ne yapılsın? (%s) HOW_MANY_ITEM_DO_YOU_DROP_NEW2 [ |cff8BBDFF|H|h%s|h|r |cffBCE55C|H|hx%d|h|r ] Nesneleri ne yapılsın? (%s)