Народ, помогите пожалуйста.
Сборка - l2base, Interlude.
Такая проблема, никак не могу включить этот квест. Квест взят из другой сборки, l2open. В этой сборке был изначально, не я его туда впихивала.
Код квеста ниже. Что нужно поменять и где? Ну первые четыре строчки менять не спасает...
# Made by Mr. Have fun! Version 0.2
import sys
from com.l2open.gameserver.model.quest import State
from com.l2open.gameserver.model.quest import QuestState
from com.l2open.gameserver.model.quest.jython import QuestJython as JQuest
def onAdvEvent (self,event,npc, player) :
htmltext = event
st = player.getQuestState(qn)
if not st : return
if event == "30048-06.htm" :
st.set("cond","1")
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
if st.getQuestItemsCount(DARINGS_LETTER) == 0 :
st.giveItems(DARINGS_LETTER,1)
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
qs = player.getQuestState(qnTutorial)
htmltext = "<html><body>Вы не участвуете в квесте или не соответствуете минимальным требованиям для его прохождения.</body></html>"
if not st: return htmltext
npcId = npc.getNpcId()
id = st.getState()
cond = st.getInt("cond")
ItemsCount_DL = st.getQuestItemsCount(DARINGS_LETTER)
ItemsCount_RK = st.getQuestItemsCount(RAPUNZELS_KERCHIEF)
ItemsCount_DR = st.getQuestItemsCount(DARINGS_RECEIPT)
ItemsCount_BP = st.getQuestItemsCount(BAULS_POTION)
if id == State.COMPLETED :
htmltext = "<html><body>This quest has already been completed.</body></html>"
elif npcId == DARIN and id == State.CREATED:
if player.getLevel() >= 2 :
if cond < 15 :
htmltext = "30048-02.htm"
else:
htmltext = "30048-01.htm"
st.exitQuest(1)
else:
htmltext = "<html><body>Quest for characters level 2 and above.</body></html>"
st.exitQuest(1)
elif id == State.STARTED :
if npcId == ROXXY and cond:
if ItemsCount_RK == 0 and ItemsCount_DL :
htmltext = "30006-01.htm"
st.takeItems(DARINGS_LETTER,-1)
st.giveItems(RAPUNZELS_KERCHIEF,1)
st.set("cond","2")
st.playSound("ItemSound.quest_middle")
elif ItemsCount_BP or ItemsCount_DR :
htmltext = "30006-03.htm"
elif ItemsCount_RK :
htmltext = "30006-02.htm"
elif npcId == DARIN and cond and ItemsCount_RK > 0:
htmltext = "30048-08.htm"
st.takeItems(RAPUNZELS_KERCHIEF,-1)
st.giveItems(DARINGS_RECEIPT,1)
st.set("cond","3")
st.playSound("ItemSound.quest_middle")
elif npcId == BAULRO and cond:
if ItemsCount_DR > 0 :
htmltext = "30033-01.htm"
st.takeItems(DARINGS_RECEIPT,-1)
st.giveItems(BAULS_POTION,1)
st.set("cond","4")
st.playSound("ItemSound.quest_middle")
elif ItemsCount_BP > 0 :
htmltext = "30033-02.htm"
elif npcId == DARIN and cond and ItemsCount_RK == 0:
if ItemsCount_DR > 0 :
htmltext = "30048-09.htm"
elif ItemsCount_BP > 0 :
htmltext = "30048-10.htm"
st.takeItems(BAULS_POTION,-1)
st.giveItems(57,2466)
st.giveItems(NECKLACE,1)
st.addExpAndSp(5672,446)
st.unset("cond")
qs.set("quest1","1")
st.exitQuest(False)
st.playSound("ItemSound.quest_finish")
else:
htmltext = "30048-07.htm"
return htmltext
П.С.
немного не в тему, но ещё такой вопрос.
В каких файлах хранится инфа о том, откуда подгружать инфу, отображаемую на шмоте? Наример, п/м атака. Не сам текст или перевод, а именно данные. В общем, на скрине: http://s017.radikal.ru/i407/1301/5d/f0a8b5c84c07.jpg
Короче... что нужно сделать, что б отображалась атака?
Ок.
Смотрите.
Если ничего не менять, пытаешься взять квест - он не берётся - "вы неудачнег и этот НПС не хочет иметь с вами дела" (точнее, не соответствуете мин. требованиям и прочий бред)
Если поменять первые строчки на:
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
- ошибка скрипта, когда пытаешься взять квест.
Квест вроде с первых хроник ещё. Всегда был =) А хочу что б работал хотя бы потому, что:
1. Перевод квеста очень неплохой. Может знаете, переделанная версия - про грязные трусы Рокси.
2. А какого чёрта он не работает? Просто неприятно. Или его совсем делитить, чего не хочется, ибо прикольный перевод, либо делать. Мне бы хотелось заставить его работать.
Да, не влияет. Но он не работает. Имхо, это неправильно.
Это геморройно? разбираться в этом. Если да, то ладно.. фиг с ним.. попробую подредактировать какой-нить другой квест и пропишу этих НПСов..
А если не очень и не лень - тогда гляньте плиз, в чём там ошибка? Вот точно неверные данные - это начало:
# Made by Mr. Have fun! Version 0.2
import sys
from com.l2open.gameserver.model.quest import State
from com.l2open.gameserver.model.quest import QuestState
from com.l2open.gameserver.model.quest.jython import QuestJython as JQuest
Но я меняла на то, как и в других квестах:
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
Может дело быть в хтм-ках ещё?
Хотя там только диалоги НПСов...
Второй вопрос не в курсе имхо не пользовался таким.
учше проверя самые ходовые и важные части.
В этой сборке у хавка статы небесные ) вот это ошибка
В этой сборке пашет олимп к примеру )
ну прочее главное )
Хм.. спасибо за инфу =) я пока загоняюсь пересировыванием текстур, например... И квестом этим дебильным =)
Теперь буду знать, куда смотреть дальше =) пасиб.
Но вопрос по-прежнему остаётся открытым =) пока я роюсь по другим сборкам....
Как заставить работать этот чёртов никому не нужный квест и как добавить в оружие и броню для зверей инфу и атаке и защите?
В хмлке только диалоги, ничего более. Все файлы соответствуют указанным в квесте (по названиям)
В БД посмотрела таблицу "etcitem". Оно? если да, то все четыре итема там есть, ID верные, названия тоже.
В папке с квестом ещё есть текстовый файлик файлик: __init__.py.error.log
В файлике содержется следующее:
Error on: C:\Server Interlude\data\scripts\quests\1_LettersOfLove1\__init__.py.error.log
Line: -1 - Column: -1
Traceback (innermost last):
File "__init__.py", line 116, in ?
TypeError: net.sf.l2j.gameserver.model.quest.State(): expected 0 args; got 2
На 116 строчке кода квеста:
QUEST = Quest(1,qn,"Letters of Love") //116 строчка
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
Добавлено (02.01.2013, 19:59)
---------------------------------------------
И ещё, в БД в таблице character_quests этот квест у мну взят и статус у него - Start.. Но я же его взять так и не смогла.