Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Квесты/Знаток! Подскажите, Что Не Так...
Search

Знаток! Подскажите, Что Не Так...

10 replies178 viewsCurrently viewing: 1
filmotechnic
filmotechnic

User

Бывалый

Posts: 140

На форуме с: 01/01/2008

Репутация: +66

Рейтинг: 0

· 08/22/2008, 03:12 PM

Подскажите, что не так....

Код
import sys
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"

0
Иван
Иван

User

Бывалый

Posts: 118

На форуме с: 05/28/2008

Репутация: +140

Рейтинг: 0

· 08/22/2008, 03:14 PM

А в чем вообщем проблема? Данный квест не загружается в ГеймСервере? Какие ошибке пишит при загрузке ГС?

0
filmotechnic
filmotechnic

User

Бывалый

Posts: 140

На форуме с: 01/01/2008

Репутация: +66

Рейтинг: 0

· 08/22/2008, 05:48 PM

угу .... error importing quest : 9876_Sportloto

NPC создан, в папке jscripts/custom/init.py тоже всё прописано ...
html 50005 - есть, 1.html в папке с квестом - тоже есть...

квест сам писал - всмотритесь плиз (мож где синтаксическая ошибка???)
хотя сам не раз всё проверял - вроде всё верно.

ПОМОГИТЕ!!!

0
Тень
Тень

Author

Новичок

Posts: 15

На форуме с: 08/05/2008

Репутация: +6

Рейтинг: 0

· 08/23/2008, 03:17 AM

сборка

0
filmotechnic
filmotechnic

User

Бывалый

Posts: 140

На форуме с: 01/01/2008

Репутация: +66

Рейтинг: 0

· 08/23/2008, 09:56 AM

сборка L2J Server ... Но помоему вопрос о сборке здесь неуместен... Так как ничего нестандарнного их функций не используется ...... классика епт (забрал итем - дал итем)

0
filmotechnic
filmotechnic

User

Бывалый

Posts: 140

На форуме с: 01/01/2008

Репутация: +66

Рейтинг: 0

· 08/24/2008, 08:34 PM

вот ..... подправил немного:

Код
import sys
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" - ничего не происходит (просто закрываеться окно разговора с НПС, геймсервер - ошибок не пишет))

Пипец .... что происходит????


Помогите пожалуйста

0
pchayka
pchayka

User

Ветеран

Posts: 1304

На форуме с: 02/01/2008

Репутация: +1313

Рейтинг: 0

· 08/25/2008, 01:57 PM

обрати внимание на точное название файла

InitialHtml = "1.htm"

там случаем не html?

— You&#39;re an amateur

0
ServerUp
ServerUp

Author

Новичок

Posts: 8

На форуме с: 04/03/2008

Репутация: +4

Рейтинг: 0

· 08/25/2008, 06:33 PM

Загляни на форум разработчиков l2jserver.

0
Илья
Илья

User

Участник

Posts: 28

На форуме с: 05/07/2008

Репутация: +12

Рейтинг: 0

· 08/25/2008, 07:15 PM

кул там есть что нада l2jserver

0
filmotechnic
filmotechnic

User

Бывалый

Posts: 140

На форуме с: 01/01/2008

Репутация: +66

Рейтинг: 0

· 08/25/2008, 07:46 PM

Админ красава!!! и в правду по запаре расширение *.html поставил ...

уже было обрадовался, но не тут-то было :(

результат тот-же ...


я уже и по другому написал :


Код
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

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"



и всё равно .... квест импортируется, а результат при нажтии на "квест" - просто исчезает окно. и всё.


ВСЕМ КТО ОТКЛИКНУЛСЯ - ОГРОМНОЕ СПАСИБО

0
Войдите или зарегистрируйтесь чтобы ответить