def SelectEquipItemSlot(self, itemSlotIndex): if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1: return itemSlotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(player.INVENTORY, itemSlotIndex) if mouseModule.mouseController.isAttached(): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() # 자기 자신을 자기 자신에게 드래그하는 경우 if player.SLOT_TYPE_INVENTORY == attachedSlotType and itemSlotIndex == attachedSlotPos: return attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex() attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) if player.RESERVED_WINDOW != attachedInvenType: net.SendItemUseToItemPacket(attachedInvenType, attachedSlotPos, player.INVENTORY, itemSlotIndex) mouseModule.mouseController.DeattachObject() else: selectedItemVNum = player.GetItemIndex(player.INVENTORY, itemSlotIndex) itemCount = player.GetItemCount(player.INVENTORY, itemSlotIndex) mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount) self.wndItem.SetUseMode(FALSE) snd.PlaySound("sound/ui/pick.wav")
def SelectOwnerEmptySlot(self, SlotIndex): if False == mouseModule.mouseController.isAttached(): return if mouseModule.mouseController.IsAttachedMoney(): net.SendExchangeElkAddPacket( mouseModule.mouseController.GetAttachedMoneyAmount()) else: attachedSlotType = mouseModule.mouseController.GetAttachedType() if (player.SLOT_TYPE_INVENTORY == attachedSlotType or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType): attachedInvenType = player.SlotTypeToInvenType( attachedSlotType) SrcSlotNumber = mouseModule.mouseController.GetAttachedSlotNumber( ) DstSlotNumber = SlotIndex itemID = player.GetItemIndex(attachedInvenType, SrcSlotNumber) item.SelectItem(itemID) if item.IsAntiFlag(item.ANTIFLAG_GIVE): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.EXCHANGE_CANNOT_GIVE) mouseModule.mouseController.DeattachObject() return net.SendExchangeItemAddPacket(attachedInvenType, SrcSlotNumber, DstSlotNumber) mouseModule.mouseController.DeattachObject()
def __SelectRefineEmptySlot(self, selectedSlotPos): try: if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1: return if selectedSlotPos >= self.refineSlotLockStartIndex: return if mouseModule.mouseController.isAttached(): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedItemCount = mouseModule.mouseController.GetAttachedItemCount() attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex() mouseModule.mouseController.DeattachObject() if uiPrivateShopBuilder.IsBuildingPrivateShop(): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP) return attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) if player.INVENTORY == attachedInvenType and player.IsEquipmentSlot(attachedSlotPos): return if player.INVENTORY != attachedInvenType and player.DRAGON_SOUL_INVENTORY != attachedInvenType: return if TRUE == self.__SetItem((attachedInvenType, attachedSlotPos), selectedSlotPos, attachedItemCount): self.Refresh() except Exception, e: import dbg dbg.TraceError("Exception : __SelectRefineEmptySlot, %s" % e)
def SelectEmptySlot(self, selectedSlotPos): selectedSlotPos = self.__LocalPosToGlobalPos(selectedSlotPos) if mouseModule.mouseController.isAttached(): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() if player.SLOT_TYPE_SAFEBOX == attachedSlotType: net.SendSafeboxItemMovePacket(attachedSlotPos, selectedSlotPos, 0) #snd.PlaySound("sound/ui/drop.wav") else: attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) if player.RESERVED_WINDOW == attachedInvenType: return if player.ITEM_MONEY == mouseModule.mouseController.GetAttachedItemIndex(): net.SendSafeboxSaveMoneyPacket(mouseModule.mouseController.GetAttachedItemCount()) snd.PlaySound("sound/ui/money.wav") else: net.SendSafeboxCheckinPacket(attachedInvenType, attachedSlotPos, selectedSlotPos) #snd.PlaySound("sound/ui/drop.wav") mouseModule.mouseController.DeattachObject()
def OnSelectEmptySlot(self, selectedSlotPos): isAttached = mouseModule.mouseController.isAttached() if (isAttached): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() mouseModule.mouseController.DeattachObject() if (player.SLOT_TYPE_INVENTORY != attachedSlotType and player.SLOT_TYPE_DRAGON_SOUL_INVENTORY != attachedSlotType): return attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) itemVNum = player.GetItemIndex(attachedInvenType, attachedSlotPos) item.SelectItem(itemVNum) if item.IsAntiFlag(item.ANTIFLAG_GIVE) or item.IsAntiFlag(item.ANTIFLAG_MYSHOP): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OFFLINE_SHOP_CANNOT_SELL_ITEM) return priceInputBoard = uiCommon.MoneyInputDialog() priceInputBoard.SetTitle(localeInfo.OFFLINE_SHOP_INPUT_PRICE_DIALOG_TITLE) priceInputBoard.SetAcceptEvent(ui.__mem_func__(self.AcceptInputPrice)) priceInputBoard.SetCancelEvent(ui.__mem_func__(self.CancelInputPrice)) priceInputBoard.Open() itemPrice = GetOfflineShopItemPrice(itemVNum) if (itemPrice > 0): priceInputBoard.SetValue(itemPrice) self.priceInputBoard = priceInputBoard self.priceInputBoard.itemVNum = itemVNum self.priceInputBoard.sourceWindowType = attachedInvenType self.priceInputBoard.sourceSlotPos = attachedSlotPos self.priceInputBoard.targetSlotPos = selectedSlotPos
def SelectEmptySlot(self, slotIndex): try: if (constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1): return if (mouseModule.mouseController.isAttached()): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() mouseModule.mouseController.DeattachObject() if (player.SLOT_TYPE_INVENTORY != attachedSlotType and player.SLOT_TYPE_DRAGON_SOUL_INVENTORY != attachedSlotType): return attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) itemVnum = player.GetItemIndex(attachedInvenType, attachedSlotPos) item.SelectItem(itemVnum) if (item.IsAntiFlag(item.ANTIFLAG_GIVE) or item.IsAntiFlag(item.ANTIFLAG_MYSHOP)): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OFFLINE_SHOP_CANNOT_SELL_ITEM) return priceInputBoard = uiCommon.MoneyInputDialog() priceInputBoard.SetTitle(item.GetItemName() + "'s price") priceInputBoard.SetAcceptEvent(ui.__mem_func__(self.AcceptInputPrice)) priceInputBoard.SetCancelEvent(ui.__mem_func__(self.CancelInputPrice)) priceInputBoard.Open() self.priceInputBoard = priceInputBoard self.priceInputBoard.bDisplayPos = slotIndex self.priceInputBoard.bPos = attachedSlotPos except Exception, e: import dbg dbg.TraceError("Exception : SelectEmptySlot, %s" %(e))
def __OnSelectEmptySlot(self, selectedSlotPos): self.index,self.pos=None,None self.__OnLimpiar() isAttached = mouseModule.mouseController.isAttached() if isAttached: attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() mouseModule.mouseController.DeattachObject() if player.SLOT_TYPE_INVENTORY != attachedSlotType: return attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) count = player.GetItemCount(attachedInvenType, attachedSlotPos) itemVNum = player.GetItemIndex(attachedInvenType, attachedSlotPos) item.SelectItem(itemVNum) self.slot.ClearSlot(selectedSlotPos) self.slot.SetItemSlot(selectedSlotPos, player.GetItemIndex(attachedSlotPos), player.GetItemCount(attachedSlotPos)) self.index = player.GetItemIndex(attachedSlotPos) self.pos = attachedSlotPos self.slotpos=selectedSlotPos self.vnum = player.GetItemIndex(attachedSlotPos) self.item_name.SetText(item.GetItemName())
def __SelectRefineItemSlot(self, selectedSlotPos): if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1: return try: if not selectedSlotPos in self.refineItemInfo: # 새로운 아이템을 강화창에 올리는 작업. if mouseModule.mouseController.isAttached(): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedItemCount = mouseModule.mouseController.GetAttachedItemCount() attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex() mouseModule.mouseController.DeattachObject() if uiPrivateShopBuilder.IsBuildingPrivateShop(): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP) return attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) if player.INVENTORY == attachedInvenType and player.IsEquipmentSlot(attachedSlotPos): return if player.INVENTORY != attachedInvenType and player.DRAGON_SOUL_INVENTORY != attachedInvenType: return self.AutoSetItem((attachedInvenType, attachedSlotPos), 1) return elif mouseModule.mouseController.isAttached(): return attachedInvenType, attachedSlotPos, attachedItemCount = self.refineItemInfo[selectedSlotPos] selectedItemVnum = player.GetItemIndex(attachedInvenType, attachedSlotPos) # 강화창에서 삭제 및 원래 인벤의 아이템 카운트 회복 invenType, invenPos, itemCount = self.refineItemInfo[selectedSlotPos] remainCount = player.GetItemCount(invenType, invenPos) player.SetItemCount(invenType, invenPos, remainCount + itemCount) del self.refineItemInfo[selectedSlotPos] # 강화창이 비었다면, 초기화 if not self.refineItemInfo: self.__Initialize() else: item.SelectItem(selectedItemVnum) # 없앤 아이템이 강화석이었다면 강화 레피시 초기화 if (item.ITEM_TYPE_MATERIAL == item.GetItemType() \ and (item.MATERIAL_DS_REFINE_NORMAL <= item.GetItemSubType() and item.GetItemSubType() <= item.MATERIAL_DS_REFINE_HOLLY)): self.currentRecipe = {} self.wndMoney.SetText(localeInfo.NumberToMoneyString(0)) # 용혼석이었다면, # strength강화가 아닌 경우, 강화창에 다른 용혼석이 남아있으므로, 레시피를 초기화하면 안됨. # strength강화의 경우, 강화 레시피는 강화석에 종속된 것이므로 다른 처리할 필요가 없음. else: pass except Exception, e: import dbg dbg.TraceError("Exception : __SelectRefineItemSlot, %s" % e)
def OnSelectEmptySlot(self, selectedSlotPos): isAttached = mouseModule.mouseController.isAttached() if not isAttached or selectedSlotPos == sash.WINDOW_MAX_MATERIALS: return attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) mouseModule.mouseController.DeattachObject() if attachedSlotType == player.SLOT_TYPE_INVENTORY and attachedInvenType == player.INVENTORY: sash.Add(attachedInvenType, attachedSlotPos, selectedSlotPos)
def SelectEmptySlotFreepass(self): isAttached = mouseModule.mouseController.isAttached() if not isAttached: return attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) mouseModule.mouseController.DeattachObject() if attachedSlotType == player.SLOT_TYPE_INVENTORY and attachedInvenType == player.INVENTORY: changelook.AddPassItem(attachedInvenType, attachedSlotPos)
def SelectEmptySlot(self, selectedSlotPos): if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1: return selectedSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, selectedSlotPos) print "__debug", selectedSlotPos if mouseModule.mouseController.isAttached(): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedItemCount = mouseModule.mouseController.GetAttachedItemCount() attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex() attachedInvenType = player.SlotTypeToInvenType(attachedSlotType) if player.SLOT_TYPE_PRIVATE_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, player.DRAGON_SOUL_INVENTORY, selectedSlotPos) elif player.SLOT_TYPE_MALL == attachedSlotType: net.SendMallCheckoutPacket(attachedSlotPos, player.DRAGON_SOUL_INVENTORY, selectedSlotPos) elif player.RESERVED_WINDOW != attachedInvenType: if player.IsDSEquipmentSlot(attachedInvenType, attachedSlotPos): srcItemPos = (attachedInvenType, attachedSlotPos) dstItemPos = (player.DRAGON_SOUL_INVENTORY, selectedSlotPos) self.__OpenQuestionDialog(FALSE, srcItemPos, dstItemPos) else: itemCount = player.GetItemCount(attachedInvenType, attachedSlotPos) attachedCount = mouseModule.mouseController.GetAttachedItemCount() self.__SendMoveItemPacket(attachedInvenType, attachedSlotPos, player.DRAGON_SOUL_INVENTORY, selectedSlotPos, attachedCount) mouseModule.mouseController.DeattachObject()