Сообщений: 94
Тем: 12
Зарегистрирован: Jan 2012
Репутация:
-5
Ищу человека, который поможет разобраться в чём косяк.
Скопипастил квест,переписал итемы,
переписал нпц,
добавил нпц на сервер,
добавил итемы на сервер,
включил в скрипт.цфг квест(без ошибок прикрутился)
добавил даже описание квеста в клиентскую часть,
добавил в стартовую страничку моего нпц байпас с указанием какой квест будет начат,
но когда жму "квест" мне отвечают -квеста нет или не подходите по минимальным требованиям(ну, стандартная табличка "безквестия"
-----------------
Попробовал прикрутить стартового нпц джереми(в хс стоит:redlol , в списке квестов моего не оказалось
Бешенство, это не болезнь :di: © Pumo4ka
Сообщений: 1,485
Тем: 12
Зарегистрирован: Mar 2010
Репутация:
2,994
Puma1414 Написал:добавил в стартовую страничку моего нпц байпас с указанием какой квест будет начат, У НПЦ есть ссылка Quest/Квест ? вот в ней посмотрите список для начала. Я у себя добавил для ГМ-а инфу по квестам, чтобы видно было в НПЦ в каких квестам на каком ид(talk etc) прицеплен
Сообщений: 94
Тем: 12
Зарегистрирован: Jan 2012
Репутация:
-5
У нпц прописано что на нём висит квест, в квесте прописано что он стартовый. если я всё правильно понял, то это должно работать, не хотел зафлуживать тему кодами, но видимо мой словарный запас слишком скуден чтобы по человечески обьяснить в чём у меня проблема.
квест
Код: 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 = "79999_Global_War"
DUGLAS = 80000
#ITEMS
EGG = 9848
#CHANCE
CHANCE = 100
#MOBS
MOB = 80003
#REWARDS
REWARD = 57
def getCount(st) :
return st.getQuestItemsCount(EGG)
def completed(st) :
st.setState(COMPLETED)
st.clearQuestDrops()
st.takeItems(EGG,-1)
st.giveItems(REWARD,1)
st.exitQuest(False)
return
def check(st) :
if getCount(st) >= 10 :
completed(st)
return
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 == STARTED : check(st)
return
def onKill (self,npcId,st):
if npcId == EGG:
n = getCount(st)
if n == 0:
if st.get('chat0') == None :
st.set("chat0", "true")
return "Chat0.htm"
elif n == 1:
if st.get('chat1') == None :
st.set("chat1", "true")
return "Chat1.htm"
elif n >= 10:
return "Chat4.htm"
return "Collect "+str(n)+" of 4 eggs"
return
QUEST = Quest(79999, "qn", "Global War")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(DUGLAS)
STARTED.addQuestDrop(MOB,EGG,CHANCE)
Нпц в html/default/80000.htm
Код: <HTML><BODY>Global War (Green)<br>
Приветсвую путник, желаешь ли ты присоедениться к охотникам на драконов?<br>
<a action="bypass -h npc_%objectId%_Quest 79999_global_war"> "Да"</a>
</BODY></HTML>
и , ну никак не могу понять, как составлять htmКи для дальнеших диалогов, как квест поймёт что ему читать после нажатия "да" ?
(з.ы. у меня нет других htmОК..)
скрипт.cfg
Код: quests/79999_Global_War/__init__.py
Бешенство, это не болезнь :di: © Pumo4ka
Сообщений: 1,416
Тем: 44
Зарегистрирован: Mar 2010
Репутация:
2,310
В консоли геймсервера есть ошибки при попытке запуска квеста?
Сообщений: 94
Тем: 12
Зарегистрирован: Jan 2012
Репутация:
-5
Credo Написал:В консоли геймсервера есть ошибки при попытке запуска квеста?
Нет, говорю же, (судя по ГС) квест прикрутился...
-----------------------------------------------------------
Всё правильно сделал ? или где то ещё надо что то прописать ?
Просто может проблема именно в сборке ?(l2jfrozen)
Бешенство, это не болезнь :di: © Pumo4ka
Сообщений: 155
Тем: 36
Зарегистрирован: May 2012
Репутация:
120
В html используй что то типа такой команды [Quest _470_DivinityProtector 0-2.htm|"Ознакомится с деталями"] 0-2.htm это например html которая должна открытся, но 0-1 - стартовая страница должна быть прописана в квесте. Вот у тебя например стартовая html должна называться chat0.htm судя по этому коду PHP код: <?php
if npcId == EGG:
n = getCount(st)
if n == 0:
if st.get('chat0') == None :
st.set("chat0", "true")
return "Chat0.htm"
Помог не забудь "Спасибо"
Сообщений: 94
Тем: 12
Зарегистрирован: Jan 2012
Репутация:
-5
09-02-2012, 12:17 PM
(Сообщение последний раз редактировалось: 09-02-2012, 02:01 PM Puma1414.)
Спасибо за объяснение где и как прописывать хтмки, но прикрутить квест всё же не удалось, создал chat0.htm но по прежнему нпц выдаёт, что квеста нет.:dy:
-----------------------------------
Сделал так, вкорячил код квеста, в существующий (зе файнс фуд) который у джереми. оставил всё как есть, кроме сердца кода, у джереми ссылка на квест осталась, но квест не берётся, при нажатии на ссылку квеста, диалоговое окно закрывается и всё тут.
квест джереми с чужим кодом
Цитата:# The Finest Food - v0.1 by disKret & DrLecter
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 = "623_TheFinestFood"
DUGLAS = 31521
#ITEM
EGG = 9848
#CHANCE
CHANCE = 100
#MOBS
MOB = 80003
#REWARDS
REWARD = 57
def getCount(st) :
return st.getQuestItemsCount(EGG)
def completed(st) :
st.setState(COMPLETED)
st.clearQuestDrops()
st.takeItems(EGG,-1)
st.giveItems(REWARD,1)
st.exitQuest(False)
return
def check(st) :
if getCount(st) >= 10 :
completed(st)
return
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 == STARTED : check(st)
return
def onKill (self,npcId,st):
if npcId == EGG:
n = getCount(st)
if n == 0:
if st.get('chat0') == None :
st.set("chat0", "true")
return "Chat0.htm"
elif n == 1:
if st.get('chat1') == None :
st.set("chat1", "true")
return "Chat1.htm"
elif n >= 10:
return "Chat4.htm"
return "Collect "+str(n)+" of 4 eggs"
return
QUEST = Quest(623, "qn", "The Finest Food")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(DUGLAS)
STARTED.addQuestDrop(MOB,EGG,CHANCE)
Добавлено через 1 час 2 минуты
Попытался полностью скопировать квест джереми, и просто присвоить ему свой ИД квеста, не пашет
Когда квест должен сделать "ацепт" окошко просто напросто не появляется (с надписью "иди убей когонибуть,ибо квест взят" )
--------------------------------------------------
Косяк был в ХТМке ... вроди взялся новый квест, пошёл углубляться в просторы питона..спасибо всем за помощь, но всё ещё не откажусь от профессионального совета в этом деле ...
-------------------------
Итог таков, этот квест прикрутить не получилось
Бешенство, это не болезнь :di: © Pumo4ka
Сообщений: 1
Тем: 0
Зарегистрирован: Feb 2013
Репутация:
0
Ребят прошу прощение за нубство с моей стороны ))но прошу помощи.... имеется сервер La2HF парт 5-й (вроде) ....... имеются рабочие квесты на фринту и на фрею.... но хотелось бы сделать на многих серверах pvp.... сделать их инставыми.... помогите кто может.... Skype: Kyzmich3D
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
Причем тут квесты и инставость?
|