12-17-2009, 12:49 AM
Сделал НПС, дающий игроку предмет на 61 уровне.
НПС 2-а, с разными моделями, но квест один для всех.
Но на деле происходит так: игрок с 61 уровнем получает то 2 то 3 предмета. Вощем, не понятно.......
Вот сам скрипт:
lvl61.htm :
НПС 2-а, с разными моделями, но квест один для всех.
Но на деле происходит так: игрок с 61 уровнем получает то 2 то 3 предмета. Вощем, не понятно.......
Вот сам скрипт:
Код:
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
qn = "9061_GivMeItems"
NPC = [413114,420033]
#posoh
DASPARION_STAFF = 9013
#mich
SWORD_OF_MIRACLES = 9022
#dwuruchnii mech
INFERNO_MASTER = 9019
#dagger
BLOODY_ORCHID = 9014
#alebarda
HALBERD = 9012
#luk
CARNAGE_BOW = 9016
#kastet
BLOOD_TORNADO = 9015
#dual
KESHANBERK2 = 9017
#blunt
METEOR_SHOWER = 9018
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
if event == "1" :
st.giveItems(DASPARION_STAFF,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "2" :
st.giveItems(SWORD_OF_MIRACLES,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "3" :
st.giveItems(INFERNO_MASTER,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "4" :
st.giveItems(BLOODY_ORCHID,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "5" :
st.giveItems(HALBERD,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "6" :
st.giveItems(CARNAGE_BOW,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "7" :
st.giveItems(BLOOD_TORNADO,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "8" :
st.giveItems(KESHANBERK2,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
if event == "9" :
st.giveItems(METEOR_SHOWER,1)
st.set("onlyone","1")
st.setState(State.COMPLETED)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
htmltext = "end61.htm"
return htmltext
def onTalk(self,npc,player):
htmltext = "already.htm"
st = player.getQuestState(qn)
if not st :
st = self.newQuestState(player)
if player.getLevel() < 61 :
htmltext = "nolvl.htm"
elif player.getLevel() >= 61 and st.getInt("onlyone")==0:
htmltext = "lvl61.htm"
st.setState(State.STARTED)
return htmltext
QUEST = Quest(-1,qn,"custom")
for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)
lvl61.htm :
Код:
<button value="Посох Даспариона" action="bypass -h Quest 9061_GivMeItems 1" width=175 height=26 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">