INFINITY METIN2 FORUM
www.metin2gods.ro
INFINITY METIN2 FORUM

Metin2 questuri, misiuni, servere private, metin2 gods, pvp, pvm , hard pvm, hard pvp, playeri metin2, tutoriale, ghiduri, implementari servere , diff-uri, pong, decriptare client, php, biolog, hack-uri,cum rezolv eroarea


Nu sunteti conectat. Conectati-va sau inregistrati-va

Quest official pets/cal [100% romana]

Vezi subiectul anterior Vezi subiectul urmator In jos  Mesaj [Pagina 1 din 1]

1 Quest official pets/cal [100% romana] la data de Sam Feb 22, 2014 8:49 pm

Am vazut un tutorial premium cu quest-ul in franceza, l-am tradus pentru server-ul meu dar nu mi-a functionat diff-ul si am zis sa-l postez sa nu se piarda quest-ul .. 

Aici quest-ul :
COD: SELECTAŢI TOT
Cod:
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
      
      -----*****
      -----***** Traducere MonsterGames
      -----*****
      
      -----***** Cal începător
      when 20349.chat."Am pierdut imaginea cal(începător)!" with horse.get_grade()==1 and pc.countitem("50051")<1 begin
         ---                                                   l
         say_title("Grăjdar:")
         say("Aţi pierdut imaginea pentru cal-ul dvs. începător. Pot să-ţi ofer")
         say("una nouă pentru doar 100.000 Yang.")
         local b=select("De acord!", "Nu doresc.")
         if 1==b then
            if pc.money>=100000 then
               pc.changemoney(-100000)
               ---                                                   l
               say_title("Grăjdar:")
               say("Aţi primit noua imagine pentru cal.")
               pc.give_item2("50051", 1)
            else
               ---                                                   l
               say_title("Grăjdar:")
               say("Nu aveţi îndeajuns yang pentru operaţia dorită.")
            end
         elseif 2==b then
         else
            say("UNKNOWN BUTTON ["..b.."]")
         end
      end
      
      -----***** Cal armat
      when 20349.chat."Am pierdut imaginea cal(armat)!" with horse.get_grade()==2 and pc.countitem("50052")<1 begin
         ---                                                   l
         say_title("Grăjdar:")
         say("Aţi pierdut imaginea pentru cal-ul dvs. armat! Pot să")
         say("vă ofer una nouă pentru doar 500.000 Yang.")
         local b=select("De acord!", "Nu doresc.")
         if 1==b then
            if pc.money>=500000 then
               pc.changemoney(-500000)
               ---                                                   l
               say_title("Grăjdar:")
               say("Aţi primit noua imagine pentru cal.")
               pc.give_item2("50052", 1)
            else
               ---                                                   l
               say_title("Grăjdar:")
               say("Nu aveţi destul yang pentru operaţia dorită.")
            end
         elseif 2==b then
         else
            say("UNKNOWN BUTTON ["..b.."]")
         end
      end
      
      -----***** Cal militar
      when 20349.chat."Am pierdut imaginea cal(militar)!" with horse.get_grade()==3 and pc.countitem("50053")<1 begin
         ---                                                   l
         say_title("Grăjdar:")
         say("Aţi pierdut imaginea pentru cal-ul dvs. militar! Pot să")
         say("vă ofer una nouă pentru doar 1.000.000 Yang.")
         local b=select("De acord", "Nu doresc.")
         if 1==b then
            if pc.money>=1000000 then
               pc.changemoney(-1000000)
               ---                                                   l
               say_title("Grăjdar:")
               say("Aţi primit noua imagine pentru cal.")
               pc.give_item2("50053", 1)
            else
               ---                                                   l
               say_title("Le palefrenier:")
               say("Nu aveţi destul yang pentru operaţia dorită.")
            end
         elseif 2==b then
         else
            say("UNKNOWN BUTTON ["..b.."]")
         end
      end
      
      -----*****
      -----***** Utilizarea animalului in mod greşit
      -----*****
      
      when 50051.use or 50052.use or 50053.use with horse.get_grade() == 0 begin
         say_title("Grăjdar:")
         say("Trebuie să aveţi un cal pentru a efectua această operaţiune.[ENTER]")
      end
      
      when 50051.use with horse.get_grade() == 2 or horse.get_grade() == 3 begin
         say_title("Grăjdar:")
         say("Cal-ul nu a putut veni,chemaţi-l din nou.[ENTER]")
      end

      when 50052.use with horse.get_grade() == 1 or horse.get_grade() == 3 begin
         say_title("Grăjdar:")
         say("Cal-ul nu a putut veni,chemaţi-l din nou.[ENTER]")
      end
      
      when 50053.use with horse.get_level() != 21 begin
         say_title("Grăjdar:")
         say("Cal-ul nu a putut veni,chemaţi-l din nou.[ENTER]")
      end   

      -----*****
      -----***** Utilizarea animalului in mod corect
      -----*****
      
      -----***** Cal începător
      when 50051.use with horse.get_grade() == 1 begin
         say_title("Grăjdar:")   
         if PetSystem.IsPetLevel(horse.get_level()) then
            say("Ai făcut ceva cu o comandă de GM.")
            say("Setaţi nivel-ul la cal,")
            say("şi încercaţi din nou.[ENTER]")            
            return               
         end            
         if pc.getsp() >= 100 then            
            if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
               say_reward("Cal-ul pentru începători a venit cu succes.")
               horse.summon()
            else
               say_reward("Din păcate nu aţi reuşit să chemaţi cal-ul începător.")
               say_reward("Încercaţi să-l chemaţi din nou.")
               say_reward("Pentru a îmbunătăţi chemarea cal-ului,")
               say_reward("citiţi cărţi de echitaţie.")
            end
            pc.change_sp(-100)
         else
            say_reward("Nu aveţi destulă mană pentru această operaţiune.")
            say_reward("Pentru a chema un cal începător,")
            say_reward("aveţi nevoie de 100SP.")
         end
      end   
      
      -----***** Cal avansat
      when 50052.use with horse.get_grade() == 2 begin
         say_title("Grăjdar:")
         if PetSystem.IsPetLevel(horse.get_level()) then
            say("Ai făcut ceva cu o comandă de GM.")
            say("Setaţi nivel-ul la cal,")
            say("şi încercaţi din nou.[ENTER]")            
            return               
         end               
         if pc.getsp() >= 200 then            
            if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
               say_reward("Cal-ul pentru avansaţi a venit cu succes.")
               horse.summon()
            else
               say_reward("Din păcate nu aţi reuşit să chemaţi cal-ul pentru avansaţi.")
               say_reward("Încercaţi să-l chemaţi din nou.")
               say_reward("Pentru a îmbunătăţi chemarea cal-ului,")
               say_reward("citiţi cărţi de echitaţie.")
            end
            pc.change_sp(-200)
         else
            say_reward("Nu aveţi destulă mană pentru această operaţiune.")
            say_reward("Pentru a chema un cal pentru avansaţi,")
            say_reward("aveţi nevoie de 200SP.")
         end
      end
      
      -----***** Cal expert
      when 50053.use with horse.get_level() == 21 begin
         say_title("Grăjdar:")   
         if PetSystem.IsPetLevel(horse.get_level()) then
            say("Ai făcut ceva cu o comandă de GM.")
            say("Setaţi nivel-ul la cal,")
            say("şi încercaţi din nou.[ENTER]")            
            return               
         end               
         if pc.getsp() >= 300 then            
            if number(1, 100) <= horse_summon.get_horse_summon_prob_pct() then
               say("Cal-ul pentru experţi a venit cu succes.[ENTER]")
               horse.summon()
            else
               say_reward("Din păcate nu aţi reuşit să chemaţi cal-ul pentru avansaţi.")
               say_reward("Încercaţi să-l chemaţi din nou.")
               say_reward("Pentru a îmbunătăţi chemarea cal-ului,")
               say_reward("citiţi cărţi de echitaţie.")
            end
            pc.change_sp(-300)
         else
               say_reward("Din păcate nu aveţi destulă mană pentru această operaţiune. ")
               say_reward("Pentru a chema un cal pentru avansaţi,")
               say_reward("aveţi nevoie de o cantitate mai mare de mană.")
               say_reward("Aveţi nevoie de 300SP.")
            end
      end
      
      -----***** Quest pet-uri
      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("Informaţie:")
               say("Nu puteţi chema un animal mort.")
               say("Înviaţi animal-ul şi apoi chemaţi-l din nou.[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
      
      -----*****
      -----***** Donaţie experienţă pet-uri
      -----*****
      
      when 30130.use begin
         if not PetSystem.IsActive() then
            chat("Pentru a dona experienţă trebuie să chemaţi animal-ul de companie.")
            return
         end
         local PetHasGotExp = PetSystem.GiveExp(PetSystem.GetActivePet(), PetSystem.ItemExp)
         if not PetHasGotExp then
            chat("Animal-ul dvs. de companie are nivel-ul maxim.")
         else
            chat("Animal-ul dvs. de companie a primit "..PetSystem.ItemExp.." puncte de experienţă.")
            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("Noi indemânări!")
         say("Pentru a debloca noi abilităţi")
         say("animal-ului tău de companie trebuie să aveţi o nouă calificare.")
         say("Pentru mai multe informaţii merge-ţi la Meniul Animalelor de Companie.[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
end



Rest-ul tutorial-ului: [ltr][Trebuie sa fiti inscris si conectat pentru a vedea acest link] ... omment-206[/ltr]

Vezi profilul utilizatorului

Vezi subiectul anterior Vezi subiectul urmator Sus  Mesaj [Pagina 1 din 1]

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum