예제 #1
0
	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")
예제 #2
0
	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()
예제 #3
0
        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)
예제 #4
0
 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)
예제 #5
0
	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)
예제 #6
0
    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()
예제 #7
0
    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)
예제 #8
0
	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()
예제 #9
0
	def PressMKey(self):
		if app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT):
			self.ToggleMessenger()

		else:
			self.ToggleMiniMap()
예제 #10
0
파일: EditLine.py 프로젝트: YivDev/illumina
 def _OnKeyDown(self, key):
     if key == app.DIK_V and app.IsPressed(app.DIK_LCONTROL):
         ime.PasteTextFromClipBoard()