квест
10 ответов137 просмотровСейчас просматривают: 1
· 26.12.2009, 22:09
сборка la2base 1.1.7
Краткое изложение СУТИ проблемы: скачал пак с эвентами там был небольшой квест решил поставить на серв, а он не берётся
Вопрос: может ли ктото помоч перекатать его на la2base 1.1.7
Мои соображения по этому поводу: квест с другой сборки
файл __init__.py
Раскрывающийся текст
import sys
from net.l2emuproject.gameserver.model.quest import State
from net.l2emuproject.gameserver.model.quest import QuestState
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest
qn = "6666_ChaliceToHarmonies"
#NPCs
EINHASAD = 57777
#NEWYEAR = 31961
#QUEST ITEMS
EARTH,FIRE,VETER,SPIRIT,WATER,CHASHA = range(20001,20007)
COL = 4037
DCS = 5126
#mob:[chance,item,max]
DROPLIST = {
21408:[100,EARTH,4],
21376:[100,FIRE,4],
21300:[100,VETER,4],
20281:[100,SPIRIT,4],
20994:[100,WATER,4]
}
#CHANCE
RECIPE_CHANCE = 100
class Quest (JQuest) :
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.questItemIds = range(20001,20007)
def onEvent (self,event,st) :
htmltext = event
if event == "57777-3.htm" :
st.set("cond","1")
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
elif event == "57777-9.htm" :
if st.getInt("cond") == 6 :
st.playSound("ItemSound.quest_finish")
else :
htmltext = "I'll squeeze the jelly from your eyes"
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
st = player.getQuestState(qn)
if not st : return htmltext
npcId = npc.getNpcId()
id = st.getState()
cond=st.getInt("cond")
if cond == 0 :
if player.getLevel() >= 45 :
htmltext = "57777-1.htm"
else:
htmltext = "57777-0.htm"
st.exitQuest(1)
elif cond == 1 :
htmltext = "57777-4.htm"
elif cond == 2 :
if st.getQuestItemsCount(EARTH) == 4 and st.getQuestItemsCount(FIRE) == 4 and st.getQuestItemsCount(VETER) == 4 and st.getQuestItemsCount(SPIRIT) == 4 and st.getQuestItemsCount(WATER) == 4 :
st.takeItems(EARTH,-1)
st.takeItems(FIRE,-1)
st.takeItems(VETER,-1)
st.takeItems(SPIRIT,-1)
st.takeItems(WATER,-1)
st.playSound("ItemSound.quest_accept")
st.set("cond","3")
htmltext = "57777-6.htm"
else :
htmltext = "57777-4.htm"
elif cond == 3 :
st.giveItems(CHASHA,1)
st.playSound("ItemSound.quest_accept")
st.set("cond","4")
htmltext = "57777-7.htm"
elif cond == 4 :
st.takeItems(CHASHA,1)
st.giveItems(COL,40)
st.giveItems(DCS,1)
if st.getRandom(100) < RECIPE_CHANCE :
st.playSound("ItemSound.quest_accept")
st.set("cond","5")
htmltext = "57777-8.htm"
elif cond == 5 :
st.set("cond","6")
htmltext = "57777-9.htm"
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
return htmltext
def onKill(self,npc,player,isPet):
st = player.getQuestState(qn)
if not st : return
if st.getState() != State.STARTED : return
if st.getInt("cond") == 1 :
chance,item,max = DROPLIST[npc.getNpcId()]
numItems,chance = divmod(chance,100)
count = st.getQuestItemsCount(item)
if count < max :
if st.getRandom(100) < chance :
numItems = numItems + 1
numItems = int(numItems)
if count + numItems > max :
numItems = max - count
if numItems != 0 :
st.giveItems(item,numItems)
if st.getQuestItemsCount(EARTH) == 4 and st.getQuestItemsCount(FIRE) == 4 and st.getQuestItemsCount(VETER) == 4 and st.getQuestItemsCount(SPIRIT) == 4 and st.getQuestItemsCount(WATER) == 4 :
st.set("cond","2")
st.playSound("ItemSound.quest_middle")
else :
st.playSound("ItemSound.quest_itemget")
return
QUEST = Quest(6666,qn,"custom")
QUEST.addStartNpc(EINHASAD)
QUEST.addTalkId(EINHASAD)
#QUEST.addTalkId(NEWYEAR)
for mob in DROPLIST.keys():
QUEST.addKillId(mob)
print " INFO Loaded: 6666_ChaliceToHarmonies"
from net.l2emuproject.gameserver.model.quest import State
from net.l2emuproject.gameserver.model.quest import QuestState
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest
qn = "6666_ChaliceToHarmonies"
#NPCs
EINHASAD = 57777
#NEWYEAR = 31961
#QUEST ITEMS
EARTH,FIRE,VETER,SPIRIT,WATER,CHASHA = range(20001,20007)
COL = 4037
DCS = 5126
#mob:[chance,item,max]
DROPLIST = {
21408:[100,EARTH,4],
21376:[100,FIRE,4],
21300:[100,VETER,4],
20281:[100,SPIRIT,4],
20994:[100,WATER,4]
}
#CHANCE
RECIPE_CHANCE = 100
class Quest (JQuest) :
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.questItemIds = range(20001,20007)
def onEvent (self,event,st) :
htmltext = event
if event == "57777-3.htm" :
st.set("cond","1")
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
elif event == "57777-9.htm" :
if st.getInt("cond") == 6 :
st.playSound("ItemSound.quest_finish")
else :
htmltext = "I'll squeeze the jelly from your eyes"
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
st = player.getQuestState(qn)
if not st : return htmltext
npcId = npc.getNpcId()
id = st.getState()
cond=st.getInt("cond")
if cond == 0 :
if player.getLevel() >= 45 :
htmltext = "57777-1.htm"
else:
htmltext = "57777-0.htm"
st.exitQuest(1)
elif cond == 1 :
htmltext = "57777-4.htm"
elif cond == 2 :
if st.getQuestItemsCount(EARTH) == 4 and st.getQuestItemsCount(FIRE) == 4 and st.getQuestItemsCount(VETER) == 4 and st.getQuestItemsCount(SPIRIT) == 4 and st.getQuestItemsCount(WATER) == 4 :
st.takeItems(EARTH,-1)
st.takeItems(FIRE,-1)
st.takeItems(VETER,-1)
st.takeItems(SPIRIT,-1)
st.takeItems(WATER,-1)
st.playSound("ItemSound.quest_accept")
st.set("cond","3")
htmltext = "57777-6.htm"
else :
htmltext = "57777-4.htm"
elif cond == 3 :
st.giveItems(CHASHA,1)
st.playSound("ItemSound.quest_accept")
st.set("cond","4")
htmltext = "57777-7.htm"
elif cond == 4 :
st.takeItems(CHASHA,1)
st.giveItems(COL,40)
st.giveItems(DCS,1)
if st.getRandom(100) < RECIPE_CHANCE :
st.playSound("ItemSound.quest_accept")
st.set("cond","5")
htmltext = "57777-8.htm"
elif cond == 5 :
st.set("cond","6")
htmltext = "57777-9.htm"
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
return htmltext
def onKill(self,npc,player,isPet):
st = player.getQuestState(qn)
if not st : return
if st.getState() != State.STARTED : return
if st.getInt("cond") == 1 :
chance,item,max = DROPLIST[npc.getNpcId()]
numItems,chance = divmod(chance,100)
count = st.getQuestItemsCount(item)
if count < max :
if st.getRandom(100) < chance :
numItems = numItems + 1
numItems = int(numItems)
if count + numItems > max :
numItems = max - count
if numItems != 0 :
st.giveItems(item,numItems)
if st.getQuestItemsCount(EARTH) == 4 and st.getQuestItemsCount(FIRE) == 4 and st.getQuestItemsCount(VETER) == 4 and st.getQuestItemsCount(SPIRIT) == 4 and st.getQuestItemsCount(WATER) == 4 :
st.set("cond","2")
st.playSound("ItemSound.quest_middle")
else :
st.playSound("ItemSound.quest_itemget")
return
QUEST = Quest(6666,qn,"custom")
QUEST.addStartNpc(EINHASAD)
QUEST.addTalkId(EINHASAD)
#QUEST.addTalkId(NEWYEAR)
for mob in DROPLIST.keys():
QUEST.addKillId(mob)
print " INFO Loaded: 6666_ChaliceToHarmonies"
файл html
Раскрывающийся текст
<html>
<body>
<title>GM Vitya</title>
<center>
<font color="009900">Einhasad</font>
<table border="0" cellspacing="0">
<tr>
<td valign=top><img src=icon.etc_alphabet_g_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_r_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_a_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_c_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_i_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_a_i00 width=32 height=32 align=center></td>
</tr>
<tr>
</tr>
</table>
<br>
<img src="L2UI_CH3.onscrmsg_pattern01_1" width=300 height=32>
<img src="L2UI_CH3.herotower_deco" width=263 height=32>
<font color="FF9900">Чаша Гармонии (Chalice to Harmonies).</font><br>
</center>
У Богини Света, Гармонии и Созидания, Ейнхазад
родились и окрепли 4 детей. Прошло время, дети окрепли и взяли бразды правления доверенным им стихий, в свои руки.<br>
Получив власть над своими стихиями, они решили подарить свой матери подарок - Чашу.<br>
Чаша - необыкновенной красоты, она излучала свет, переливаясь всеми красками радуги, Чаша
приобретала разные оттенки на Восходе, Зените, Закате и даже в свете Звезд.<br>
В ней были собраны все 4 элемента стихи: Вода, Ветер, Огонь, Земля. Это был
настоящий символ гармонии, когда 4 стихии могут ужиться
друг с другом. Но дети просили не открывать
это Чашу, потому как эти стихи могут, как и гармонировать, так и разрушить все на свете.
И тогда, Ейнхазад решила не рисковать и запечатала чашу Духом. <br>
Именно тем самым Духом человека.<br>
Новое существо, которое было создано Грен Кайном. <br>
Именно сам Грен Кайн посоветовал запечатать именно этим объяснив, что в человеке тоже соединены 5 стихий.<br>
Прошло время, и началась распри между
средними богами (детьми Грена Кайна и Ейнхазад), так и между Гигантами.<br>
Тут только до Ейнхазад и донеслась мысль,
что Гиганты попробуют отнять Чашу, для
того чтобы свергнуть Богов. Поэтому она на
свой страх и Риск сломала чашу и запрятала каждую часть Чаши в различных местах мира.<br>
Но война прошла, и времена стали более мене спокойнее. Но у Ейнхазад настолько было
тяжелое время, что она устала, и поэтому
ищет отважных добровольцев, чтобы найти части чаши, собрать и принести ее Жрецам.
</center>
<center>
<a action="bypass -h npc_%objectId%_Quest 6666_ChaliceToHarmonies">Я приму участие в Эвенте</a>
<img src="L2UI_CH3.herotower_deco" width=263 height=32>
<img src="L2UI_CH3.onscrmsg_pattern01_2" width=300 height=32>
<img src="sek.start_logo" width=260 height=260>
</center>
</body>
</html>
<body>
<title>GM Vitya</title>
<center>
<font color="009900">Einhasad</font>
<table border="0" cellspacing="0">
<tr>
<td valign=top><img src=icon.etc_alphabet_g_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_r_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_a_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_c_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_i_i00 width=32 height=32 align=center></td>
<td valign=top><img src=icon.etc_alphabet_a_i00 width=32 height=32 align=center></td>
</tr>
<tr>
</tr>
</table>
<br>
<img src="L2UI_CH3.onscrmsg_pattern01_1" width=300 height=32>
<img src="L2UI_CH3.herotower_deco" width=263 height=32>
<font color="FF9900">Чаша Гармонии (Chalice to Harmonies).</font><br>
</center>
У Богини Света, Гармонии и Созидания, Ейнхазад
родились и окрепли 4 детей. Прошло время, дети окрепли и взяли бразды правления доверенным им стихий, в свои руки.<br>
Получив власть над своими стихиями, они решили подарить свой матери подарок - Чашу.<br>
Чаша - необыкновенной красоты, она излучала свет, переливаясь всеми красками радуги, Чаша
приобретала разные оттенки на Восходе, Зените, Закате и даже в свете Звезд.<br>
В ней были собраны все 4 элемента стихи: Вода, Ветер, Огонь, Земля. Это был
настоящий символ гармонии, когда 4 стихии могут ужиться
друг с другом. Но дети просили не открывать
это Чашу, потому как эти стихи могут, как и гармонировать, так и разрушить все на свете.
И тогда, Ейнхазад решила не рисковать и запечатала чашу Духом. <br>
Именно тем самым Духом человека.<br>
Новое существо, которое было создано Грен Кайном. <br>
Именно сам Грен Кайн посоветовал запечатать именно этим объяснив, что в человеке тоже соединены 5 стихий.<br>
Прошло время, и началась распри между
средними богами (детьми Грена Кайна и Ейнхазад), так и между Гигантами.<br>
Тут только до Ейнхазад и донеслась мысль,
что Гиганты попробуют отнять Чашу, для
того чтобы свергнуть Богов. Поэтому она на
свой страх и Риск сломала чашу и запрятала каждую часть Чаши в различных местах мира.<br>
Но война прошла, и времена стали более мене спокойнее. Но у Ейнхазад настолько было
тяжелое время, что она устала, и поэтому
ищет отважных добровольцев, чтобы найти части чаши, собрать и принести ее Жрецам.
</center>
<center>
<a action="bypass -h npc_%objectId%_Quest 6666_ChaliceToHarmonies">Я приму участие в Эвенте</a>
<img src="L2UI_CH3.herotower_deco" width=263 height=32>
<img src="L2UI_CH3.onscrmsg_pattern01_2" width=300 height=32>
<img src="sek.start_logo" width=260 height=260>
</center>
</body>
</html>
заранее благодарен с меня как всегда

