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.



  • Posts

    • The Time Has Come!    Tomorrow, L2DoubleDamage officially launches! Get ready for epic PvP battles, legendary rewards, and tons of action-packed features!    Opening Date: February 28, 2025  Opening Time by Country:  Greece: 20:00  Brazil: 15:00  Russia (Moscow): 21:00  Argentina: 15:00  Important Note: The donation weapons, armors, and jewelry will be closed for 2 days for the donors.   Key Features:  100% PvP Full Balance – No Pay to Win!  Ultra Stable – No Wipes, Long-Term Project!  Siege Castles: Giran, Aden, Rune  Giran Siege Reward: 100€ Real Money! (Every week after: 50€)  VIP Autofarm: x2 Drop & Name Color Change  6 Grand Bosses & 6 Special Grand Bosses!  Casino – Try Your Luck & Win Big!  Daily PvP Events – Show off your skills!  Enchant Rates: Safe +6, Max +25  JOIN NOW and prepare for the ultimate PvP experience! Check out the official links below:    Website: L2DoubleDamage  Discord: Join Here  Instagram: Follow Us  YouTube: Watch the Trailer  Facebook: Like Our Page  Get ready! The adventure begins tomorrow!    🚀 JOIN NOW & Experience the Best PvP Gameplay Ever! 🚀 🌐 Website: http://www.l2doubledamage.com/ 💬 Discord: https://discord.gg/l2doubledamage 📷 Instagram: https://www.instagram.com/l2doubledamage/ 📘 Facebook: https://www.facebook.com/profile.php?id=61573159438765&sk=about_contact_and_basic_info 📺 YouTube:  
    • 🔥 L2Custom.com - FRESH START/WIPE! 🔥 🗓️ Wipe/Open Date: 2025-03-01, 18:00 GMT+2 ⚔️ Chronicle: Interlude | Rates: High 🌟 Key Features: ✅ Custom Items – Enhanced PvP Experience ✅ Full Buffer – No Hassle, Just Action ✅ Olympiad (A-Grade Only) – Every Week ✅ Castle Sieges – Every Week 🚀 Fresh Start – Dominate from Day 1! Gather your clan, forge alliances, and prove your strength on the battlefield! 🌐 Join Now: www.l2custom.com 💥 Don’t miss out on the ultimate PvP experience! 💥
    • A new template is available: Ancient-World - Responsive HTML Template    
    • We are still taking new orders! Let us talk on Telegram!
    • Hello. Looking for bot for L2 Reborn x1 Origin. Some1? L2adrenaline dont work ;/
  • Topics

×
×
  • Create New...