| | Quette clan lvl 4 | |
| | Auteur | Message |
---|
Snorri
Nombre de messages : 26 Age : 34 Localisation : la yaute! Date d'inscription : 12/01/2008
| Sujet: Quette clan lvl 4 03/12/08, 07:41 pm | |
| Bon ca fait 3 fois ke je change le _init_.py de cette quete qui est un bug commun mais rien y fait... avec l'original ca marche pas et ceux que je modifie cree une erreur quand le gameserveur se lance... pourtant je prend les codes de L2JDP ... - Code:
-
@@ -123,7 +124,7 @@ skill = SkillTable.getInstance().getInfo(4082,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) - npc.callSkill(skill, [player]) + npc.doCast(skill) elif event == "poison_timer" : st.exitQuest(1) if DEBUG : @@ -143,7 +144,7 @@ skill = SkillTable.getInstance().getInfo(4083,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) - npc.callSkill(skill, [player]) + npc.doCast(skill) self.startQuestTimer(player.getName(),4000,npc,player,0) elif event == player.getName() : if player.isDead() : entre les lignes 123 et 140 quelqu'un pourait il metre ici le code de son fichier (quete 501 proof of clan alliance) que je regarde ce qui ne vas pas sur le mien? | |
| | | Snorri
Nombre de messages : 26 Age : 34 Localisation : la yaute! Date d'inscription : 12/01/2008
| Sujet: Re: Quette clan lvl 4 05/12/08, 10:46 am | |
| Petit up. personne a une idée? ou une quette qui fonctionne sous L2J? | |
| | | theone
Nombre de messages : 56 Date d'inscription : 17/11/2008
| Sujet: Re: Quette clan lvl 4 05/12/08, 10:56 am | |
| Ça serait beaucoup plus facile de t'aider si tu mettais ton code complet(celui modifié) et l'erreur que tu as sur la console... | |
| | | Snorri
Nombre de messages : 26 Age : 34 Localisation : la yaute! Date d'inscription : 12/01/2008
| Sujet: Re: Quette clan lvl 4 05/12/08, 05:39 pm | |
| - Code:
-
# Made by QuestDevs Team: DraX, DrLecter, Rolarga # With invaluable support from: [TI]Blue, warrax # v0.1.r0 2005.12.05 # v1.1.r0 2008.03.27: Update/Rewrite by Emperorc import sys from net.sf.l2j.gameserver.datatables import SkillTable from net.sf.l2j.gameserver.network.serverpackets import NpcSay from net.sf.l2j.gameserver.network.serverpackets import MagicSkillUse 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
qn="501_ProofOfClanAlliance"
# debug facility, turn this to 0 to disable DEBUG = 0
# Quest Npcs SIR_KRISTOF_RODEMAI = 30756 STATUE_OF_OFFERING = 30757 WITCH_ATHREA = 30758 WITCH_KALIS = 30759
# Quest Items HERB_OF_HARIT = 3832 HERB_OF_VANOR = 3833 HERB_OF_OEL_MAHUM = 3834 BLOOD_OF_EVA = 3835 SYMBOL_OF_LOYALTY = 3837 PROOF_OF_ALLIANCE = 3874 VOUCHER_OF_FAITH = 3873 ANTIDOTE_RECIPE = 3872 POTION_OF_RECOVERY= 3889
#Quest mobs, locs and drop CHESTS = range(27173,27178) CHEST_LOCS = [ [102273,103433,-3512], [102190,103379,-3524], [102107,103325,-3533], [102024,103271,-3500], [102327,103350,-3511], [102244,103296,-3518], [102161,103242,-3529], [102078,103188,-3500], [102381,103267,-3538], [102298,103213,-3532], [102215,103159,-3520], [102132,103105,-3513], [102435,103184,-3515], [102352,103130,-3522], [102269,103076,-3533], [102186,103022,-3541] ]
MOBS={ 20685 : HERB_OF_VANOR, 20644 : HERB_OF_HARIT, 20576 : HERB_OF_OEL_MAHUM }
def leader(player) : leaderst = None clan = player.getClan() if clan : leader=clan.getLeader().getPlayerInstance() if leader : leaderst = leader.getQuestState(qn) return leaderst
def isEffected(player,skillId) : bool = 0 effect = player.getFirstEffect(skillId) if effect : bool = 1 return bool class Quest (JQuest) :
def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr) self.questItemIds = [HERB_OF_VANOR, HERB_OF_HARIT, HERB_OF_OEL_MAHUM, SYMBOL_OF_LOYALTY, ANTIDOTE_RECIPE, VOUCHER_OF_FAITH, POTION_OF_RECOVERY, ANTIDOTE_RECIPE] self.athrea = self.chests = 0
def onAdvEvent (self,event,npc,player) : if event == "chest_timer" : self.athrea = 0 return if player.isClanLeader() : leaderst = st = player.getQuestState(qn) else : # non-leaders doing this quest need both their own quest state and the leader's st = player.getQuestState(qn) if not st: return leaderst = leader(player)
if not leaderst : if DEBUG : debug = "Event can't find leader" print debug return debug return debug = "" htmltext = event if player.isClanLeader() : if event == "30756-07.htm" : st.playSound("ItemSound.quest_accept") st.set("cond","1") st.setState(State.STARTED) st.set("part","1") elif event == "30759-03.htm" : st.set("part","2") st.set("cond","2") st.set("dead_list"," ") elif event == "30759-07.htm" : st.takeItems(SYMBOL_OF_LOYALTY,1) #Item is not stackable, thus need to do this for each item st.takeItems(SYMBOL_OF_LOYALTY,1) st.takeItems(SYMBOL_OF_LOYALTY,1) st.giveItems(ANTIDOTE_RECIPE,1) st.set("part","3") st.set("cond","3") st.startQuestTimer("poison_timer",3600000) st.addNotifyOfDeath(player) skill = SkillTable.getInstance().getInfo(4082,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) - npc.callSkill(skill, [player]) + npc.doCast(skill) elif event == "poison_timer" : st.exitQuest(1) if DEBUG : skill = SkillTable.getInstance().getInfo(4083,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) - npc.callSkill(skill, [player]) + npc.doCast(skill) self.startQuestTimer(player.getName(),4000,npc,player,0) elif event == player.getName() : if player.isDead() : st.giveItems(SYMBOL_OF_LOYALTY,1) deadlist = leaderst.get("dead_list").split() deadlist.append(player.getName()) leaderst.set("dead_list"," ".join(deadlist)) elif DEBUG : debug = "player " + player.getName() + " didn't die!" print debug return debug return elif event == "30758-03.htm" : if not self.athrea : self.athrea = 1 self.chests = 0 leaderst.set("part","4") leaderst.set("chest_wins","0") for x,y,z in CHEST_LOCS : rand = st.getRandom(5) self.addSpawn(27173+rand,x,y,z,0,0,300000) self.startQuestTimer("chest_timer",300000,npc,player,0) else : htmltext = "30758-04.htm" elif event == "30758-07.htm" : if st.getQuestItemsCount(57) >= 10000 and not self.athrea : htmltext = "30758-08.htm" st.takeItems(57,10000) if DEBUG and debug : print debug return debug return htmltext
def onTalk (self,npc,player) : 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 npcId = npc.getNpcId() id = st.getState() clan = player.getClan() part = st.getInt("part") debug = "" if npcId == SIR_KRISTOF_RODEMAI : if id == State.CREATED : if player.isClanLeader() and clan : level = clan.getLevel() if level <= 2 : htmltext = "01" elif level >= 4 : htmltext = "02" elif level == 3 : if st.getQuestItemsCount(PROOF_OF_ALLIANCE) : #you already have the item, no need to complete the quest! htmltext = "03" else : htmltext = "04" else : htmltext = "05" elif id == State.STARTED : htmltext = "10" if st.getQuestItemsCount(VOUCHER_OF_FAITH) and part == 6 : st.playSound("ItemSound.quest_finish") st.takeItems(VOUCHER_OF_FAITH,1) st.giveItems(PROOF_OF_ALLIANCE,1) st.addExpAndSp(0,120000) st.exitQuest(False) htmltext = "09" elif npcId == WITCH_KALIS : if id == State.CREATED : #not a valid leader (has not started the quest yet) or a clan member leaderst = leader(player) if leaderst : if player.isClanLeader() or leaderst == st : return "You must see Rodemai to start the quest! I cannot help you!" elif leaderst.getState() == State.STARTED : htmltext = "12" elif DEBUG: debug = "Leader needs to start the quest!" elif DEBUG : debug = "Kalis cannot find leader" elif id == State.STARTED : symbol = st.getQuestItemsCount(SYMBOL_OF_LOYALTY) if part == 1 :#and not symbol : htmltext = "01" elif part == 2 and symbol < 3 : htmltext = "05" elif symbol >= 3 and not isEffected(player,4082) : htmltext = "06" elif part == 5 and st.getQuestItemsCount(HERB_OF_HARIT) and st.getQuestItemsCount(HERB_OF_VANOR) and \ st.getQuestItemsCount(HERB_OF_OEL_MAHUM) and st.getQuestItemsCount(BLOOD_OF_EVA) and isEffected(player,4082): htmltext = "08" st.giveItems(VOUCHER_OF_FAITH,1) st.giveItems(POTION_OF_RECOVERY,1) for item in range(3832,3836) + [ANTIDOTE_RECIPE] : st.takeItems(item,-1) st.set("part","6") st.set("cond","4") timer = st.getQuestTimer("poison_timer") if timer != None : timer.cancel() elif part == 3 or part == 4 or part == 5 : if not isEffected(player,4082) : htmltext = "09" st.set("part","1") st.takeItems(ANTIDOTE_RECIPE,-1) else : htmltext = "10" elif part == 6 : htmltext = "11" elif DEBUG : debug = "Uhhh....Kalis is confused by player: " + str(player) elif DEBUG : debug = "Leader has already finished the quest!" elif npcId == STATUE_OF_OFFERING : leaderst = leader(player) if leaderst : id = leaderst.getState() if id == State.STARTED : if leaderst.getInt("part") == 2 : if player.isClanLeader() or leaderst == st : htmltext = "02" else : if player.getLevel() >= 40 : dlist = leaderst.get("dead_list").split() if player.getName() not in dlist and len(dlist) < 3: htmltext = "01" else : htmltext = "03" else : htmltext = "04" elif DEBUG : debug = "wrong state for sacrifice" else : htmltext = "08" if DEBUG : debug = "Leader must start the quest or has already finished the quest!" elif DEBUG : debug = "Statue can't find leader" elif npcId == WITCH_ATHREA : leaderst = leader(player) if leaderst : id = leaderst.getState() if id == State.STARTED : part = leaderst.getInt("part") if part == 3 and leaderst.getQuestItemsCount(ANTIDOTE_RECIPE) and not leaderst.getQuestItemsCount(BLOOD_OF_EVA) : htmltext = "01" elif part == 5 : htmltext = "10" elif part == 4 : htmltext = "06" if leaderst.getInt("chest_wins") >= 4 : htmltext = "09" st.giveItems(BLOOD_OF_EVA,1) leaderst.set("part","5") elif DEBUG : debug = "You should go seek help elsewhere! I cannot help you in your current state!" elif DEBUG : debug = "You must have the quest started!" elif DEBUG : debug = "Athrea can't find your leader!" if DEBUG and debug : print debug return debug if htmltext.isdigit() : htmltext = str(npcId) + "-" + htmltext + ".htm" return htmltext
def onKill(self,npc,player,isPet) : leaderst = leader(player) if not leaderst : return if not leaderst.getState() == State.STARTED : if DEBUG : print "onKill says leader needs to start quest" return "Need to start quest!" return part = leaderst.getInt("part") npcId = npc.getNpcId() if npcId in CHESTS and part == 4 : wins = leaderst.getInt("chest_wins") if (self.chests - wins) == 12 or (wins < 4 and not leaderst.getRandom(4)) : wins += 1 leaderst.set("chest_wins",str(wins)) npc.broadcastPacket(NpcSay(npc.getObjectId(),0,npc.getNpcId(),"###### BINGO! ######")) self.chests += 1 elif npcId in MOBS.keys() : st = player.getQuestState(qn) if not st : st = self.newQuestState(player) if st == leaderst : return if part >=3 and part < 6 : if not st.getRandom(10) : st.giveItems(MOBS[npcId],1) st.playSound("ItemSound.quest_itemget") elif DEBUG : print "onKill says leader is not correct state"+str(part) return "leader is not correct state" return
# only leaders are registered for onDeath. Therefore, st should always match that of the leader def onDeath(self, npc, pc, st) : if st.getPlayer() == pc : timer1 = st.getQuestTimer("poison_timer") if timer1 != None : timer1.cancel() st.exitQuest(1) if DEBUG : print "leader died, quest failed" return "Leader died, quest failed" return
QUEST = Quest(501,qn,"Proof of Clan Alliance")
QUEST.addStartNpc(SIR_KRISTOF_RODEMAI) QUEST.addStartNpc(STATUE_OF_OFFERING)
for i in [SIR_KRISTOF_RODEMAI,STATUE_OF_OFFERING,WITCH_KALIS,WITCH_ATHREA] : QUEST.addTalkId(i)
for i in MOBS.keys() + CHESTS : QUEST.addKillId(i) voila pour le code en entier apres l'erreure sur la console c'est juste jythonquest error comme quoi il arrive pas a lire le fichier et si je garde celui d'orrigine aucun souci niveau console mais la quette fonctionne pas... | |
| | | Prodige
Nombre de messages : 47 Date d'inscription : 22/10/2008
| Sujet: Re: Quette clan lvl 4 05/12/08, 07:23 pm | |
| Dans ton dossier de quete tu as peut etre un fichier du genre: __init__.py.log qui s'est créer.
L'erreur de dedans indique le probleme.
Sinon screen le GS | |
| | | Snorri
Nombre de messages : 26 Age : 34 Localisation : la yaute! Date d'inscription : 12/01/2008
| Sujet: Re: Quette clan lvl 4 06/12/08, 01:47 pm | |
| - Code:
-
Error on: C:\Serveur\gameserver\data\scripts\quests\501_ProofOfClanAlliance\__init__.py.error.log Line: -1 - Column: -1
Traceback (innermost last): (no code object) at line 0 SyntaxError: ('invalid syntax', ('__init__.py', 128, 8, ' elif event == "poison_timer" :')) voila pour le fichier d'erreur | |
| | | Jules
Nombre de messages : 384 Localisation : Rome Date d'inscription : 11/04/2008
| Sujet: Re: Quette clan lvl 4 06/12/08, 02:07 pm | |
| NON MAIS LOOOOOOOOOOOOOL Bon alors, dans le B-A-BA du codage, y'a ce qui s'appelle des fichiers diffs. Et le code que t'as posté en est un... Le "+" en début de ligne indique qu'il faut ajouter la ligne Le "-" en début de ligne indique qu'il faut virer la ligne. Donc, vire moi ces "+" et ces "-" en début de ligne, en prenant soin de virer les lignes indiquées par les "-"... Sans déconner.... T'as regardé ton code avant de poster ? Ca donne ça, et Jules fait un pari que ça fonctionne : - Code:
-
# Made by QuestDevs Team: DraX, DrLecter, Rolarga # With invaluable support from: [TI]Blue, warrax # v0.1.r0 2005.12.05 # v1.1.r0 2008.03.27: Update/Rewrite by Emperorc import sys from net.sf.l2j.gameserver.datatables import SkillTable from net.sf.l2j.gameserver.network.serverpackets import NpcSay from net.sf.l2j.gameserver.network.serverpackets import MagicSkillUse 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
qn="501_ProofOfClanAlliance"
# debug facility, turn this to 0 to disable DEBUG = 0
# Quest Npcs SIR_KRISTOF_RODEMAI = 30756 STATUE_OF_OFFERING = 30757 WITCH_ATHREA = 30758 WITCH_KALIS = 30759
# Quest Items HERB_OF_HARIT = 3832 HERB_OF_VANOR = 3833 HERB_OF_OEL_MAHUM = 3834 BLOOD_OF_EVA = 3835 SYMBOL_OF_LOYALTY = 3837 PROOF_OF_ALLIANCE = 3874 VOUCHER_OF_FAITH = 3873 ANTIDOTE_RECIPE = 3872 POTION_OF_RECOVERY= 3889
#Quest mobs, locs and drop CHESTS = range(27173,27178) CHEST_LOCS = [ [102273,103433,-3512], [102190,103379,-3524], [102107,103325,-3533], [102024,103271,-3500], [102327,103350,-3511], [102244,103296,-3518], [102161,103242,-3529], [102078,103188,-3500], [102381,103267,-3538], [102298,103213,-3532], [102215,103159,-3520], [102132,103105,-3513], [102435,103184,-3515], [102352,103130,-3522], [102269,103076,-3533], [102186,103022,-3541] ]
MOBS={ 20685 : HERB_OF_VANOR, 20644 : HERB_OF_HARIT, 20576 : HERB_OF_OEL_MAHUM }
def leader(player) : leaderst = None clan = player.getClan() if clan : leader=clan.getLeader().getPlayerInstance() if leader : leaderst = leader.getQuestState(qn) return leaderst
def isEffected(player,skillId) : bool = 0 effect = player.getFirstEffect(skillId) if effect : bool = 1 return bool
class Quest (JQuest) :
def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr) self.questItemIds = [HERB_OF_VANOR, HERB_OF_HARIT, HERB_OF_OEL_MAHUM, SYMBOL_OF_LOYALTY, ANTIDOTE_RECIPE, VOUCHER_OF_FAITH, POTION_OF_RECOVERY, ANTIDOTE_RECIPE] self.athrea = self.chests = 0
def onAdvEvent (self,event,npc,player) : if event == "chest_timer" : self.athrea = 0 return if player.isClanLeader() : leaderst = st = player.getQuestState(qn) else : # non-leaders doing this quest need both their own quest state and the leader's st = player.getQuestState(qn) if not st: return leaderst = leader(player)
if not leaderst : if DEBUG : debug = "Event can't find leader" print debug return debug return debug = "" htmltext = event if player.isClanLeader() : if event == "30756-07.htm" : st.playSound("ItemSound.quest_accept") st.set("cond","1") st.setState(State.STARTED) st.set("part","1") elif event == "30759-03.htm" : st.set("part","2") st.set("cond","2") st.set("dead_list"," ") elif event == "30759-07.htm" : st.takeItems(SYMBOL_OF_LOYALTY,1) #Item is not stackable, thus need to do this for each item st.takeItems(SYMBOL_OF_LOYALTY,1) st.takeItems(SYMBOL_OF_LOYALTY,1) st.giveItems(ANTIDOTE_RECIPE,1) st.set("part","3") st.set("cond","3") st.startQuestTimer("poison_timer",3600000) st.addNotifyOfDeath(player) skill = SkillTable.getInstance().getInfo(4082,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) npc.doCast(skill) elif event == "poison_timer" : st.exitQuest(1) if DEBUG : skill = SkillTable.getInstance().getInfo(4083,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) npc.doCast(skill) self.startQuestTimer(player.getName(),4000,npc,player,0) elif event == player.getName() : if player.isDead() : st.giveItems(SYMBOL_OF_LOYALTY,1) deadlist = leaderst.get("dead_list").split() deadlist.append(player.getName()) leaderst.set("dead_list"," ".join(deadlist)) elif DEBUG : debug = "player " + player.getName() + " didn't die!" print debug return debug return elif event == "30758-03.htm" : if not self.athrea : self.athrea = 1 self.chests = 0 leaderst.set("part","4") leaderst.set("chest_wins","0") for x,y,z in CHEST_LOCS : rand = st.getRandom(5) self.addSpawn(27173+rand,x,y,z,0,0,300000) self.startQuestTimer("chest_timer",300000,npc,player,0) else : htmltext = "30758-04.htm" elif event == "30758-07.htm" : if st.getQuestItemsCount(57) >= 10000 and not self.athrea : htmltext = "30758-08.htm" st.takeItems(57,10000) if DEBUG and debug : print debug return debug return htmltext
def onTalk (self,npc,player) : 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 npcId = npc.getNpcId() id = st.getState() clan = player.getClan() part = st.getInt("part") debug = "" if npcId == SIR_KRISTOF_RODEMAI : if id == State.CREATED : if player.isClanLeader() and clan : level = clan.getLevel() if level <= 2 : htmltext = "01" elif level >= 4 : htmltext = "02" elif level == 3 : if st.getQuestItemsCount(PROOF_OF_ALLIANCE) : #you already have the item, no need to complete the quest! htmltext = "03" else : htmltext = "04" else : htmltext = "05" elif id == State.STARTED : htmltext = "10" if st.getQuestItemsCount(VOUCHER_OF_FAITH) and part == 6 : st.playSound("ItemSound.quest_finish") st.takeItems(VOUCHER_OF_FAITH,1) st.giveItems(PROOF_OF_ALLIANCE,1) st.addExpAndSp(0,120000) st.exitQuest(False) htmltext = "09" elif npcId == WITCH_KALIS : if id == State.CREATED : #not a valid leader (has not started the quest yet) or a clan member leaderst = leader(player) if leaderst : if player.isClanLeader() or leaderst == st : return "You must see Rodemai to start the quest! I cannot help you!" elif leaderst.getState() == State.STARTED : htmltext = "12" elif DEBUG: debug = "Leader needs to start the quest!" elif DEBUG : debug = "Kalis cannot find leader" elif id == State.STARTED : symbol = st.getQuestItemsCount(SYMBOL_OF_LOYALTY) if part == 1 :#and not symbol : htmltext = "01" elif part == 2 and symbol < 3 : htmltext = "05" elif symbol >= 3 and not isEffected(player,4082) : htmltext = "06" elif part == 5 and st.getQuestItemsCount(HERB_OF_HARIT) and st.getQuestItemsCount(HERB_OF_VANOR) and \ st.getQuestItemsCount(HERB_OF_OEL_MAHUM) and st.getQuestItemsCount(BLOOD_OF_EVA) and isEffected(player,4082): htmltext = "08" st.giveItems(VOUCHER_OF_FAITH,1) st.giveItems(POTION_OF_RECOVERY,1) for item in range(3832,3836) + [ANTIDOTE_RECIPE] : st.takeItems(item,-1) st.set("part","6") st.set("cond","4") timer = st.getQuestTimer("poison_timer") if timer != None : timer.cancel() elif part == 3 or part == 4 or part == 5 : if not isEffected(player,4082) : htmltext = "09" st.set("part","1") st.takeItems(ANTIDOTE_RECIPE,-1) else : htmltext = "10" elif part == 6 : htmltext = "11" elif DEBUG : debug = "Uhhh....Kalis is confused by player: " + str(player) elif DEBUG : debug = "Leader has already finished the quest!" elif npcId == STATUE_OF_OFFERING : leaderst = leader(player) if leaderst : id = leaderst.getState() if id == State.STARTED : if leaderst.getInt("part") == 2 : if player.isClanLeader() or leaderst == st : htmltext = "02" else : if player.getLevel() >= 40 : dlist = leaderst.get("dead_list").split() if player.getName() not in dlist and len(dlist) < 3: htmltext = "01" else : htmltext = "03" else : htmltext = "04" elif DEBUG : debug = "wrong state for sacrifice" else : htmltext = "08" if DEBUG : debug = "Leader must start the quest or has already finished the quest!" elif DEBUG : debug = "Statue can't find leader" elif npcId == WITCH_ATHREA : leaderst = leader(player) if leaderst : id = leaderst.getState() if id == State.STARTED : part = leaderst.getInt("part") if part == 3 and leaderst.getQuestItemsCount(ANTIDOTE_RECIPE) and not leaderst.getQuestItemsCount(BLOOD_OF_EVA) : htmltext = "01" elif part == 5 : htmltext = "10" elif part == 4 : htmltext = "06" if leaderst.getInt("chest_wins") >= 4 : htmltext = "09" st.giveItems(BLOOD_OF_EVA,1) leaderst.set("part","5") elif DEBUG : debug = "You should go seek help elsewhere! I cannot help you in your current state!" elif DEBUG : debug = "You must have the quest started!" elif DEBUG : debug = "Athrea can't find your leader!" if DEBUG and debug : print debug return debug if htmltext.isdigit() : htmltext = str(npcId) + "-" + htmltext + ".htm" return htmltext
def onKill(self,npc,player,isPet) : leaderst = leader(player) if not leaderst : return if not leaderst.getState() == State.STARTED : if DEBUG : print "onKill says leader needs to start quest" return "Need to start quest!" return part = leaderst.getInt("part") npcId = npc.getNpcId() if npcId in CHESTS and part == 4 : wins = leaderst.getInt("chest_wins") if (self.chests - wins) == 12 or (wins < 4 and not leaderst.getRandom(4)) : wins += 1 leaderst.set("chest_wins",str(wins)) npc.broadcastPacket(NpcSay(npc.getObjectId(),0,npc.getNpcId(),"###### BINGO! ######")) self.chests += 1 elif npcId in MOBS.keys() : st = player.getQuestState(qn) if not st : st = self.newQuestState(player) if st == leaderst : return if part >=3 and part < 6 : if not st.getRandom(10) : st.giveItems(MOBS[npcId],1) st.playSound("ItemSound.quest_itemget") elif DEBUG : print "onKill says leader is not correct state"+str(part) return "leader is not correct state" return
# only leaders are registered for onDeath. Therefore, st should always match that of the leader def onDeath(self, npc, pc, st) : if st.getPlayer() == pc : timer1 = st.getQuestTimer("poison_timer") if timer1 != None : timer1.cancel() st.exitQuest(1) if DEBUG : print "leader died, quest failed" return "Leader died, quest failed" return
QUEST = Quest(501,qn,"Proof of Clan Alliance")
QUEST.addStartNpc(SIR_KRISTOF_RODEMAI) QUEST.addStartNpc(STATUE_OF_OFFERING)
for i in [SIR_KRISTOF_RODEMAI,STATUE_OF_OFFERING,WITCH_KALIS,WITCH_ATHREA] : QUEST.addTalkId(i)
for i in MOBS.keys() + CHESTS : QUEST.addKillId(i) | |
| | | Snorri
Nombre de messages : 26 Age : 34 Localisation : la yaute! Date d'inscription : 12/01/2008
| Sujet: Re: Quette clan lvl 4 06/12/08, 03:34 pm | |
| Jules est grand et je suis tout petit... Cependant Jules a perdu son pari^^ mais c'est surement encore a cause de moi qui n'ai pas bien integré le code de L2JDP... Jules peut il m'expliquer en francais ce que: - Code:
-
@@ -123,7 +124,7 @@ veu dire? car j'ai bien enlever les lignes et les signes mais j'ai des erreures sur les lignes qui suivent donc je supose que j'ai mal integré le code si dessou: - Code:
-
@@ -123,7 +124,7 @@ skill = SkillTable.getInstance().getInfo(4082,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) - npc.callSkill(skill, [player]) + npc.doCast(skill) elif event == "poison_timer" : st.exitQuest(1) if DEBUG : @@ -143,7 +144,7 @@ skill = SkillTable.getInstance().getInfo(4083,1) npc.setTarget(player) npc.broadcastPacket(MagicSkillUse(npc,player,skill.getDisplayId(),1,skill.getHitTime(),0)) - npc.callSkill(skill, [player]) + npc.doCast(skill) self.startQuestTimer(player.getName(),4000,npc,player,0) elif event == player.getName() : if player.isDead() : Merci de ton aide! | |
| | | Jules
Nombre de messages : 384 Localisation : Rome Date d'inscription : 11/04/2008
| Sujet: Re: Quette clan lvl 4 06/12/08, 04:17 pm | |
| Ouais, en effet.
T'as un diff file pour Eclipse là, essaye d'utiliser Eclipse pour modifier le fichier, en prenant la fonction "Apply Patch". Ca marchera mieux hein. | |
| | | Snorri
Nombre de messages : 26 Age : 34 Localisation : la yaute! Date d'inscription : 12/01/2008
| Sujet: Re: Quette clan lvl 4 10/12/08, 06:14 pm | |
| me revoila^^
j'ai installer eclipse et subclipse ect en suivant le tuto nikel.
j'ai trouver la method de patchage avec eclipse mais j'ai encore un souci...
je selectionne mon fichier diff ok, j'ai creer un fichier _init_.py dans le workspace en colant le contenu du fichier d'origine et quand je fais next il me dis en gros qu'il ne trouve pas les lignes...
est ce que je fais quelquchose de pas bon? | |
| | | Respawner
Nombre de messages : 1620 Age : 35 Date d'inscription : 20/04/2006
| Sujet: Re: Quette clan lvl 4 10/12/08, 06:21 pm | |
| Patch / fichier outdated | |
| | | Contenu sponsorisé
| Sujet: Re: Quette clan lvl 4 | |
| |
| | | | Quette clan lvl 4 | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |