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 StartResearch(self): if self.qid == 0: chat.AppendChat(chat.CHAT_TYPE_DEBUG, "Error: No QID!") return if self.questSelect < 0: chat.AppendChat(chat.CHAT_TYPE_DEBUG, "Error: questSelect < 0") return if self.slotData[0]["itemVnum"] == 0: chat.AppendChat(chat.CHAT_TYPE_DEBUG, "Error: No item") return if self.biologistQuestDict[self.questSelect]["time"] >= app.GetGlobalTimeStamp(): chat.AppendChat(chat.CHAT_TYPE_DEBUG, "Error: Timer Active!") return accelerateItem = "no" chanceItem = "no" if self.slotData[1]["itemVnum"] > 0: accelerateItem = self.slotData[1]["itemPos"] # chat.AppendChat(chat.CHAT_TYPE_DEBUG, str(self.slotData[2]["itemVnum"])) # chat.AppendChat(chat.CHAT_TYPE_DEBUG, str(self.slotData[2]["itemPos"])) if self.slotData[2]["itemVnum"] > 0: # chat.AppendChat(chat.CHAT_TYPE_DEBUG, "slot data 2 vnum ist >0") chanceItem = self.slotData[2]["itemPos"] # chat.AppendChat(chat.CHAT_TYPE_DEBUG, "chanceItem: " + str(chanceItem)) # chat.AppendChat(chat.CHAT_TYPE_DEBUG, "research#" + str(self.slotData[0]["itemPos"]) + "#" + str(accelerateItem) + "#" + str(chanceItem) + "#") constInfo.INPUT_CMD = "research#" + str(self.slotData[0]["itemPos"]) + "#" + str(accelerateItem) + "#" + str(chanceItem) + "#" event.QuestButtonClick(self.qid) self.ClearSlotData()
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 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, locale.REFINE_FAILURE_CAN_NOT_ATTACH(itemName)) if player.ATTACH_METIN_NO_MATCHABLE_SOCKET == result: chat.AppendChat(chat.CHAT_TYPE_INFO, locale.REFINE_FAILURE_NO_SOCKET(itemName)) elif player.ATTACH_METIN_NOT_EXIST_GOLD_SOCKET == result: chat.AppendChat(chat.CHAT_TYPE_INFO, locale.REFINE_FAILURE_NO_GOLD_SOCKET(itemName)) elif player.ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT == result: chat.AppendChat(chat.CHAT_TYPE_INFO, locale.REFINE_FAILURE_EQUIP_ITEM) if player.ATTACH_METIN_OK != result: return self.attachMetinDialog.Open(metinSlotPos, targetSlotPos)
def SelectEmptySlot(self, slot): chat.AppendChat(chat.CHAT_TYPE_DEBUG, "SelectEmptySlot (" + str(slot) + ")") if mouseModule.mouseController.isAttached(): attachedItemCount = mouseModule.mouseController.GetAttachedItemCount( ) attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex( ) currencyType = self.makeItem_ItemCurrencyListBox.GetSelectedItem() currencyVnum = int( self.makeItem_ItemCurrencyVnumEditLine.GetText()) currencyCount = int(self.makeItem_ItemCurrencyCount.GetText()) chat.AppendChat(chat.CHAT_TYPE_DEBUG, "currencyCount: " + str(currencyCount)) self.AppendShopItem(self.category, slot, attachedItemIndex, attachedItemCount, currencyType, currencyVnum, currencyCount) for i in xrange(self.SHOP_SLOT_COUNT): self.itemSlot.ClearSlot(i) self.itemSlot.SetUsableSlot(i) self.itemSlot.EnableSlot(i) self.itemSlot.RefreshSlot() self.BuildCategory() mouseModule.mouseController.DeattachObject()
def add_slot(self,slot): isAttached = mouseModule.mouseController.isAttached() if isAttached: attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() mouseModule.mouseController.DeattachObject() if fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_INVENTORY != attachedSlotType: return itemvnum = fgGHGjjFHJghjfFG1545gGG.GetItemIndex(attachedSlotPos) if slot == 1: if itemvnum == 91163: constInfo.INPUT_CMD = "ITEMEXP#" event.QuestButtonClick(constInfo.PET_INFOS["qid"]) else: chat.AppendChat(chat.CHAT_TYPE_INFO,"Verdammt! Willst du dein Pet etwa umbringen?") return else: if itemvnum == 55102: if constInfo.PET_INFOS["life"] > app.GetGlobalTimeStamp(): chat.AppendChat(chat.CHAT_TYPE_INFO,"Dein Pet hat noch genügend Laufzeit!") else: constInfo.INPUT_CMD = "REVIVE#" event.QuestButtonClick(constInfo.PET_INFOS["qid"]) else: chat.AppendChat(chat.CHAT_TYPE_INFO,"Verdammt! Willst du dein Pet etwa umbringen?") return
def LevelUpRod(self): self.SetState(self.STATE_IMPROVING_ROD) self.stopFishing() if self.isMoving: return #Unequip weapon if it is a rod val = OpenLib.isItemTypeOnSlot(item.ITEM_TYPE_ROD, player.EQUIPMENT, item.EQUIPMENT_WEAPON) if val: chat.AppendChat( 3, "[Fishing-Bot] Removing fishing rod from main weapon") net.SendItemUsePacket(player.EQUIPMENT, item.EQUIPMENT_WEAPON) return slot = OpenLib.GetItemByType(item.ITEM_TYPE_ROD) #Check if rod is already in inventory if slot == -1: chat.AppendChat(3, "[Fishing-Bot] Rod is not in inventory") return chat.AppendChat(3, "[Fishing-Bot] Request to shop sent") NPCInteraction.RequestGiveItemNPCAwayRestorePosition( [slot], NPCInteraction.GetFishermanUpgrade(), callback=_PositionRestoreCallback, pos=self.startPosition) self.isMoving = True
def SelectItemSlot(self, selectedSlotPos): selectedSlotPos = self.__LocalPosToGlobalPos(selectedSlotPos) if mouseModule.mouseController.isAttached(): attachedSlotType = mouseModule.mouseController.GetAttachedType() if fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_INVENTORY == attachedSlotType: if fgGHGjjFHJghjfFG1545gGG.ITEM_MONEY == mouseModule.mouseController.GetAttachedItemIndex(): GFHhg54GHGhh45GHGH.SendSafeboxSaveMoneyPacket(mouseModule.mouseController.GetAttachedItemCount()) snd.PlaySound("sound/ui/money.wav") else: attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() #GFHhg54GHGhh45GHGH.SendSafeboxCheckinPacket(attachedSlotPos, selectedSlotPos) #snd.PlaySound("sound/ui/drop.wav") mouseModule.mouseController.DeattachObject() else: curCursorNum = app.GetCursor() if app.SELL == curCursorNum: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SAFEBOX_SELL_DISABLE_SAFEITEM) elif app.BUY == curCursorNum: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO) else: selectedItemID = safebox.GetItemID(selectedSlotPos) mouseModule.mouseController.AttachObject(self, fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_SAFEBOX, selectedSlotPos, selectedItemID) snd.PlaySound("sound/ui/pick.wav")
def OnSell(self): import constInfo, chat if constInfo.BlockItemsSystem["Block"] == 1: chat.AppendChat(1, "Sicherheitssystem Aktiviert.") return chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_SELL_INFO) app.SetCursor(app.SELL) self.btnBuy.SetUp()
def SelectItemSlot(self, slot): chat.AppendChat(chat.CHAT_TYPE_DEBUG, "SelectItemSlot (" + str(slot) + ")") item = self.GetItemBySlotPosition(slot) if item < 0: chat.AppendChat(chat.CHAT_TYPE_DEBUG, "NO ITEM FOUND!") return del self.shopContent[self.category]["category_content"][item] self.OnSelectCategory()
def OnClickSelectAchievementButton(self): index = self.listBox.GetSelectedItem(-1) - 1 if index < -1: chat.AppendChat(chat.CHAT_TYPE_INFO, "You have to choose you title first a") return elif index == player.GetCurrentAchievement(): chat.AppendChat(chat.CHAT_TYPE_INFO, "This title is already seleted.") return net.SendChatPacket("/set_achievement " + str(index))
def GetMapPath(map_name_end, map_name_start=background.GetCurrentMapName()): if map_name_end == map_name_start: chat.AppendChat(3, "[Map-Manager] start map and end map are the same.") return [] if map_name_start in maps and map_name_end in maps: links = maps[map_name_start].GetClosestMapPath(map_name_end) chat.AppendChat(3, str(links)) return links else: chat.AppendChat( 3, "[Map-Manager] Either " + map_name_start + " or " + map_name_end + " are not configured.") return []
def __OnClickPvPModeGuildButton(self): if self.__CheckPvPProtectedLevelPlayer(): return self.__RefreshPVPButtonList() if 0 == player.GetGuildID(): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_CANNOT_SET_GUILD_MODE) return if constInfo.PVPMODE_ENABLE: net.SendChatPacket("/pkmode 4", chat.CHAT_TYPE_TALKING) else: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_NOT_SUPPORT)
def SellItemSelected(self): if not shop.IsOpen(): chat.AppendChat(7, "[Inv-Manager] You need an open Shop for that!") return ItemIndex = self.ListBoxItems.GetSelectedItem() if ItemIndex: pass else: chat.AppendChat(7, "[Inv-Manager] No selected Items!") return SelectedItem = ItemIndex.GetText().split(" ") self.toSellSlots.append( (int(SelectedItem[0]), player.GetItemCount(0), 1)) self.UpdateFileList()
def RefineItem(self, scrollSlotPos, targetSlotPos): scrollIndex = player.GetItemIndex(scrollSlotPos) targetIndex = player.GetItemIndex(targetSlotPos) if player.REFINE_OK != player.CanRefine(scrollIndex, targetSlotPos): return ########################################################### 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 RequestHatching(self): if self.petname.GetText() == "" or len(self.petname.GetText()) < 4: chat.AppendChat(chat.CHAT_TYPE_INFO, "[Pet-Incubator] Il nome del pet non e' valido.") return if player.GetElk() < 100000: #chat.AppendChat(chat.CHAT_TYPE_INFO, "[Pet-Incubator]Devi possedere "+str(localeInfo.NumberToMoneyString(100000)) +".") return chat.AppendChat(chat.CHAT_TYPE_INFO, "[Pet-Incubator]Invio pacchetto schiudi pet.") import chr chr.RequestPetName(self.petname.GetText()) self.Close()
def SetStatusColor(self,index,level): self.status = index if index == self.STATUS_INACTIVE: self.bar.SetColor(self.COLOR_INACTIVE) self.questCount.Hide() self.questPercent.Hide() self.questTimer.SetText("Nicht verfügbar.") elif index == self.STATUS_ACTIVE: self.bar.SetColor(self.COLOR_ACTIVE) self.questCount.Show() self.questPercent.Show() elif index == self.STATUS_COMPLETE: self.bar.SetColor(self.COLOR_COMPLETE) self.questCount.Hide() self.questPercent.Show() self.questTimer.SetText("Abgeschlossen") elif index == self.STATUS_LEVEL_LOW: self.bar.SetColor(self.COLOR_INACTIVE) self.questCount.Hide() self.questPercent.Hide() self.questTimer.SetText("Ab Lv." + str(level)) else: chat.AppendChat(chat.CHAT_TYPE_DEBUG,"uibiologist.BiologistItem(): Unknown StatusIndex: " + str(index))
def UseItemSlot(self, slotIndex): ADD_ITEM_NEED_COUNT = [0, 0, 0, 1, 2, 4, 8, 8, 8] if player.GetGemShopItemStatus(slotIndex) == 1: haveCount = constInfo.COUNT_SPECIFY_ITEM(self.GEM_SHOP_ADD_ITEM_VNUM) needCount = ADD_ITEM_NEED_COUNT[slotIndex] item.SelectItem(self.GEM_SHOP_ADD_ITEM_VNUM) if haveCount < needCount: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GEM_SYSTEM_NOT_ENOUGHT_ADDITEM % (str(item.GetItemName()), int(needCount - haveCount))) else: self.SlotAddQuestion(slotIndex, needCount, item.GetItemName()) else: if player.GetGem() < player.GetGemShopItemPrice(slotIndex): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GEM_SYSTEM_NOT_ENOUGH_HP_GEM) else: self.GemShopSlotBuy(slotIndex)
def SelectEmptySlot(self, selectedSlotPos): selectedSlotPos = self.__LocalPosToGlobalPos(selectedSlotPos) if mouseModule.mouseController.isAttached(): attachedSlotType = mouseModule.mouseController.GetAttachedType() attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber() if constInfo.BlockItemsSystem["Block"] == 1: chat.AppendChat(1, "Sicherheitssystem ist Aktiviert.") return if fgGHGjjFHJghjfFG1545gGG.SLOT_TYPE_SAFEBOX == attachedSlotType: GFHhg54GHGhh45GHGH.SendSafeboxItemMovePacket(attachedSlotPos, selectedSlotPos, 0) #snd.PlaySound("sound/ui/drop.wav") else: attachedInvenType = fgGHGjjFHJghjfFG1545gGG.SlotTypeToInvenType(attachedSlotType) if fgGHGjjFHJghjfFG1545gGG.RESERVED_WINDOW == attachedInvenType: return if fgGHGjjFHJghjfFG1545gGG.ITEM_MONEY == mouseModule.mouseController.GetAttachedItemIndex(): GFHhg54GHGhh45GHGH.SendSafeboxSaveMoneyPacket(mouseModule.mouseController.GetAttachedItemCount()) snd.PlaySound("sound/ui/money.wav") else: GFHhg54GHGhh45GHGH.SendSafeboxCheckinPacket(attachedInvenType, attachedSlotPos, selectedSlotPos) #snd.PlaySound("sound/ui/drop.wav") mouseModule.mouseController.DeattachObject()
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 __ClickEmotionSlot(self, slotIndex): print "click emotion" if not slotIndex in emotion.EMOTION_DICT: return print "check acting" if player.IsActingEmotion(): return command = emotion.EMOTION_DICT[slotIndex]["command"] print "command", command if slotIndex > 50: vid = player.GetTargetVID() if 0 == vid or vid == player.GetMainCharacterIndex() or chr.IsNPC( vid) or chr.IsEnemy(vid): import chat chat.AppendChat(chat.CHAT_TYPE_INFO, locale.EMOTION_CHOOSE_ONE) return command += " " + chr.GetNameByVID(vid) print "send_command", command net.SendChatPacket(command)
def SelectItemSlot(self, selectedSlotPos): if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1: return isAttached = mouseModule.mouseController.isAttached() selectedSlotPos = self.__GetRealIndex(selectedSlotPos) if isAttached: self.SellAttachedItem() else: if True == shop.IsMainPlayerPrivateShop(): return curCursorNum = app.GetCursor() if app.BUY == curCursorNum: self.AskBuyItem(selectedSlotPos) elif app.SELL == curCursorNum: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_SELL_INFO) else: selectedItemID = shop.GetItemID(selectedSlotPos) itemCount = shop.GetItemCount(selectedSlotPos) type = player.SLOT_TYPE_SHOP if shop.IsPrivateShop(): type = player.SLOT_TYPE_PRIVATE_SHOP mouseModule.mouseController.AttachObject( self, type, selectedSlotPos, selectedItemID, itemCount) mouseModule.mouseController.SetCallBack( "INVENTORY", ui.__mem_func__(self.DropToInventory)) snd.PlaySound("sound/ui/pick.wav")
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 __CheckPvPProtectedLevelPlayer(self): if player.GetStatus(player.LEVEL)<constInfo.PVPMODE_PROTECTED_LEVEL: self.__SetPeacePKMode() chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_PROTECT % (constInfo.PVPMODE_PROTECTED_LEVEL)) return 1 return 0
def __SendMoveItemPacket(self, srcSlotPos, dstSlotPos, srcItemCount): # 개인상점 열고 있는 동안 아이템 사용 방지 if uiPrivateShopBuilder.IsBuildingPrivateShop(): chat.AppendChat(chat.CHAT_TYPE_INFO, locale.MOVE_ITEM_FAILURE_PRIVATE_SHOP) return net.SendItemMovePacket(srcSlotPos, dstSlotPos, srcItemCount)
def __SendUseItemPacket(self, slotPos): # 개인상점 열고 있는 동안 아이템 사용 방지 if uiPrivateShopBuilder.IsBuildingPrivateShop(): chat.AppendChat(chat.CHAT_TYPE_INFO, locale.USE_ITEM_FAILURE_PRIVATE_SHOP) return net.SendItemUsePacket(slotPos)
def AppendEventInformation(self, eventName, itemVnum, target, targetType, runTime): if self.eventCount > 0: for i in xrange(self.eventCount): if eventName == self.eventListBox[i + 1].eventName: return chat.AppendChat( chat.CHAT_TYPE_INFO, "AppendEventInformation: " + str(itemVnum) + ", " + str(target) + ", " + str(targetType) + ", " + str(runTime)) self.eventCount = self.eventCount + 1 self.errorLine.Hide() self.eventGuide.eventButtons[self.eventGuide.EVENT_TEMP_DROP].SetText( "Drop-Event (" + str(self.eventCount) + ")") self.eventGuide.eventButtons[self.eventGuide.EVENT_TEMP_DROP].Enable() self.eventListBox[self.eventCount] = EventTempDropGuideItemBox() self.eventListBox[self.eventCount].SetParent(self.board) self.eventListBox[self.eventCount].SetPosition( 25, 35 + (45 * self.eventCount) - 45) self.eventListBox[self.eventCount].SetData(eventName, itemVnum, target, targetType, runTime) self.eventListBox[self.eventCount].Show() self.SetWindowSize(400, self.baseHeight + (self.eventCount * 45) + 10)
def OpenPickMoneyDialog(self): if exchange.GetElkFromSelf() > 0: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.EXCHANGE_CANT_EDIT_MONEY) return self.dlgPickMoney.Open(fgGHGjjFHJghjfFG1545gGG.GetElk())
def CreateShop(self): if OpenLib.GetItemByID(SHOP_PACKET_ID) == -1: chat.AppendChat(3, "[Shop-Creator] You need to buy a packet first.") return self.iniItems = [] self.initItems = list(self.items_ui.keys()) blocked_slots = set() #Avoid selecting the same item twice for i in range(0, self.MAX_NUM_SLOT): idx = player.GetItemIndex(i) if idx == SHOP_PACKET_ID or idx == PREMIUM_SHOP_PACKET_ID or idx == 0: continue if i in blocked_slots: continue item.SelectItem(idx) size = item.GetItemSize() if size > 1: for ii in range(1, size): blocked_slots.add(i + ii * 5) #if ItemValue == 50300: # ItemValue = 100000 + player.GetItemMetinSocket(i, 0) #if ItemValue != 0: self.SetItemPrice(i) shop.BuildPrivateShop(self.ShopNameEditline.GetText())