[help]Создание своего квеста
3 replies62 viewsCurrently viewing: 1
· 03/25/2009, 08:07 PM
Сборка: Gracia Part II, L2Emu 1420
Краткое изложение СУТИ проблемы: хочу написать квест, в котором можно было взяв квест, пойти убивать монстров и за пройденные другим квестом итемы, получить предмет, в моем случае это оружие, и 2 сета.
Вопрос: как сделать?:)
Я бы изменил весь Мир, но Бог не дал мне исходников...
0
· 03/26/2009, 01:13 AM
Код
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 = "blablabla" #название квеста
#айди итемов
ITEM1 = 1
ITEM2 = 2
ITEM3 = 3
ITEM4 = 4
ITEMCOUNT = 5 #количество каждого из итемов
SNPC = 123456 #id стартового нпс
RB = 123456 #d РБ
#координаты спауна РБ
cordX=
cordY=
cordZ=
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId == SNPC :
reward = 0
for i in [ITEM1,ITEM2,ITEM3,ITEM4] :
if st.getQuestItemsCount(i) >= ITEMCOUNT:
reward = reward + 1
if reward == ITEMCOUNT :
for i in [ITEM1,ITEM2,ITEM3,ITEM4] :
st.takeItems(i,ITEMCOUNT)
st.addSpawn(RB,cordX,cordY,cordZ)
st.exitQuest(1)
return
else:
st.exitQuest(1)
return "1.htm"
QUEST = Quest(blablabla,qn,"custom")
QUEST.addStartNpc(SNPC)
QUEST.addTalkId(SNPC)
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 = "blablabla" #название квеста
#айди итемов
ITEM1 = 1
ITEM2 = 2
ITEM3 = 3
ITEM4 = 4
ITEMCOUNT = 5 #количество каждого из итемов
SNPC = 123456 #id стартового нпс
RB = 123456 #d РБ
#координаты спауна РБ
cordX=
cordY=
cordZ=
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId == SNPC :
reward = 0
for i in [ITEM1,ITEM2,ITEM3,ITEM4] :
if st.getQuestItemsCount(i) >= ITEMCOUNT:
reward = reward + 1
if reward == ITEMCOUNT :
for i in [ITEM1,ITEM2,ITEM3,ITEM4] :
st.takeItems(i,ITEMCOUNT)
st.addSpawn(RB,cordX,cordY,cordZ)
st.exitQuest(1)
return
else:
st.exitQuest(1)
return "1.htm"
QUEST = Quest(blablabla,qn,"custom")
QUEST.addStartNpc(SNPC)
QUEST.addTalkId(SNPC)
Примерно так..
Делаешь дроп нужных итемов с мобов.
Делаешь нпс. При необходимом кол-ве нужных итемов он заспаунит рб в нужном месте.
Если итемов не хватает будет выдавать содержимое 1.htm
Добавляется примерно также:
Код
elif player.getLevel() < 75 :
htmltext = "31740-2.htm"
htmltext = "31740-2.htm"
это мы ставим после
Код
def onTalk (self,npc,player):
Использованны посты авторо: Rem000 и _Grac
с этой темы: [question] Требуется помощь в написании квеста, L2Dream
0
Войдите или зарегистрируйтесь чтобы ответить



