PHP Code:
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
when 20349.chat."Pferdebild verloren" with horse.get_grade()==1 and pc.countitem("50051")<1 begin
say("Du bist nicht sehr vorsichtig...")
say("Du solltest dein Pferdebild nicht zu oft verlieren!")
say("")
say_reward("Möchtest du für 100.000 Yang ein")
say_reward("neues Pferdebild kaufen?")
local b=select("Kaufen", "Nicht Kaufen")
if 1==b then
if pc.money>=10000 then
pc.changemoney(-10000)
say("Hier bitte.")
say("Verliere es so schnell nicht wieder!")
pc.give_item2("50051", 1)
else
say("Du hast nicht genug Yang...")
end
elseif 2==b then
else
say("UNKNOWN BUTTON ["..b.."]")
end
end
when 20349.chat."Waffen-Pferdebuch verloren" with horse.get_grade()==2 and pc.countitem("50052")<1 begin
say("Du bist nicht sehr vorsichtig...")
say("Du solltest dein Waffen-Pferdebuch nicht zu oft verlieren!")
say("")
say_reward("Möchtest du für 500.000 Yang ein")
say_reward("neues Waffen-Pferdebuch kaufen?")
local b=select("Kaufen", "Nicht Kaufen")
if 1==b then
if pc.money>=50000 then
pc.changemoney(-50000)
say("Hier bitte.")
say("Verliere es so schnell nicht wieder!")
pc.give_item2("50052", 1)
else
say("Du hast nicht genug Yang...")
end
elseif 2==b then
else
say("UNKNOWN BUTTON ["..b.."]")
end
end
when 20349.chat."Millitär-Pferdebuch verloren" with horse.get_grade()==3 and pc.countitem("50053")<1 begin
say("Du bist nicht sehr vorsichtig...")
say("Ein neues Millitär-Pferdebuch ist teuer")
say("und nicht leicht zu bekommen!")
say("")
say_reward("Möchtest du für 10.000.000 Yang ein")
say_reward("neues Waffen-Pferdebuch kaufen?")
local b=select("Kaufen", "Nicht Kaufen")
if 1==b then
if pc.money>=10000 then
pc.changemoney(-10000)
say("Hier bitte.")
say("Verliere es so schnell nicht wieder!")
pc.give_item2("50053", 1)
else
say("Du hast nicht genug Yang...")
end
elseif 2==b then
else
say("UNKNOWN BUTTON ["..b.."]")
end
end
when 50051.use with horse.get_grade()==0 begin
say("Du musst zuerst die Qualifikationsprüfung")
say("für Reiter bestehen, um dein Pferd zu rufen!")
end
when 50051.use with horse.get_grade()==1 begin
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_title("Information:")
say_reward("Das Pferd für Anfänger wurde gerufen.")
horse.summon()
else
say_title("Information:")
say_reward("Es hat nicht funktioniert, das")
say_reward("Anfängerpferd zu rufen.")
say_reward("Du kannst deine Chancen, das Pferd erfolgreich")
say_reward("zu rufen, verbessern, indem du deine Pferderuf-")
say_reward("Fertigkeit übst.")
end
pc.change_sp(-100)
else
say_title("Information:")
say_reward("Deine mentale Kraft reicht nicht aus, um ein")
say_reward("Pferd für forgeschrittene Reiter herbeizurufen.")
say_reward("Du benötigst dazu mindestens 100 Manapunkte.")
end
end
when 50051.use with horse.get_grade()==2 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50051.use with horse.get_grade()==3 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50052.use with horse.get_grade()==0 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50052.use with horse.get_grade()==1 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50052.use with horse.get_grade()==2 begin
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_title("Information:")
say_reward("Das Pferd für Reiter fortgeschrittenen Könnens")
say_reward("wurde gerufen.")
horse.summon()
else
say_title("Information:")
say_reward("Es hat nicht funktioniert, ein Pferd für")
say_reward("fortgeschrittene Reiter zu rufen.")
say_reward("Du kannst deine Chancen, das Pferd erfolgreich")
say_reward("zu rufen, verbessern, indem du deine Pferderuf-")
say_reward("Fertigkeit übst.")
end
pc.change_sp(-200)
else
say_title("Information:")
say_reward("Deine mentale Kraft reicht nicht aus, um ein")
say_reward("Pferd für forgeschrittene Reiter herbeizurufen.")
say_reward("Du benötigst dazu mindestens 200 Manapunkte.")
end
end
when 50052.use with horse.get_grade()==3 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50053.use with horse.get_grade()==0 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50053.use with horse.get_grade()==1 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50053.use with horse.get_grade()==2 begin
say("Um dein Pferd zu rufen benötigst du")
say("die richtige Lizenz!")
end
when 50053.use with horse.get_grade()==3 begin
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_title("Informacja:")
say_reward("Koñ zosta³ przywo³any.")
say("")
horse.summon()
else
say_title("Informacja:")
say_reward("Przywo³anie Konia nie powiod³o siê. ")
say_reward("Mo¿esz zwiêkszyæ szansê na pomyœlne ")
say_reward("przywo³anie poprzez trening swoich umiejêtnoœci. ")
say("")
end
pc.change_sp(-300)
else
say_title("Informacja:")
say_reward("Masz za ma³o Punktów Energii. Aby przywo³aæ ")
say_reward("Konia, potrzebujesz ich co najmniej 300. ")
say("")
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:")
say("Sie können ihr Haustier nicht rufen")
say("wenn ihr Pferd tot ist.[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.." wurde gerufen.")
else
PetSystem.PetBack()
end
end
-----*****
-----***** Roba varia per Pet
-----*****
when 30130.use begin
if not PetSystem.IsActive() then
chat("Sie müssen zuerst ihr Haustier rufen.")
return
end
local PetHasGotExp = PetSystem.GiveExp(PetSystem.GetActivePet(), PetSystem.ItemExp)
if not PetHasGotExp then
chat("Dein Haustier hat bereits maximale EXP.")
else
chat("Dein Haustier hat"..PetSystem.ItemExp.." Punkte Erfahrung erhalten.")
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("Haustier Features")
say("Dein Haustier hat neue Fähigkeiten")
say("entfesselt, welche du im Fertigkeiten")
say("Menü abrufen kannst.[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