0
· 26.12.2009, 22:31
конечно
да к стати вот что ещё выбивает в логе эрроа
Error on: D:\SeRVeR\data\scripts\custom\6666_ChaliceToHarmonies\__init__.py.error.log
Line: -1 - Column: -1
Traceback (innermost last):
File "__init__.py", line 5, in ?
ImportError: no module named l2emuproject
0
· 27.12.2009, 00:19
Цитата
Error on: D:\SeRVeR\data\scripts\custom\6666_ChaliceToHarmonies\__init__.py.error.log
Line: -1 - Column: -1
Traceback (innermost last):
File "__init__.py", line 5, in ?
ImportError: no module named l2emuproject
Line: -1 - Column: -1
Traceback (innermost last):
File "__init__.py", line 5, in ?
ImportError: no module named l2emuproject
Поправь импорты , я так вижу ты хотел эвент от л2ему поставить себе ))
0
· 27.12.2009, 12:30
FA113N: Поправь импорты , я так вижу ты хотел эвент от л2ему поставить себе ))
уже решил проблему но квест не правельно сконфигурирован в плане общения с нпс (*.htm или в самом скрипте не правильно вставлены ИДы диалога) всёровно не могу решить проблему(
0
· 27.12.2009, 20:46
дак какая проблема то? в чем не правильность диалога?
0
· 28.12.2009, 17:31
Uphill: дак какая проблема то? в чем не правильность диалога?
сам не могу понять
если ктото может помочь вот сам квест ttp://dump.ru/file/4034668
0
· 29.12.2009, 17:36
Дык что же тебя не нравится в диалогах, мы ж не экстрасены...
Скажи что именно некоректно работает....
0
· 30.12.2009, 00:42
DONE: Дык что же тебя не нравится в диалогах, мы ж не экстрасены...
Скажи что именно некоректно работает....
я без понятия в чём проблема спецально выложил архив чтобы глянули добрые люди
0
Тема закрыта для ответов



