def SelectItemSlot(self, itemSlotIndex): if constInfo.GET_ITEM_DROP_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: 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, locale.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.dlgPickMoney.SetTitleName(locale.PICK_ITEM_TITLE) self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnPickItem)) self.dlgPickMoney.Open(itemCount) self.dlgPickMoney.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, locale.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 ToggleMiniMap(self): if app.IsPressed(app.DIK_LSHIFT) or app.IsPressed(app.DIK_RSHIFT): if False == self.wndMiniMap.isShowMiniMap(): self.wndMiniMap.ShowMiniMap() self.wndMiniMap.SetTop() else: self.wndMiniMap.HideMiniMap() else: self.wndMiniMap.ToggleAtlasWindow()
def OnRender(self): (PosX, PosY) = self.GetGlobalPosition() miniMap.RenderAtlas(float(PosX), float(PosY)) if app.IsPressed(app.DIK_LSHIFT): (mouseX, mouseY) = wndMgr.GetMousePosition() (bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY) (iSizeX, iSizeY, SizeX, SizeY) = GetCurrentMapSize() if not bFind: width = 6 MapSizeX = miniMap.GetAtlasSize()[1] if MapSizeX == 0: size = 6 else: size = DivideToFloat(SizeX * 256, miniMap.GetAtlasSize()[1]) (sName, iPosX, iPosY, dwTextColor) = "", (mouseX - PosX) * size + width, ( mouseY - PosY) * size, -8722595 if iPosX < 0 or iPosY < 0 or iPosX > SizeX * 256 or iPosY > SizeY * 256: return self.TeleportToDest(iPosX * 100, iPosY * 100)
def OnMouseLeftButtonDown(self): hyperlink = ui.GetHyperlink() if hyperlink: if app.IsPressed(app.DIK_LALT): link = chat.GetLinkFromHyperlink(hyperlink) ime.PasteString(link) else: self.interface.MakeHyperlinkTooltip(hyperlink)
def __SelectEmotion(self, slotIndex): if not slotIndex in emotion.EMOTION_DICT: return if app.IsPressed(app.DIK_LCONTROL): player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_EMOTION, slotIndex) return mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_EMOTION, slotIndex, slotIndex)
def BuyItem(self, slot): chat.AppendChat(chat.CHAT_TYPE_DEBUG, "CLICK ITEM! slot: " + str(slot)) index = self.slotLink[slot] itemInfo = self.shopContent[self.category]["category_content"][index] item.SelectItem(itemInfo["item_vnum"]) if app.IsPressed(app.DIK_LSHIFT): chat.AppendChat(chat.CHAT_TYPE_DEBUG, "SHIFT PRESSED! BUY MORE!") self.buyItemDialog = BuyMultipleItemDialog() self.buyItemDialog.SetAcceptEvent( lambda arg=True: self.RequestBuyItem(arg)) self.buyItemDialog.SetCancelEvent( lambda arg=False: self.RequestBuyItem(arg)) self.buyItemDialog.slot = slot self.buyItemDialog.count = 1 self.buyItemDialog.price = itemInfo["currency_count"] self.buyItemDialog.SetInfo( item.GetItemName(), self.GetCurrencyName(itemInfo["currency_type"], itemInfo["currency_vnum"]), itemInfo["currency_count"]) self.buyItemDialog.itemShopIndex = itemInfo["item_shop_index"] self.buyItemDialog.Open() else: chat.AppendChat(chat.CHAT_TYPE_DEBUG, "SHIFT NOT PRESSED! BUY ONE!") self.buyItemDialog = BuySingleItemDialog() self.buyItemDialog.SetAcceptEvent( lambda arg=True: self.RequestBuyItem(arg)) self.buyItemDialog.SetCancelEvent( lambda arg=False: self.RequestBuyItem(arg)) self.buyItemDialog.slot = slot self.buyItemDialog.count = 1 self.buyItemDialog.SetInfo( item.GetItemName(), self.GetCurrencyName(itemInfo["currency_type"], itemInfo["currency_vnum"]), itemInfo["currency_count"]) self.buyItemDialog.itemShopIndex = itemInfo["item_shop_index"] self.buyItemDialog.Open()
def del_slot(self, slot): slotquest = slot + 1 if slotquest <= len(settinginfo.UppItemStorageItemList[self.selCat]): if settinginfo.UppItemStorageQID == 0: chat.AppendChat(chat.CHAT_TYPE_INFO, "Kein QuestIndex gefunden!") return if settinginfo.UppItemStorageItemList[self.selCat][slot] <= 0: chat.AppendChat(chat.CHAT_TYPE_INFO, "Du besitzt diesen Gegenstand nicht.") return if app.IsPressed(app.DIK_LCONTROL): #chat.AppendChat(chat.CHAT_TYPE_INFO,"DIK_LCONTROL pressed!") constInfo.INPUT_CMD = "take#" + str(slotquest) + "#" + str( self.selCat) + "#true#" else: constInfo.INPUT_CMD = "take#" + str(slotquest) + "#" + str( self.selCat) + "#false#" event.QuestButtonClick(settinginfo.UppItemStorageQID)
def SelectSkill(self, skillSlotIndex): mouseController = mouseModule.mouseController if False == mouseController.isAttached(): srcSlotIndex = self.__RealSkillSlotToSourceSlot(skillSlotIndex) selectedSkillIndex = player.GetSkillIndex(srcSlotIndex) if skill.CanUseSkill(selectedSkillIndex): if app.IsPressed(app.DIK_LCONTROL): player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_SKILL, srcSlotIndex) return mouseController.AttachObject(self, player.SLOT_TYPE_SKILL, srcSlotIndex, selectedSkillIndex) else: mouseController.DeattachObject()
def PressMKey(self): if app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT): self.ToggleMessenger() else: self.ToggleMiniMap()
def _OnKeyDown(self, key): if key == app.DIK_V and app.IsPressed(app.DIK_LCONTROL): ime.PasteTextFromClipBoard()