L2Ace Developer Team

Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
L2Ace Developer Team

L2Ace_Server


Участников: 2

    Пайлака 73

    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Пайлака 73

    Сообщение  unknown Вс Июн 06, 2010 3:13 am

    Не работает:
    • Бафф(ы) у НПЦ
    • Зелья, которые падают с монсторов
    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Вс Июн 06, 2010 3:38 am

    Id всех предметов что не работают.. и id скилов в студию
    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  unknown Вс Июн 06, 2010 3:53 am

    Итемы
    • Quick Healing Potion - ID 13033
    • Pailaka Instant Shield - ID 13032


    Скиллы
    • Critical Up - ID хз

    Пайлака 73 33

    Так же НПЦ не показывает хтмл с баффами и не баффает.

    П.С. Копье можно таскать вне пайлаки, что не есть хорошо.
    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Вс Июн 06, 2010 4:05 am

    Все вроверил..

    Quick Healing Potion - ID 13033(Работает)
    Pailaka Instant Shield - ID 13032(Работает)

    Скиллы
    Critical Up - ID 8241(Работает)

    Укажите нпц у которого должны быть бафы.. и офф источник где ето написано!
    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Вс Июн 06, 2010 4:41 am

    Проблему с копьем вне пайлаки.. буду решать на днях..
    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  unknown Вс Июн 06, 2010 5:13 am

    ReyMysterio пишет:Все вроверил..

    Quick Healing Potion - ID 13033(Работает)
    Pailaka Instant Shield - ID 13032(Работает)

    Скиллы
    Critical Up - ID 8241(Работает)

    Укажите нпц у которого должны быть бафы.. и офф источник где ето написано!

    Ketra Orc Intelligence Officer (Инфо)



    Скилл то работает, но он должен повышать свой уровень при крит. атаке

    it will raise the level of Critical (up to lvl 7) with every critical hit you give mobs.
    Пайлака 73 29
    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  unknown Вс Июн 06, 2010 3:12 pm

    А и да зелья юзаються, но опять же везде, а не только в пайлаке.
    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Пн Июн 07, 2010 1:13 am

    Выкиньте сюда исходный текст из файла..

    \GameServer\data\scripts\quests\144_PailakaInjuredDragon\__init__.py
    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  unknown Пн Июн 07, 2010 1:23 am

    На сколько он исходный я хз, но он не совсем рабочий.

    З.Ы. так же не хватает стартового Хтмл НПЦ (дам чуть позже)

    Код:
    import sys
    from net.sf.l2j.gameserver.datatables            import SkillTable
    from net.sf.l2j.gameserver.instancemanager      import InstanceManager
    from net.sf.l2j.gameserver.model.actor.instance  import L2PcInstance
    from net.sf.l2j.gameserver.model.entity           import Instance
    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
    from net.sf.l2j.gameserver.network.serverpackets import PlaySound
    from net.sf.l2j.util                            import Rnd

    qn = "144_PailakaInjuredDragon"

    #NPC
    KETRAOSHAMAN = 32499
    KOSUPPORTER  = 32502
    KOIO        = 32509
    KOSUPPORTER2 = 32512
    Pailaka3rd  = [18635,18636,18638,18639,18640,18641,18642,18644,18645,18646,18648,18649,18650,18652,18653,18654,18655,18656,18657,18658,18659]
    Antelopes    = [18637,18643,18647,18651]
    #BOSS
    LATANA    = 18660
    #ITEMS
    SPEAR    = 13052
    ENCHSPEAR = 13053
    LASTSPEAR = 13054
    STAGE1    = 13056
    STAGE2    = 13057
    PAILAKA3DROP = [8600,8601,8603,8604]
    ANTELOPDROP  = [13032,13033]
    #REWARDS
    PSHIRT    = 13296
    #ETC
    AMOUNTS1  = [1,2,3,4,5,6,7,8,9,10]

    BUFFS={
    "1":[4357,2],#Haste Lv2
    "2":[4342,2],#Wind Walk Lv2
    "3":[4356,3],#Empower Lv3
    "4":[4355,3],#Acumen Lv3
    "5":[4351,6],#Concentration Lv6
    "6":[4345,3],#Might Lv3
    "7":[4358,3],#Guidance Lv3
    "8":[4359,3],#Focus Lv3
    "9":[4360,3],#Death Wisper Lv3
    "10":[4352,2],#Berserker Spirit Lv2
    "11":[4354,4],#Vampiric Rage Lv4
    "12":[4347,6],#Blessed Body Lv6
    }

    def isWithinLevel(player):
        if player.getLevel() > 77:
           return False
        if player.getLevel() < 73:
           return False
        return True

    class Quest (JQuest):

     def __init__(self,id,name,descr):
        JQuest.__init__(self,id,name,descr)
        self.questItemIds = [STAGE1,STAGE2,SPEAR,ENCHSPEAR,LASTSPEAR,13033,13032]
        self.currentWorld = 0
        self.KilledMobs = 0
        self.Action = {}

     def onAdvEvent (self,event,npc,player) :
        st = player.getQuestState(qn)
        if not st: return
        if str(event) in BUFFS.keys():
            skillId,level=BUFFS[event]
            playerName = player.getName()
            if self.Action[playerName]['times'] < 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] += 1
                htmltext = "32509-06.htm"
                return htmltext
            if self.Action[playerName]['times'] == 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] = 5
                htmltext = "32509-05.htm"
                return htmltext
        if event == "Support":
            playerName = player.getName()
            if not playerName in self.Action:
              htmltext = "32509-06.htm"
              self.Action[playerName] = {}
              self.Action[playerName]['times'] = 0
            if playerName in self.Action:
                if self.Action[playerName]['times'] < 5:
                    htmltext = "32509-06.htm"
            if self.Action[playerName]['times'] >= 5:
                htmltext = "32509-04.htm"
            return htmltext
        cond = st.getInt("cond")
        htmltext = event
        if event == "32499-02.htm":
           st.set("cond","1")
           st.setState(State.STARTED)
           st.playSound("ItemSound.quest_accept")
        elif event == "32499-05.htm":
           st.set("cond","2")
           st.playSound("ItemSound.quest_accept")
        elif event == "32502-05.htm":
           st.set("cond","3")
           st.playSound("ItemSound.quest_middle")
           st.giveItems(SPEAR,1)
        elif event == "32512-02.htm":
           st.takeItems(SPEAR,1)
           st.takeItems(ENCHSPEAR,1)
           st.takeItems(LASTSPEAR,1)
        return htmltext


     def onTalk (self,npc,player):
        npcId = npc.getNpcId()
        htmltext = "32499-01.htm"
        st = player.getQuestState(qn)
        if not st: return htmltext
        id = st.getState()
        cond = st.getInt("cond")
        playerName = player.getName()
        if id == State.CREATED:
            st.setState(State.STARTED)
            st.set("cond","0")
        if npcId == KETRAOSHAMAN:
           if cond == 0 and id == State.STARTED:
              if not isWithinLevel(player):
                 htmltext = "32499-no.htm"
                 st.exitQuest(1)
              else:
                 self.Action[playerName] = {}
                 self.Action[playerName]['times'] = 0
                 return htmltext
           elif id == State.COMPLETED:
              htmltext = "32499-no.htm"
           elif cond == 1 or cond == 2 or cond == 3:
              htmltext = "32499-06.htm"
           else:
              htmltext = "32499-07.htm"
        elif npcId == KOSUPPORTER:
           if cond == 1 or cond == 2:
              htmltext = "32502-01.htm"
           else:
              htmltext = "32502-05.htm"
        elif npcId == KOIO:
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(STAGE1) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(ENCHSPEAR) == 0 and st.getQuestItemsCount(STAGE2) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(ENCHSPEAR) == 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(STAGE1) == 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) > 0:
              st.takeItems(SPEAR,1)
              st.takeItems(STAGE1,1)
              st.giveItems(ENCHSPEAR,1)
              htmltext = "32509-02.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) > 0:
              st.takeItems(ENCHSPEAR,1)
              st.takeItems(STAGE2,1)
              st.giveItems(LASTSPEAR,1)
              htmltext = "32509-03.htm"
           if st.getQuestItemsCount(LASTSPEAR) > 0: htmltext = "32509-03.htm"
        elif npcId == KOSUPPORTER2:
           if cond == 4:
              st.giveItems(736,1)
              st.takeItems(13032,st.getQuestItemsCount(13032))
              st.takeItems(13033,st.getQuestItemsCount(13033))
              st.giveItems(PSHIRT,1)
              st.addExpAndSp(28000000, 2850000)
              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 = "32512-01.htm"
              player.setVitalityPoints(20000,1)
           elif id == State.COMPLETED:
              htmltext = "32512-03.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 == 18654:
           if st.getQuestItemsCount(STAGE1) < 1 and st.getQuestItemsCount(SPEAR) > 0:
              st.giveItems(STAGE1,1)
        elif npcId == 18649 and st.getQuestItemsCount(ENCHSPEAR) > 0:
           if st.getQuestItemsCount(STAGE2) < 1:
              st.giveItems(STAGE2,1)
        elif npcId == LATANA:
           st.set("cond","4")
           st.playSound("ItemSound.quest_middle")
           Dwarf = self.addSpawn(KOSUPPORTER2,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),False,0,False,npc.getInstanceId())
        elif npcId in Pailaka3rd:
           if Rnd.get(100) < 30:
              st.dropItem(npc,player,PAILAKA3DROP[Rnd.get(len(PAILAKA3DROP))],1)
        elif npcId in Antelopes:
           st.dropItem(npc,player,ANTELOPDROP[Rnd.get(len(ANTELOPDROP))],AMOUNTS1[Rnd.get(len(AMOUNTS1))])
     
    QUEST      = Quest(144,qn,"Pailaka Injured Dragon")

    QUEST.addStartNpc(KETRAOSHAMAN)
    QUEST.addTalkId(KETRAOSHAMAN)
    QUEST.addTalkId(KOSUPPORTER)
    QUEST.addTalkId(KOIO)
    QUEST.addTalkId(KOSUPPORTER2)
    QUEST.addKillId(18654)
    QUEST.addKillId(18649)
    QUEST.addKillId(LATANA)
    for i in Pailaka3rd:
        QUEST.addKillId(i)
    for i in Antelopes:
        QUEST.addKillId(i)

    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  unknown Пн Июн 07, 2010 1:33 am

    32509.htm
    Код:
    <html><body>Ketra Orc Intelligence Officer:<br>
    Dejakar Oroka!<br>
    You hold the Spear of Silenos! Your coming was foretold.<br>
    But Latana's power is very strong, and the Spear of Silenos is not yet enough.<br>
    If you have the Scroll of Enchant Weapon made with the blood of Silenos, I will perform a sacred ceremony to enhance the spear!<br>
    If you wish, I can bestow on you some of our tribe's powerful enhancement magic!<br>
    <a action="bypass -h npc_%objectId%_Quest">Enhance the weapon</a><br>
    <a action="bypass -h Quest 144_PailakaInjuredDragon 32509-6.htm">Receive enhancement magic</a>
    </body></html>
    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Пн Июн 07, 2010 1:46 am

    FewG пишет:На сколько он исходный я хз, но он не совсем рабочий.

    З.Ы. так же не хватает стартового Хтмл НПЦ (дам чуть позже)

    Код:
    import sys
    from net.sf.l2j.gameserver.datatables            import SkillTable
    from net.sf.l2j.gameserver.instancemanager      import InstanceManager
    from net.sf.l2j.gameserver.model.actor.instance  import L2PcInstance
    from net.sf.l2j.gameserver.model.entity           import Instance
    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
    from net.sf.l2j.gameserver.network.serverpackets import PlaySound
    from net.sf.l2j.util                            import Rnd

    qn = "144_PailakaInjuredDragon"

    #NPC
    KETRAOSHAMAN = 32499
    KOSUPPORTER  = 32502
    KOIO        = 32509
    KOSUPPORTER2 = 32512
    Pailaka3rd  = [18635,18636,18638,18639,18640,18641,18642,18644,18645,18646,18648,18649,18650,18652,18653,18654,18655,18656,18657,18658,18659]
    Antelopes    = [18637,18643,18647,18651]
    #BOSS
    LATANA    = 18660
    #ITEMS
    SPEAR    = 13052
    ENCHSPEAR = 13053
    LASTSPEAR = 13054
    STAGE1    = 13056
    STAGE2    = 13057
    PAILAKA3DROP = [8600,8601,8603,8604]
    ANTELOPDROP  = [13032,13033]
    #REWARDS
    PSHIRT    = 13296
    #ETC
    AMOUNTS1  = [1,2,3,4,5,6,7,8,9,10]

    BUFFS={
    "1":[4357,2],#Haste Lv2
    "2":[4342,2],#Wind Walk Lv2
    "3":[4356,3],#Empower Lv3
    "4":[4355,3],#Acumen Lv3
    "5":[4351,6],#Concentration Lv6
    "6":[4345,3],#Might Lv3
    "7":[4358,3],#Guidance Lv3
    "8":[4359,3],#Focus Lv3
    "9":[4360,3],#Death Wisper Lv3
    "10":[4352,2],#Berserker Spirit Lv2
    "11":[4354,4],#Vampiric Rage Lv4
    "12":[4347,6],#Blessed Body Lv6
    }

    def isWithinLevel(player):
        if player.getLevel() > 77:
           return False
        if player.getLevel() < 73:
           return False
        return True

    class Quest (JQuest):

     def __init__(self,id,name,descr):
        JQuest.__init__(self,id,name,descr)
        self.questItemIds = [STAGE1,STAGE2,SPEAR,ENCHSPEAR,LASTSPEAR,13033,13032]
        self.currentWorld = 0
        self.KilledMobs = 0
        self.Action = {}

     def onAdvEvent (self,event,npc,player) :
        st = player.getQuestState(qn)
        if not st: return
        if str(event) in BUFFS.keys():
            skillId,level=BUFFS[event]
            playerName = player.getName()
            if self.Action[playerName]['times'] < 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] += 1
                htmltext = "32509-06.htm"
                return htmltext
            if self.Action[playerName]['times'] == 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] = 5
                htmltext = "32509-05.htm"
                return htmltext
        if event == "Support":
            playerName = player.getName()
            if not playerName in self.Action:
              htmltext = "32509-06.htm"
              self.Action[playerName] = {}
              self.Action[playerName]['times'] = 0
            if playerName in self.Action:
                if self.Action[playerName]['times'] < 5:
                    htmltext = "32509-06.htm"
            if self.Action[playerName]['times'] >= 5:
                htmltext = "32509-04.htm"
            return htmltext
        cond = st.getInt("cond")
        htmltext = event
        if event == "32499-02.htm":
           st.set("cond","1")
           st.setState(State.STARTED)
           st.playSound("ItemSound.quest_accept")
        elif event == "32499-05.htm":
           st.set("cond","2")
           st.playSound("ItemSound.quest_accept")
        elif event == "32502-05.htm":
           st.set("cond","3")
           st.playSound("ItemSound.quest_middle")
           st.giveItems(SPEAR,1)
        elif event == "32512-02.htm":
           st.takeItems(SPEAR,1)
           st.takeItems(ENCHSPEAR,1)
           st.takeItems(LASTSPEAR,1)
        return htmltext


     def onTalk (self,npc,player):
        npcId = npc.getNpcId()
        htmltext = "32499-01.htm"
        st = player.getQuestState(qn)
        if not st: return htmltext
        id = st.getState()
        cond = st.getInt("cond")
        playerName = player.getName()
        if id == State.CREATED:
            st.setState(State.STARTED)
            st.set("cond","0")
        if npcId == KETRAOSHAMAN:
           if cond == 0 and id == State.STARTED:
              if not isWithinLevel(player):
                 htmltext = "32499-no.htm"
                 st.exitQuest(1)
              else:
                 self.Action[playerName] = {}
                 self.Action[playerName]['times'] = 0
                 return htmltext
           elif id == State.COMPLETED:
              htmltext = "32499-no.htm"
           elif cond == 1 or cond == 2 or cond == 3:
              htmltext = "32499-06.htm"
           else:
              htmltext = "32499-07.htm"
        elif npcId == KOSUPPORTER:
           if cond == 1 or cond == 2:
              htmltext = "32502-01.htm"
           else:
              htmltext = "32502-05.htm"
        elif npcId == KOIO:
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(STAGE1) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(ENCHSPEAR) == 0 and st.getQuestItemsCount(STAGE2) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(ENCHSPEAR) == 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(STAGE1) == 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) > 0:
              st.takeItems(SPEAR,1)
              st.takeItems(STAGE1,1)
              st.giveItems(ENCHSPEAR,1)
              htmltext = "32509-02.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) > 0:
              st.takeItems(ENCHSPEAR,1)
              st.takeItems(STAGE2,1)
              st.giveItems(LASTSPEAR,1)
              htmltext = "32509-03.htm"
           if st.getQuestItemsCount(LASTSPEAR) > 0: htmltext = "32509-03.htm"
        elif npcId == KOSUPPORTER2:
           if cond == 4:
              st.giveItems(736,1)
              st.takeItems(13032,st.getQuestItemsCount(13032))
              st.takeItems(13033,st.getQuestItemsCount(13033))
              st.giveItems(PSHIRT,1)
              st.addExpAndSp(28000000, 2850000)
              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 = "32512-01.htm"
              player.setVitalityPoints(20000,1)
           elif id == State.COMPLETED:
              htmltext = "32512-03.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 == 18654:
           if st.getQuestItemsCount(STAGE1) < 1 and st.getQuestItemsCount(SPEAR) > 0:
              st.giveItems(STAGE1,1)
        elif npcId == 18649 and st.getQuestItemsCount(ENCHSPEAR) > 0:
           if st.getQuestItemsCount(STAGE2) < 1:
              st.giveItems(STAGE2,1)
        elif npcId == LATANA:
           st.set("cond","4")
           st.playSound("ItemSound.quest_middle")
           Dwarf = self.addSpawn(KOSUPPORTER2,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),False,0,False,npc.getInstanceId())
        elif npcId in Pailaka3rd:
           if Rnd.get(100) < 30:
              st.dropItem(npc,player,PAILAKA3DROP[Rnd.get(len(PAILAKA3DROP))],1)
        elif npcId in Antelopes:
           st.dropItem(npc,player,ANTELOPDROP[Rnd.get(len(ANTELOPDROP))],AMOUNTS1[Rnd.get(len(AMOUNTS1))])
     
    QUEST      = Quest(144,qn,"Pailaka Injured Dragon")

    QUEST.addStartNpc(KETRAOSHAMAN)
    QUEST.addTalkId(KETRAOSHAMAN)
    QUEST.addTalkId(KOSUPPORTER)
    QUEST.addTalkId(KOIO)
    QUEST.addTalkId(KOSUPPORTER2)
    QUEST.addKillId(18654)
    QUEST.addKillId(18649)
    QUEST.addKillId(LATANA)
    for i in Pailaka3rd:
        QUEST.addKillId(i)
    for i in Antelopes:
        QUEST.addKillId(i)


    Я тебя не просил кидать мне код из Сборки сказки.. я прошу скинуть код из етой сборки!
    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  unknown Пн Июн 07, 2010 1:52 am

    Они идентичны, за исключением ипморта библиотек

    Код:
    import sys
    from com.l2emu.gameserver.datatables            import SkillTable
    from com.l2emu.gameserver.instancemanager      import InstanceManager
    from com.l2emu.gameserver.model.actor.instance  import L2PcInstance
    from com.l2emu.gameserver.model.entity           import Instance
    from com.l2emu.gameserver.model.quest          import State
    from com.l2emu.gameserver.model.quest          import QuestState
    from com.l2emu.gameserver.model.quest.jython    import QuestJython as JQuest
    from com.l2emu.gameserver.network.serverpackets import PlaySound
    from com.l2emu.util                            import Rnd

    qn = "144_PailakaInjuredDragon"

    #NPC
    KETRAOSHAMAN = 32499
    KOSUPPORTER  = 32502
    KOIO        = 32509
    KOSUPPORTER2 = 32512
    Pailaka3rd  = [18635,18636,18638,18639,18640,18641,18642,18644,18645,18646,18648,18649,18650,18652,18653,18654,18655,18656,18657,18658,18659]
    Antelopes    = [18637,18643,18647,18651]
    #BOSS
    LATANA    = 18660
    #ITEMS
    SPEAR    = 13052
    ENCHSPEAR = 13053
    LASTSPEAR = 13054
    STAGE1    = 13056
    STAGE2    = 13057
    PAILAKA3DROP = [8600,8601,8603,8604]
    ANTELOPDROP  = [13032,13033]
    #REWARDS
    PSHIRT    = 13296
    #ETC
    AMOUNTS1  = [1,2,3,4,5,6,7,8,9,10]

    BUFFS={
    "1":[4357,2],#Haste Lv2
    "2":[4342,2],#Wind Walk Lv2
    "3":[4356,3],#Empower Lv3
    "4":[4355,3],#Acumen Lv3
    "5":[4351,6],#Concentration Lv6
    "6":[4345,3],#Might Lv3
    "7":[4358,3],#Guidance Lv3
    "8":[4359,3],#Focus Lv3
    "9":[4360,3],#Death Wisper Lv3
    "10":[4352,2],#Berserker Spirit Lv2
    "11":[4354,4],#Vampiric Rage Lv4
    "12":[4347,6],#Blessed Body Lv6
    }

    def isWithinLevel(player):
        if player.getLevel() > 77:
           return False
        if player.getLevel() < 73:
           return False
        return True

    class Quest (JQuest):

     def __init__(self,id,name,descr):
        JQuest.__init__(self,id,name,descr)
        self.questItemIds = [STAGE1,STAGE2,SPEAR,ENCHSPEAR,LASTSPEAR,13033,13032]
        self.currentWorld = 0
        self.KilledMobs = 0
        self.Action = {}

     def onAdvEvent (self,event,npc,player) :
        st = player.getQuestState(qn)
        if not st: return
        if str(event) in BUFFS.keys():
            skillId,level=BUFFS[event]
            playerName = player.getName()
            if self.Action[playerName]['times'] < 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] += 1
                htmltext = "32509-06.htm"
                return htmltext
            if self.Action[playerName]['times'] == 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] = 5
                htmltext = "32509-05.htm"
                return htmltext
        if event == "Support":
            playerName = player.getName()
            if not playerName in self.Action:
              htmltext = "32509-06.htm"
              self.Action[playerName] = {}
              self.Action[playerName]['times'] = 0
            if playerName in self.Action:
                if self.Action[playerName]['times'] < 5:
                    htmltext = "32509-06.htm"
            if self.Action[playerName]['times'] >= 5:
                htmltext = "32509-04.htm"
            return htmltext
        cond = st.getInt("cond")
        htmltext = event
        if event == "32499-02.htm":
           st.set("cond","1")
           st.setState(State.STARTED)
           st.playSound("ItemSound.quest_accept")
        elif event == "32499-05.htm":
           st.set("cond","2")
           st.playSound("ItemSound.quest_accept")
        elif event == "32502-05.htm":
           st.set("cond","3")
           st.playSound("ItemSound.quest_middle")
           st.giveItems(SPEAR,1)
        elif event == "32512-02.htm":
           st.takeItems(SPEAR,1)
           st.takeItems(ENCHSPEAR,1)
           st.takeItems(LASTSPEAR,1)
        return htmltext


     def onTalk (self,npc,player):
        npcId = npc.getNpcId()
        htmltext = "32499-01.htm"
        st = player.getQuestState(qn)
        if not st: return htmltext
        id = st.getState()
        cond = st.getInt("cond")
        playerName = player.getName()
        if id == State.CREATED:
            st.setState(State.STARTED)
            st.set("cond","0")
        if npcId == KETRAOSHAMAN:
           if cond == 0 and id == State.STARTED:
              if not isWithinLevel(player):
                 htmltext = "32499-no.htm"
                 st.exitQuest(1)
              else:
                 self.Action[playerName] = {}
                 self.Action[playerName]['times'] = 0
                 return htmltext
           elif id == State.COMPLETED:
              htmltext = "32499-no.htm"
           elif cond == 1 or cond == 2 or cond == 3:
              htmltext = "32499-06.htm"
           else:
              htmltext = "32499-07.htm"
        elif npcId == KOSUPPORTER:
           if cond == 1 or cond == 2:
              htmltext = "32502-01.htm"
           else:
              htmltext = "32502-05.htm"
        elif npcId == KOIO:
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(STAGE1) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(ENCHSPEAR) == 0 and st.getQuestItemsCount(STAGE2) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(ENCHSPEAR) == 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(STAGE1) == 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) > 0:
              st.takeItems(SPEAR,1)
              st.takeItems(STAGE1,1)
              st.giveItems(ENCHSPEAR,1)
              htmltext = "32509-02.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) > 0:
              st.takeItems(ENCHSPEAR,1)
              st.takeItems(STAGE2,1)
              st.giveItems(LASTSPEAR,1)
              htmltext = "32509-03.htm"
           if st.getQuestItemsCount(LASTSPEAR) > 0: htmltext = "32509-03.htm"
        elif npcId == KOSUPPORTER2:
           if cond == 4:
              st.giveItems(736,1)
              st.takeItems(13032,st.getQuestItemsCount(13032))
              st.takeItems(13033,st.getQuestItemsCount(13033))
              st.giveItems(PSHIRT,1)
              st.addExpAndSp(28000000, 2850000)
              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 = "32512-01.htm"
              player.setVitalityPoints(20000,1)
           elif id == State.COMPLETED:
              htmltext = "32512-03.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 == 18654:
           if st.getQuestItemsCount(STAGE1) < 1 and st.getQuestItemsCount(SPEAR) > 0:
              st.giveItems(STAGE1,1)
        elif npcId == 18649 and st.getQuestItemsCount(ENCHSPEAR) > 0:
           if st.getQuestItemsCount(STAGE2) < 1:
              st.giveItems(STAGE2,1)
        elif npcId == LATANA:
           st.set("cond","4")
           st.playSound("ItemSound.quest_middle")
           Dwarf = self.addSpawn(KOSUPPORTER2,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),False,0,False,npc.getInstanceId())
        elif npcId in Pailaka3rd:
           if Rnd.get(100) < 30:
              st.dropItem(npc,player,PAILAKA3DROP[Rnd.get(len(PAILAKA3DROP))],1)
        elif npcId in Antelopes:
           st.dropItem(npc,player,ANTELOPDROP[Rnd.get(len(ANTELOPDROP))],AMOUNTS1[Rnd.get(len(AMOUNTS1))])
     
    QUEST      = Quest(144,qn,"Pailaka Injured Dragon")

    QUEST.addStartNpc(KETRAOSHAMAN)
    QUEST.addTalkId(KETRAOSHAMAN)
    QUEST.addTalkId(KOSUPPORTER)
    QUEST.addTalkId(KOIO)
    QUEST.addTalkId(KOSUPPORTER2)
    QUEST.addKillId(18654)
    QUEST.addKillId(18649)
    QUEST.addKillId(LATANA)
    for i in Pailaka3rd:
        QUEST.addKillId(i)
    for i in Antelopes:
        QUEST.addKillId(i)

    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Пн Июн 07, 2010 1:55 am

    FewG пишет:Они идентичны, за исключением ипморта библиотек

    Код:
    import sys
    from com.l2emu.gameserver.datatables            import SkillTable
    from com.l2emu.gameserver.instancemanager      import InstanceManager
    from com.l2emu.gameserver.model.actor.instance  import L2PcInstance
    from com.l2emu.gameserver.model.entity           import Instance
    from com.l2emu.gameserver.model.quest          import State
    from com.l2emu.gameserver.model.quest          import QuestState
    from com.l2emu.gameserver.model.quest.jython    import QuestJython as JQuest
    from com.l2emu.gameserver.network.serverpackets import PlaySound
    from com.l2emu.util                            import Rnd

    qn = "144_PailakaInjuredDragon"

    #NPC
    KETRAOSHAMAN = 32499
    KOSUPPORTER  = 32502
    KOIO        = 32509
    KOSUPPORTER2 = 32512
    Pailaka3rd  = [18635,18636,18638,18639,18640,18641,18642,18644,18645,18646,18648,18649,18650,18652,18653,18654,18655,18656,18657,18658,18659]
    Antelopes    = [18637,18643,18647,18651]
    #BOSS
    LATANA    = 18660
    #ITEMS
    SPEAR    = 13052
    ENCHSPEAR = 13053
    LASTSPEAR = 13054
    STAGE1    = 13056
    STAGE2    = 13057
    PAILAKA3DROP = [8600,8601,8603,8604]
    ANTELOPDROP  = [13032,13033]
    #REWARDS
    PSHIRT    = 13296
    #ETC
    AMOUNTS1  = [1,2,3,4,5,6,7,8,9,10]

    BUFFS={
    "1":[4357,2],#Haste Lv2
    "2":[4342,2],#Wind Walk Lv2
    "3":[4356,3],#Empower Lv3
    "4":[4355,3],#Acumen Lv3
    "5":[4351,6],#Concentration Lv6
    "6":[4345,3],#Might Lv3
    "7":[4358,3],#Guidance Lv3
    "8":[4359,3],#Focus Lv3
    "9":[4360,3],#Death Wisper Lv3
    "10":[4352,2],#Berserker Spirit Lv2
    "11":[4354,4],#Vampiric Rage Lv4
    "12":[4347,6],#Blessed Body Lv6
    }

    def isWithinLevel(player):
        if player.getLevel() > 77:
           return False
        if player.getLevel() < 73:
           return False
        return True

    class Quest (JQuest):

     def __init__(self,id,name,descr):
        JQuest.__init__(self,id,name,descr)
        self.questItemIds = [STAGE1,STAGE2,SPEAR,ENCHSPEAR,LASTSPEAR,13033,13032]
        self.currentWorld = 0
        self.KilledMobs = 0
        self.Action = {}

     def onAdvEvent (self,event,npc,player) :
        st = player.getQuestState(qn)
        if not st: return
        if str(event) in BUFFS.keys():
            skillId,level=BUFFS[event]
            playerName = player.getName()
            if self.Action[playerName]['times'] < 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] += 1
                htmltext = "32509-06.htm"
                return htmltext
            if self.Action[playerName]['times'] == 4:
                npc.setTarget(player)
                npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
                self.Action[playerName]['times'] = 5
                htmltext = "32509-05.htm"
                return htmltext
        if event == "Support":
            playerName = player.getName()
            if not playerName in self.Action:
              htmltext = "32509-06.htm"
              self.Action[playerName] = {}
              self.Action[playerName]['times'] = 0
            if playerName in self.Action:
                if self.Action[playerName]['times'] < 5:
                    htmltext = "32509-06.htm"
            if self.Action[playerName]['times'] >= 5:
                htmltext = "32509-04.htm"
            return htmltext
        cond = st.getInt("cond")
        htmltext = event
        if event == "32499-02.htm":
           st.set("cond","1")
           st.setState(State.STARTED)
           st.playSound("ItemSound.quest_accept")
        elif event == "32499-05.htm":
           st.set("cond","2")
           st.playSound("ItemSound.quest_accept")
        elif event == "32502-05.htm":
           st.set("cond","3")
           st.playSound("ItemSound.quest_middle")
           st.giveItems(SPEAR,1)
        elif event == "32512-02.htm":
           st.takeItems(SPEAR,1)
           st.takeItems(ENCHSPEAR,1)
           st.takeItems(LASTSPEAR,1)
        return htmltext


     def onTalk (self,npc,player):
        npcId = npc.getNpcId()
        htmltext = "32499-01.htm"
        st = player.getQuestState(qn)
        if not st: return htmltext
        id = st.getState()
        cond = st.getInt("cond")
        playerName = player.getName()
        if id == State.CREATED:
            st.setState(State.STARTED)
            st.set("cond","0")
        if npcId == KETRAOSHAMAN:
           if cond == 0 and id == State.STARTED:
              if not isWithinLevel(player):
                 htmltext = "32499-no.htm"
                 st.exitQuest(1)
              else:
                 self.Action[playerName] = {}
                 self.Action[playerName]['times'] = 0
                 return htmltext
           elif id == State.COMPLETED:
              htmltext = "32499-no.htm"
           elif cond == 1 or cond == 2 or cond == 3:
              htmltext = "32499-06.htm"
           else:
              htmltext = "32499-07.htm"
        elif npcId == KOSUPPORTER:
           if cond == 1 or cond == 2:
              htmltext = "32502-01.htm"
           else:
              htmltext = "32502-05.htm"
        elif npcId == KOIO:
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(STAGE1) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(ENCHSPEAR) == 0 and st.getQuestItemsCount(STAGE2) > 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(SPEAR) == 0 and st.getQuestItemsCount(ENCHSPEAR) == 0: htmltext = "32509-07.htm"
           if st.getQuestItemsCount(STAGE1) == 0 and st.getQuestItemsCount(STAGE2) == 0: htmltext = "32509-01.htm"
           if st.getQuestItemsCount(SPEAR) > 0 and st.getQuestItemsCount(STAGE1) > 0:
              st.takeItems(SPEAR,1)
              st.takeItems(STAGE1,1)
              st.giveItems(ENCHSPEAR,1)
              htmltext = "32509-02.htm"
           if st.getQuestItemsCount(ENCHSPEAR) > 0 and st.getQuestItemsCount(STAGE2) > 0:
              st.takeItems(ENCHSPEAR,1)
              st.takeItems(STAGE2,1)
              st.giveItems(LASTSPEAR,1)
              htmltext = "32509-03.htm"
           if st.getQuestItemsCount(LASTSPEAR) > 0: htmltext = "32509-03.htm"
        elif npcId == KOSUPPORTER2:
           if cond == 4:
              st.giveItems(736,1)
              st.takeItems(13032,st.getQuestItemsCount(13032))
              st.takeItems(13033,st.getQuestItemsCount(13033))
              st.giveItems(PSHIRT,1)
              st.addExpAndSp(28000000, 2850000)
              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 = "32512-01.htm"
              player.setVitalityPoints(20000,1)
           elif id == State.COMPLETED:
              htmltext = "32512-03.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 == 18654:
           if st.getQuestItemsCount(STAGE1) < 1 and st.getQuestItemsCount(SPEAR) > 0:
              st.giveItems(STAGE1,1)
        elif npcId == 18649 and st.getQuestItemsCount(ENCHSPEAR) > 0:
           if st.getQuestItemsCount(STAGE2) < 1:
              st.giveItems(STAGE2,1)
        elif npcId == LATANA:
           st.set("cond","4")
           st.playSound("ItemSound.quest_middle")
           Dwarf = self.addSpawn(KOSUPPORTER2,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),False,0,False,npc.getInstanceId())
        elif npcId in Pailaka3rd:
           if Rnd.get(100) < 30:
              st.dropItem(npc,player,PAILAKA3DROP[Rnd.get(len(PAILAKA3DROP))],1)
        elif npcId in Antelopes:
           st.dropItem(npc,player,ANTELOPDROP[Rnd.get(len(ANTELOPDROP))],AMOUNTS1[Rnd.get(len(AMOUNTS1))])
     
    QUEST      = Quest(144,qn,"Pailaka Injured Dragon")

    QUEST.addStartNpc(KETRAOSHAMAN)
    QUEST.addTalkId(KETRAOSHAMAN)
    QUEST.addTalkId(KOSUPPORTER)
    QUEST.addTalkId(KOIO)
    QUEST.addTalkId(KOSUPPORTER2)
    QUEST.addKillId(18654)
    QUEST.addKillId(18649)
    QUEST.addKillId(LATANA)
    for i in Pailaka3rd:
        QUEST.addKillId(i)
    for i in Antelopes:
        QUEST.addKillId(i)


    А ну ка давай поставь вместо сказкиного кода ему... И при загрузке Гс он тебе Варнов напихает!
    unknown
    unknown


    Сообщения : 24
    Дата регистрации : 2010-05-30

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  unknown Вт Июн 08, 2010 3:11 am

    Ну что как продвижения?
    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Вт Июн 08, 2010 3:29 am

    Могу сделать чтобы квест работал не через инит.ру а через (___.java)

    правдо нужно будет потестить... если прокатит выложу фикс..
    ReyMysterio
    ReyMysterio
    Admin


    Сообщения : 99
    Дата регистрации : 2010-05-27
    Откуда : Москва

    Пайлака 73 Empty Re: Пайлака 73

    Сообщение  ReyMysterio Вт Июн 08, 2010 8:14 pm

    Фикс лежит в Дополнениях к серверу!

      Текущее время Чт Май 09, 2024 3:20 am