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)
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.
Question
hakerboy
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
0 answers to this question
Recommended Posts
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.