Jump to content
  • 0

Prenium caravan


Question

Posted

exw to exis problima, xrisimopoio gracia part 2 l2j compiled kai dn mporo na fix ta premium caravan certification, ta alla ta pernei kanonika, basic kai standar alla to premium dn to pairnei enw exa ta ilika p xreiazonte, exei kaneis ti __init__.py tou caravan relation? an mporei na me help 8a me efxaristouse poly :)

 

 

EDIT afto einai to __init__.py p xrisimopoio, mono to prenium exei problima

 

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
from net.sf.l2j 				import L2DatabaseFactory

qn = "9950_CaravanRelations"

# NPC
FALK 	= 32297
KIEF	= 32354
HUDE	= 32298


QuestNpcs = [ 32297,32354,32298 ]
Chimeras = [ 22349,22350,22351,22352 ]
Celtus	= 22353


# Items
BasicCertif	= 9850
StandardCertif	= 9851
PremiumCertif	= 9852
DarionBadge 	= 9674
MagicBottle	= 9672
ScorpionSting	= 10012
LifeForce	= 9681
ContainedLife	= 9682
MarkBetrayal	= 9676


class Quest (JQuest) :

def __init__(self,id,name,descr): 
    JQuest.__init__(self,id,name,descr)


def onAdvEvent (self, event, npc, player) :
   st = player.getQuestState(qn)
   if not st: return
   cond = st.getInt("cond")
   if event == "32264-03.htm":
       htmltext = "32264-03.htm"
       return htmltext
   elif event == "32298-02.htm":
        if st.getQuestItemsCount(MarkBetrayal) >= 30 and st.getQuestItemsCount(ScorpionSting) >= 60 :
            st.set("cond","2")
            st.takeItems(MarkBetrayal,30)
            st.takeItems(ScorpionSting,60)
            st.takeItems(BasicCertif,1)
            st.giveItems(StandardCertif,1)
            st.playSound("ItemSound.quest_middle")
            htmltext = "32298-01.htm"
            return htmltext
        else :
            htmltext = "32298-00a.htm"
            return htmltext
   elif event == "32298-05.htm":
        if st.getQuestItemsCount(LifeForce) >= 80 and st.getQuestItemsCount(ContainedLife) >= 20 :
            st.set("cond","4")
            htmltext = "32298-04.htm"
            st.takeItems(LifeForce,80)
            st.takeItems(ContainedLife,20)
            st.takeItems(MagicBottle,1)
            st.takeItems(StandardCertif,1)
            st.giveItems(PremiumCertif,1)
            st.playSound("ItemSound.quest_middle")
            return htmltext
        else :
            htmltext = "32298-00a.htm"
            return htmltext
   elif event == "TrustIncrease":
       con=L2DatabaseFactory.getInstance().getConnection()     
       trigger=con.prepareStatement("SELECT zonesLevel FROM hellbound WHERE name=8000")
       trigger1=trigger.executeQuery()
       while (trigger1.next()):
           zones=trigger1.getInt("zonesLevel")
       trigger=con.prepareStatement("SELECT trustLevel FROM hellbound WHERE name=8000")
       trigger1=trigger.executeQuery()
       while (trigger1.next()):
           trust=trigger1.getInt("trustLevel")
       trust = int(trust) + 200
       insertion = con.prepareStatement("DELETE FROM hellbound WHERE name=8000")
       insertion.executeUpdate()
       insertion.execute()
       insertion.close();
       insertion = con.prepareStatement("INSERT INTO hellbound (name,trustLevel,zonesLevel,unlocked,dummy) VALUES (?,?,?,?,?)")
       insertion.setInt(1, 8000)
       insertion.setInt(2, trust)
       insertion.setInt(3, zoneslevel)
       insertion.setInt(4, 1)
       insertion.setInt(5, 0)
       insertion.executeUpdate()
       insertion.close();
       con.close()


def onTalk (self,npc,player) :
    npcId = npc.getNpcId()
    LevelText = "<html><body>Hellbound has not reached a high enough level to speak to this NPC</body></html>"
    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
    cond = st.getInt("cond")
    con=L2DatabaseFactory.getInstance().getConnection()
    trigger=con.prepareStatement("SELECT zonesLevel FROM hellbound WHERE name=8000")
    trigger1=trigger.executeQuery()
    while (trigger1.next()):
        zones=trigger1.getInt("zonesLevel")
    con.close()
#    if zones >= 3 : 
    if npcId == FALK and cond == 0:
        if st.getQuestItemsCount(DarionBadge) >= 20 :
            if st.getQuestItemsCount(BasicCertif) == 0 :
              st.set("cond","1")
              st.takeItems(DarionBadge,20)
              st.giveItems(BasicCertif,1)
              st.playSound("ItemSound.quest_accept")
              htmltext = "32297-01.htm"
            else :
              htmltext = "32297-00a.htm"
        else :
            htmltext = "32297-00.htm"
#    if zones >= 6 : 
    if npcId == HUDE and cond == 1 :
        if st.getQuestItemsCount(BasicCertif) >= 1 :
            htmltext = "32298-02.htm"
        else :
            htmltext = "32298-00.htm"
    if npcId == KIEF and cond == 2 :
        if st.getQuestItemsCount(StandardCertif) >= 1 :
            if st.getQuestItemsCount(MagicBottle) == 0 :
              if st.getQuestItemsCount(ScorpionSting) >= 20 :
                st.set("cond","3")
                htmltext = "32354-01.htm"
                st.takeItems(DarionBadge,20)
                st.giveItems(MagicBottle,1)
                st.playSound("ItemSound.quest_middle")
              else :
                htmltext = "32354-00b.htm"
            else :
              htmltext = "32354-00a.htm"
        else :
          htmltext = "32354-00.htm"
    if npcId == HUDE and cond == 3 :
        if st.getQuestItemsCount(StandardCertif) >= 1 :
            htmltext = "32298-03.htm"
        else :
            htmltext = "32298-00.htm"
    if npcId == HUDE and cond >= 4 :
        htmltext = "32298-05.htm"
#    if zones >= 7 :
#this part not finished yet
#    if npcId == JUDE and cond == 4 :
#        if st.getQuestItemsCount(PremiumCertif) >= 1 :
#            htmltext = "32356-01.htm"
#        else :
#            htmltext = "32356-00.htm"
    return htmltext


def onKill(self,npc,player,isPet):
     st = player.getQuestState(qn)
     if not st : return
     npcId = npc.getNpcId()
     if st.getQuestItemsCount(MagicBottle) >= 1:
         if npcId == Celtus and st.getQuestItemsCount(9682) < 20: 
             st.giveItems(9682,1)
         else:
             if st.getQuestItemsCount(9681) < 80: 
                 st.giveItems(9681,1)
             else:
                 return
     else:
         return



QUEST = Quest(9950,qn,"Custom")

QUEST.addStartNpc(32297)

for i in QuestNpcs:
    QUEST.addTalkId(i)

for i in Chimeras:
    QUEST.addKillId(i)

QUEST.addKillId(22353)

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...