Помогите с настройкой скрипта пожалуйста)
Доброе время суток всем, у меня возникла проблема...
Вот скрипт точит вещи +0 на +25 Сам скрипт:Свернуть ↑
Свернуть ↑Развернуть ↓
import sys from com.l2jserver import Config from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest qn = "99940_SafeEnchant" print "=============================" print " NPC ENCHANTER - OK " print "=============================" QuestId = 99940 QuestName = "SafeEnchant" QuestDesc = "custom" ENCHANT_CHECK = 1 AMOUNT_OF_ENCHANT = 25 PAYMENT_ITEM_ID = 57 PAYMENT_AMOUNT = 0 ENCHANT_NPC = 10007 weapons = ['Sword','Blunt','Dagger','Bow','Pole','Etc','Fist' ,'Dual Sword','Dual Fist','Big Sword','Big Blunt','Ancient','Crossbow','Rapier','Dual Dagger'] armors = ['Light','Heavy','Magic','Shield','Sigil'] jewels = ['None'] acceptableItemTypes = weapons+armors+jewels class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onEvent (self,event,st) : if event == "choose_item" : htmltext = "" for Item in st.getPlayer().getInventory().getItems(): # given an item instance, get the item template to check what type it is itemType = Item.getItem().getItemType().toString() itemGrade = Item.getItem().getCrystalType() if itemType in acceptableItemTypes and itemGrade > 0 : htmltext += "<a action=\"bypass -h Quest 99940_SafeEnchant enchantItem_" + str(Item.getObjectId()) +"\">" + Item.getItem().getName() + "+" + str(Item.getEnchantLevel()) + "</a><br>" if htmltext == "": htmltext = "You have no enchantable items equiped or in your inventory." htmltext = "<html><title>RUSH x500</title><body>Item Enchant Your Need to be +0<br>Please Select an item to enchant the list below:<br><br>" + htmltext + "</body></html>" elif event.startswith("enchantItem_"): # get the object id out of the event string objId = int(event.replace("enchantItem_", "")) # to avoid exploitation, check if the stored objectId still corresponds to an existing item Item = st.getPlayer().getInventory().getItemByObjectId(ob jId ) if Item : itemType = Item.getItem().getItemType().toString() itemEnchant = Item.getEnchantLevel() if st.getQuestItemsCount(PAYMENT_ITEM_ID) >= PAYMENT_AMOUNT : if (itemType in weapons and itemEnchant >= ENCHANT_CHECK) or (itemType in armors and itemEnchant >= ENCHANT_CHECK) or (itemType in jewels and itemEnchant >= ENCHANT_CHECK) : htmltext = "notPlusZero.htm" else : Item.setEnchantLevel(itemEnchant+AMOUNT_OF_ENCHANT ) st.takeItems(PAYMENT_ITEM_ID, PAYMENT_AMOUNT) htmltext = "Congratulations.htm" else : htmltext = "notEnoughItems.htm" else : htmltext = "Error.htm" return htmltext def onTalk (self,npc,player): htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>" st = player.getQuestState(qn) if not st : return htmltext if npc.getNpcId() == ENCHANT_NPC : htmltext = "Start.htm" return htmltext QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc) QUEST.addStartNpc(ENCHANT_NPC) QUEST.addTalkId(ENCHANT_NPC) Мне нужно с +25 на +103 , перепробовал уже кучу вариантов.. Помогите пожалуйста(( :mol: |
Re: Помогите с настройкой скрипта пожалуйста)
Закрываем тему, сам решил проблему.
Вот точит вещи +25 на 103:Свернуть ↑
Свернуть ↑Развернуть ↓
import sys from com.l2jserver import Config from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest qn = "99940_SafeEnchant" print "=============================" print " NPC ENCHANTER - OK " print "=============================" QuestId = 99940 QuestName = "SafeEnchant" QuestDesc = "custom" ENCHANT_CHECK = 26 AMOUNT_OF_ENCHANT = 78 PAYMENT_ITEM_ID = 4357 PAYMENT_AMOUNT = 10 ENCHANT_NPC = 10007 weapons = ['Sword','Blunt','Dagger','Bow','Pole','Etc','Fist' ,'Dual Sword','Dual Fist','Big Sword','Big Blunt','Ancient','Crossbow','Rapier','Dual Dagger'] armors = ['Light','Heavy','Magic','Shield','Sigil'] jewels = ['None'] acceptableItemTypes = weapons+armors+jewels class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onEvent (self,event,st) : if event == "choose_item" : htmltext = "" for Item in st.getPlayer().getInventory().getItems(): # given an item instance, get the item template to check what type it is itemType = Item.getItem().getItemType().toString() itemGrade = Item.getItem().getCrystalType() if itemType in acceptableItemTypes and itemGrade < 25 : htmltext += "<a action=\"bypass -h Quest 99940_SafeEnchant enchantItem_" + str(Item.getObjectId()) +"\">" + Item.getItem().getName() + "+" + str(Item.getEnchantLevel()) + "</a><br>" if htmltext == "": htmltext = "You have no enchantable items equiped or in your inventory." htmltext = "<html><title>RUSH x500</title><body>Item Enchant Your Need to be +25<br>Please Select an item to enchant the list below:<br><br>" + htmltext + "</body></html>" elif event.startswith("enchantItem_"): # get the object id out of the event string objId = int(event.replace("enchantItem_", "")) # to avoid exploitation, check if the stored objectId still corresponds to an existing item Item = st.getPlayer().getInventory().getItemByObjectId(ob jId ) if Item : itemType = Item.getItem().getItemType().toString() itemEnchant = Item.getEnchantLevel() if st.getQuestItemsCount(PAYMENT_ITEM_ID) >= PAYMENT_AMOUNT : if (itemType in weapons and itemEnchant >= ENCHANT_CHECK) or (itemType in armors and itemEnchant >= ENCHANT_CHECK) or (itemType in jewels and itemEnchant >= ENCHANT_CHECK) : htmltext = "notPlusZero.htm" else : Item.setEnchantLevel(itemEnchant+AMOUNT_OF_ENCHANT ) st.takeItems(PAYMENT_ITEM_ID, PAYMENT_AMOUNT) htmltext = "Congratulations.htm" else : htmltext = "notEnoughItems.htm" else : htmltext = "Error.htm" return htmltext def onTalk (self,npc,player): htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>" st = player.getQuestState(qn) if not st : return htmltext if npc.getNpcId() == ENCHANT_NPC : htmltext = "Start.htm" return htmltext QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc) QUEST.addStartNpc(ENCHANT_NPC) QUEST.addTalkId(ENCHANT_NPC) |
Текущее время: 02:15. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot