Перейти к содержанию
Авторизация  
slavik

Квесты

Рекомендуемые сообщения

slavik, у тебя уже есть 9 баллов. почитай правила ещё раз.

 

извиняюсь за быстрый АП просто спросил будет помощь или нет , если нет, закроете тему и я пойду в другое место искать помощь... чтоб не ждать просто

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

неа неработает , кароче в квесте пишет итем 0/1 убиваешь моба и становится 100/1 (с моба сразу падает 100шт. а надо 1шт.) теперь надо сделать наоборот , с моба 1 шт. а в квесте 0/100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

неа неработает , кароче в квесте пишет итем 0/1 убиваешь моба и становится 100/1 (с моба сразу падает 100шт. а надо 1шт.) теперь надо сделать наоборот , с моба 1 шт. а в квесте 0/100

ТВОЮЖМАТЬ . Это все в клиенте делается. Хрен тебе кто с такими объяснениями поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тоесть в патче стоит лимит на 0/1 а надо переписать 0/100 и оно будет по 1 итему давать 100 раз а потом надо будет отнести к нпц да? нашел в патче строку от етого квеста что там именно менять надо?

 

 

1 246 2 Possessor of a Precious Soul - 3 Oppressors of Splendor ---------- Ring of Goddess: Waterbinder - Necklace of Goddess: Evergreen. ------ ----- -------- - Pilgrim of Splendor - -------- - Judge of Splendor. \n\n--------- -- - Pilgrims of Splendor - Judges of Splendor \n 2 7591 7592 2 1 1 67200.000000 -71840.000000 -3853.000000 65 75 3 Valley of Saints 1 1 1 31740 150144.000000 -57920.000000 -2979.000000 ---- ----- ----- ---- --------, ------ ---------- - sub -class. - ------ ----------, ------- -------- ----- Possessor of a Precious Soul - 2. Caradine ------ --- ------ ---- -----, - ------- -- ----... 0 0 0 0 0 180

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

 

# Made by disKret
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 = "246_PossessorOfAPreciousSoul_3"

#NPC
LADD = 30721
CARADINE = 31740
OSSIAN = 31741

#QUEST ITEM
CARADINE_LETTER = 7678
CARADINE_LETTER_LAST = 7679
WATERBINDER = 7591
EVERGREEN = 7592
RAIN_SONG = 7593
RELIC_BOX = 9345

#MOBS
PILGRIM_OF_SPLENDOR = 21541
JUDGE_OF_SPLENDOR = 21544
BARAKIEL = 25325

#CHANCE FOR DROP
CHANCE_FOR_DROP = 80

class Quest (JQuest) :

def __init__(self,id,name,descr):
    JQuest.__init__(self,id,name,descr)
    self.questItemIds = [WATERBINDER, EVERGREEN, RAIN_SONG, RELIC_BOX]

def onEvent (self,event,st) :
  htmltext = event
  cond = st.getInt("cond")
  if event == "31740-4.htm" :
    if cond == 0 :
      st.setState(State.STARTED)
      st.takeItems(CARADINE_LETTER,1)
      st.set("cond","1")
      st.playSound("ItemSound.quest_accept")
  elif event == "31741-2.htm" :
    if cond == 1 :
      st.set("cond","2")
      st.set("awaitsWaterbinder","1")
      st.set("awaitsEvergreen","1")
      st.playSound("ItemSound.quest_middle")
  elif event == "31741-5.htm" :
    if cond == 3 :
      st.set("cond","4")
      st.takeItems(WATERBINDER,100)
      st.takeItems(EVERGREEN,100)
      st.playSound("ItemSound.quest_middle")
  elif event == "31741-9.htm" :
    if cond == 5 :
      st.set("cond","6")
      st.takeItems(RAIN_SONG,1)
      st.giveItems(RELIC_BOX,1)
      st.playSound("ItemSound.quest_middle")
  elif event == "30721-2.htm" :
    if cond == 6 :
      st.set("cond","0")
      st.takeItems(RELIC_BOX,1)
      st.giveItems(CARADINE_LETTER_LAST,1)
      st.playSound("ItemSound.quest_finish")
      st.exitQuest(False)
  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()
  if npcId != CARADINE and id != State.STARTED : return htmltext
  cond=st.getInt("cond")
  if player.isSubClassActive() :
    if npcId == CARADINE :
        if cond == 0 and st.getQuestItemsCount(CARADINE_LETTER) == 1 :
          if id == State.COMPLETED :
            htmltext = "<html><body>This quest has already been completed.</body></html>"

          elif player.getLevel() < 65 : 
            htmltext = "31740-2.htm"
            st.exitQuest(1)
          elif player.getLevel() >= 65 :
            htmltext = "31740-1.htm"
        elif cond == 1 :
            htmltext = "31740-5.htm"
    elif npcId == OSSIAN:
        if cond == 1 :
            htmltext = "31741-1.htm"
        elif cond == 2 :
          htmltext = "31741-4.htm"
        elif cond == 3 and st.getQuestItemsCount(WATERBINDER) == 1 and st.getQuestItemsCount(EVERGREEN) == 1 :
          htmltext = "31741-3.htm"
        elif cond == 4 :
          htmltext = "31741-8.htm"
        elif cond == 5 and st.getQuestItemsCount(RAIN_SONG) == 1 :
          htmltext = "31741-7.htm"
        elif cond == 6 and st.getQuestItemsCount(RELIC_BOX) == 1 :
          htmltext = "31741-11.htm"
    elif npcId == LADD and cond == 6 :
      htmltext = "30721-1.htm"
  return htmltext

