ich poste jetzt hier mal einen Quest, den ich vor langer Zeit mal geschrieben habe.
PHP Code:
-----------------------------------
-- Baek-Go´s Auftrag
-- by Shadoka
-----------------------------------
quest help_doctor begin
state start begin
when login or levelup with pc.get_level() >= 75 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Doktorsuche")
end
send_letter("Der Doktor sucht dich(Befreiung)")
end
when button or info begin
say_title("Der Doktor sucht dich!")
say("")
say("Man munkelt, dass der Doktor Probleme mit ")
say("einigen Monstern hat!")
say("Wenn du ihm deine Hilfe anbieten würdest, ")
say("könnte was dabei für dich herausspringen...")
end
when __TARGET__.target.click or
20018.chat."Befreiung" begin
target.delete("__TARGET__")
say("Doktor:")
say("")
say("Ich war vor kurzen in verschiedenen Gebieten zum")
say("Kräutersammeln und da habe ich gemerkt, dass die")
say("Menge der Monster deutlich zugenommen haben!")
say("Tatsächlich waren es sogar so viele Monster, ")
say("dass ich nicht in der Lage war meine Kräuter")
say("zu sammeln.")
say("Könntest du diese Monster etwas dezimieren?")
wait()
say("Das ist ja großartig!")
say("Wenn es dir gelingt diese Monster zu besiegen, ")
say("winkt dir eine große Belohnung!")
say("")
set_state(killmonster)
pc.setqf("state", 0)
q.set_counter("Flammenkrieger", 0)
end
end
state killmonster begin
when letter begin
send_letter("Töte die Flammenkrieger")
end
when button or info begin
say_title("Töte die Flammenkrieger!")
say("Der Doktor gab dir die Aufgabe verschiedene Monster ")
say("zu töten. Das erste Ziel befindet sich im Feuerland, ")
say("es sind die Flammenkrieger.")
say("Töte 15 von ihnen.")
say_reward("Wenn du sie erledigt hast, komme zurück.".." "..pc.getqf("state").."hast du schon")
end
when 2205.kill begin
local count = pc.getqf("state") + 1
if count < 16 then
pc.setqf("state", count)
q.set_counter("Flammenkrieger", 15 - count)
if count >= 15 then
set_state(gotodoctor)
end
end
end
end
state gotodoctor begin
when letter begin
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Doktorsuche2")
end
send_letter("Gehe zurück zum Doktor(1. Mission erfolgreich)")
end
when button or info begin
say_title("Gehe zurück zum Doktor")
say("Du hast alle Flammenkrieger getötet.")
say("Der Doktor wartet auf diese freudige Nachricht!")
end
when __TARGET__.target.click or
20018.chat."1. Mission erfolgreich" begin
target.delete("__TARGET__")
say("Doktor:")
say("")
say("Ahh...da bist du ja wieder. Wie lief es?")
say("...")
say("..")
say(".")
say("Du konntest alle erledigen?")
say("Großartig, dann kann ja dort wieder Kräuter")
say("sammeln!")
wait()
say("Allerdings gibt es noch andere Gebiete, die ")
say("deiner Aufmerksamkeit bedürfen.")
say("Auf diesem Papier steht dein nächstes Reiseziel!")
say("Bis denne danne")
say("")
set_state(killmonster2)
pc.setqf("state", 0)
q.set_counter("Eisgolems")
end
end
state killmonster2 begin
when letter begin
send_letter("Töte die Eisgolems")
end
when button or info begin
say_title("Töte die Eisgolems!")
say("Der Doktor hat dich in ein weiteres Gebiet ausgesandt, ")
say("um der dortigen Monsterplage Herr zu werden.")
say("Dieses Mal wirst du in das Eisland geschickt um die ")
say("Eisgolems zu besiegen.")
say("")
say_reward("Du benötigst 20 von ihnen.".." "..pc.getqf("state").."hast du schon")
end
when 1107.kill begin
local count = pc.getqf("state") + 1
if count < 21 then
pc.setqf("state", count)
q.set_counter("Eisgolems", 20 - count)
if count >= 20 then
set_state(gotodoctor2)
end
end
end
end
state gotodoctor2 begin
when letter begin
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Doktorsuche3")
end
send_letter("Gehe zurück zum Doktor(2. Mission erfolgreich)")
end
when button or info begin
say_title("Gehe zurück zum Doktor")
say("Du hast alle Eisgolems getötet.")
say("Der Doktor wartet auf diese freudige Nachricht!")
end
when __TARGET__.target.click or
20018.chat."2. Mission erfolgreich" begin
target.delete("__TARGET__")
say("Doktor:")
say("")
say("Hast du alle Eisgolems erledigt?")
say("...")
say("..")
say(".")
say("Na wunderbar!")
say("Nun kann ich vorerst wieder überall hin um Kräuter")
say("zu sammeln.")
say("Nun lass mich deine Belohnung holen.")
wait()
clear_letter()
set_quest_state("levelup", "run")
set_state(__complete)
end
end
state __complete begin
end
end
PS:Getestet und sollte auch funktionieren.
MfG