Jump to content
  • 0
Sign in to follow this  
Allostarz

en cours Apelle dada beug

Question

[Message d'introduction]

 

Version des files :2012

Domaine (Base de données, Core, etc.) :

Votre niveau (débutant, intermédiaire, avancé) :

 

Description du problème :

Bonjour voila j'ai un problem avec l'apelle du dada

Lorsque mes joueurs click sur le livre pour peller dada la quêtes s'ouvre il i a écrire juste Palfrenier :

 

et rien d'autre et le dada vien pas je sais pas c'est quelle quêtes qui beug ??

 

Message d'erreur, capture d'écran :

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Share this post


Link to post

10 answers to this question

Recommended Posts

  • 0

Fais nous voir ton horse_summon.quest

Je pense que t'as implanté la quest de sango qui est buguée de partout pour les pets

Share this post


Link to post
  • 0

a oui j'ai implanter cella .


quest horse_summon begin
   state start begin
       function get_horse_summon_prob_pct() 
           local prob = {10,15,20,30,40,50,60,70,80,90,100}
           local skill_level = pc.get_skill_level(131) + 1
           return prob[skill_level]
       end

       -----*****
       -----***** Richiami cavalli persi
       -----*****

       -----***** Cavallo Principiante
       when 20349.chat."Nouveau dessin de cheval" with horse.get_grade()==1 and pc.countitem("50051")<1 begin
           ---                                                   l
           say_title("Le palefrenier:")
           say("Vous avez perdu le dessin de cheval! Je peux vous")
           say("en donner un nouveau pour 100.000 yangs.")
           local b=select("D'accord", "Refuser")
           if 1==b then
               if pc.money>=100000 then
                   pc.changemoney(-100000)
                   ---                                                   l
                   say_title("Le palefrenier:")
                   say("Voici votre nouveau dessin de cheval!")
                   pc.give_item2("50051", 1)
               else
                   ---                                                   l
                   say_title("Le palefrenier:")
                   say("Vous n'avez pas assez de yangs.")
               end
           elseif 2==b then
           else
               say("UNKNOWN BUTTON ["..b.."]")
           end
       end

       -----***** Cavallo Medio
       when 20349.chat."Nouveau livre cheval de combat" with horse.get_grade()==2 and pc.countitem("50052")<1 begin
           ---                                                   l
           say_title("Le palefrenier:")
           say("Vous avez perdu le livre cheval de combat! Je peux")
           say("vous en donner un nouveau pour 500.000 yangs.")
           local b=select("D'accord", "Refuser")
           if 1==b then
               if pc.money>=500000 then
                   pc.changemoney(-500000)
                   ---                                                   l
                   say_title("Le palefrenier:")
                   say("Voici votre nouveau livre cheval de combat.")
                   pc.give_item2("50052", 1)
               else
                   ---                                                   l
                   say_title("Le palefrenier:")
                   say("Vous n'avez pas assez de yangs.")
               end
           elseif 2==b then
           else
               say("UNKNOWN BUTTON ["..b.."]")
           end
       end

       -----***** Cavallo Esperto
       when 20349.chat."Nouveau livre équit. militaire" with horse.get_grade()==3 and pc.countitem("50053")<1 begin
           ---                                                   l
           say_title("Le palefrenier:")
           say("Vous avez perdu le livre équit. militaire! Je peux")
           say("vous en donner un nouveau pour 1.000.000 yangs.")
           local b=select("D'accord", "Refuser")
           if 1==b then
               if pc.money>=1000000 then
                   pc.changemoney(-1000000)
                   ---                                                   l
                   say_title("Le palefrenier:")
                   say("Voici votre nouveau livre équit. militaire.")
                   pc.give_item2("50053", 1)
               else
                   ---                                                   l
                   say_title("Le palefrenier:")
                   say("Vous n'avez pas assez de yangs.")
               end
           elseif 2==b then
           else
               say("UNKNOWN BUTTON ["..b.."]")
           end
       end

       -----*****
       -----***** Uso richiami cavalli sbagliato
       -----*****

       when 50051.use or 50052.use or 50053.use with horse.get_grade() == 0 begin
           say_title("Le palefrenier:")
           say("Vous devez posseder un cheval pour utiliser ceci.[ENTER]")
       end

       when 50051.use with horse.get_grade() == 2 or horse.get_grade() == 3 begin
           say_title("Le palefrenier:")
           say("Vous n'utilisez pas l'appel cheval adapté.[ENTER]")
       end

       when 50052.use with horse.get_grade() == 1 or horse.get_grade() == 3 begin
           say_title("Le palefrenier:")
           say("Vous n'utilisez pas l'appel cheval adapté.[ENTER]")
       end

       when 50053.use with horse.get_level() != 21 begin
           say_title("Le palefrenier:")
           say("Vous n'utilisez pas l'appel cheval adapté.[ENTER]")
       end    

       -----*****
       -----***** Uso richiami cavalli corretto
       -----*****

       -----***** Cavallo Principiante
       when 50051.use with horse.get_grade() == 1 begin
           say_title("Le palefrenier:")    
           if PetSystem.IsPetLevel(horse.get_level()) then
               say("Vous avez fait n'importe quoi avec les")
               say("commande GM. Mettez le niveau du cheval")
               say("puis essayez à nouveau.[ENTER]")                
               return                    
           end                
           if pc.getsp() >= 100 then                
               if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                   say_reward("Le cheval pour débutant a été appelé.")
                   horse.summon()
               else
                   say_reward("Malheuresement vous n'avez pas réussi à ")
                   say_reward("appeler le cheval pour débutants. Vous pouvez")
                   say_reward("améliorer votre compétence d'appel d'une")
                   say_reward("monture en vous entrainant.")
               end
               pc.change_sp(-100)
           else
               say_reward("Votre Force mentale ne suffit pas. Pour pouvoir")
               say_reward("appeler le cheval pour débutants, il vous faut")
               say_reward("une Force mentale d'au moins 100.")
           end
       end    

       -----***** Cavallo Medio
       when 50052.use with horse.get_grade() == 2 begin
           say_title("Le palefrenier:")
           if PetSystem.IsPetLevel(horse.get_level()) then
               say("Vous avez fait n'importe quoi avec les")
               say("commande GM. Mettez le niveau du cheval")
               say("puis essayez à nouveau.[ENTER]")                
               return                    
           end                    
           if pc.getsp() >= 200 then                
               if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                   say_reward("Un cheval de niveau avancé a été appelé.")
                   horse.summon()
               else
                   say_reward("Vous n'avez pas réussi à appeler un cheval de")
                   say_reward("niveau avancé. Vous pouvez accroitre vos chances")
                   say_reward("de succès en améliorant votre compétence d'appel")
                   say_reward("de chevaux.")
               end
               pc.change_sp(-200)
           else
               say_reward("Votre force mentale n'est pas assez élevée. Vous")
               say_reward("devez avoir une force mentale de 200 pour appeler")
               say_reward("un cheval de niveau avancé.")
           end
       end

       -----***** Cavallo Esperto
       when 50053.use with horse.get_level() == 21 begin
           say_title("Le palefrenier:")    
           if PetSystem.IsPetLevel(horse.get_level()) then
               say("Vous avez fait n'importe quoi avec les")
               say("commande GM. Mettez le niveau du cheval")
               say("puis essayez à nouveau.[ENTER]")                
               return                    
           end                    
           if pc.getsp() >= 300 then                
               if number(1, 100) <= horse_summon.get_horse_summon_prob_pct() then
                   say("Un cheval de niveau expert a été appelé.[ENTER]")
                   horse.summon()
               else
                   say_reward("Vous n'avez pas réussi à appeler un cheval de")
                   say_reward("niveau avancé. Vous pouvez accroitre vos chances")
                   say_reward("de succès en améliorant votre compétence d'appel")
                   say_reward("de chevaux.")
               end
               pc.change_sp(-300)
           else
                   say_reward("Malheuresement vous n'avez pas réussi à ")
                   say_reward("appeler le cheval militaire. Vous pouvez")
                   say_reward("améliorer votre compétence d'appel d'une")
                   say_reward("monture en vous entrainant.")
               end
       end

       -----***** Richiamo Pet
       when 53001.use or 53002.use or 53003.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use begin
           if not PetSystem.IsActive() then
               local PetNumber = {[53001]=1,[53002]=2,[53003]=3,[53005]=4,[53006]=5,[53007]=6,[53008]=7,[53009]=8}
               local petIndex = PetNumber[item.get_vnum()]
               if horse.is_dead() then
                   say_title("Information Familier:")
                   say("Vous ne pouvez pas appeler l'animal avec le cheval mort.")
                   say("Avant ressuscite le cheval.[ENTER]")
                   return
               end            
               local horse_lev = horse.get_level()
               local horse_name = horse.get_name()
               PetSystem.SetActivePet(petIndex)
               PetSystem.AddBonus(petIndex)
               PetSystem.SetHorseData(PetSystem[petIndex].Level, "Lv"..PetSystem.GetLevel(petIndex).." "..PetSystem[petIndex].Name)
               pet.summon()
               PetSystem.SetHorseData(horse_lev, horse_name)
               cleartimer("give_exp")
               loop_timer("give_exp", PetSystem.UpdateFrequency)
               chat(""..PetSystem[petIndex].Name.." a été appelé.")
           else
               PetSystem.PetBack()                 
           end
       end

       -----*****
       -----***** Roba varia per Pet
       -----*****

       when 30130.use begin
           if not PetSystem.IsActive() then
               chat("Vous devez appeler votre familier pour lui donner de l'expérence.")
               return
           end
           local PetHasGotExp = PetSystem.GiveExp(PetSystem.GetActivePet(), PetSystem.ItemExp)
           if not PetHasGotExp then
               chat("Votre familier est au level maximum.")
           else
               chat("Votre familier à reçu "..PetSystem.ItemExp.." points d'expériences.")
               pc.remove_item(item.get_vnum(), 1)
           end
       end

       when login begin
           if PetSystem.IsActive() then
               if pc.count_item(PetSystem[PetSystem.GetActivePet()].Item) != 0 and not horse.is_dead() then
                   local horse_lev = horse.get_level()
                   local horse_name = horse.get_name()        
                   local PetIndex = PetSystem.GetActivePet()                
                   PetSystem.SetHorseData(PetSystem[PetIndex].Level, "Lv"..PetSystem.GetLevel(PetIndex).." "..PetSystem[PetIndex].Name)
                   pet.summon()
                   PetSystem.SetHorseData(horse_lev, horse_name)
                   loop_timer("give_exp", PetSystem.UpdateFrequency)
               else
                   PetSystem.SetInactive()
                   timer("remove_bonus", 2)
               end                
           end            
           pc.setqf("current_exp", pc.get_exp())
       end

       when remove_bonus.timer begin
           PetSystem.RemoveBonus()
       end    

       when give_exp.timer begin
           if PetSystem.IsActive() and not PetSystem.IsExpBlocked() then
               local gained_exp = pc.get_exp()-pc.getqf("current_exp")
               if gained_exp < 0 then
                   pc.setqf("current_exp", pc.get_exp())
                   return
               end
               local pet_exp = math.floor(gained_exp*3/100)
               if pet_exp != 0 then
                   local PetHasGotExp = PetSystem.GiveExp(PetSystem.GetActivePet(), pet_exp)
                   if PetHasGotExp then
                       pc.give_exp2(-pet_exp)
                       pc.setqf("current_exp", pc.get_exp())
                   end                    
               end
           end
       end

       when button or info begin
           say_title("Nouvelle Habilité")
           say("Votre familier a débloquer une")
           say("nouvelle compétence pour en savoir")
           say("plus allez dans le menu 'Gestion Habilité'.[ENTER]")
           q.done()
       end

       -----***** Menu Pet
       when 20120.click begin PetSystem.ShowMenu(1) end
       when 20121.click begin PetSystem.ShowMenu(1) end
       when 20122.click begin PetSystem.ShowMenu(1) end
       when 20123.click begin PetSystem.ShowMenu(2) end
       when 20124.click begin PetSystem.ShowMenu(2) end
       when 20125.click begin PetSystem.ShowMenu(2) end
       when 20126.click begin PetSystem.ShowMenu(3) end
       when 20127.click begin PetSystem.ShowMenu(3) end
       when 20128.click begin PetSystem.ShowMenu(3) end
       when 20129.click begin PetSystem.ShowMenu(4) end
       when 20130.click begin PetSystem.ShowMenu(4) end
       when 20131.click begin PetSystem.ShowMenu(4) end
       when 20132.click begin PetSystem.ShowMenu(5) end
       when 20133.click begin PetSystem.ShowMenu(5) end
       when 20134.click begin PetSystem.ShowMenu(5) end
       when 20135.click begin PetSystem.ShowMenu(6) end
       when 20136.click begin PetSystem.ShowMenu(6) end
       when 20137.click begin PetSystem.ShowMenu(6) end
       when 20138.click begin PetSystem.ShowMenu(7) end
       when 20139.click begin PetSystem.ShowMenu(7) end
       when 20140.click begin PetSystem.ShowMenu(7) end
       when 20141.click begin PetSystem.ShowMenu(8) end
       when 20142.click begin PetSystem.ShowMenu(8) end
       when 20143.click begin PetSystem.ShowMenu(8) end
   end

Share this post


Link to post
  • 0
function get_horse_summon_prob_pct()

local skill_level=pc.get_skill_level(131)

if skill_level==1 then

return 15

elseif skill_level==2 then

return 20

elseif skill_level==3 then

return 30

elseif skill_level==4 then

return 40

elseif skill_level==5 then

return 50

elseif skill_level==6 then

return 60

elseif skill_level==7 then

return 70

elseif skill_level==8 then

return 80

elseif skill_level==9 then

return 90

elseif skill_level>=10 then

return 100

end

return 10

end

Share this post


Link to post
  • 0

Remplace

 

function get_horse_summon_prob_pct() 
           local prob = {10,15,20,30,40,50,60,70,80,90,100}
           local skill_level = pc.get_skill_level(131) + 1
           return prob[skill_level]
       end

 

par

 

function get_horse_summon_prob_pct() 
local skill_level=pc.get_skill_level(131) 
if skill_level==1 then 
return 15 
elseif skill_level==2 then 
return 20 
elseif skill_level==3 then 
return 30 
elseif skill_level==4 then 
return 40 
elseif skill_level==5 then 
return 50 
elseif skill_level==6 then 
return 60 
elseif skill_level==7 then 
return 70 
elseif skill_level==8 then 
return 80 
elseif skill_level==9 then 
return 90 
elseif skill_level>=10 then 
return 100 
end 
return 10	
end

Share this post


Link to post
  • 0

C'est pas la fonction "get_horse_summon_prob_pct" qui pose problème, elle marcherait quand même puisqu'on parcourt un simple

tableau de valeurs.

Share this post


Link to post
  • 0

C'est pourtant bien de là que ça vient (oui, je sais que c'est pas logique).

 

Personnellement la solution citée au dessus a résolu le problème sur ProleptylMT2 (ça fait déjà un petit moment).

Share this post


Link to post
  • 0

En fait je pense qu'il sort de l'index. Si tu veux un truc plus propre essaye ça, j'ai pas testé mais je pense que ça fonctionnera :

 

function get_horse_summon_prob_pct()

local prob = {10,15,20,30,40,50,60,70,80,90,100}

local skill_level = pc.get_skill_level(131) + 1

if skill_level >11 then

skill_level=11

end

return prob[skill_level]

end

Share this post


Link to post
  • 0

Bonsoir,

 

Le sujet contient la balise [glow=#800000][Résolu][/glow] ou reste sans réponse, de ce fait il a été déplacé dans la section "Résolu ou sans réponse".

 

Cordialement.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.