Немогу найти ошибку в коде
Железо: Intel D 2.80 GHz, 2 гига оперы
ОС: Винда хр х32
Программы: мускул 5.1.0 х32, ява х32
Сборка: Interlude, RusTeam, 1.4.1.6
Краткое изложение СУТИ проблемы: Немогу найти ошибку в коде.
Здравствуйте, я написал свой первый квест, но при загрузке сервер пишет, что квест повреждён.
Просьба помочь подправить код квеста, Спасибка гарантированна)
Вот сам код:
#
#
print "importing quests: 2009_tony"
import sys
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
# variable definition part
BROWN_BEAR_LEG1 = 1872
BROWN_BEAR = 32100
BROWN_BEAR_LEG1_DROP = 500000
EVENT_MEDAL = 6392
TONY_THE_CAT = 32100
ANIMAL_SLAYER_LIST1 = 3418
# Count Code part
def getCount_1872(st) :
return st.getQuestItemsCount(BROWN_BEAR_LEG1)
# Complete code part
def completed(st) :
st.setState(COMPLETED)
st.clearQuestDrops()
st.takeItems(BROWN_BEAR_LEG1,-1)
st.giveItems(EVENT_MEDAL,40)
st.getPlayer().addExpAndSp(105000,20000)
st.exitQuest(True)
return
def check(st) :
if getCount_1872(st) >= 15 :
completed(st)
return "<HTML><BODY>You''ve got all items, here is your reward</BODY></HTML>"
return "<HTML><BODY>You don''t have enough item, continue your quest</BODY></HTML>"
# Condition check for the Quest
def st_check(st) :
if st.getPlayer().getLevel() < 15 :
st.exitQuest(True)
return "<HTML><BODY>Sorry, your level is too low for this quest</BODY></HTML>"
return "Start.htm"
# Main Quest Code
class Quest (JQuest):
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st):
id = st.getState()
if id == CREATED :
if event == "agree" :
st.setState(STARTED)
st.set("cnt","0")
return "<HTML><BODY>Quest initialized</BODY></HTML>"
return st_check(st)
elif id == COMPLETED: pass
elif id == STARTED :
return check(st)
return
def onTalk (self,npcid,st):
if npcid == TONY_THE_CAT :
st.giveItems(ANIMAL_SLAYER_LIST1,1)
return
# Quest class and state definition
QUEST = Quest(2009,qn,"custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
# Quest initialization
QUEST.setInitialState(CREATED)
# Quest NPC starter initialization
QUEST.addStartNpc(32100)
# Quest Item Drop initialization
STARTED.addQuestDrop(BROWN_BEAR,BROWN_BEAR_LEG1,BROWN_BEAR_LEG1_DROP)
# Quest mob initialization
STARTED.addKillId(BROWN_BEAR)
# Quest NPC initialization
STARTED.addTalkId(32100)
#
Выложит лог ошибни, что-то типа _init_logs.py, в папке со скриптом должно быть
— L2Revolution.ru Admin
Странно, обычно после загрузки сервера и выявлении ошибки, лог остаеться в определенном файле...
— L2Revolution.ru Admin
Обьясню какой квест я хотел сделать:
Если чар 15 и более лвл, то он может подойти в Tony the cat id 32100 и взять квест,в квесте он должен убить BROWN BEAR и получить итем id 1872,потом снова подойти к Tony the cat, сдать квест, получить exp,sp и event medal
Может быть поможет
Спасибо за попытку помощи, переписал код немного по другому - все робит)
Но есть вопросик: как сделать чтобы квест можно было брать неоднократно и ограничение в лвлах, допустим с 15 по 20 ???
Чтобы квест был многократным, удали "if id == CREATED :"
а ограничение поставить на левел:
return "badlevel.htm"



