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 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 SelectOwnerEmptySlot(self, SlotIndex): if False == mouseModule.mouseController.isAttached(): return if constInfo.BlockItemsSystem["Block"] == 1: chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.") return if mouseModule.mouseController.IsAttachedMoney(): GFHhg54GHGhh45GHGH.SendExchangeElkAddPacket( str(mouseModule.mouseController.GetAttachedMoneyAmount())) else: attachedSlotType = mouseModule.mouseController.GetAttachedType() if (fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_INVENTORY == attachedSlotType or fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType): attachedInvenType = fgGHGjjFHJghjfFG1545gGG.SlotTypeToInvenType( attachedSlotType) SrcSlotNumber = mouseModule.mouseController.GetAttachedSlotNumber( ) DstSlotNumber = SlotIndex itemID = fgGHGjjFHJghjfFG1545gGG.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 GFHhg54GHGhh45GHGH.SendExchangeItemAddPacket( attachedInvenType, SrcSlotNumber, DstSlotNumber) mouseModule.mouseController.DeattachObject()
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) ## 안티 플레그 검사 빠져서 추가 ## 20140220 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 = player.GetISellItemPrice(itemSlotPos) item.GetItemName(itemIndex) itemName = item.GetItemName() self.questionDialog = uiCommon.QuestionDialog() self.questionDialog.SetText( localeInfo.DO_YOU_SELL_ITEM(itemName, itemCount, itemPrice)) 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 SellAttachedItem(self): if shop.IsPrivateShop(): mouseModule.mouseController.DeattachObject() return attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedCount = mouseModule.mouseController.GetAttachedItemCount() if player.SLOT_TYPE_INVENTORY == attachedSlotType: itemIndex = player.GetItemIndex(attachedSlotPos) item.SelectItem(itemIndex) if item.IsAntiFlag(item.ANTIFLAG_SELL): popup = uiCommon.PopupDialog() popup.SetText(locale.SHOP_CANNOT_SELL_ITEM) popup.SetAcceptEvent(self.__OnClosePopupDialog) popup.Open() self.popup = popup elif player.IsValuableItem(attachedSlotPos): itemPrice = item.GetISellItemPrice() if item.Is1GoldItem(): itemPrice = attachedCount / itemPrice / 5 else: itemPrice = itemPrice * max(1, attachedCount) / 5 itemName = item.GetItemName() questionDialog = uiCommon.QuestionDialog() questionDialog.SetText( locale.DO_YOU_SELL_ITEM(itemName, attachedCount, itemPrice)) questionDialog.SetAcceptEvent( lambda arg1=attachedSlotPos, arg2=attachedCount: self. OnSellItem(arg1, arg2)) questionDialog.SetCancelEvent( ui.__mem_func__(self.OnCloseQuestionDialog)) questionDialog.Open() self.questionDialog = questionDialog else: self.OnSellItem(attachedSlotPos, attachedCount) else: snd.PlaySound("sound/ui/loginfail.wav") mouseModule.mouseController.DeattachObject()
def SellAttachedItem(self): if shop.IsPrivateShop(): mouseModule.mouseController.DeattachObject() return attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedCount = mouseModule.mouseController.GetAttachedItemCount() if player.SLOT_TYPE_INVENTORY == attachedSlotType or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType: item.SelectItem(attachedItemIndex) 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 itemtype = player.INVENTORY if player.IsValuableItem(itemtype, attachedSlotPos): itemPrice = player.GetISellItemPrice(attachedSlotPos) itemName = item.GetItemName() questionDialog = uiCommon.QuestionDialog() questionDialog.SetText( localeInfo.DO_YOU_SELL_ITEM(itemName, attachedCount, itemPrice)) questionDialog.SetAcceptEvent( lambda arg1=attachedSlotPos, arg2=attachedCount, arg3= itemtype: self.OnSellItem(arg1, arg2, arg3)) questionDialog.SetCancelEvent( ui.__mem_func__(self.OnCloseQuestionDialog)) questionDialog.Open() self.questionDialog = questionDialog constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1) else: self.OnSellItem(attachedSlotPos, attachedCount, itemtype) else: snd.PlaySound("sound/ui/loginfail.wav") mouseModule.mouseController.DeattachObject()
def __OnSelectEmptySlot(self, selectedSlotPos): isAttached = mouseModule.mouseController.isAttached() if isAttached: attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber( ) targetIndex = player.GetItemIndex(attachedSlotPos) if attachedSlotType != player.SLOT_TYPE_INVENTORY: return mouseModule.mouseController.DeattachObject() item.SelectItem(targetIndex) itemType = item.GetItemType() itemSubType = item.GetItemSubType() itemVnum = player.GetItemIndex(attachedSlotPos) if itemType != item.ITEM_TYPE_COSTUME: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.COMB_ALERT3) return if app.ENABLE_SASH_SYSTEM: if itemSubType == item.COSTUME_TYPE_SASH: chat.AppendChat( chat.CHAT_TYPE_INFO, "<Support System> You can not put this item!") return if item.IsAntiFlag(item.ITEM_ANTIFLAG_MALE): chat.AppendChat( chat.CHAT_TYPE_INFO, "<Support System> You can not put this item. Your support is male!" ) return self.combSlot.SetItemSlot(selectedSlotPos, player.GetItemIndex(attachedSlotPos), player.GetItemCount(attachedSlotPos)) if selectedSlotPos == 1: net.SendChatPacket("/support_system %s" % (str(itemVnum))) else: net.SendChatPacket("/support_system_d %s" % (str(itemVnum))) for i in xrange(4): self.combSlot.ClearSlot(i)
def SellAttachedItem(self): import constInfo, chat if constInfo.BlockItemsSystem["Block"] == 1: chat.AppendChat(1, "Sicherheitssystem Aktiviert.") return if shop.IsPrivateShop(): mouseModule.mouseController.DeattachObject() return attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() attachedCount = mouseModule.mouseController.GetAttachedItemCount() if localeInfo.IsBRAZIL() == 0: attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex( ) if fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_INVENTORY == attachedSlotType or fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType: if localeInfo.IsBRAZIL(): itemIndex = fgGHGjjFHJghjfFG1545gGG.GetItemIndex( attachedSlotPos) item.SelectItem(itemIndex) else: item.SelectItem(attachedItemIndex) 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 itemtype = fgGHGjjFHJghjfFG1545gGG.INVENTORY if localeInfo.IsBRAZIL() == 0: if fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType: itemtype = fgGHGjjFHJghjfFG1545gGG.DRAGON_SOUL_INVENTORY if fgGHGjjFHJghjfFG1545gGG.IsValuableItem(itemtype, attachedSlotPos): itemPrice = item.GetISellItemPrice() if item.Is1GoldItem(): itemPrice = attachedCount / itemPrice / 5 else: itemPrice = itemPrice * max(1, attachedCount) / 5 itemName = item.GetItemName() questionDialog = uiCommon.QuestionDialog() questionDialog.SetText( localeInfo.DO_YOU_SELL_ITEM(itemName, attachedCount, itemPrice)) questionDialog.SetAcceptEvent( lambda arg1=attachedSlotPos, arg2=attachedCount, arg3= itemtype: self.OnSellItem(arg1, arg2, arg3)) questionDialog.SetCancelEvent( ui.__mem_func__(self.OnCloseQuestionDialog)) questionDialog.Open() self.questionDialog = questionDialog constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1) else: self.OnSellItem(attachedSlotPos, attachedCount, itemtype) else: snd.PlaySound("sound/ui/loginfail.wav") mouseModule.mouseController.DeattachObject()
def IsStackable(): item.SelectItem(int(self.main["rewards"]["vnum"])) return (item.IsAntiFlag(item.ITEM_ANTIFLAG_STACK))