- import ui
- import player
- import mouseModule
- import net
- import app
- import snd
- import item
- import player
- import chat
- import grp
- import shop
- import safebox
- import uiScriptLocale
- import uiRefine
- import uirarityrefine
- import uiAttachMetin
- import uiPickMoney
- import uiPickEtc
- import uiCommon
- import uiPrivateShopBuilder
- import uiOfflineShopBuilder
- import uiOfflineShop
- import localeInfo
- import constInfo
- import event
- import ime
- import wndMgr
- import uiToolTip
- import exchange
- import translate
- import interfaceModule
- if app.ENABLE_SASH_SYSTEM:
- import sash
- if app.ENABLE_CHANGELOOK_SYSTEM:
- import changelook
- ITEM_MALL_BUTTON_ENABLE = TRUE
- ITEM_FLAG_APPLICABLE = 1 << 14
- if app.ENABLE_EXTEND_INVEN_SYSTEM:
- EX_INVEN_COVER_IMG_CLOSE = "d:/ymir work/ui/game/windows/ex_inven_cover_button_close.sub"
- EX_INVEN_COVER_IMG_OPEN = "d:/ymir work/ui/game/windows/ex_inven_cover_button_open.sub"
- class CostumeWindow(ui.ScriptWindow):
- def __init__(self, wndInventory):
- import exception
- if not app.ENABLE_COSTUME_SYSTEM:
- exception.Abort("What do you do?")
- return
- if not wndInventory:
- exception.Abort("wndInventory parameter must be set to InventoryWindow")
- return
- ui.ScriptWindow.__init__(self)
- self.isLoaded = 0
- self.wndInventory = wndInventory;
- self.__LoadWindow()
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def Show(self):
- self.__LoadWindow()
- self.RefreshCostumeSlot()
- ui.ScriptWindow.Show(self)
- def Close(self):
- self.Hide()
- def __LoadWindow(self):
- if self.isLoaded == 1:
- return
- self.isLoaded = 1
- try:
- pyScrLoader = ui.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, "UIScript/CostumeWindow.py")
- except:
- import exception
- exception.Abort("CostumeWindow.LoadWindow.LoadObject")
- try:
- wndEquip = self.GetChild("CostumeSlot")
- self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
- except:
- import exception
- exception.Abort("CostumeWindow.LoadWindow.BindObject")
- ## Equipment
- wndEquip.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
- wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
- wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
- wndEquip.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
- wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
- wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))
- self.wndEquip = wndEquip
- def RefreshCostumeSlot(self):
- getItemVNum=player.GetItemIndex
- for i in xrange(item.COSTUME_SLOT_COUNT):
- slotNumber = item.COSTUME_SLOT_START + i
- self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
- if app.ENABLE_CHANGELOOK_SYSTEM:
- itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
- if itemTransmutedVnum:
- self.wndEquip.DisableCoverButton(slotNumber)
- else:
- self.wndEquip.EnableCoverButton(slotNumber)
- for i in xrange(2):
- slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
- self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
- self.wndEquip.RefreshSlot()
- if app.WJ_SPLIT_INVENTORY_SYSTEM:
- class ExtendedInventoryWindow(ui.ScriptWindow):
- tooltipItem = None
- interface = None
- dlgPickMoney = None
- dlgPickItem = None
- sellingSlotNumber = -1
- isLoaded = 0
- def __init__(self):
- ui.ScriptWindow.__init__(self)
- self.inventoryPageIndex = 0
- self.__LoadWindow()
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def Show(self):
- self.__LoadWindow()
- ui.ScriptWindow.Show(self)
- def BindInterfaceClass(self, interface):
- self.interface = interface
- def __LoadWindow(self):
- if self.isLoaded == 1:
- return
- self.isLoaded = 1
- try:
- pyScrLoader = ui.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, "UIScript/ExtendedInventoryWindow.py")
- except:
- import exception
- exception.Abort("ExtendedInventoryWindow.LoadWindow.LoadObject")
- try:
- wndItem = self.GetChild("ItemSlot")
- self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
- self.titleName = self.GetChild("TitleName")
- self.SkillBookButton = self.GetChild("SkillBookButton")
- self.UpgradeItemsButton = self.GetChild("UpgradeItemsButton")
- self.stoneButton = self.GetChild("StoneButton")
- self.boxButton = self.GetChild("BoxButton")
- self.efsunButton = self.GetChild("EfsunButton")
- self.cicekButton = self.GetChild("CicekButton")
- self.inventoryTab = []
- self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
- self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
- self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
- self.MalzemeDeposuInfo = self.GetChild("MalzemeDeposuInfo")
- except:
- import exception
- exception.Abort("ExtendedInventoryWindow.LoadWindow.BindObject")
- ## Info
- self.tlInfo = uiToolTip.ItemToolTip()
- self.tlInfo.Hide()
- self.tooltipInfo = [self.tlInfo]*7
- self.InformationText = [localeInfo.MALZEME_DEPOSU,
- localeInfo.BK_ENVANTER_TEXT1,
- localeInfo.BK_ENVANTER_TEXT2,
- localeInfo.BK_ENVANTER_TEXT3,
- localeInfo.BK_ENVANTER_TEXT4,
- localeInfo.BK_ENVANTER_TEXT5,
- localeInfo.BK_ENVANTER_TEXT6
- ]
- for i in xrange(7):
- self.tooltipInfo[i].SetFollow(True)
- self.tooltipInfo[i].AlignHorizonalCenter()
- if i == 0:
- TITLE_COLOR = grp.GenerateColor(0.9490, 0.9058, 0.7568, 1.0)
- self.tooltipInfo[i].AutoAppendTextLine(self.InformationText[i], TITLE_COLOR)
- else:
- self.tooltipInfo[i].AutoAppendTextLine(self.InformationText[i])
- self.tooltipInfo[i].Hide()
- self.tooltipInfo[i].toolTipWidth += 10
- ## Item
- wndItem.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
- wndItem.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
- wndItem.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
- wndItem.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
- wndItem.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
- wndItem.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
- self.envanterileacilsin = ui.CheckBox()
- self.envanterileacilsin.SetParent(self)
- self.envanterileacilsin.SetPosition(17, 385)
- self.envanterileacilsin.SetEvent(ui.__mem_func__(self.__OnClickEnableEnvanterOn), "ON_CHECK", True)
- self.envanterileacilsin.SetEvent(ui.__mem_func__(self.__OnClickDisableEnvanterOf), "ON_UNCKECK", False)
- self.envanterileacilsin.SetTextInfo(localeInfo.ENVANTER_ILE_AC)
- self.envanterileacilsin.SetCheckStatus(constInfo.EnvanterAcilsinmi)
- self.envanterileacilsin.Show()
- self.SkillBookButton.SetEvent(lambda arg=0: self.SetInventoryType(arg))
- self.UpgradeItemsButton.SetEvent(lambda arg=1: self.SetInventoryType(arg))
- self.stoneButton.SetEvent(lambda arg=2: self.SetInventoryType(arg))
- self.boxButton.SetEvent(lambda arg=3: self.SetInventoryType(arg))
- self.efsunButton.SetEvent(lambda arg=4: self.SetInventoryType(arg))
- self.cicekButton.SetEvent(lambda arg=5: self.SetInventoryType(arg))
- self.SkillBookButton.Down()
- self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
- self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
- self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg))
- self.inventoryTab[0].Down()
- ## PickMoneyDialog
- dlgPickMoney = uiPickMoney.PickMoneyDialog()
- dlgPickMoney.LoadDialog()
- dlgPickMoney.Hide()
- ## PickItemDialog
- dlgPickItem = uiPickEtc.PickEtcDialog()
- dlgPickItem.LoadDialog()
- dlgPickItem.Hide()
- self.dlgPickMoney = dlgPickMoney
- self.wndItem = wndItem
- self.SetInventoryType(0)
- self.SetInventoryPage(0)
- self.dlgPickItem = dlgPickItem
- self.wndCostume = None
- def Destroy(self):
- self.ClearDictionary()
- self.dlgPickMoney.Destroy()
- self.dlgPickItem.Destroy()
- self.dlgPickItem = 0
- self.dlgPickMoney = 0
- self.tooltipItem = None
- self.wndItem = 0
- self.interface = None
- self.inventoryTab = []
- self.envanterileacilsin = []
- if app.EKENVANTER_AC:
- def __OnClickEnableEnvanterOn(self):
- constInfo.EnvanterAcilsinmi = 1
- chat.AppendChat(chat.CHAT_TYPE_INFO, "<Sistem> Envanter ile açılma aktif.")
- def __OnClickDisableEnvanterOf(self):
- constInfo.EnvanterAcilsinmi = 0
- chat.AppendChat(chat.CHAT_TYPE_INFO, "<Sistem> Envanter ile açılma pasif.")
- def Hide(self):
- if None != self.tooltipItem:
- self.tooltipItem.HideToolTip()
- self.tlInfo.Hide()
- if self.dlgPickItem:
- self.dlgPickItem.Close()
- wndMgr.Hide(self.hWnd)
- def Close(self):
- if self.tooltipItem:
- self.tooltipItem.HideToolTip()
- self.tlInfo.Hide()
- self.Hide()
- def OnUpdate(self):
- for i in xrange(7):
- if self.MalzemeDeposuInfo.IsIn():
- self.tooltipInfo[i].Show()
- else:
- self.tooltipInfo[i].Hide()
- def SetInventoryType(self, type):
- self.inventoryType = type
- if type == 0:
- self.SkillBookButton.Down()
- self.efsunButton.SetUp()
- self.cicekButton.SetUp()
- self.UpgradeItemsButton.SetUp()
- self.stoneButton.SetUp()
- self.boxButton.SetUp()
- self.titleName.SetText(localeInfo.INVENTORY_SKILL_BOOK_TOOLTIP)
- elif type == 2:
- self.stoneButton.Down()
- self.efsunButton.SetUp()
- self.cicekButton.SetUp()
- self.UpgradeItemsButton.SetUp()
- self.SkillBookButton.SetUp()
- self.boxButton.SetUp()
- self.titleName.SetText(localeInfo.INVENTORY_STONE_TOOLTIP)
- elif type == 3:
- self.boxButton.Down()
- self.efsunButton.SetUp()
- self.UpgradeItemsButton.SetUp()
- self.cicekButton.SetUp()
- self.stoneButton.SetUp()
- self.SkillBookButton.SetUp()
- self.titleName.SetText(localeInfo.INVENTORY_BOX_TOOLTIP)
- elif type == 4:
- self.efsunButton.Down()
- self.boxButton.SetUp()
- self.cicekButton.SetUp()
- self.UpgradeItemsButton.SetUp()
- self.stoneButton.SetUp()
- self.SkillBookButton.SetUp()
- self.titleName.SetText(localeInfo.INVENTORY_EFSUN_TOOLTIP)
- elif type == 5:
- self.cicekButton.Down()
- self.efsunButton.SetUp()
- self.boxButton.SetUp()
- self.UpgradeItemsButton.SetUp()
- self.stoneButton.SetUp()
- self.SkillBookButton.SetUp()
- self.titleName.SetText(localeInfo.INVENTORY_CICEK_TOOLTIP)
- else:
- self.UpgradeItemsButton.Down()
- self.SkillBookButton.SetUp()
- self.efsunButton.SetUp()
- self.cicekButton.SetUp()
- self.stoneButton.SetUp()
- self.boxButton.SetUp()
- self.titleName.SetText(localeInfo.INVENTORY_UPGRADE_ITEM_TOOLTIP)
- self.RefreshBagSlotWindow()
- def SetInventoryPage(self, page):
- self.inventoryPageIndex = page
- for i in range(0,len(self.inventoryTab)):
- self.inventoryTab[i].SetUp()
- self.inventoryTab[page].Down()
- self.RefreshBagSlotWindow()
- def OnPickItem(self, count):
- itemSlotIndex = self.dlgPickItem.itemGlobalSlotIndex
- selectedItemVNum = player.GetItemIndex(itemSlotIndex)
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_SKILL_BOOK_INVENTORY, itemSlotIndex, selectedItemVNum, count)
- def __InventoryLocalSlotPosToGlobalSlotPos(self, local):
- if self.inventoryType == 0:
- return self.inventoryPageIndex*player.SKILL_BOOK_INVENTORY_SLOT_COUNT + local + item.SKILL_BOOK_INVENTORY_SLOT_START
- elif self.inventoryType == 2:
- return self.inventoryPageIndex*player.STONE_INVENTORY_SLOT_COUNT + local + item.STONE_INVENTORY_SLOT_START
- elif self.inventoryType == 3:
- return self.inventoryPageIndex*player.BOX_INVENTORY_SLOT_COUNT + local + item.BOX_INVENTORY_SLOT_START
- elif self.inventoryType == 4:
- return self.inventoryPageIndex*player.EFSUN_INVENTORY_SLOT_COUNT + local + item.EFSUN_INVENTORY_SLOT_START
- elif self.inventoryType == 5:
- return self.inventoryPageIndex*player.CICEK_INVENTORY_SLOT_COUNT + local + item.CICEK_INVENTORY_SLOT_START
- else:
- return self.inventoryPageIndex*player.UPGRADE_ITEMS_INVENTORY_SLOT_COUNT + local + item.UPGRADE_ITEMS_INVENTORY_SLOT_START
- def GetInventoryPageIndex(self):
- return self.inventoryPageIndex
- def RefreshBagSlotWindow(self):
- getItemVNum=player.GetItemIndex
- getItemCount=player.GetItemCount
- setItemVNum=self.wndItem.SetItemSlot
- if self.inventoryType == 0:
- for i in xrange(player.SKILL_BOOK_INVENTORY_SLOT_COUNT):
- slotNumber = item.SKILL_BOOK_INVENTORY_SLOT_START + i
- if self.GetInventoryPageIndex() == 1:
- slotNumber += 45
- elif self.GetInventoryPageIndex() == 2:
- slotNumber += 90
- itemCount = getItemCount(slotNumber)
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- elif self.inventoryType == 2:
- for i in xrange(player.STONE_INVENTORY_SLOT_COUNT):
- slotNumber = item.STONE_INVENTORY_SLOT_START + i
- if self.GetInventoryPageIndex() == 1:
- slotNumber += 45
- elif self.GetInventoryPageIndex() == 2:
- slotNumber += 90
- itemCount = getItemCount(slotNumber)
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- elif self.inventoryType == 3:
- for i in xrange(player.BOX_INVENTORY_SLOT_COUNT):
- slotNumber = item.BOX_INVENTORY_SLOT_START + i
- if self.GetInventoryPageIndex() == 1:
- slotNumber += 45
- elif self.GetInventoryPageIndex() == 2:
- slotNumber += 90
- itemCount = getItemCount(slotNumber)
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- elif self.inventoryType == 4:
- for i in xrange(player.EFSUN_INVENTORY_SLOT_COUNT):
- slotNumber = item.EFSUN_INVENTORY_SLOT_START + i
- if self.GetInventoryPageIndex() == 1:
- slotNumber += 45
- elif self.GetInventoryPageIndex() == 2:
- slotNumber += 90
- itemCount = getItemCount(slotNumber)
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- elif self.inventoryType == 5:
- for i in xrange(player.CICEK_INVENTORY_SLOT_COUNT):
- slotNumber = item.CICEK_INVENTORY_SLOT_START + i
- if self.GetInventoryPageIndex() == 1:
- slotNumber += 45
- elif self.GetInventoryPageIndex() == 2:
- slotNumber += 90
- itemCount = getItemCount(slotNumber)
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- else:
- for i in xrange(player.UPGRADE_ITEMS_INVENTORY_SLOT_COUNT):
- slotNumber = item.UPGRADE_ITEMS_INVENTORY_SLOT_START + i
- if self.GetInventoryPageIndex() == 1:
- slotNumber += 45
- elif self.GetInventoryPageIndex() == 2:
- slotNumber += 90
- itemCount = getItemCount(slotNumber)
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- self.wndItem.RefreshSlot()
- def RefreshItemSlot(self):
- self.RefreshBagSlotWindow()
- def RefreshStatus(self):
- pass
- def SetItemToolTip(self, tooltipItem):
- self.tooltipItem = tooltipItem
- def SelectEmptySlot(self, selectedSlotPos):
- if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
- return
- if self.inventoryType == 0:
- selectedSlotPos += item.SKILL_BOOK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- selectedSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- selectedSlotPos += 90
- elif self.inventoryType == 2:
- selectedSlotPos += item.STONE_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- selectedSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- selectedSlotPos += 90
- elif self.inventoryType == 3:
- selectedSlotPos += item.BOX_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- selectedSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- selectedSlotPos += 90
- elif self.inventoryType == 4:
- selectedSlotPos += item.EFSUN_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- selectedSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- selectedSlotPos += 90
- elif self.inventoryType == 5:
- selectedSlotPos += item.CICEK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- selectedSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- selectedSlotPos += 90
- else:
- selectedSlotPos += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- selectedSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- selectedSlotPos += 90
- if mouseModule.mouseController.isAttached():
- attachedSlotType = mouseModule.mouseController.GetAttachedType()
- attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
- attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
- attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
- if player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
- itemCount = player.GetItemCount(attachedSlotPos)
- attachedCount = mouseModule.mouseController.GetAttachedItemCount()
- self.__SendMoveItemPacket(attachedSlotPos, selectedSlotPos, attachedCount)
- if item.IsRefineScroll(attachedItemIndex):
- self.wndItem.SetUseMode(False)
- elif player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
- mouseModule.mouseController.RunCallBack("INVENTORY")
- elif player.SLOT_TYPE_OFFLINE_SHOP == attachedSlotType:
- mouseModule.mouseController.RunCallBack("INVENTORY")
- elif player.SLOT_TYPE_SHOP == attachedSlotType:
- net.SendShopBuyPacket(attachedSlotPos)
- elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:
- if player.ITEM_MONEY == attachedItemIndex:
- net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
- snd.PlaySound("sound/ui/money.wav")
- else:
- net.SendSafeboxCheckoutPacket(attachedSlotPos, selectedSlotPos)
- elif player.SLOT_TYPE_MALL == attachedSlotType:
- net.SendMallCheckoutPacket(attachedSlotPos, selectedSlotPos)
- mouseModule.mouseController.DeattachObject()
- def SelectItemSlot(self, itemSlotIndex):
- if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
- return
- if self.inventoryType == 0:
- itemSlotIndex += item.SKILL_BOOK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- itemSlotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- itemSlotIndex += 90
- elif self.inventoryType == 2:
- itemSlotIndex += item.STONE_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- itemSlotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- itemSlotIndex += 90
- elif self.inventoryType == 3:
- itemSlotIndex += item.BOX_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- itemSlotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- itemSlotIndex += 90
- elif self.inventoryType == 4:
- itemSlotIndex += item.EFSUN_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- itemSlotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- itemSlotIndex += 90
- elif self.inventoryType == 5:
- itemSlotIndex += item.CICEK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- itemSlotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- itemSlotIndex += 90
- else:
- itemSlotIndex += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- itemSlotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- itemSlotIndex += 90
- if mouseModule.mouseController.isAttached():
- attachedSlotType = mouseModule.mouseController.GetAttachedType()
- attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
- attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex()
- attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
- if player.GetItemCount(itemSlotIndex) > attachedItemCount:
- return
- if player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
- self.__SendMoveItemPacket(attachedSlotPos, itemSlotIndex, attachedItemCount)
- mouseModule.mouseController.DeattachObject()
- else:
- curCursorNum = app.GetCursor()
- #if app.SELL == curCursorNum:
- #self.__SellItem(itemSlotIndex)
- if app.BUY == curCursorNum:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO)
- elif app.IsPressed(app.DIK_LALT):
- link = player.GetItemLink(itemSlotIndex)
- ime.PasteString(link)
- elif app.IsPressed(app.DIK_LALT):
- link = player.GetItemLink(itemSlotIndex)
- ime.PasteString(link)
- elif app.IsPressed(app.DIK_LSHIFT):
- itemCount = player.GetItemCount(itemSlotIndex)
- if itemCount > 1:
- self.dlgPickItem.SetTitleName(localeInfo.PICK_ITEM_TITLE)
- self.dlgPickItem.SetAcceptEvent(ui.__mem_func__(self.OnPickItem))
- self.dlgPickItem.Open(itemCount)
- self.dlgPickItem.itemGlobalSlotIndex = itemSlotIndex
- elif app.IsPressed(app.DIK_LCONTROL):
- itemIndex = player.GetItemIndex(itemSlotIndex)
- if TRUE == item.CanAddToQuickSlotItem(itemIndex):
- player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_INVENTORY, itemSlotIndex)
- else:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.QUICKSLOT_REGISTER_DISABLE_ITEM)
- else:
- selectedItemVNum = player.GetItemIndex(itemSlotIndex)
- itemCount = player.GetItemCount(itemSlotIndex)
- if self.inventoryType == 0:
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_SKILL_BOOK_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
- elif self.inventoryType == 2:
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_STONE_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
- elif self.inventoryType == 3:
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_BOX_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
- elif self.inventoryType == 4:
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_EFSUN_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
- elif self.inventoryType == 5:
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_CICEK_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
- else:
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
- self.wndItem.SetUseMode(True)
- snd.PlaySound("sound/ui/pick.wav")
- def OnCloseQuestionDialog(self):
- if not self.questionDialog:
- return
- self.questionDialog.Close()
- self.questionDialog = None
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
- def Sat(self):
- if self.sellingSlotitemIndex == player.GetItemIndex(self.sellingSlotNumber):
- if self.sellingSlotitemCount == player.GetItemCount(self.sellingSlotNumber):
- net.SendShopSellPacketNew(self.sellingSlotNumber, self.questionDialog.count, player.INVENTORY)
- snd.PlaySound("sound/ui/money.wav")
- self.OnCloseQuestionDialog()
- def __OnClosePopupDialog(self):
- self.pop = None
- def OverOutItem(self):
- self.wndItem.SetUsableItem(False)
- if None != self.tooltipItem:
- self.tooltipItem.HideToolTip()
- def OverInItem(self, overSlotPos):
- if self.inventoryType == 0:
- overSlotPos += item.SKILL_BOOK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- overSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- overSlotPos += 90
- elif self.inventoryType == 2:
- overSlotPos += item.STONE_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- overSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- overSlotPos += 90
- elif self.inventoryType == 3:
- overSlotPos += item.BOX_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- overSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- overSlotPos += 90
- elif self.inventoryType == 4:
- overSlotPos += item.EFSUN_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- overSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- overSlotPos += 90
- elif self.inventoryType == 5:
- overSlotPos += item.CICEK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- overSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- overSlotPos += 90
- else:
- overSlotPos += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- overSlotPos += 45
- elif self.GetInventoryPageIndex() == 2:
- overSlotPos += 90
- self.wndItem.SetUsableItem(False)
- self.ShowToolTip(overSlotPos)
- def ShowToolTip(self, slotIndex):
- if None != self.tooltipItem:
- self.tooltipItem.SetInventoryItem(slotIndex)
- def OnPressEscapeKey(self):
- self.Close()
- return True
- def UseItemSlot(self, slotIndex):
- if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
- return
- if self.inventoryType == 0:
- slotIndex += item.SKILL_BOOK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- slotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- slotIndex += 90
- elif self.inventoryType == 2:
- slotIndex += item.STONE_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- slotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- slotIndex += 90
- elif self.inventoryType == 3:
- slotIndex += item.BOX_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- slotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- slotIndex += 90
- elif self.inventoryType == 4:
- slotIndex += item.EFSUN_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- slotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- slotIndex += 90
- elif self.inventoryType == 5:
- slotIndex += item.CICEK_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- slotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- slotIndex += 90
- else:
- slotIndex += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
- if self.GetInventoryPageIndex() == 1:
- slotIndex += 45
- elif self.GetInventoryPageIndex() == 2:
- slotIndex += 90
- self.__UseItem(slotIndex)
- mouseModule.mouseController.DeattachObject()
- self.OverOutItem()
- if app.ENABLE_10X_CHEST_OPEN:
- def IsTreasureBox(self, slotIndex):
- itemVnum = player.GetItemIndex(slotIndex)
- item.SelectItem(itemVnum)
- #if item.GetItemType() == item.ITEM_TYPE_GIFTBOX or item.GetItemType() == item.ITEM_TYPE_GACHA:
- if itemVnum >= 50255 and itemVnum <= 50260:
- return True
- return False
- def SendMultipleUseItemPacket(self, slotIndex):
- for i in xrange(player.GetItemCount(slotIndex)):
- self.__SendUseItemPacket(slotIndex)
- def __UseItem(self, slotIndex):
- ItemVNum = player.GetItemIndex(slotIndex)
- item.SelectItem(ItemVNum)
- if app.ENABLE_10X_CHEST_OPEN:
- if app.IsPressed(app.DIK_LCONTROL) and self.IsTreasureBox(slotIndex):
- self.SendMultipleUseItemPacket(slotIndex)
- return
- if item.IsFlag(item.ITEM_FLAG_CONFIRM_WHEN_USE):
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText(localeInfo.INVENTORY_REALLY_USE_ITEM)
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
- self.questionDialog.Open()
- self.questionDialog.slotIndex = slotIndex
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- elif app.IsPressed(app.DIK_LSHIFT):
- if player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GACHA or\
- player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GIFTBOX and\
- ItemVNum != 31374 and ItemVNum != 50255 and\
- ItemVNum != 50187 and ItemVNum != 50197 and\
- ItemVNum != 50188 and ItemVNum != 50189 and\
- ItemVNum != 50190 and ItemVNum != 50191 and\
- ItemVNum != 50192 and ItemVNum != 50193 and\
- ItemVNum != 50194 and ItemVNum != 50195:
- if app.ENABLE_SHOW_CHEST_DROP:
- if self.interface:
- if self.interface.dlgChestDrop:
- if not self.interface.dlgChestDrop.IsShow():
- self.interface.dlgChestDrop.Open(slotIndex)
- net.SendChestDropInfo(slotIndex)
- else:
- self.__SendUseItemPacket(slotIndex)
- def __UseItemQuestionDialog_OnCancel(self):
- self.OnCloseQuestionDialog()
- def __UseItemQuestionDialog_OnAccept(self):
- self.__SendUseItemPacket(self.questionDialog.slotIndex)
- self.OnCloseQuestionDialog()
- def __SendUseItemPacket(self, slotPos):
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
- return
- if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- if (uiOfflineShop.IsEditingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- net.SendItemUsePacket(slotPos)
- def __SendMoveItemPacket(self, srcSlotPos, dstSlotPos, srcItemCount):
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
- return
- if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- if (uiOfflineShop.IsEditingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- net.SendItemMovePacket(srcSlotPos, dstSlotPos, srcItemCount)
- class BeltInventoryWindow(ui.ScriptWindow):
- def __init__(self, wndInventory):
- import exception
- if not app.ENABLE_NEW_EQUIPMENT_SYSTEM:
- exception.Abort("What do you do?")
- return
- if not wndInventory:
- exception.Abort("wndInventory parameter must be set to InventoryWindow")
- return
- ui.ScriptWindow.__init__(self)
- self.isLoaded = 0
- self.wndInventory = wndInventory;
- self.wndBeltInventoryLayer = None
- self.wndBeltInventorySlot = None
- self.expandBtn = None
- self.minBtn = None
- self.__LoadWindow()
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def Show(self, openBeltSlot = FALSE):
- self.__LoadWindow()
- self.RefreshSlot()
- ui.ScriptWindow.Show(self)
- if openBeltSlot:
- self.OpenInventory()
- else:
- self.CloseInventory()
- def Close(self):
- self.Hide()
- def IsOpeningInventory(self):
- return self.wndBeltInventoryLayer.IsShow()
- def OpenInventory(self):
- self.wndBeltInventoryLayer.Show()
- self.expandBtn.Hide()
- if localeInfo.IsARABIC() == 0:
- self.AdjustPositionAndSize()
- def CloseInventory(self):
- self.wndBeltInventoryLayer.Hide()
- self.expandBtn.Show()
- if localeInfo.IsARABIC() == 0:
- self.AdjustPositionAndSize()
- def GetBasePosition(self):
- x, y = self.wndInventory.GetGlobalPosition()
- return x - 148, y + 241
- def AdjustPositionAndSize(self):
- bx, by = self.GetBasePosition()
- if self.IsOpeningInventory():
- self.SetPosition(bx, by)
- self.SetSize(self.ORIGINAL_WIDTH, self.GetHeight())
- else:
- self.SetPosition(bx + 138, by);
- self.SetSize(10, self.GetHeight())
- def __LoadWindow(self):
- if self.isLoaded == 1:
- return
- self.isLoaded = 1
- try:
- pyScrLoader = ui.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, "UIScript/BeltInventoryWindow.py")
- except:
- import exception
- exception.Abort("CostumeWindow.LoadWindow.LoadObject")
- try:
- self.ORIGINAL_WIDTH = self.GetWidth()
- wndBeltInventorySlot = self.GetChild("BeltInventorySlot")
- self.wndBeltInventoryLayer = self.GetChild("BeltInventoryLayer")
- self.expandBtn = self.GetChild("ExpandBtn")
- self.minBtn = self.GetChild("MinimizeBtn")
- self.expandBtn.SetEvent(ui.__mem_func__(self.OpenInventory))
- self.minBtn.SetEvent(ui.__mem_func__(self.CloseInventory))
- if localeInfo.IsARABIC() :
- self.expandBtn.SetPosition(self.expandBtn.GetWidth() - 2, 15)
- self.wndBeltInventoryLayer.SetPosition(self.wndBeltInventoryLayer.GetWidth() - 5, 0)
- self.minBtn.SetPosition(self.minBtn.GetWidth() + 3, 15)
- for i in xrange(item.BELT_INVENTORY_SLOT_COUNT):
- slotNumber = item.BELT_INVENTORY_SLOT_START + i
- wndBeltInventorySlot.SetCoverButton(slotNumber, "d:/ymir work/ui/game/quest/slot_button_01.sub",\
- "d:/ymir work/ui/game/quest/slot_button_01.sub",\
- "d:/ymir work/ui/game/quest/slot_button_01.sub",\
- "d:/ymir work/ui/game/belt_inventory/slot_disabled.tga", FALSE, FALSE)
- except:
- import exception
- exception.Abort("CostumeWindow.LoadWindow.BindObject")
- ## Equipment
- wndBeltInventorySlot.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
- wndBeltInventorySlot.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
- wndBeltInventorySlot.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
- wndBeltInventorySlot.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
- wndBeltInventorySlot.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
- wndBeltInventorySlot.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))
- self.wndBeltInventorySlot = wndBeltInventorySlot
- def RefreshSlot(self):
- getItemVNum=player.GetItemIndex
- for i in xrange(item.BELT_INVENTORY_SLOT_COUNT):
- slotNumber = item.BELT_INVENTORY_SLOT_START + i
- self.wndBeltInventorySlot.SetItemSlot(slotNumber, getItemVNum(slotNumber), player.GetItemCount(slotNumber))
- self.wndBeltInventorySlot.SetAlwaysRenderCoverButton(slotNumber, TRUE)
- avail = "0"
- if player.IsAvailableBeltInventoryCell(slotNumber):
- self.wndBeltInventorySlot.EnableCoverButton(slotNumber)
- else:
- self.wndBeltInventorySlot.DisableCoverButton(slotNumber)
- self.wndBeltInventorySlot.RefreshSlot()
- class BioWindow(ui.ScriptWindow):
- def __init__(self, wndInventory):
- import exception
- if not wndInventory:
- exception.Abort("wndInventory parameter must be set to InventoryWindow")
- return
- ui.ScriptWindow.__init__(self)
- self.isLoaded = 0
- self.kalan = 0
- self.gerekli = 0
- self.wndInventory = wndInventory;
- self.wndBioLayer = None
- self.wndBioSlot = None
- self.expandBtn = None
- self.minBtn = None
- self.tooltipItem = uiToolTip.ItemToolTip()
- self.tooltipItem.Hide()
- self.__LoadWindow()
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def Show(self, openBeltSlot = FALSE):
- self.__LoadWindow()
- self.RefreshSlot()
- ui.ScriptWindow.Show(self)
- if openBeltSlot:
- self.OpenInventory()
- else:
- self.CloseInventory()
- def Close(self):
- self.Hide()
- def IsOpeningInventory(self):
- return self.wndBioLayer.IsShow()
- def OpenInventory(self):
- self.wndBioLayer.Show()
- self.expandBtn.Hide()
- if localeInfo.IsARABIC() == 0:
- self.AdjustPositionAndSize()
- def CloseInventory(self):
- self.wndBioLayer.Hide()
- self.expandBtn.Show()
- if localeInfo.IsARABIC() == 0:
- self.AdjustPositionAndSize()
- def GetBasePosition(self):
- x, y = self.wndInventory.GetGlobalPosition()
- return x - 148, y + 20
- def AdjustPositionAndSize(self):
- bx, by = self.GetBasePosition()
- if self.IsOpeningInventory():
- self.SetPosition(bx, by)
- self.SetSize(self.ORIGINAL_WIDTH, self.GetHeight())
- else:
- self.SetPosition(bx + 138, by);
- self.SetSize(10, self.GetHeight())
- def __LoadWindow(self):
- if self.isLoaded == 1:
- return
- self.isLoaded = 1
- try:
- pyScrLoader = ui.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, "UIScript/BioWindow.py")
- except:
- import exception
- exception.Abort("CostumeWindow.LoadWindow.LoadObject")
- try:
- self.ORIGINAL_WIDTH = self.GetWidth()
- wndBioSlot = self.GetChild("BeltInventorySlot")
- self.wndBioLayer = self.GetChild("BeltInventoryLayer")
- self.expandBtn = self.GetChild("ExpandBtn")
- self.minBtn = self.GetChild("MinimizeBtn")
- self.counttext = self.GetChild("count")
- self.sure = self.GetChild("time")
- self.verbutton = self.GetChild("biobutton")
- self.remoteshop = self.GetChild("biyolog_open")
- self.expandBtn.SetEvent(ui.__mem_func__(self.OpenInventory))
- self.minBtn.SetEvent(ui.__mem_func__(self.CloseInventory))
- self.verbutton.SetEvent(ui.__mem_func__(self.vergitsin))
- self.remoteshop.SetEvent(ui.__mem_func__(self.biyolog_start))
- if localeInfo.IsARABIC() :
- self.expandBtn.SetPosition(self.expandBtn.GetWidth() - 2, 15)
- self.wndBioLayer.SetPosition(self.wndBioLayer.GetWidth() - 5, 0)
- self.minBtn.SetPosition(self.minBtn.GetWidth() + 3, 15)
- for i in xrange(item.BELT_INVENTORY_SLOT_COUNT):
- slotNumber = item.BELT_INVENTORY_SLOT_START + i
- wndBioSlot.SetCoverButton(slotNumber, "d:/ymir work/ui/game/quest/slot_button_01.sub",\
- "d:/ymir work/ui/game/quest/slot_button_01.sub",\
- "d:/ymir work/ui/game/quest/slot_button_01.sub",\
- "d:/ymir work/ui/game/belt_inventory/slot_disabled.tga", FALSE, FALSE)
- except:
- import exception
- exception.Abort("CostumeWindow.LoadWindow.BindObject")
- wndBioSlot.SetOverInItemEvent(ui.__mem_func__(self.OverInItem2))
- wndBioSlot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem2))
- self.wndBioSlot = wndBioSlot
- def biyolog_start(self):
- net.SendChatPacket("/npcac 20990")
- def vergitsin(self):
- net.SendChatPacket("/biyologver")
- def SetBiyolog(self, bioitem, verilen, toplam, kalansure):
- self.gerekli = int(bioitem)
- self.kalan = int(kalansure)
- self.counttext.SetText(str(verilen)+"/"+str(toplam))
- self.RefreshSlot()
- def OverInItem2(self):
- itemIndex = int(self.gerekli)
- item.SelectItem(itemIndex)
- taslarr = [player.GetItemMetinSocket(999, i) for i in xrange(player.METIN_SOCKET_MAX_NUM)]
- efsunlarr = [player.GetItemAttribute(999, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)]
- self.tooltipItem.ClearToolTip()
- self.tooltipItem.AddRefineItemData(itemIndex, taslarr, efsunlarr)
- self.tooltipItem.Show()
- def OverOutItem2(self):
- self.tooltipItem.ClearToolTip()
- self.tooltipItem.Hide()
- def OnUpdate(self):
- import time
- current_milli_time = int(app.GetGlobalTimeStamp())
- if int(self.kalan) == 0:
- self.sure.SetText("Verilebilir!")
- elif (int(self.kalan)-current_milli_time <= 0):
- self.sure.SetText("Verilebilir!")
- else:
- self.sure.SetText(str(localeInfo.surever(int(self.kalan)-current_milli_time)))
- def RefreshSlot(self):
- getItemVNum= int (self.gerekli)
- if getItemVNum > 0:
- self.wndBioSlot.SetItemSlot(999, getItemVNum)
- else:
- self.wndBioSlot.ClearSlot(999)
- return
- self.wndBioSlot.RefreshSlot()
- class InventoryWindow(ui.ScriptWindow):
- USE_TYPE_TUPLE = ("USE_CLEAN_SOCKET", "USE_CHANGE_ATTRIBUTE", "USE_ADD_ATTRIBUTE", "USE_ADD_ATTRIBUTE2", "USE_ADD_ACCESSORY_SOCKET", "USE_PUT_INTO_ACCESSORY_SOCKET", "USE_PUT_INTO_BELT_SOCKET", "USE_PUT_INTO_RING_SOCKET", "USE_BIND", "USE_UNBIND", "USE_COSTUME_ENCHANT", "USE_COSTUME_TRANSFORM")
- questionDialog = None
- tooltipItem = None
- wndCostume = None
- wndBelt = None
- wndBio = None
- dlgPickMoney = None
- dlgPickItem = None
- interface = None
- if app.WJ_ENABLE_TRADABLE_ICON:
- bindWnds = []
- sellingSlotNumber = -1
- isLoaded = 0
- sonbasma = 0
- isOpenedCostumeWindowWhenClosingInventory = 0
- isOpenedBeltWindowWhenClosingInventory = 0
- isOpenedBioInventory = 0
- def __init__(self):
- ui.ScriptWindow.__init__(self)
- self.isOpenedBeltWindowWhenClosingInventory = 0
- self.isOpenedBioInventory = 0
- self.__LoadWindow()
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def Show(self):
- self.__LoadWindow()
- ui.ScriptWindow.Show(self)
- if self.isOpenedCostumeWindowWhenClosingInventory and self.wndCostume:
- self.wndCostume.Show()
- if self.wndBelt:
- self.wndBelt.Show(self.isOpenedBeltWindowWhenClosingInventory)
- if self.wndBio:
- self.wndBio.Show(self.isOpenedBioInventory)
- def SetBiyolog(self, bioitem, verilen, toplam, kalansure):
- self.wndBio.SetBiyolog(bioitem, verilen, toplam, kalansure)
- def BindInterfaceClass(self, interface):
- self.interface = interface
- if app.WJ_ENABLE_TRADABLE_ICON:
- def BindWindow(self, wnd):
- self.bindWnds.append(wnd)
- def __LoadWindow(self):
- if self.isLoaded == 1:
- return
- self.isLoaded = 1
- try:
- pyScrLoader = ui.PythonScriptLoader()
- if ITEM_MALL_BUTTON_ENABLE:
- pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "InventoryWindow.py")
- else:
- pyScrLoader.LoadScriptFile(self, "UIScript/InventoryWindow.py")
- except:
- import exception
- exception.Abort("InventoryWindow.LoadWindow.LoadObject")
- try:
- wndItem = self.GetChild("ItemSlot")
- wndEquip = self.GetChild("EquipmentSlot")
- self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
- self.mallButton = self.GetChild2("MallButton")
- self.DSSButton = self.GetChild2("DSSButton")
- self.costumeButton = self.GetChild2("CostumeButton")
- if app.ENABLE_DRAGON_SOUL_SYSTEM==0:
- self.DSSButton.Hide()
- self.inventoryTab = []
- self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
- self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
- self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
- self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
- self.equipmentTab = []
- self.equipmentTab.append(self.GetChild("Equipment_Tab_01"))
- self.equipmentTab.append(self.GetChild("Equipment_Tab_02"))
- if self.costumeButton and not app.ENABLE_COSTUME_SYSTEM:
- self.costumeButton.Hide()
- self.costumeButton.Destroy()
- self.costumeButton = 0
- # Belt Inventory Window
- self.wndBelt = None
- self.wndBio = None
- if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
- self.wndBelt = BeltInventoryWindow(self)
- self.wndBio = BioWindow(self)
- if app.ENABLE_EXTEND_INVEN_SYSTEM:
- self.ExInvenButton = []
- except:
- import exception
- exception.Abort("InventoryWindow.LoadWindow.BindObject")
- ## Item
- wndItem.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
- wndItem.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
- wndItem.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
- wndItem.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
- wndItem.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
- wndItem.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
- ## Equipment
- wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
- wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
- wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
- wndEquip.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
- wndEquip.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
- wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
- ## PickMoneyDialog
- dlgPickMoney = uiPickMoney.PickMoneyDialog()
- dlgPickMoney.LoadDialog()
- dlgPickMoney.Hide()
- ## PickItemDialog
- dlgPickItem = uiPickEtc.PickEtcDialog()
- dlgPickItem.LoadDialog()
- dlgPickItem.Hide()
- ## RefineDialog
- self.refineDialog = uiRefine.RefineDialog()
- self.refineDialog.Hide()
- self.rarityRefineDialog = uirarityrefine.RefineRarityWindow()
- self.rarityRefineDialog.Hide()
- ## AttachMetinDialog
- if app.WJ_ENABLE_TRADABLE_ICON:
- self.attachMetinDialog = uiAttachMetin.AttachMetinDialog(self)
- self.BindWindow(self.attachMetinDialog)
- else:
- self.attachMetinDialog = uiAttachMetin.AttachMetinDialog()
- self.attachMetinDialog.Hide()
- self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
- 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))
- self.inventoryTab[0].Down()
- self.equipmentTab[0].SetEvent(lambda arg=0: self.SetEquipmentPage(arg))
- self.equipmentTab[1].SetEvent(lambda arg=1: self.SetEquipmentPage(arg))
- self.equipmentTab[0].Down()
- self.equipmentTab[0].Hide()
- self.equipmentTab[1].Hide()
- self.wndItem = wndItem
- self.wndEquip = wndEquip
- self.dlgPickMoney = dlgPickMoney
- self.dlgPickItem = dlgPickItem
- # MallButton
- if self.mallButton:
- self.mallButton.SetEvent(ui.__mem_func__(self.ClickMallButton))
- if self.DSSButton:
- self.DSSButton.SetEvent(ui.__mem_func__(self.ClickDSSButton))
- # Costume Button
- if self.costumeButton:
- self.costumeButton.SetEvent(ui.__mem_func__(self.ClickCostumeButton))
- self.wndCostume = None
- #####
- ## Refresh
- self.listUnusableSlot = []
- if app.ENABLE_HIGHLIGHT_SYSTEM:
- self.listHighlightedSlot = []
- if app.ENABLE_SASH_SYSTEM:
- self.listAttachedSashs = []
- if app.ENABLE_CHANGELOOK_SYSTEM:
- self.listAttachedCl = []
- self.SetInventoryPage(0)
- self.SetEquipmentPage(0)
- self.RefreshItemSlot()
- def Destroy(self):
- self.ClearDictionary()
- self.dlgPickMoney.Destroy()
- self.dlgPickItem.Destroy()
- self.dlgPickItem = 0
- self.dlgPickMoney = 0
- self.refineDialog.Destroy()
- self.refineDialog = 0
- self.rarityRefineDialog.Destroy()
- self.rarityRefineDialog = 0
- self.attachMetinDialog.Destroy()
- self.attachMetinDialog = 0
- self.tooltipItem = None
- self.wndItem = 0
- self.wndEquip = 0
- self.dlgPickMoney = 0
- self.questionDialog = None
- self.mallButton = None
- self.DSSButton = None
- self.interface = None
- if app.WJ_ENABLE_TRADABLE_ICON:
- self.bindWnds = []
- if self.wndCostume:
- self.wndCostume.Destroy()
- self.wndCostume = 0
- if self.wndBelt:
- self.wndBelt.Destroy()
- self.wndBelt = None
- if self.wndBio:
- self.wndBio.Destroy()
- self.wndBio = None
- self.inventoryTab = []
- self.equipmentTab = []
- if app.ENABLE_EXTEND_INVEN_SYSTEM:
- self.ExInvenButton = []
- def Hide(self):
- if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
- self.OnCloseQuestionDialog()
- return
- if None != self.tooltipItem:
- self.tooltipItem.HideToolTip()
- if self.wndCostume:
- self.isOpenedCostumeWindowWhenClosingInventory = self.wndCostume.IsShow()
- self.wndCostume.Close()
- if self.wndBelt:
- self.isOpenedBeltWindowWhenClosingInventory = self.wndBelt.IsOpeningInventory()
- print "Is Opening Belt Inven?? ", self.isOpenedBeltWindowWhenClosingInventory
- self.wndBelt.Close()
- if self.wndBio:
- self.isOpenedBioInventory = self.wndBio.IsOpeningInventory()
- print "Is Opening bio Inven ", self.isOpenedBioInventory
- self.wndBio.Close()
- if self.dlgPickMoney:
- self.dlgPickMoney.Close()
- if self.dlgPickItem:
- self.dlgPickItem.Close()
- wndMgr.Hide(self.hWnd)
- def Close(self):
- self.Hide()
- if app.ENABLE_HIGHLIGHT_SYSTEM:
- def HighlightSlot(self, slot):
- if not slot in self.listHighlightedSlot:
- self.listHighlightedSlot.append(slot)
- def SetInventoryPage(self, page):
- self.inventoryPageIndex = page
- self.inventoryTab[(page+1)%4].SetUp()
- self.inventoryTab[(page+2)%4].SetUp()
- self.inventoryTab[(page+3)%4].SetUp()
- self.RefreshBagSlotWindow()
- def SetEquipmentPage(self, page):
- self.equipmentPageIndex = page
- self.equipmentTab[1-page].SetUp()
- self.RefreshEquipSlotWindow()
- if app.ENABLE_EXTEND_INVEN_SYSTEM:
- def __CreateExtendInvenButton(self):
- cur_stage = player.GetExtendInvenStage()
- ButtonPosition = 9
- if cur_stage < 9 and self.inventoryPageIndex == 3:
- ButtonPosition = cur_stage
- for i in range(ButtonPosition, player.EX_INVENTORY_STAGE_MAX):
- increase_y = 32 * (i % (player.EX_INVENTORY_STAGE_MAX / player.EX_INVENTORY_PAGE_COUNT))
- button = ui.Button()
- button.SetParent(self.GetChild("board"))
- #button.SetPosition(8, 246 + i * (player.EX_INVENTORY_STAGE_MAX * player.EX_INVENTORY_PAGE_COUNT + 5)) # TODO -> player.EX_INVENTORY_STAGE_MAX * player.EX_INVENTORY_PAGE_COUNT
- button.SetPosition(8, 246 + (increase_y))
- button.SetUpVisual(EX_INVEN_COVER_IMG_CLOSE)
- button.SetOverVisual(EX_INVEN_COVER_IMG_CLOSE)
- button.SetDownVisual(EX_INVEN_COVER_IMG_CLOSE)
- button.SetDisableVisual(EX_INVEN_COVER_IMG_CLOSE)
- button.SetDownVisual(EX_INVEN_COVER_IMG_CLOSE)
- button.Show()
- button.SetEvent(ui.__mem_func__(self.__ClickExtendInvenButton))
- self.ExInvenButton.append(button)
- def __ClickExtendInvenButton(self):
- net.SendExtendInvenButtonClick(player.GetExtendInvenStage())
- def __HideAllExtendInvenButton(self):
- for button in self.ExInvenButton:
- button.Hide()
- button.Destroy()
- def __ShowExtendInvenButton(self, cur_stage):
- for button in self.ExInvenButton:
- button.Destroy()
- self.__CreateExtendInvenButton()
- ButtonPosition = 0
- if cur_stage < 9 and self.inventoryPageIndex == 3:
- ButtonPosition = cur_stage
- button = ui.Button()
- button.SetParent(self.GetChild("board"))
- #button.SetPosition(8, 246 + ButtonPosition * (player.EX_INVENTORY_STAGE_MAX * player.EX_INVENTORY_PAGE_COUNT + 5)) # TODO -> player.EX_INVENTORY_STAGE_MAX * player.EX_INVENTORY_PAGE_COUNT
- increase_y = 32 * (ButtonPosition % (player.EX_INVENTORY_STAGE_MAX / player.EX_INVENTORY_PAGE_COUNT))
- button.SetPosition(8, 246 + (increase_y))
- button.SetUpVisual(EX_INVEN_COVER_IMG_OPEN)
- button.SetOverVisual(EX_INVEN_COVER_IMG_OPEN)
- button.SetDownVisual(EX_INVEN_COVER_IMG_OPEN)
- button.SetDisableVisual(EX_INVEN_COVER_IMG_OPEN)
- button.SetDownVisual(EX_INVEN_COVER_IMG_OPEN)
- button.Hide()
- button.SetEvent(ui.__mem_func__(self.__ClickExtendInvenButton))
- self.ExInvenButton.append(button)
- if cur_stage < 9 and self.inventoryPageIndex == 3:
- button.Show()
- def ExInvenItemUseMsg(self, current_stage, need_left, need_count):
- if current_stage >= player.EX_INVENTORY_STAGE_MAX * player.EX_INVENTORY_PAGE_COUNT:
- self.__OpenExInvenMsgDlg(current_stage)
- return
- if need_left > 0:
- self.__OpenExInvenFallShortCountMsgDlg(need_left)
- return
- self.__OpenExInvenQuestionDlg(need_count)
- def __OpenExInvenMsgDlg(self, current_stage):
- self.wndPopupDialog = uiCommon.PopupDialog()
- self.wndPopupDialog.SetText(localeInfo.EXINVEN_USE_ITEM_FAIL_FOURTH_PAGE_STAGE_MAX)
- self.wndPopupDialog.Open()
- def __OpenExInvenFallShortCountMsgDlg(self, need_left):
- self.wndPopupDialog = uiCommon.PopupDialog()
- self.wndPopupDialog.SetText(localeInfo.EXINVEN_USE_ITEM_FAIL_FALL_SHORT % (need_left))
- self.wndPopupDialog.Open()
- def __OpenExInvenQuestionDlg(self, need_count):
- ExInvquestionDialog = uiCommon.QuestionDialog2()
- ExInvquestionDialog.SetText1(localeInfo.EXINVEN_USE_ITEM_QUESTION_2 % (need_count))
- ExInvquestionDialog.SetText2(localeInfo.EXINVEN_USE_ITEM_QUESTION)
- ExInvquestionDialog.SetAcceptEvent(ui.__mem_func__(self.__AcceptExInvenItemUse))
- ExInvquestionDialog.SetCancelEvent(ui.__mem_func__(self.__CancelExInvenItemUse))
- ExInvquestionDialog.Open()
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- self.ExInvquestionDialog = ExInvquestionDialog
- def __AcceptExInvenItemUse(self):
- self.ExInvquestionDialog.Close()
- self.ExInvquestionDialog = None
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
- if player.GetExtendInvenStage() >= player.EX_INVENTORY_STAGE_MAX * player.EX_INVENTORY_PAGE_COUNT:
- return
- net.SendExtendInvenUpgrade()
- def __CancelExInvenItemUse(self):
- if self.ExInvquestionDialog:
- self.ExInvquestionDialog.Close()
- self.ExInvquestionDialog = None
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
- def ClickMallButton(self):
- net.SendChatPacket("/depo_ac")
- def OpenIs(self):
- self.Itemshop.Hide()
- self.Depo.Hide()
- self.sehir.Hide()
- self.choix.Hide()
- net.SendChatPacket("/click_mall")
- def _normal_mall(self):
- self.Itemshop.Hide()
- self.Depo.Hide()
- self.sehir.Hide()
- self.choix.Hide()
- net.SendChatPacket("/depo_ac")
- # DSSButton
- def ClickDSSButton(self):
- print "click_dss_button"
- self.interface.ToggleDragonSoulWindow()
- def ClickCostumeButton(self):
- print "Click Costume Button"
- if self.wndCostume:
- if self.wndCostume.IsShow():
- self.wndCostume.Hide()
- else:
- self.wndCostume.Show()
- else:
- self.wndCostume = CostumeWindow(self)
- self.wndCostume.Show()
- def OnPickItem(self, count):
- itemSlotIndex = self.dlgPickItem.itemGlobalSlotIndex
- selectedItemVNum = player.GetItemIndex(itemSlotIndex)
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, count)
- def __InventoryLocalSlotPosToGlobalSlotPos(self, local):
- if player.IsEquipmentSlot(local) or player.IsCostumeSlot(local) or (app.ENABLE_NEW_EQUIPMENT_SYSTEM and player.IsBeltInventorySlot(local)):
- return local
- return self.inventoryPageIndex*player.INVENTORY_PAGE_SIZE + local
- def GetInventoryPageIndex(self):
- return self.inventoryPageIndex
- if app.WJ_ENABLE_TRADABLE_ICON:
- def RefreshMarkSlots(self, localIndex=None):
- if not self.interface:
- return
- onTopWnd = self.interface.GetOnTopWindow()
- if localIndex:
- slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(localIndex)
- if onTopWnd == player.ON_TOP_WND_NONE:
- self.wndItem.SetUsableSlotOnTopWnd(localIndex)
- elif onTopWnd == player.ON_TOP_WND_SHOP:
- if player.IsAntiFlagBySlot(slotNumber, item.ANTIFLAG_SELL):
- self.wndItem.SetUnusableSlotOnTopWnd(localIndex)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(localIndex)
- elif onTopWnd == player.ON_TOP_WND_EXCHANGE:
- if player.IsAntiFlagBySlot(slotNumber, item.ANTIFLAG_GIVE):
- self.wndItem.SetUnusableSlotOnTopWnd(localIndex)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(localIndex)
- elif onTopWnd == player.ON_TOP_WND_PRIVATE_SHOP:
- if player.IsAntiFlagBySlot(slotNumber, item.ITEM_ANTIFLAG_MYSHOP):
- self.wndItem.SetUnusableSlotOnTopWnd(localIndex)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(localIndex)
- elif onTopWnd == player.ON_TOP_WND_SAFEBOX:
- if player.IsAntiFlagBySlot(slotNumber, item.ANTIFLAG_SAFEBOX):
- self.wndItem.SetUnusableSlotOnTopWnd(localIndex)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(localIndex)
- return
- for i in xrange(player.INVENTORY_PAGE_SIZE):
- slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
- if onTopWnd == player.ON_TOP_WND_NONE:
- self.wndItem.SetUsableSlotOnTopWnd(i)
- elif onTopWnd == player.ON_TOP_WND_SHOP:
- if player.IsAntiFlagBySlot(slotNumber, item.ANTIFLAG_SELL):
- self.wndItem.SetUnusableSlotOnTopWnd(i)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(i)
- elif onTopWnd == player.ON_TOP_WND_EXCHANGE:
- if player.IsAntiFlagBySlot(slotNumber, item.ANTIFLAG_GIVE):
- self.wndItem.SetUnusableSlotOnTopWnd(i)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(i)
- elif onTopWnd == player.ON_TOP_WND_PRIVATE_SHOP:
- if player.IsAntiFlagBySlot(slotNumber, item.ITEM_ANTIFLAG_MYSHOP):
- self.wndItem.SetUnusableSlotOnTopWnd(i)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(i)
- elif onTopWnd == player.ON_TOP_WND_SAFEBOX:
- if player.IsAntiFlagBySlot(slotNumber, item.ANTIFLAG_SAFEBOX):
- self.wndItem.SetUnusableSlotOnTopWnd(i)
- else:
- self.wndItem.SetUsableSlotOnTopWnd(i)
- def RefreshBagSlotWindow(self):
- getItemVNum=player.GetItemIndex
- getItemCount=player.GetItemCount
- setItemVNum=self.wndItem.SetItemSlot
- for i in xrange(player.INVENTORY_PAGE_SIZE):
- slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
- itemCount = getItemCount(slotNumber)
- if 0 == itemCount:
- self.wndItem.ClearSlot(i)
- continue
- elif 1 == itemCount:
- itemCount = 0
- itemVnum = getItemVNum(slotNumber)
- setItemVNum(i, itemVnum, itemCount)
- if app.ENABLE_CHANGELOOK_SYSTEM:
- itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
- if itemTransmutedVnum:
- self.wndItem.DisableCoverButton(i)
- else:
- self.wndItem.EnableCoverButton(i)
- if ((exchange.isTrading() and item.IsAntiFlag(item.ANTIFLAG_GIVE)) or (shop.IsOpen() and not shop.IsPrivateShop() and not shop.IsOfflineShop() and item.IsAntiFlag(item.ITEM_ANTIFLAG_SELL))):
- self.wndItem.SetUnusableSlotOnTopWnd(i)
- self.listUnusableSlot.append(i)
- elif ((not exchange.isTrading() and item.IsAntiFlag(item.ANTIFLAG_GIVE) and slotNumber in self.listUnusableSlot) or (not shop.IsOpen() and shop.IsPrivateShop() and shop.IsOfflineShop() and item.IsAntiFlag(item.ITEM_ANTIFLAG_SELL) and slotNumber in self.listUnusableSlot)):
- self.wndItem.SetUsableSlotOnTopWnd(i)
- self.listUnusableSlot.remove(i)
- if constInfo.IS_AUTO_POTION(itemVnum):
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
- slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex
- isActivated = 0 != metinSocket[0]
- if isActivated:
- #self.wndItem.ActivateSlot(slotNumber)
- #self.wndItem.ActivateSlot(slotNumber, (32.00 / 255.0), (178.00 / 255.0), (170.00 / 255.0), 1.0)
- self.wndItem.ActivateSlot(i, (36.00 / 255.0), (178.00 / 255.0), (170.00 / 255.0), 1.0)
- potionType = 0;
- if constInfo.IS_AUTO_POTION_HP(itemVnum):
- potionType = player.AUTO_POTION_TYPE_HP
- elif constInfo.IS_AUTO_POTION_SP(itemVnum):
- potionType = player.AUTO_POTION_TYPE_SP
- usedAmount = int(metinSocket[1])
- totalAmount = int(metinSocket[2])
- player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
- else:
- self.wndItem.DeactivateSlot(slotNumber)
- if app.ENABLE_HIGHLIGHT_SYSTEM:
- if slotNumber in self.listHighlightedSlot:
- self.wndItem.ActivateSlot(i)
- if app.ENABLE_SASH_SYSTEM:
- slotNumberChecked = 0
- if not constInfo.IS_AUTO_POTION(itemVnum):
- if app.ENABLE_HIGHLIGHT_SYSTEM:
- if not slotNumber in self.listHighlightedSlot:
- self.wndItem.DeactivateSlot(i)
- else:
- self.wndItem.DeactivateSlot(i)
- for j in xrange(sash.WINDOW_MAX_MATERIALS):
- (isHere, iCell) = sash.GetAttachedItem(j)
- if isHere:
- if iCell == slotNumber:
- self.wndItem.ActivateSlot(i, (36.00 / 255.0), (222.00 / 255.0), (3.00 / 255.0), 1.0)
- if not slotNumber in self.listAttachedSashs:
- self.listAttachedSashs.append(slotNumber)
- slotNumberChecked = 1
- else:
- if slotNumber in self.listAttachedSashs and not slotNumberChecked:
- self.wndItem.DeactivateSlot(i)
- self.listAttachedSashs.remove(slotNumber)
- if app.ENABLE_CHANGELOOK_SYSTEM:
- slotClNumberChecked = 0
- for q in xrange(changelook.WINDOW_MAX_MATERIALS):
- (isHere, iCell) = changelook.GetAttachedItem(q)
- if isHere:
- if iCell == slotNumber:
- self.wndItem.ActivateSlot(i, (238.00 / 255.0), (11.00 / 255.0), (11.00 / 255.0), 1.0)
- if not slotNumber in self.listAttachedCl:
- self.listAttachedCl.append(slotNumber)
- slotClNumberChecked = 1
- else:
- if slotNumber in self.listAttachedCl and not slotClNumberChecked and not slotNumber in self.listAttachedSashs:
- self.wndItem.DeactivateSlot(i)
- self.listAttachedCl.remove(slotNumber)
- if app.WJ_ENABLE_TRADABLE_ICON:
- self.RefreshMarkSlots(i)
- if itemVnum == 70038:
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- isActivated = 0 != metinSocket[0]
- if isActivated:
- self.wndItem.ActivateSlot(i)
- else:
- self.wndItem.DeactivateSlot(i)
- elif itemVnum >= 53001 and itemVnum <= 53267:
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- isActivated = 0 != metinSocket[1]
- if isActivated:
- self.wndItem.ActivateSlot(i)
- else:
- self.wndItem.DeactivateSlot(i)
- elif itemVnum >= 8383 and itemVnum <= 8384:
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- isActivated = 0 != metinSocket[1]
- if isActivated:
- self.wndItem.ActivateSlot(i)
- else:
- self.wndItem.DeactivateSlot(i)
- self.wndItem.RefreshSlot()
- if app.ENABLE_EXTEND_INVEN_SYSTEM:
- self.__RefreshExinvenCoverSlot()
- if self.wndBelt:
- self.wndBelt.RefreshSlot()
- if self.wndBio:
- self.wndBio.RefreshSlot()
- if app.WJ_ENABLE_TRADABLE_ICON:
- map(lambda wnd:wnd.RefreshLockedSlot(), self.bindWnds)
- def RefreshEquipSlotWindow(self):
- getItemVNum=player.GetItemIndex
- getItemCount=player.GetItemCount
- setItemVNum=self.wndEquip.SetItemSlot
- for i in xrange(player.EQUIPMENT_PAGE_COUNT):
- slotNumber = player.EQUIPMENT_SLOT_START + i
- itemCount = getItemCount(slotNumber)
- if itemCount <= 1:
- itemCount = 0
- setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
- if app.ENABLE_CHANGELOOK_SYSTEM:
- itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
- if itemTransmutedVnum:
- self.wndEquip.DisableCoverButton(slotNumber)
- else:
- self.wndEquip.EnableCoverButton(slotNumber)
- if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
- for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT):
- slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
- itemCount = getItemCount(slotNumber)
- if itemCount <= 1:
- itemCount = 0
- setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
- if app.ENABLE_CHANGELOOK_SYSTEM:
- itemTransmutedVnum = player.GetItemTransmutation(slotNumber)
- if itemTransmutedVnum:
- self.wndEquip.DisableCoverButton(slotNumber)
- else:
- self.wndEquip.EnableCoverButton(slotNumber)
- self.wndEquip.RefreshSlot()
- if self.wndCostume:
- self.wndCostume.RefreshCostumeSlot()
- def RefreshItemSlot(self):
- self.RefreshBagSlotWindow()
- self.RefreshEquipSlotWindow()
- if app.ENABLE_EXTEND_INVEN_SYSTEM:
- def __RefreshExinvenCoverSlot(self):
- cur_stage = player.GetExtendInvenStage()
- self.__HideAllExtendInvenButton()
- if self.inventoryPageIndex >= 3:
- self.__ShowExtendInvenButton(cur_stage)
- else:
- self.__HideAllExtendInvenButton()
- def __RefreshExinvenSlotState(self):
- pass
- def SetItemToolTip(self, tooltipItem):
- self.tooltipItem = tooltipItem
- def SellItem(self):
- if self.sellingSlotitemIndex == player.GetItemIndex(self.sellingSlotNumber):
- if self.sellingSlotitemCount == player.GetItemCount(self.sellingSlotNumber):
- net.SendShopSellPacketNew(self.sellingSlotNumber, self.questionDialog.count, player.INVENTORY)
- snd.PlaySound("sound/ui/money.wav")
- self.OnCloseQuestionDialog()
- def OnDetachMetinFromItem(self):
- if None == self.questionDialog:
- return
- #net.SendItemUseToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)
- self.__SendUseItemToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)
- self.OnCloseQuestionDialog()
- def OnCloseQuestionDialog(self):
- if not self.questionDialog:
- return
- self.questionDialog.Close()
- self.questionDialog = None
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
- ## Slot Event
- def SelectEmptySlot(self, selectedSlotPos):
- if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
- return
- selectedSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(selectedSlotPos)
- if mouseModule.mouseController.isAttached():
- attachedSlotType = mouseModule.mouseController.GetAttachedType()
- attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
- attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
- attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
- if player.SLOT_TYPE_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
- itemCount = player.GetItemCount(attachedSlotPos)
- attachedCount = mouseModule.mouseController.GetAttachedItemCount()
- self.__SendMoveItemPacket(attachedSlotPos, selectedSlotPos, attachedCount)
- if item.IsRefineScroll(attachedItemIndex):
- self.wndItem.SetUseMode(FALSE)
- elif player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
- mouseModule.mouseController.RunCallBack("INVENTORY")
- elif player.SLOT_TYPE_OFFLINE_SHOP == attachedSlotType:
- mouseModule.mouseController.RunCallBack("INVENTORY")
- elif player.SLOT_TYPE_SHOP == attachedSlotType:
- net.SendShopBuyPacket(attachedSlotPos)
- elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:
- if player.ITEM_MONEY == attachedItemIndex:
- net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
- snd.PlaySound("sound/ui/money.wav")
- elif player.ITEM_CHEQUE == attachedItemIndex:
- # net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
- snd.PlaySound("sound/ui/money.wav")
- else:
- net.SendSafeboxCheckoutPacket(attachedSlotPos, selectedSlotPos)
- elif player.SLOT_TYPE_MALL == attachedSlotType:
- net.SendMallCheckoutPacket(attachedSlotPos, selectedSlotPos)
- mouseModule.mouseController.DeattachObject()
- def SelectItemSlot(self, itemSlotIndex):
- if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
- return
- itemSlotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(itemSlotIndex)
- if mouseModule.mouseController.isAttached():
- attachedSlotType = mouseModule.mouseController.GetAttachedType()
- attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
- attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex()
- if player.SLOT_TYPE_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
- player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
- self.__DropSrcItemToDestItemInInventory(attachedItemVID, attachedSlotPos, itemSlotIndex)
- mouseModule.mouseController.DeattachObject()
- else:
- curCursorNum = app.GetCursor()
- if app.SELL == curCursorNum:
- self.__SellItem(itemSlotIndex)
- elif app.BUY == curCursorNum:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO)
- elif app.IsPressed(app.DIK_LALT):
- link = player.GetItemLink(itemSlotIndex)
- ime.PasteString(link)
- elif app.IsPressed(app.DIK_LSHIFT):
- itemCount = player.GetItemCount(itemSlotIndex)
- if itemCount > 1:
- self.dlgPickItem.SetTitleName(localeInfo.PICK_ITEM_TITLE)
- self.dlgPickItem.SetAcceptEvent(ui.__mem_func__(self.OnPickItem))
- self.dlgPickItem.Open(itemCount)
- self.dlgPickItem.itemGlobalSlotIndex = itemSlotIndex
- #else:
- #selectedItemVNum = player.GetItemIndex(itemSlotIndex)
- #mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum)
- elif app.IsPressed(app.DIK_LCONTROL):
- itemIndex = player.GetItemIndex(itemSlotIndex)
- if TRUE == item.CanAddToQuickSlotItem(itemIndex):
- player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_INVENTORY, itemSlotIndex)
- else:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.QUICKSLOT_REGISTER_DISABLE_ITEM)
- else:
- selectedItemVNum = player.GetItemIndex(itemSlotIndex)
- itemCount = player.GetItemCount(itemSlotIndex)
- mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
- if self.__IsUsableItemToItem(selectedItemVNum, itemSlotIndex):
- self.wndItem.SetUseMode(TRUE)
- else:
- self.wndItem.SetUseMode(FALSE)
- snd.PlaySound("sound/ui/pick.wav")
- def UseTransportBox(self):
- self.__SendUseItemToItemPacket(self.questionDialog.src, self.questionDialog.dst)
- self.OnCloseQuestionDialog()
- def UseProtein(self):
- self.__SendUseItemToItemPacket(self.questionDialog.src, self.questionDialog.dst)
- self.OnCloseQuestionDialog()
- def __DropSrcItemToDestItemInInventory(self, srcItemVID, srcItemSlotPos, dstItemSlotPos):
- if srcItemSlotPos == dstItemSlotPos:
- return
- elif srcItemVID == player.GetItemIndex(dstItemSlotPos):
- self.__SendMoveItemPacket(srcItemSlotPos, dstItemSlotPos, 0)
- return
- if srcItemVID >= 55701 and srcItemVID <= 55710 and player.GetItemIndex(dstItemSlotPos) == 55002:
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText(localeInfo.PET_SYSTEM_ADD_BOX_PET)
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.UseTransportBox))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
- self.questionDialog.Open()
- self.questionDialog.src = srcItemSlotPos
- self.questionDialog.dst = dstItemSlotPos
- if srcItemVID == 80060:
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText("4. Taş slotu'nu açmak istiyor musun?")
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.UseTransportBox))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
- self.questionDialog.Open()
- self.questionDialog.src = srcItemSlotPos
- self.questionDialog.dst = dstItemSlotPos
- if srcItemVID == 80061:
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText("4. Taş slotu'nu açmak istiyor musun?")
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.UseTransportBox))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
- self.questionDialog.Open()
- self.questionDialog.src = srcItemSlotPos
- self.questionDialog.dst = dstItemSlotPos
- if srcItemVID == 77028 or srcItemVID == 77029 or srcItemVID == 77030:
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText("Süreyi uzatmak istiyor musun?")
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.UseTransportBox))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
- self.questionDialog.Open()
- self.questionDialog.src = srcItemSlotPos
- self.questionDialog.dst = dstItemSlotPos
- if srcItemVID == 55001 and player.GetItemIndex(dstItemSlotPos) >= 55701 and player.GetItemIndex(dstItemSlotPos) <= 55710:
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText(localeInfo.PET_SYSTEM_FEED_PROTEIN)
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.UseProtein))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
- self.questionDialog.Open()
- self.questionDialog.src = srcItemSlotPos
- self.questionDialog.dst = dstItemSlotPos
- if srcItemVID == 11113:
- if player.GetItemEvolution(dstItemSlotPos) < 5:
- itemVnum = player.GetItemIndex(dstItemSlotPos)
- item.SelectItem(itemVnum)
- (limitType, limitValue) = item.GetLimit(0)
- if item.GetItemType() == item.ITEM_TYPE_WEAPON and limitType == 1 and limitValue >= 75:
- self.rarityRefineDialog.Open(dstItemSlotPos)
- if player.GetItemIndex(dstItemSlotPos) >= 55701 and player.GetItemIndex(dstItemSlotPos) <= 55710 and srcItemVID == 55030:
- self.interface.OpenInputNameDialogPet(dstItemSlotPos)
- SrcItemVNum = player.GetItemIndex(srcItemSlotPos)
- DstItemVNum = player.GetItemIndex(dstItemSlotPos)
- item.SelectItem(SrcItemVNum)
- SrcSubType = item.GetItemSubType()
- if SrcSubType == item.USE_BIND or SrcSubType == item.USE_UNBIND:
- item.SelectItem(DstItemVNum)
- if item.IsAntiFlag(item.ANTIFLAG_BIND):
- return
- else:
- if SrcSubType == item.USE_BIND and player.GetItemBind(dstItemSlotPos) > 1:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SOULBIND_ALERT3)
- elif SrcSubType == item.USE_BIND and player.GetItemBind(dstItemSlotPos) == 1:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SOULBIND_ALERT2)
- elif SrcSubType == item.USE_UNBIND and player.GetItemBind(dstItemSlotPos) > 1:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SOULBIND_ALERT3)
- elif SrcSubType == item.USE_UNBIND and player.GetItemBind(dstItemSlotPos) != 1:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SOULBIND_ALERT1)
- else:
- action = "bind"
- if SrcSubType == item.USE_UNBIND:
- action = "unbind"
- self.__SoulBindItem(srcItemSlotPos, dstItemSlotPos, action)
- return
- else:
- if item.IsRefineScroll(srcItemVID):
- self.RefineItem(srcItemSlotPos, dstItemSlotPos)
- self.wndItem.SetUseMode(FALSE)
- elif item.IsMetin(srcItemVID):
- self.AttachMetinToItem(srcItemSlotPos, dstItemSlotPos)
- elif item.IsDetachScroll(srcItemVID):
- self.DetachMetinFromItem(srcItemSlotPos, dstItemSlotPos)
- elif item.IsKey(srcItemVID):
- self.__SendUseItemToItemPacket(srcItemSlotPos, dstItemSlotPos)
- elif (player.GetItemFlags(srcItemSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
- self.__SendUseItemToItemPacket(srcItemSlotPos, dstItemSlotPos)
- elif item.GetUseType(srcItemVID) in self.USE_TYPE_TUPLE:
- self.__SendUseItemToItemPacket(srcItemSlotPos, dstItemSlotPos)
- else:
- if player.IsEquipmentSlot(dstItemSlotPos):
- if item.IsEquipmentVID(srcItemVID):
- self.__UseItem(srcItemSlotPos)
- else:
- self.__SendMoveItemPacket(srcItemSlotPos, dstItemSlotPos, 0)
- def __SellItem(self, itemSlotPos):
- if not player.IsEquipmentSlot(itemSlotPos):
- self.sellingSlotNumber = itemSlotPos
- itemIndex = player.GetItemIndex(itemSlotPos)
- itemCount = player.GetItemCount(itemSlotPos)
- self.sellingSlotitemIndex = itemIndex
- self.sellingSlotitemCount = itemCount
- item.SelectItem(itemIndex)
- if item.IsAntiFlag(item.ANTIFLAG_SELL):
- popup = uiCommon.PopupDialog()
- popup.SetText(localeInfo.SHOP_CANNOT_SELL_ITEM)
- popup.SetAcceptEvent(self.__OnClosePopupDialog)
- popup.Open()
- self.popup = popup
- return
- itemPrice = item.GetISellItemPrice()
- if item.Is1GoldItem():
- itemPrice = itemCount / itemPrice / 5
- else:
- itemPrice = itemPrice * itemCount / 5
- item.GetItemName(itemIndex)
- itemName = item.GetItemName()
- self.questionDialog = uiCommon.QuestionDialogShop()
- self.questionDialog.SetText(localeInfo.DO_YOU_SELL_ITEM(itemName, itemCount, itemPrice))
- self.questionDialog.SetText2(localeInfo.SATMAK_ISTIYOR_MUSUN)
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.SellItem))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
- self.questionDialog.Open()
- self.questionDialog.count = itemCount
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- def __OnClosePopupDialog(self):
- self.pop = None
- def RefineItem(self, scrollSlotPos, targetSlotPos):
- scrollIndex = player.GetItemIndex(scrollSlotPos)
- targetIndex = player.GetItemIndex(targetSlotPos)
- item.SelectItem(targetIndex)
- if scrollIndex == 25042:
- for i in xrange(item.LIMIT_MAX_NUM):
- (limitType, limitValue) = item.GetLimit(i)
- if item.LIMIT_LEVEL == limitType:
- if limitValue < 80:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_SOUL_PAPER_WARNING)
- return
- elif scrollIndex == 70602 or scrollIndex == 70602:
- for i in xrange(item.LIMIT_MAX_NUM):
- (limitType, itemVnum) = item.GetLimit(i)
- if item.LIMIT_LEVEL == limitType:
- if itemVnum != 70500 or itemVnum != 70501 or itemVnum != 70502 or itemVnum != 70503 or itemVnum != 70505 or itemVnum != 70506 or itemVnum != 70507 or itemVnum != 70508:
- chat.AppendChat()
- return
- elif scrollIndex == 25044:
- for i in xrange(item.LIMIT_MAX_NUM):
- (limitType, limitValue) = item.GetLimit(i)
- if item.LIMIT_LEVEL == limitType:
- if limitValue > 40:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_SOUL_PAPER_WARNING2)
- return
- if player.REFINE_OK != player.CanRefine(scrollIndex, targetSlotPos):
- return
- if app.ENABLE_REFINE_RENEWAL:
- constInfo.AUTO_REFINE_TYPE = 1
- constInfo.AUTO_REFINE_DATA["ITEM"][0] = scrollSlotPos
- constInfo.AUTO_REFINE_DATA["ITEM"][1] = targetSlotPos
- ###########################################################
- self.__SendUseItemToItemPacket(scrollSlotPos, targetSlotPos)
- #net.SendItemUseToItemPacket(scrollSlotPos, targetSlotPos)
- return
- ###########################################################
- ###########################################################
- #net.SendRequestRefineInfoPacket(targetSlotPos)
- #return
- ###########################################################
- result = player.CanRefine(scrollIndex, targetSlotPos)
- if player.REFINE_ALREADY_MAX_SOCKET_COUNT == result:
- #snd.PlaySound("sound/ui/jaeryun_fail.wav")
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_MORE_SOCKET)
- elif player.REFINE_NEED_MORE_GOOD_SCROLL == result:
- #snd.PlaySound("sound/ui/jaeryun_fail.wav")
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NEED_BETTER_SCROLL)
- elif player.REFINE_CANT_MAKE_SOCKET_ITEM == result:
- #snd.PlaySound("sound/ui/jaeryun_fail.wav")
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_SOCKET_DISABLE_ITEM)
- elif player.REFINE_NOT_NEXT_GRADE_ITEM == result:
- #snd.PlaySound("sound/ui/jaeryun_fail.wav")
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_UPGRADE_DISABLE_ITEM)
- elif player.REFINE_CANT_REFINE_METIN_TO_EQUIPMENT == result:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_EQUIP_ITEM)
- if player.REFINE_OK != result:
- return
- self.refineDialog.Open(scrollSlotPos, targetSlotPos)
- def DetachMetinFromItem(self, scrollSlotPos, targetSlotPos):
- scrollIndex = player.GetItemIndex(scrollSlotPos)
- targetIndex = player.GetItemIndex(targetSlotPos)
- if app.ENABLE_SASH_SYSTEM:
- if not player.CanDetach(scrollIndex, targetSlotPos):
- item.SelectItem(scrollIndex)
- if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SASH_FAILURE_CLEAN)
- else:
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
- 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)
- if app.ENABLE_SASH_SYSTEM:
- item.SelectItem(targetIndex)
- if item.GetItemType() == item.ITEM_TYPE_COSTUME and item.GetItemSubType() == item.COSTUME_TYPE_SASH:
- item.SelectItem(scrollIndex)
- if item.GetValue(0) == sash.CLEAN_ATTR_VALUE0:
- self.questionDialog.SetText(localeInfo.SASH_DO_YOU_CLEAN)
- 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
- def AttachMetinToItem(self, metinSlotPos, targetSlotPos):
- metinIndex = player.GetItemIndex(metinSlotPos)
- targetIndex = player.GetItemIndex(targetSlotPos)
- item.SelectItem(metinIndex)
- itemName = item.GetItemName()
- result = player.CanAttachMetin(metinIndex, targetSlotPos)
- #if player.ATTACH_METIN_NOT_MATCHABLE_ITEM == result:
- #chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_CAN_NOT_ATTACH(itemName))
- #Bvural41 Taş Fixi
- #if player.ATTACH_METIN_NO_MATCHABLE_SOCKET == result:
- #chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_SOCKET(itemName))
- #elif player.ATTACH_METIN_NOT_EXIST_GOLD_SOCKET == result:
- #chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_NO_GOLD_SOCKET(itemName))
- #elif player.ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT == result:
- #chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_EQUIP_ITEM)
- if player.ATTACH_METIN_OK != result:
- return
- self.attachMetinDialog.Open(metinSlotPos, targetSlotPos)
- def OverOutItem(self):
- self.wndItem.SetUsableItem(FALSE)
- if None != self.tooltipItem:
- self.tooltipItem.HideToolTip()
- def OverInItem(self, overSlotPos):
- if app.ENABLE_HIGHLIGHT_SYSTEM:
- stat = 0
- slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(overSlotPos)
- itemVnum = player.GetItemIndex(slotNumber)
- if constInfo.IS_AUTO_POTION(itemVnum):
- metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
- if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
- slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex
- isActivated = 0 != metinSocket[0]
- if isActivated:
- stat = 1
- if not stat:
- if slotNumber in self.listHighlightedSlot:
- self.wndItem.DeactivateSlot(overSlotPos)
- try:
- if app.ENABLE_SASH_SYSTEM and app.ENABLE_CHANGELOOK_SYSTEM:
- if not slotNumber in self.listAttachedSashs:
- self.listHighlightedSlot.remove(slotNumber)
- if not slotNumber in self.listAttachedCl:
- self.listHighlightedSlot.remove(slotNumber)
- else:
- self.listHighlightedSlot.remove(slotNumber)
- except:
- pass
- overSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(overSlotPos)
- self.wndItem.SetUsableItem(FALSE)
- if mouseModule.mouseController.isAttached():
- attachedItemType = mouseModule.mouseController.GetAttachedType()
- if player.SLOT_TYPE_INVENTORY == attachedItemType or player.SLOT_TYPE_STONE_INVENTORY == attachedItemType or player.SLOT_TYPE_EFSUN_INVENTORY == attachedItemType:
- attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
- attachedItemVNum = mouseModule.mouseController.GetAttachedItemIndex()
- if self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPos):
- self.wndItem.SetUsableItem(TRUE)
- self.ShowToolTip(overSlotPos)
- return
- self.ShowToolTip(overSlotPos)
- def __IsUsableItemToItem(self, srcItemVNum, srcSlotPos):
- "´Ù¸¥ ¾ÆÀÌÅÛ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾ÆÀÌÅÛÀΰ¡?"
- if srcItemVNum >= 55701 and srcItemVNum <= 55710:
- return True
- if srcItemVNum == 55001:
- return True
- if srcItemVNum == 55030:
- return True
- if srcItemVNum == 11113:
- return True
- if item.IsRefineScroll(srcItemVNum):
- return TRUE
- elif item.IsMetin(srcItemVNum):
- return TRUE
- elif item.IsDetachScroll(srcItemVNum):
- return TRUE
- elif item.IsKey(srcItemVNum):
- return TRUE
- elif (player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
- return TRUE
- else:
- if item.GetUseType(srcItemVNum) in self.USE_TYPE_TUPLE:
- return TRUE
- return FALSE
- def __CanUseSrcItemToDstItem(self, srcItemVNum, srcSlotPos, dstSlotPos):
- "´ë»ó ¾ÆÀÌÅÛ¿¡ »ç¿ëÇÒ ¼ö Àִ°¡?"
- if srcSlotPos == dstSlotPos:
- return FALSE
- if srcItemVNum == 77028 or srcItemVNum == 77029 or srcItemVNum == 77030:
- return True
- if srcItemVNum >= 55701 and srcItemVNum <= 55710 and player.GetItemIndex(dstSlotPos) == 55002:
- return True
- if srcItemVNum == 55001 and player.GetItemIndex(dstSlotPos) >= 55701 and player.GetItemIndex(dstSlotPos) <= 55710:
- return True
- if srcItemVNum == 11113:
- if player.GetItemEvolution(dstSlotPos) < 5:
- itemVnum = player.GetItemIndex(dstSlotPos)
- item.SelectItem(itemVnum)
- (limitType, limitValue) = item.GetLimit(0)
- if item.GetItemType() == item.ITEM_TYPE_WEAPON and limitType == 1 and limitValue >= 75:
- return TRUE
- if srcItemVNum == 55030 and player.GetItemIndex(dstSlotPos) >= 55701 and player.GetItemIndex(dstSlotPos) <= 55710:
- return True
- elif item.IsRefineScroll(srcItemVNum):
- if player.REFINE_OK == player.CanRefine(srcItemVNum, dstSlotPos):
- return TRUE
- if srcItemVNum == player.GetItemIndex(dstSlotPos):
- if player.GetItemCount(dstSlotPos) < 200:
- return TRUE
- elif item.IsMetin(srcItemVNum):
- if player.ATTACH_METIN_OK == player.CanAttachMetin(srcItemVNum, dstSlotPos):
- return TRUE
- elif item.IsDetachScroll(srcItemVNum):
- if player.DETACH_METIN_OK == player.CanDetach(srcItemVNum, dstSlotPos):
- return TRUE
- elif item.IsKey(srcItemVNum):
- if player.CanUnlock(srcItemVNum, dstSlotPos):
- return TRUE
- elif (player.GetItemFlags(srcSlotPos) & ITEM_FLAG_APPLICABLE) == ITEM_FLAG_APPLICABLE:
- return TRUE
- else:
- useType=item.GetUseType(srcItemVNum)
- if "USE_CLEAN_SOCKET" == useType:
- if self.__CanCleanBrokenMetinStone(dstSlotPos):
- return TRUE
- elif "USE_CHANGE_ATTRIBUTE" == useType:
- if self.__CanChangeItemAttrList(dstSlotPos):
- return TRUE
- elif "USE_ADD_ATTRIBUTE" == useType:
- if self.__CanAddItemAttr(dstSlotPos):
- return TRUE
- elif "USE_ADD_ATTRIBUTE2" == useType:
- if self.__CanAddItemAttr(dstSlotPos):
- return TRUE
- elif "USE_ADD_ACCESSORY_SOCKET" == useType:
- if self.__CanAddAccessorySocket(dstSlotPos):
- return TRUE
- elif "USE_PUT_INTO_ACCESSORY_SOCKET" == useType:
- if self.__CanPutAccessorySocket(dstSlotPos, srcItemVNum):
- return TRUE;
- elif "USE_PUT_INTO_BELT_SOCKET" == useType:
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- print "USE_PUT_INTO_BELT_SOCKET", srcItemVNum, dstItemVNum
- item.SelectItem(dstItemVNum)
- if item.ITEM_TYPE_BELT == item.GetItemType():
- return TRUE
- elif useType == "USE_BIND" or useType == "USE_UNBIND":
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- item.SelectItem(dstItemVNum)
- if item.IsAntiFlag(item.ANTIFLAG_BIND):
- return FALSE
- elif useType == "USE_BIND" and player.GetItemBind(dstSlotPos) == 1:
- return FALSE
- elif useType == "USE_BIND" and player.GetItemBind(dstSlotPos) > 1:
- return FALSE
- elif useType == "USE_UNBIND" and player.GetItemBind(dstSlotPos) != 1:
- return FALSE
- else:
- return TRUE
- elif useType == "USE_COSTUME_ENCHANT" or useType == "USE_COSTUME_TRANSFORM":
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- item.SelectItem(dstItemVNum)
- if item.GetItemType() == item.ITEM_TYPE_COSTUME:
- return TRUE
- return FALSE
- def __SoulBindItem(self, scrollSlotPos, targetSlotPos, action = "bind"):
- DstItemVNum = player.GetItemIndex(targetSlotPos)
- item.SelectItem(DstItemVNum)
- item_name = item.GetItemName()
- self.questionDialog = uiCommon.QuestionDialog()
- if action == "bind":
- self.questionDialog.SetText(localeInfo.SOULBIND_ITEM % (item_name))
- else:
- self.questionDialog.SetText(localeInfo.SOULUNBIND_ITEM % (item_name))
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnAcceptSoulBindItem))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
- self.questionDialog.Open()
- self.questionDialog.sourcePos = scrollSlotPos
- self.questionDialog.targetPos = targetSlotPos
- def OnAcceptSoulBindItem(self):
- if self.questionDialog == None:
- return
- self.__SendUseItemToItemPacket(self.questionDialog.sourcePos, self.questionDialog.targetPos)
- self.OnCloseQuestionDialog()
- def __CanCleanBrokenMetinStone(self, dstSlotPos):
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- if dstItemVNum == 0:
- return FALSE
- item.SelectItem(dstItemVNum)
- if item.ITEM_TYPE_WEAPON != item.GetItemType():
- return FALSE
- for i in xrange(player.METIN_SOCKET_MAX_NUM):
- if player.GetItemMetinSocket(dstSlotPos, i) == constInfo.ERROR_METIN_STONE:
- return TRUE
- return FALSE
- def __CanChangeItemAttrList(self, dstSlotPos):
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- if dstItemVNum == 0:
- return FALSE
- item.SelectItem(dstItemVNum)
- if not item.GetItemType() in (item.ITEM_TYPE_WEAPON, item.ITEM_TYPE_ARMOR):
- return FALSE
- for i in xrange(player.METIN_SOCKET_MAX_NUM):
- if player.GetItemAttribute(dstSlotPos, i) != 0:
- return TRUE
- return FALSE
- def __CanPutAccessorySocket(self, dstSlotPos, mtrlVnum):
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- if dstItemVNum == 0:
- return FALSE
- item.SelectItem(dstItemVNum)
- if item.GetItemType() != item.ITEM_TYPE_ARMOR:
- return FALSE
- if not item.GetItemSubType() in (item.ARMOR_WRIST, item.ARMOR_NECK, item.ARMOR_EAR):
- return FALSE
- curCount = player.GetItemMetinSocket(dstSlotPos, 0)
- maxCount = player.GetItemMetinSocket(dstSlotPos, 1)
- if mtrlVnum != constInfo.GET_ACCESSORY_MATERIAL_VNUM(dstItemVNum, item.GetItemSubType()):
- return FALSE
- if curCount>=maxCount:
- return FALSE
- return TRUE
- def __CanAddAccessorySocket(self, dstSlotPos):
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- if dstItemVNum == 0:
- return FALSE
- item.SelectItem(dstItemVNum)
- if item.GetItemType() != item.ITEM_TYPE_ARMOR:
- return FALSE
- if not item.GetItemSubType() in (item.ARMOR_WRIST, item.ARMOR_NECK, item.ARMOR_EAR):
- return FALSE
- curCount = player.GetItemMetinSocket(dstSlotPos, 0)
- maxCount = player.GetItemMetinSocket(dstSlotPos, 1)
- ACCESSORY_SOCKET_MAX_SIZE = 3
- if maxCount >= ACCESSORY_SOCKET_MAX_SIZE:
- return FALSE
- return TRUE
- def __CanAddItemAttr(self, dstSlotPos):
- dstItemVNum = player.GetItemIndex(dstSlotPos)
- if dstItemVNum == 0:
- return FALSE
- item.SelectItem(dstItemVNum)
- if not item.GetItemType() in (item.ITEM_TYPE_WEAPON, item.ITEM_TYPE_ARMOR):
- return FALSE
- attrCount = 0
- for i in xrange(player.METIN_SOCKET_MAX_NUM):
- if player.GetItemAttribute(dstSlotPos, i) != 0:
- attrCount += 1
- if attrCount<5:
- return TRUE
- return FALSE
- def ShowToolTip(self, slotIndex):
- if None != self.tooltipItem:
- self.tooltipItem.SetInventoryItem(slotIndex)
- def OnTop(self):
- if None != self.tooltipItem:
- self.tooltipItem.SetTop()
- if app.WJ_ENABLE_TRADABLE_ICON:
- map(lambda wnd:wnd.RefreshLockedSlot(), self.bindWnds)
- self.RefreshMarkSlots()
- def OnPressEscapeKey(self):
- self.Close()
- return TRUE
- def UseItemSlot(self, slotIndex):
- if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
- return
- slotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(slotIndex)
- if app.ENABLE_DRAGON_SOUL_SYSTEM:
- if self.wndDragonSoulRefine.IsShow():
- self.wndDragonSoulRefine.AutoSetItem((player.INVENTORY, slotIndex), 1)
- return
- if app.ENABLE_SASH_SYSTEM:
- if self.isShowSashWindow():
- sash.Add(player.INVENTORY, slotIndex, 255)
- return
- if app.ENABLE_CHANGELOOK_SYSTEM:
- if self.isShowChangeLookWindow():
- changelook.Add(player.INVENTORY, slotIndex, 255)
- return
- if constInfo.FEEDWIND == 1 or constInfo.FEEDWIND == 3:
- itemVnum = player.GetItemIndex(slotIndex)
- item.SelectItem(itemVnum)
- itemType = item.GetItemType()
- if item.ITEM_TYPE_COSTUME == itemType or (itemVnum >= 55401 and itemVnum <= 55409) or (itemVnum >= 55701 and itemVnum <= 55709):
- chat.AppendChat(chat.CHAT_TYPE_INFO, "Bu esyayi pete yediremezsin!")
- else:
- constInfo.USE_FEED = slotIndex
- return
- self.__UseItem(slotIndex)
- mouseModule.mouseController.DeattachObject()
- self.OverOutItem()
- if app.ENABLE_10X_CHEST_OPEN:
- def IsTreasureBox(self, slotIndex):
- itemVnum = player.GetItemIndex(slotIndex)
- item.SelectItem(itemVnum)
- #if item.GetItemType() == item.ITEM_TYPE_GIFTBOX or item.GetItemType() == item.ITEM_TYPE_GACHA:
- if itemVnum >= 50255 and itemVnum <= 50260:
- return True
- ##Hızlı Sandık Açma Bvural41
- return False
- def SendMultipleUseItemPacket(self, slotIndex):
- for i in xrange(player.GetItemCount(slotIndex)):
- self.__SendUseItemPacket(slotIndex)
- if app.ENABLE_FAST_ATTACH_ITEMS_SYSTEM:
- def __GetCurrentItemGrid(self):
- itemGrid = [[False for slot in xrange(player.INVENTORY_PAGE_SIZE)] for page in xrange(player.INVENTORY_PAGE_COUNT)]
- for page in xrange(player.INVENTORY_PAGE_COUNT):
- for slot in xrange(player.INVENTORY_PAGE_SIZE):
- itemVnum = player.GetItemIndex(slot + page * player.INVENTORY_PAGE_SIZE)
- if itemVnum <> 0:
- (w, h) = item.GetItemSize(item.SelectItem(itemVnum))
- for i in xrange(h):
- itemGrid[page][slot + i * 5] = True
- return itemGrid
- def __FindEmptyCellForSize(self, itemGrid, size):
- for page in xrange(player.INVENTORY_PAGE_COUNT):
- for slot in xrange(player.INVENTORY_PAGE_SIZE):
- if itemGrid[page][slot] == False:
- possible = True
- for i in xrange(size):
- p = slot + (i * 5)
- try:
- if itemGrid[page][p] == True:
- possible = False
- break
- except IndexError:
- possible = False
- break
- if possible:
- return slot + page * player.INVENTORY_PAGE_SIZE
- return -1
- def AttachItemFromSafebox(self, slotIndex, itemIndex):
- itemGrid = self.__GetCurrentItemGrid()
- if item.GetItemType(item.SelectItem(itemIndex)) == item.ITEM_TYPE_DS:
- return
- emptySlotIndex = self.__FindEmptyCellForSize(itemGrid, item.GetItemSize()[1])
- if emptySlotIndex <> -1:
- net.SendSafeboxCheckoutPacket(slotIndex, player.INVENTORY, emptySlotIndex)
- return True
- def __UseItem(self, slotIndex):
- if app.ENABLE_FAST_ATTACH_ITEMS_SYSTEM:
- if self.interface and self.interface.AttachInvenItemToOtherWindowSlot(player.INVENTORY, slotIndex):
- return
- ItemVNum = player.GetItemIndex(slotIndex)
- item.SelectItem(ItemVNum)
- if app.ENABLE_10X_CHEST_OPEN:
- if app.IsPressed(app.DIK_LCONTROL) and self.IsTreasureBox(slotIndex):
- self.SendMultipleUseItemPacket(slotIndex)
- return
- if item.IsFlag(item.ITEM_FLAG_CONFIRM_WHEN_USE):
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText(localeInfo.INVENTORY_REALLY_USE_ITEM)
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
- self.questionDialog.Open()
- self.questionDialog.slotIndex = slotIndex
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- elif 70005 == ItemVNum or 70043 == ItemVNum or 79000 == ItemVNum or 79001 == ItemVNum or 79002 == ItemVNum or 79003 == ItemVNum or 79004 == ItemVNum or 79005 == ItemVNum or 79006 == ItemVNum or 79007 == ItemVNum or 79008 == ItemVNum:
- self.questionDialog = uiCommon.QuestionDialog()
- self.questionDialog.SetText(localeInfo.INVENTORY_REALLY_USE_ITEM)
- self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
- self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
- self.questionDialog.Open()
- self.questionDialog.slotIndex = slotIndex
- constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
- elif app.IsPressed(app.DIK_LSHIFT):
- if player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GACHA or\
- player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GIFTBOX and\
- ItemVNum != 31374 and ItemVNum != 50255 and\
- ItemVNum != 50187 and ItemVNum != 50197 and\
- ItemVNum != 50188 and ItemVNum != 50189 and\
- ItemVNum != 50190 and ItemVNum != 50191 and\
- ItemVNum != 50192 and ItemVNum != 50193 and\
- ItemVNum != 50194 and ItemVNum != 50195:
- if app.ENABLE_SHOW_CHEST_DROP:
- if self.interface:
- if self.interface.dlgChestDrop:
- if not self.interface.dlgChestDrop.IsShow():
- self.interface.dlgChestDrop.Open(slotIndex)
- net.SendChestDropInfo(slotIndex)
- else:
- self.__SendUseItemPacket(slotIndex)
- def __UseItemQuestionDialog_OnCancel(self):
- self.OnCloseQuestionDialog()
- def __UseItemQuestionDialog_OnAccept(self):
- self.__SendUseItemPacket(self.questionDialog.slotIndex)
- self.OnCloseQuestionDialog()
- def __SendUseItemToItemPacket(self, srcSlotPos, dstSlotPos):
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
- return
- if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- if (uiOfflineShop.IsEditingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- net.SendItemUseToItemPacket(srcSlotPos, dstSlotPos)
- def __SendUseItemPacket(self, slotPos):
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
- return
- if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- if (uiOfflineShop.IsEditingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- net.SendItemUsePacket(slotPos)
- def __SendMoveItemPacket(self, srcSlotPos, dstSlotPos, srcItemCount):
- if uiPrivateShopBuilder.IsBuildingPrivateShop():
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
- return
- if (uiOfflineShopBuilder.IsBuildingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- if (uiOfflineShop.IsEditingOfflineShop()):
- chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_OFFLINE_SHOP)
- return
- net.SendItemMovePacket(srcSlotPos, dstSlotPos, srcItemCount)
- def SetDragonSoulRefineWindow(self, wndDragonSoulRefine):
- if app.ENABLE_DRAGON_SOUL_SYSTEM:
- self.wndDragonSoulRefine = wndDragonSoulRefine
- if app.ENABLE_SASH_SYSTEM:
- def SetSashWindow(self, wndSashCombine, wndSashAbsorption):
- self.wndSashCombine = wndSashCombine
- self.wndSashAbsorption = wndSashAbsorption
- def isShowSashWindow(self):
- if self.wndSashCombine:
- if self.wndSashCombine.IsShow():
- return 1
- if self.wndSashAbsorption:
- if self.wndSashAbsorption.IsShow():
- return 1
- return 0
- if app.ENABLE_CHANGELOOK_SYSTEM:
- def SetChangeLookWindow(self, wndChangeLook):
- self.wndChangeLook = wndChangeLook
- def isShowChangeLookWindow(self):
- if self.wndChangeLook:
- if self.wndChangeLook.IsShow():
- return 1
- return 0
- def OnMoveWindow(self, x, y):
- if self.wndBelt:
- self.wndBelt.AdjustPositionAndSize()
- if self.wndBio:
- self.wndBio.AdjustPositionAndSize()
s