Сообщений: 44
Тем: 7
Зарегистрирован: Mar 2013
Репутация:
0
Пролема с квестом: In the Name of Evil - Part 1.
Квест не появлется в списках квестов, после разговора с Mushika.
Диалоговое окно с НПЦ закрывается без каких-либо изменений после фразы "We spoke briefly while you were very sick". Все части квеста (и последний квест на убийство Sailren'а) присутствуют в папке quests.
Как исправить, не копируя с чужих сборок?
Спасибо.
Сообщений: 145
Тем: 4
Зарегистрирован: Dec 2011
Репутация:
-420
DeLone Написал:Как исправить, не копируя с чужих сборок?
Открываем мануал по квесту и пишем по нему с нуля...
Улыбаемся и машем:bye:
Сообщений: 44
Тем: 7
Зарегистрирован: Mar 2013
Репутация:
0
07-25-2013, 04:23 PM
(Сообщение последний раз редактировалось: 07-25-2013, 06:19 PM DeLone.)
LestatL Написал:Открываем мануал по квесту и пишем по нему с нуля...
Занятно.
Только, если их как-то пишут, то, значит, как-то и исправить можно...
Добавлено через 28 минут
Тогда такой вопрос: можно ли прописать квест на персонажа? Чтобы, при новом заходе в игру, тот или иной квест находился в списках активных квестов?
Добавлено через 1 час 9 минут
Вот сам квест:
Открыть спойлер
TheNameOfEvil1
import sys
from net.sf.l2j import Config
from net.sf.l2j.util import Rnd
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 = "125_TheNameOfEvil1"
QuestId = 125
QuestName = "TheNameOfEvil1"
QuestDesc = "In The Name Of Evil Part 1"
#NPC
MUSHIKA = 32114
KARAKAWEI = 32117
ULUKAIMU = 32119
BALUKAIMU = 32120
CHUTAKAIMU = 32121
#MONSTER TO KILL
MOBS1 = [ 22200, 22201, 22202, 22219, 22224 ] # drop ORCLAW
MOBS2 = [ 22203, 22204, 22205, 22220, 22225 ] # drop DIENBONE
#QUEST ITEMS
ORCLAW = 8779
DIENBONE = 8780
#MESSAGES
default = "<html><title>No Quest</title><body><br>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
compl = "<html><body>This quest has already been completed.</body></html>"
class Quest (JQuest) :
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.questItemIds = [ORCLAW, DIENBONE]
def onAdvEvent (self,event,npc,player) :
htmltext = event
st = player.getQuestState(qn)
ulu = st.getInt("ulu")
balu = st.getInt("balu")
chu = st.getInt("chu")
if event == "32114_08.htm" :
if player.getLevel() >= 76 :
st.set("cond","1")
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
htmltext = "32114_08.htm"
else:
htmltext = "32114_02.htm"
elif event == "32114_12.htm" :
st.set("cond","2")
st.playSound("ItemSound.quest_middle")
htmltext = "32114_12.htm"
elif event == "32117_08.htm" :
st.set("cond","3")
st.playSound("ItemSound.quest_middle")
htmltext = "32117_08.htm"
elif event == "32117_16.htm" :
st.set("cond","5")
st.playSound("ItemSound.quest_middle")
htmltext = "32117_16.htm"
elif event == "ulu_tok" :
st.set("ulu",str(ulu+1))
htmltext = "32119_05.htm"
elif event == "ulu_eok" :
st.set("ulu",str(ulu+1))
htmltext = "32119_06.htm"
elif event == "ulu_pok" :
st.set("ulu",str(ulu+1))
htmltext = "32119_07.htm"
elif event == "ulu_uok" :
st.set("ulu",str(ulu+1))
if st.getInt("ulu") == 4 :
htmltext = "32119_09.htm"
else :
st.set("ulu","0")
htmltext = "32119_08.htm"
elif event == "32119_20.htm" :
st.set("cond","6")
st.playSound("ItemSound.quest_middle")
htmltext = "32119_20.htm"
elif event == "balu_tok" :
st.set("balu",str(balu+1))
htmltext = "32120_05.htm"
elif event == "balu_ook" :
st.set("balu",str(balu+1))
htmltext = "32120_06.htm"
elif event == "balu_o1ok" :
st.set("balu",str(balu+1))
htmltext = "32120_07.htm"
elif event == "balu_nok" :
st.set("balu",str(balu+1))
if st.getInt("balu") == 4 :
htmltext = "32120_09.htm"
else :
st.set("balu","0")
htmltext = "32120_08.htm"
elif event == "32120_19.htm" :
st.set("cond","7")
st.playSound("ItemSound.quest_middle")
htmltext = "32120_19.htm"
elif event == "chu_wok" :
st.set("chu",str(chu+1))
htmltext = "32121_05.htm"
elif event == "chu_aok" :
st.set("chu",str(chu+1))
htmltext = "32121_06.htm"
elif event == "chu_gok" :
st.set("chu",str(chu+1))
htmltext = "32121_07.htm"
elif event == "chu_uok" :
st.set("chu",str(chu+1))
if st.getInt("chu") == 4 :
htmltext = "32121_09.htm"
else :
st.set("chu","0")
htmltext = "32121_08.htm"
elif event == "32121_23.htm" :
st.set("cond","8")
st.playSound("ItemSound.quest_middle")
htmltext = "32121_23.htm"
else :
htmltext = event
return htmltext
def onTalk (self,npc,player):
htmltext = default
npcId = npc.getNpcId()
st = player.getQuestState(qn)
st1 = player.getQuestState('124_MeetingTheElroki')
if st1 :
id1 = st1.getState()
if not id1 == State.COMPLETED :
return "32114_04.htm"
elif id1 == State.COMPLETED and player.getLevel() < 76 :
return "32114_02.htm"
else :
return "32114_04.htm"
if st :
id = st.getState()
if id == State.COMPLETED :
return compl
if id == State.CREATED :
st.set("cond","0")
cond = st.getInt("cond")
if npcId == MUSHIKA :
if cond == 0 :
htmltext = "32114_01.htm"
elif cond == 1 :
htmltext = "32114_10.htm"
elif cond > 1 and cond < 8 :
htmltext = "32114_14.htm"
elif cond == 8 :
st.unset("cond")
st.unset("ulu")
st.unset("balu")
st.unset("chu")
htmltext = "32114_15.htm"
st.addExpAndSp(859195,86603)
#st.setState(State.COMPLETED)
st.exitQuest(False)
st.playSound("ItemSound.quest_finish")
elif npcId == KARAKAWEI :
if cond < 2 :
htmltext = "32117_02.htm"
if cond == 2 :
htmltext = "32117_01.htm"
elif cond == 3 :
htmltext = "32117_12.htm"
elif cond == 4 :
st.takeItems(ORCLAW,2)
st.takeItems(DIENBONE,2)
htmltext = "32117_11.htm"
elif cond > 4 and cond < 8 :
htmltext = "32117_19.htm"
elif cond == 8 :
htmltext = "32117_20.htm"
elif npcId == ULUKAIMU :
if cond == 5 :
st.set("ulu","0")
htmltext = "32119_01.htm"
elif cond < 5 :
htmltext = "32119_02.htm"
elif cond > 5 :
htmltext = "32119_03.htm"
elif npcId == BALUKAIMU :
if cond == 6 :
st.set("balu","0")
htmltext = "32120_01.htm"
elif cond < 6 :
htmltext = "32120_02.htm"
elif cond > 6 :
htmltext = "32120_03.htm"
elif npcId == CHUTAKAIMU :
if cond == 7 :
st.set("chu","0")
htmltext = "32121_01.htm"
elif cond < 7 :
htmltext = "32121_02.htm"
elif cond > 7 :
htmltext = "32121_03.htm"
return htmltext
def onKill(self,npc,player,isPet) :
npcId = npc.getNpcId()
st = player.getQuestState(qn)
if st :
cond = st.getInt("cond")
if cond == 3 :
if npcId in MOBS1 and st.getQuestItemsCount(ORCLAW) < 2 and st.getRandom(100) < int(10*Config.RATE_DROP_QUEST) :
st.giveItems(ORCLAW,1)
st.playSound("ItemSound.quest_itemget")
elif npcId in MOBS2 and st.getQuestItemsCount(DIENBONE) < 2 and st.getRandom(100) < int(10*Config.RATE_DROP_QUEST) :
st.giveItems(DIENBONE,1)
st.playSound("ItemSound.quest_itemget")
if st.getQuestItemsCount(ORCLAW) == 2 and st.getQuestItemsCount(DIENBONE) == 2 :
st.set("cond","4")
st.playSound("ItemSound.quest_middle")
return
# Quest class and state definition
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
QUEST.addStartNpc(MUSHIKA)
QUEST.addTalkId(KARAKAWEI)
QUEST.addTalkId(ULUKAIMU)
QUEST.addTalkId(BALUKAIMU)
QUEST.addTalkId(CHUTAKAIMU)
for mobId in MOBS1 :
QUEST.addKillId(mobId)
for mobId in MOBS2 :
QUEST.addKillId(mobId)
Что в нем не так?
Добавлено через 1 час 55 минут
П.С. В Navicat, в таблице character_quests стоит значение Start...
Сообщений: 1,883
Тем: 53
Зарегистрирован: Feb 2011
Если в ДБ все ок, с другими квестами проблем нет, то вероятно в клиенте такого квеста просто нет (удален например связи с обновлением)
Сообщений: 44
Тем: 7
Зарегистрирован: Mar 2013
Репутация:
0
iqman Написал:Если в ДБ все ок, с другими квестами проблем нет, то вероятно в клиенте такого квеста просто нет (удален например связи с обновлением)
Есть в клиенте  И с другими квестами нормально все...
Проблема, как мне кажется, в тупике диалога. Дальше алгоритм не идет, почему-то. Но что еще более странно, что квест считается начатым :confused:
Сообщений: 112
Тем: 26
Зарегистрирован: Sep 2012
Репутация:
-216
Сообщений: 1,883
Тем: 53
Зарегистрирован: Feb 2011
Ну на всякий, залейте свой квестнейм-ру.дат и посмотрим вместе есть или нет + записи с ДБ.
Сообщений: 44
Тем: 7
Зарегистрирован: Mar 2013
Репутация:
0
07-25-2013, 09:55 PM
(Сообщение последний раз редактировалось: 07-25-2013, 10:00 PM DeLone.)
sakson Написал:А в логах нечего нету?
Где именно? Я не во всем разбираюсь.
Добавлено через 3 минуты
iqman Написал:Ну на всякий, залейте свой квестнейм-ру.дат и посмотрим вместе есть или нет + записи с ДБ.
Сам квест (_init_.ру) есть выше (в #3 посте). А записи с ДБ - что?
Сообщений: 2,444
Тем: 59
Зарегистрирован: May 2010
Репутация:
13,020
DeLone Написал:Где именно? Я не во всем разбираюсь.
Добавлено через 3 минуты
Сам квест (_init_.ру) есть выше (в #3 посте). А записи с ДБ - что?
Описался, с БазыДанных дайте данные
СЕО Оптимизация сайтов
Сообщений: 1,883
Тем: 53
Зарегистрирован: Feb 2011
Квест я вас увидел ОК, я говорю дайте мне клиент .дат файл которым пользуетесь название скинул, дело ваше, вы приходите за помощью а не 1001 раз говорить нам - что вы все верно сделали.
|