Перейти к содержанию
Авторизация  
enermax7864

Помогите

Рекомендуемые сообщения

Скрытый текст
import sys
from com.l2jfrozen import Config
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

qn = "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.log
Line: -1 - Column: -1

Traceback (innermost last):
File "__init__.py", line 131, in ?
TypeError: iteration over non-sequence
Изменено пользователем enermax7864

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Error on: I:\Frozen\gameserver\data\scripts\quests\998_Wings\__init__.py.error.log

 

покажи что в этом логе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ищите синтаксическую ошибку на 131 строке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ищите синтаксическую ошибку на 131 строке.

в коде нету строки 131, если бы ты глянул =)

по этому я и попросил показать лог.

Изменено пользователем VREDNbIi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
131 строка for m in MOBS:

хм... забавно у меня она идет как 118...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...