Знаток! Подскажите, Что Не Так...
Подскажите, что не так....
from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
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 = "9876_Sportloto"
NPC=[50005]
SPORTLOTO_TICKET = 9999
ADENA_ID=57
QuestId = 9876
QuestName = "Sportloto"
QuestDesc = "custom"
InitialHtml = "1.htm"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 10000000 :
htmltext = "<html><head><body>You dont have enough
adena.</body></html>"
else:
if event == "1":
st.takeItems(ADENA_ID,10000000)
st.giveItems(SPORTLOTO_TICKET,1)
return htmltext
st.setState(COMPLETED)
if htmltext != event:
st.setState(COMPLETED)
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
st = st.getQuestState(qn)
htmltext = "<html><head><body>I have nothing to say to you</body></html>"
st.setState(STARTED)
return InitialHtml
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
CREATED=State('Start',QUEST)
STARTED=State('Started',QUEST)
COMPLETED=State('Completed',QUEST)
QUEST.setInitialState(CREATED)
for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)
print "importing quests: 9876:Sportloto"
А в чем вообщем проблема? Данный квест не загружается в ГеймСервере? Какие ошибке пишит при загрузке ГС?
угу .... error importing quest : 9876_Sportloto
NPC создан, в папке jscripts/custom/init.py тоже всё прописано ...
html 50005 - есть, 1.html в папке с квестом - тоже есть...
квест сам писал - всмотритесь плиз (мож где синтаксическая ошибка???)
хотя сам не раз всё проверял - вроде всё верно.
ПОМОГИТЕ!!!
сборка L2J Server ... Но помоему вопрос о сборке здесь неуместен... Так как ничего нестандарнного их функций не используется ...... классика епт (забрал итем - дал итем)
вот ..... подправил немного:
from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
from net.sf.l2j import L2DatabaseFactory
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 = "9998_Sportloto"
NPC=[50005]
SPORTLOTO = 9999
ADENA_ID=57
QuestId = 9998
QuestName = "Sportloto"
QuestDesc = "custom"
InitialHtml = "1.htm"
print "importing quests: 9998:Sportloto"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 10000000 :
htmltext = "<html><head><body>You dont have enough adena.</body></html>"
else:
st.getPlayer().setTarget
if event == "1":
st.takeItems(ADENA_ID,10000000)
st.giveItems(SPORTLOTO,1)
return "1.htm"
st.setState(COMPLETED)
if htmltext != event:
st.setState(COMPLETED)
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
htmltext = "<html><head><body>I have nothing to say to you</body></html>"
st.setState(STARTED)
return InitialHtml
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
CREATED=State('Start',QUEST)
STARTED=State('Started',QUEST)
COMPLETED=State('Completed',QUEST)
QUEST.setInitialState(CREATED)
for npcId in NPC:
QUEST.addStartNpc(50005)
QUEST.addTalkId(50005)
print "...done"
Квест - подключается, но при нажатии на (action="bypass -h npc_%objectId%_Quest 9998_Sportloto" - ничего не происходит (просто закрываеться окно разговора с НПС, геймсервер - ошибок не пишет))
Пипец .... что происходит????
Помогите пожалуйста
обрати внимание на точное название файла
InitialHtml = "1.htm"
там случаем не html?
— You're an amateur
Админ красава!!! и в правду по запаре расширение *.html поставил ...
уже было обрадовался, но не тут-то было :(
результат тот-же ...
я уже и по другому написал :
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
ADENA_ID = 57
COUNT = 10000000
SPORTLOTO = 9999
NPC = 50005
def getCount(st) :
return st.getQuestItemsCount(ADENA_ID)
def completed(st) :
st.setState(COMPLETED)
st.takeItems(ADENA_ID,COUNT)
st.giveItems(SPORTLOTO,1)
st.exitQuest(False)
return
def check(st) :
if getCount(st) >= COUNT :
completed(st)
return
else:
return "<html><body>You don't have enought adena...</body></html>"
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 : st.setState(STARTED)
elif id == COMPLETED: pass
elif id == STARTED : check(st)
return
QUEST = Quest(9998,"9998_Sportloto", "custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NPC)
print "importing quest 9998_Sportloto...done"
и всё равно .... квест импортируется, а результат при нажтии на "квест" - просто исчезает окно. и всё.
ВСЕМ КТО ОТКЛИКНУЛСЯ - ОГРОМНОЕ СПАСИБО






