Forum pour réunir les administrateurs de serveur L2
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  

Partagez | 
 

 Quette clan lvl 4

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Snorri



Nombre de messages : 26
Age : 27
Localisation : la yaute!
Date d'inscription : 12/01/2008

MessageSujet: Quette clan lvl 4   Mer 03 Déc 2008, 21:41

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?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Snorri



Nombre de messages : 26
Age : 27
Localisation : la yaute!
Date d'inscription : 12/01/2008

MessageSujet: Re: Quette clan lvl 4   Ven 05 Déc 2008, 12:46

Petit up. personne a une idée? ou une quette qui fonctionne sous L2J?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
theone



Nombre de messages : 56
Date d'inscription : 17/11/2008

MessageSujet: Re: Quette clan lvl 4   Ven 05 Déc 2008, 12:56

Ç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... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Snorri



Nombre de messages : 26
Age : 27
Localisation : la yaute!
Date d'inscription : 12/01/2008

MessageSujet: Re: Quette clan lvl 4   Ven 05 Déc 2008, 19:39

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...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Prodige



Nombre de messages : 47
Date d'inscription : 22/10/2008

MessageSujet: Re: Quette clan lvl 4   Ven 05 Déc 2008, 21:23

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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Snorri



Nombre de messages : 26
Age : 27
Localisation : la yaute!
Date d'inscription : 12/01/2008

MessageSujet: Re: Quette clan lvl 4   Sam 06 Déc 2008, 15:47

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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jules



Nombre de messages : 385
Localisation : Rome
Date d'inscription : 11/04/2008

MessageSujet: Re: Quette clan lvl 4   Sam 06 Déc 2008, 16:07

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)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://l2jfr.jeun.fr/search.forum
Snorri



Nombre de messages : 26
Age : 27
Localisation : la yaute!
Date d'inscription : 12/01/2008

MessageSujet: Re: Quette clan lvl 4   Sam 06 Déc 2008, 17:34

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!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jules



Nombre de messages : 385
Localisation : Rome
Date d'inscription : 11/04/2008

MessageSujet: Re: Quette clan lvl 4   Sam 06 Déc 2008, 18:17

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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://l2jfr.jeun.fr/search.forum
Snorri



Nombre de messages : 26
Age : 27
Localisation : la yaute!
Date d'inscription : 12/01/2008

MessageSujet: Re: Quette clan lvl 4   Mer 10 Déc 2008, 20:14

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?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Respawner



Nombre de messages : 1622
Age : 28
Date d'inscription : 20/04/2006

MessageSujet: Re: Quette clan lvl 4   Mer 10 Déc 2008, 20:21

Patch / fichier outdated Smile

_________________
~$ cat new_server > /dev/null

Tout n'est qu'une question de point de vue.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.respawner.fr/
Contenu sponsorisé




MessageSujet: Re: Quette clan lvl 4   Aujourd'hui à 17:28

Revenir en haut Aller en bas
 
Quette clan lvl 4
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Joueurs Marnais 51] Association Clan MYRMIDON
» Installer un thème nuked clan
» Forum la guerre des clan
» Clan Kravt
» Devil or Angel

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
L2J-FR :: Général :: Aides et Conseils-
Sauter vers: