Непонятка с квестом. Вместо одного предмета, даёт 2 или 3. - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 17.12.2009, 00:49   #1
Пользователь

Автор темы (Топик Стартер) Непонятка с квестом. Вместо одного предмета, даёт 2 или 3.

Сделал НПС, дающий игроку предмет на 61 уровне.
НПС 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">
Rus. вне форума Ответить с цитированием
Непрочитано 30.12.2009, 02:08   #2
Аватар для zloy_ua
Пользователь

По умолчанию Re: Непонятка с квестом. Вместо одного предмета, даёт 2 или 3.

rate quest какие?
zloy_ua вне форума Ответить с цитированием
Непрочитано 22.01.2010, 23:32   #3
Герой

По умолчанию Re: Непонятка с квестом. Вместо одного предмета, даёт 2 или 3.

Цитата:
Сообщение от zloy_ua Посмотреть сообщение
rate quest какие?
а где ты видел, что здесь участвуют рейты на квеститемы?!
етот квест не знает рейтов на квест итемы......
как то не привычно onlyone привычнее cond мож из-за етого и траблы, хотя врядли....
incognito вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 14:06. Часовой пояс GMT +3.

Вверх