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 53003.use or 53002.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,[53003]=2,[53002]=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.."chemat.")
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