def onKill(self,npc,player,isPet):
  npcId = npc.getNpcId()
  if npcId == PILGRIM_OF_SPLENDOR :
    #get a random party member who is doing this quest and needs this drop 
    partyMember = self.getRandomPartyMember(player,"awaitsWaterbinder","100")
    if partyMember :
        st = partyMember.getQuestState(qn)
        chance = st.getRandom(100)
        cond = st.getInt("cond")
        if st.getQuestItemsCount(WATERBINDER) < 1 :
          if chance < CHANCE_FOR_DROP :
            st.giveItems(WATERBINDER,1)
            st.unset("awaitsWaterbinder")
            if st.getQuestItemsCount(EVERGREEN) < 1 :
              st.playSound("ItemSound.quest_itemget")
            else:
              st.playSound("ItemSound.quest_middle")
              st.set("cond","3")
  elif npcId == JUDGE_OF_SPLENDOR :
    #get a random party member who is doing this quest and needs this drop 
    partyMember = self.getRandomPartyMember(player,"awaitsEvergreen","100")
    if partyMember :
        st = partyMember.getQuestState(qn)
        chance = st.getRandom(100)
        cond = st.getInt("cond")
        if cond == 2 and st.getQuestItemsCount(EVERGREEN) < 100 :
          if chance < CHANCE_FOR_DROP :
            st.giveItems(EVERGREEN,1)
            st.unset("awaitsEvergreen")
            if st.getQuestItemsCount(WATERBINDER) < 100 :
              st.playSound("ItemSound.quest_itemget")
            else:
              st.playSound("ItemSound.quest_middle")
              st.set("cond","3")
  elif npcId == BARAKIEL :
    #give the quest item and update variables for ALL PARTY MEMBERS who are doing the quest,
    #so long as they each qualify for the drop (cond == 4 and item not in inventory)
    #note: the killer WILL participate in the loop as a party member (no need to handle separately)
    party = player.getParty()
    if party :
       for partyMember in party.getPartyMembers().toArray() :
           pst = partyMember.getQuestState(qn)
           if pst :
               if pst.getInt("cond") == 4 and pst.getQuestItemsCount(RAIN_SONG) < 1 :
                   pst.giveItems(RAIN_SONG,1)
                   pst.playSound("ItemSound.quest_middle")
                   pst.set("cond","5")
    else :
       pst = player.getQuestState(qn)
       if pst :
           if pst.getInt("cond") == 4 and pst.getQuestItemsCount(RAIN_SONG) < 1 :
               pst.giveItems(RAIN_SONG,1)
               pst.playSound("ItemSound.quest_middle")
               pst.set("cond","5")
  return 

QUEST       = Quest(246,qn,"Possessor Of A Precious Soul - 3")

QUEST.addStartNpc(CARADINE)
QUEST.addTalkId(CARADINE)

QUEST.addTalkId(OSSIAN)
QUEST.addTalkId(LADD)

QUEST.addKillId(PILGRIM_OF_SPLENDOR)
QUEST.addKillId(JUDGE_OF_SPLENDOR)
QUEST.addKillId(BARAKIEL)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Purple не работает твой вариант , теперь вообше с моба не дропаются итемы , шанс стоит 80% убил мобов 15-20 ниодного

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Не дождался ? На тебя 2 или 3 опытных человека убивали время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...