Herbs from Pailaka

Support for the latest build of L2J Server, get help here with installations, upgrades, problems.
Do not post bugs reports here, use viewforum.php?f=77 instead.
There is no support for other server builds than the official provided by l2jserver.com
Forum rules
READ NOW: L2j Forums Rules of Conduct
Post Reply
hiroshima
Posts: 107
Joined: Tue Nov 03, 2009 1:28 pm

Herbs from Pailaka

Post by hiroshima »

Well, i cant understand whats wrong with this script but on Pailaka herbs are autolooted (normaly they are not - only in Pailaka). They stuck in inventory and u can use them whole time without any reuse. Its strange.

Code: Select all

 import sysfrom com.l2jserver.gameserver.model.actor.instance  import L2PcInstancefrom com.l2jserver.gameserver.instancemanager       import InstanceManagerfrom com.l2jserver.gameserver.model.entity           import Instancefrom com.l2jserver.gameserver.model.quest           import Statefrom com.l2jserver.gameserver.model.quest           import QuestStatefrom com.l2jserver.gameserver.model.quest.jython    import QuestJython as JQuestfrom com.l2jserver.gameserver.network.serverpackets import PlaySoundfrom com.l2jserver.util                             import Rnd qn = "129_PailakaDevilsLegacy" #NPCDISURVIVOR = 32498SUPPORTER = 32501DADVENTURER = 32508DADVENTURER2 = 32511Pailaka2nd = [18623, 18624, 18625, 18626, 18627]CHEST = 32495#BOSSKAMS = 18629HIKORO = 18630ALKASO = 18631GERBERA = 18632LEMATAN = 18633#ITEMSSWORD = 13042ENCHSWORD = 13043LASTSWORD = 13044KDROP = 13046ADROP = 13047HERBS = [8601, 8602, 8604, 8605]CHESTDROP = [13033, 13048, 13049, 13059]#REWARDSPBRACELET = 13295PERING = 13293 AMOUNTS1 = [1, 2]AMOUNTS2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def isWithinLevel(player):     if player.getLevel() > 67:         return False     if player.getLevel() < 61:         return False     return True class Quest (JQuest):  def __init__(self, id, name, descr):      JQuest.__init__(self, id, name, descr)     self.questItemIds = [KDROP, ADROP, SWORD, ENCHSWORD, LASTSWORD, 13033, 13032, 13048, 13049, 13059, 13150]     self.currentWorld = 0  def onEvent (self, event, st):     cond = st.getInt("cond")     htmltext = event     if event == "32498-02.htm":         st.set("cond", "1")         st.setState(State.STARTED)         st.playSound("ItemSound.quest_accept")     if event == "32498-05.htm":         st.set("cond", "2")         st.playSound("ItemSound.quest_accept")     if event == "32501-03.htm":         st.set("cond", "3")         st.playSound("ItemSound.quest_middle")         st.giveItems(SWORD, 1)     return htmltext   def onTalk (self, npc, player):     npcId = npc.getNpcId()     htmltext = "32498-01.htm"     st = player.getQuestState(qn)     if not st: return htmltext     id = st.getState()     cond = st.getInt("cond")     if id == State.CREATED:         st.set("cond", "0")     if npcId == DISURVIVOR:         if cond == 0:             if not isWithinLevel(player):                 htmltext = "32498-no.htm"                 st.exitQuest(1)             else:                 return htmltext         elif id == State.COMPLETED:             htmltext = "32498-no.htm"         elif cond == 1 or cond == 2:             htmltext = "32498-06.htm"         else:             htmltext = "32498-07.htm"     elif npcId == SUPPORTER:         if cond == 1 or cond == 2:             htmltext = "32501-01.htm"         else:             htmltext = "32501-04.htm"     elif npcId == DADVENTURER:         if st.getQuestItemsCount(SWORD) > 0 and st.getQuestItemsCount(KDROP) == 0: htmltext = "32508-01.htm"         if st.getQuestItemsCount(ENCHSWORD) > 0 and st.getQuestItemsCount(ADROP) == 0: htmltext = "32508-01.htm"         if st.getQuestItemsCount(SWORD) == 0 and st.getQuestItemsCount(KDROP) > 0: htmltext = "32508-05.htm"         if st.getQuestItemsCount(ENCHSWORD) == 0 and st.getQuestItemsCount(ADROP) > 0: htmltext = "32508-05.htm"         if st.getQuestItemsCount(SWORD) == 0 and st.getQuestItemsCount(ENCHSWORD) == 0: htmltext = "32508-05.htm"         if st.getQuestItemsCount(KDROP) == 0 and st.getQuestItemsCount(ADROP) == 0: htmltext = "32508-01.htm"         if player.getPet() != None: htmltext = "32508-04.htm"         if st.getQuestItemsCount(SWORD) > 0 and st.getQuestItemsCount(KDROP) > 0:             st.takeItems(SWORD, 1)             st.takeItems(KDROP, 1)             st.giveItems(ENCHSWORD, 1)             htmltext = "32508-02.htm"         if st.getQuestItemsCount(ENCHSWORD) > 0 and st.getQuestItemsCount(ADROP) > 0:             st.takeItems(ENCHSWORD, 1)             st.takeItems(ADROP, 1)             st.giveItems(LASTSWORD, 1)             htmltext = "32508-03.htm"         if st.getQuestItemsCount(LASTSWORD) > 0: htmltext = "32508-03.htm"     elif npcId == DADVENTURER2:         if cond == 4:             if player.getPet() != None:                 htmltext = "32511-03.htm"             elif player.getPet() == None:                 st.takeItems(SWORD, st.getQuestItemsCount(SWORD))                 st.takeItems(ENCHSWORD, st.getQuestItemsCount(ENCHSWORD))                 st.takeItems(LASTSWORD, st.getQuestItemsCount(LASTSWORD))                 st.giveItems(736, 1)                 st.takeItems(13033, st.getQuestItemsCount(13033))                 st.takeItems(13048, st.getQuestItemsCount(13048))                 st.takeItems(13049, st.getQuestItemsCount(13049))                 st.takeItems(13059, st.getQuestItemsCount(13059))                 st.giveItems(PBRACELET, 1)                 st.addExpAndSp(10810000, 950000)                 st.set("cond", "5")                 st.setState(State.COMPLETED)                 st.playSound("ItemSound.quest_finish")                 st.exitQuest(False)                 instanceObj = InstanceManager.getInstance().getInstance(player.getInstanceId())                 instanceObj.setDuration(5)                 htmltext = "32511-01.htm"                 player.setVitalityPoints(20000, 1)         elif id == State.COMPLETED:             htmltext = "32511-02.htm"     return htmltext    def onKill(self, npc, player, isPet):     st = player.getQuestState(qn)     if not st: return     npcId = npc.getNpcId()     cond = st.getInt("cond")     if npcId == KAMS and st.getQuestItemsCount(KDROP) == 0:         st.giveItems(KDROP, 1)     elif npcId == ALKASO and st.getQuestItemsCount(ADROP) == 0:         st.giveItems(ADROP, 1)     elif npcId == LEMATAN:         st.set("cond", "4")         st.playSound("ItemSound.quest_middle")         Dwarf = self.addSpawn(DADVENTURER2, 84990, -208376, -3342, 55000, False, 0, False, npc.getInstanceId())     elif npcId in Pailaka2nd:         if Rnd.get(100) < 80:             st.dropItem(npc, player, HERBS[Rnd.get(len(HERBS))], AMOUNTS1[Rnd.get(len(AMOUNTS1))])     elif npcId == CHEST:         if Rnd.get(100) < 80:             st.dropItem(npc, player, CHESTDROP[Rnd.get(len(CHESTDROP))], AMOUNTS2[Rnd.get(len(AMOUNTS2))])         else:             st.dropItem(npc, player, 13150, 1) QUEST = Quest(129, qn, "Pailaka Devil's Legacy") QUEST.addStartNpc(DISURVIVOR)QUEST.addTalkId(DISURVIVOR)QUEST.addTalkId(SUPPORTER)QUEST.addTalkId(DADVENTURER)QUEST.addTalkId(DADVENTURER2)QUEST.addKillId(KAMS)QUEST.addKillId(ALKASO)QUEST.addKillId(LEMATAN)QUEST.addKillId(CHEST)for i in Pailaka2nd:    QUEST.addKillId(i)
hiroshima
Posts: 107
Joined: Tue Nov 03, 2009 1:28 pm

Re: Herbs from Pailaka

Post by hiroshima »

any ideas?
Post Reply