enermax7864 205 Опубликовано 5 июня, 2012 (изменено) Скрытый текстimport sysfrom com.l2jfrozen import Configfrom com.l2jfrozen.gameserver.model.quest import Statefrom com.l2jfrozen.gameserver.model.quest import QuestStatefrom com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuestqn = "998_Wings"# ---------------------------------------------------------------------------------------------------------------- ## 1. ID NPC в которого берется квест# 2. ID Моба с которого бьются перья# 3. ID Raid Boss Wings# 4. ID Итема с Quest Wings (Черное Перо)# 5. Cколько нужно? (Черных перьев)# 6. Шанс дропа? (Черных перьев), Указывается в %# 7. ID Итема с Raid Boss Wings (Белое Перо)# 8. ID Награды за прохождение квеста (Перо Зарича)# ---------------------------------------------------------------------------------------------------------------- ## ---------------------------------------------------------------------------------------------------------------- ## 1.NPC = 10500# 2.MOBS = 10501# 3.BOSS = 10502# 4.ADAMANIT = 10300# 5.ADAMANIT_NEED = 300# 6.ADAMANIT_CHANCE = 100# 7.BOSS_ITEM = 10301# 8.COIN = 10302# ---------------------------------------------------------------------------------------------------------------- #class Quest (JQuest) : def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr) def onEvent (self,event,st) : htmltext = event if event == "accept.htm": st.setState(State.STARTED) st.playSound("ItemSound.quest_accept") st.set("cond","1") elif event == "finish.htm": if st.getQuestItemsCount(ADAMANIT) >= ADAMANIT_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1: st.takeItems(ADAMANIT, -1) st.takeItems(BOSS_ITEM, -1) st.giveItems(COIN, 1) st.set("cond","0") st.playSound("ItemSound.quest_finish") st.setState(State.COMPLETED) else: htmltext = "mobs.htm" return htmltext def onTalk (self,npc,player): st = player.getQuestState(qn) if not st: return "<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>" npcId = npc.getNpcId() idd = st.getState() cond = st.getInt("cond") if npcId == NPC: if idd == State.COMPLETED : htmltext = "completed.htm" if idd == State.CREATED : htmltext = "hello1.htm" elif cond == 1: if st.getQuestItemsCount(ADAMANIT) >= ADAMANIT_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1: htmltext = "mobs2.htm" else: htmltext = "mobs.htm" return htmltext def onKill(self,npc,player,isPet): st = player.getQuestState(qn) if not st or st.getInt("cond") != 1: return npcId = npc.getNpcId() reward = 0 limit = 1 chance = 100 if npcId in MOBS: reward = ADAMANIT limit = ADAMANIT_NEED chance = ADAMANIT_CHANCE if npcId == BOSS: reward = BOSS_ITEM limit = 1 if reward > 0: party = player.getParty() if party: for member in party.getPartyMembers(): if not member.isAlikeDead(): st = member.getQuestState("998_Wings") if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") if st.getQuestItemsCount(reward) >= limit: st.playSound("ItemSound.quest_middle") else: if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") return QUEST = Quest(998, qn, "Wings")QUEST.addStartNpc(NPC)QUEST.addTalkId(NPC)QUEST.addKillId(BOSS)for m in MOBS: QUEST.addKillId(m) Скачал квест сделал под фрозенов и ошибкаВот ошибкаError on: I:\Frozen\gameserver\data\scripts\quests\998_Wings\__init__.py.error.logLine: -1 - Column: -1Traceback (innermost last): File "__init__.py", line 131, in ?TypeError: iteration over non-sequence Изменено 5 июня, 2012 пользователем enermax7864 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VREDNbIi 145 Опубликовано 5 июня, 2012 Error on: I:\Frozen\gameserver\data\scripts\quests\998_Wings\__init__.py.error.log покажи что в этом логе Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
enermax7864 205 Опубликовано 5 июня, 2012 Traceback (innermost last): File "__init__.py", line 131, in ? TypeError: iteration over non-sequence Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 5 июня, 2012 Ищите синтаксическую ошибку на 131 строке. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VREDNbIi 145 Опубликовано 5 июня, 2012 (изменено) Ищите синтаксическую ошибку на 131 строке. в коде нету строки 131, если бы ты глянул =) по этому я и попросил показать лог. Изменено 5 июня, 2012 пользователем VREDNbIi Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
enermax7864 205 Опубликовано 5 июня, 2012 131 строка for m in MOBS: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VREDNbIi 145 Опубликовано 5 июня, 2012 131 строка for m in MOBS: хм... забавно у меня она идет как 118... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
enermax7864 205 Опубликовано 5 июня, 2012 там више ещо копирайти шли я их убрал вот) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
enermax7864 205 Опубликовано 5 июня, 2012 ну что кто сделает? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
enermax7864 205 Опубликовано 5 июня, 2012 Ну кто поможет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты