Astons 45 Опубликовано 1 ноября, 2012 Есть у когото заточка вешей ну нпс у которого точить шмотки Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Astons 45 Опубликовано 1 ноября, 2012 import sys from net.sf.l2j import Config from net.sf.l2j.gameserver.model.quest import State from net.sf.l2j.gameserver.model.quest import QuestState from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest qn = "999999_NPCEnchant" ENCHANT_NPC = 80017 weapons = ['Sword','Blunt','Dagger','Bow','Pole','Etc','Fist','Dual Sword','Dual Fist','Big Sword','Big Blunt','Ancient','Crossbow','Rapier'] armors = ['Light','Heavy','Magic','Shield'] 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 999999_NPCEnchant enchantItem_" + str(Item.getObjectId()) +"\">" + Item.getItem().getName() + "+" + str(Item.getEnchantLevel()) + "</a><br>" if htmltext == "": htmltext = "You have no enchantable items in your inventory" htmltext = "<html><body>Enchanter:<br>Please choose which item you wish me to enchant, from the below list:<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 # and if that item is still not equipped Item = st.getPlayer().getInventory().getItemByObjectId(objId ) if Item and not Item.isEquipped() : itemType = Item.getItem().getItemType().toString() itemEnchant = Item.getEnchantLevel() if st.getQuestItemsCount(7267) >= 10 : if (itemType in weapons and itemEnchant >= Config.ENCHANT_MAX_WEAPON) or (itemType in armors and itemEnchant >= Config.ENCHANT_MAX_ARMOR) or (itemType in jewels and itemEnchant >= Config.ENCHANT_MAX_JEWELRY) : htmltext = "reachedMaxEnchant.htm" else : Item.setEnchantLevel(itemEnchant+1) st.takeItems(7267, 10) htmltext = "congratulations.htm" else : htmltext = "notEnoughItems.htm" else : htmltext = "cheater.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 = "1.htm" return htmltext QUEST = Quest(80017,qn,"NPCEnchant") QUEST.addStartNpc(ENCHANT_NPC) QUEST.addTalkId(ENCHANT_NPC) Такой квест проверте работает ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Astons 45 Опубликовано 1 ноября, 2012 java.lang.NullPointerException at net.sf.l2j.gameserver.model.quest.QuestState.getStateId(QuestState.java:189) at net.sf.l2j.gameserver.model.quest.Quest.createQuestInDb(Quest.java:824) at net.sf.l2j.gameserver.model.quest.Quest.newQuestState(Quest.java:202) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.showQuestWindow(L2NpcInstance.java:1425) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.onBypassFeedback(L2NpcInstance.java:994) at net.sf.l2j.gameserver.model.actor.instance.L2DonateInstance.onBypassFeedback(L2DonateInstance.java:425) at net.sf.l2j.gameserver.network.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer.java:100) at net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:50) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) Чо за ошибка неврублюсь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 1 ноября, 2012 (изменено) В гугле переведите.) Изменено 1 ноября, 2012 пользователем LeKToR Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Astons 45 Опубликовано 1 ноября, 2012 (изменено) поможет ктота разобратся ? Изменено 1 ноября, 2012 пользователем Astons Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 1 ноября, 2012 Какая сборка? Попробуйте скопировать какой-нибудь стандартный квест и переделать его нужным вам образом. Могу написать такой квест с нуля(или не совсем), но только завтра утром при условии, что не забуду. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Astons 45 Опубликовано 1 ноября, 2012 Сборка пв Ето кароч на заточку вещей и т д Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Astons 45 Опубликовано 1 ноября, 2012 Дайте плиз ктота На точку итемов на питоне Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Astons 45 Опубликовано 1 ноября, 2012 Закривайте ) )) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты