Ich weis nicht ob die Funktion richtig ist, hab die aus lw geschrieben und möchte wissen ob es so geht
PHP Code:
--Datei: evil_ring.quest
--NCP: Lagerverwalter
--Items:Waffen,Rüstungen,Perlen
--Mobs: Flammengeister, Sensenmann, Flammenkönig*
quest evil_ring begin
state start begin
------------------------------------------>Ring<-------------------------------------|
when ID.use begin --ID Ring
----"12345678901234567890123456789012345678901234567890"|
say("Das ist der Böse Ring, wenn du es benutzt")
say("macht er dich Unsichtbar,")
say("nur für kurze zeit kannst du in den zustand sein,")
say("du verlierst nach und nach Leben")
say("bis du schließlich stirbst.")
local s=select("Unsichtbarkeit","Normal")
if s==1 then
local a=pc.get_max_hp()-2000 -- (-2000tp/s³) ---|Nicht ganz eindeutig
local times = get_time() + 3 ---|
pc.get_hp(a, times) ---|
-- affect.add_collect(apply.HP_REGEN, -2000, 3) ---|Andere Beispielmöglichkeit
command("Unsichtbarkeitscode") ---|
-- cmdchat(" ") ---|
chat("Du wurdest Unsichtbar, verlierst aber jede 3te") ---|
chat("secunde TP") ---|
else ---|
return ---|
end ---|
if s==2 then ---|
command("Unsichtbarkeitscode") ---|
-- cmdchat(" ") ---|
chat("Du bist wieder Sichtbar") ---|Nicht ganz eindeutig
else
return
end
set_state(mission)
end
------------------------------------------>Ring ENDE<--------------------------------|
end
state mission begin
when login or letter with pc.level >= 60 begin
send_letter("Wirf den Ring ins Feuer")
-- if pc.is_gm() then
-- return
-- end
end
------------------------------------------>Geisterstimme<----------------------------|
when button or info begin
say_title("Geisterstimme:")
say("")
----"12345678901234567890123456789012345678901234567890"|
say("Hallo Abenteurer, ich bin eine umherwanderne Seele,")
say("die keine Ruhe findet, ich suche Abenteurer")
say("die ein Speziellen gegenstand besitzen... du hast")
say("mein Schatz*! Ring*")
say("Du hast schon mitbekommen, dass der Ring Böse ist~")
say("Ihm verdanke ich auch mein derzeitigen zustand...")
say("drum sage ich dir wie man den vernichten kann.")
say("Höre gut zu.")
wait()
say("Die einzige möglichkeit den Ring loszuwerden")
say("ist ihn zu verbrennen, aus den lodernen Flammen")
say("wo er Ursprünglich kahm, soll er auch~")
say("zerstört werden.")
say("Was dannach Passiert kann ich dir nicht sagen~")
say("ich hab nicht Lange gelebt um das mitzuerleben.")
say("Versuche erstmal den ring zu verbrennen")
say("Geh und bezwinge Flammengeister")
say_reward("Besiege 200 Flammengeister")
clear_letter()
set_state(flammen)
end
end
state flammen begin
when letter begin
send_letter("Der Ring")
end
when button or info begin
say_title("Der Ring")
say("")
----"12345678901234567890123456789012345678901234567890"|
say("Die Geisterstimme sagte mir das ich den Ring")
say("vernichten soll, dafür solle ich Flammengeister~")
say("bezwingen.")
say("Er war ja nicht besonders schlau, er hätte den Ring")
say("nur abnehmen brauchen um sich wieder zu erholen.")
say("")
say_reward("Hoffentlich dauert das nicht zu lange..")
end
----------------------------------------->Flammengeister<--------------------------------------|
when 2202.kill begin --ID Flammengeister
local kill1 = number(1,200)
if kill1==200 then --200 kills
clear_letter()
pc.remove_item(vnum, menge) -- Ring wegnehmen
pc.give_item2(vnum, menge) -- Neuer Ring
chat("Da stimmt was nicht mit dem Ring!")
set_state(geist)
end
------------------------------------->Flammengeister kill ENDE<--------------------------------|
end
end
state geist begin
when letter begin
send_letter("Der Ring")
end
when button or info begin
say_title("Geisterstimme:")
say("")
----"12345678901234567890123456789012345678901234567890"|
say("Hallo, wie ich gemerkt habe hat sich was getahn")
say("Der Ring wurde nur Heiß, in stücke sehe ich es~")
say("nicht.")
say("Bezwinge den Teufel selbst um den Ring vernichten~")
say("zu können. Geh nun und besiege den Sensenmann,")
say("damit man den Ring zerstören kann.")
say_reward("Besiege 1 Sensenmann")
end
when .kill begin --ID vom Sensenmann
------------------------------------------>Sensenmann<-----------------------------------------|
say_title("Geisterstimme:")
say("")
say("Du hast in Besiegt, gut gemacht.")
clear_letter()
set_state(destroy_ring)
end
---------------------------------------->Sensenmann kill Ende<---------------------------------|
end
state destroy_ring begin
when letter begin
sen_letter("Letzte Aufgabe")
end
when button or info begin
say_title("Geisterstimme:")
say("")
----"12345678901234567890123456789012345678901234567890"|
say("Hallo, Abenteurer~")
say("Du musst noch eine Letzte kleinigkeit erledigen")
say("jetzt musst du den Ring nur noch ins Vulkansfeuer~")
say("werfen,")
say("solch eine hitze kann nur der Feuerkönig erzeugen")
say("Geh nun mein Junger Abenteurer.")
say_reward("Besiege 100 Flammenkönig*")
end
when ID.kill begin --ID vom Flammenkönig
----------------------------------------->Flammenkönig*<---------------------------------------|
local pct = number(1,100)
if pct==100 then
clear_letter()
pc.remove_item(vnum, menge) --Ring wegnehmen
say_title("Geisterstimme:")
say("")
----"12345678901234567890123456789012345678901234567890"|
say(""..pc.get_name().."Unglaublich du hast es geschafft")
say("Die erste Aufgabe war umsonst hmm...")
say("Ich bin nicht Allwissend, So nun da du mein Schatz*")
say("Zerstört hast und den Fluch gebrochen hast")
say("Werde ich dir was verraten, das bringt mich von den")
say("Toten auch nicht wieder, aber was solls.")
say("Scheibe dir das Passwort auf.")
say_reward(""..pc.get_name().." schreibt... .")
wait()
say_reward(""..pc.get_name().." hat ein Passwortschein erhalten")
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID des Scheine's
else
say(locale.years_greetings.not_enoguh_inventory)
end
set_state(lager)
end
------------------------------------------>Geisterstimme ENDE<---------------------------------|
---------------------------------------->Flammenkönig* kill ENDE<------------------------------|
end
state lager begin
when letter begin
send_letter("Passwortschein Abgeben")
local v = find_npc_by_vnum(ID) --ID vom Lagerverwalter
if v != 0 then
target.vid("targ", v, "Lagerverwalter")
end
end
when button or info begin
say_title("Passwortschein Abgeben")
say("")
say_reward("Zieh den Passwortschein auf dem Lagerverwalter")
end
when targ.target.click "Passwortschein" begin
target.delete("targ")
say_title("Lagerverwalter:")
say("")
say("ja, was möchtest du?")
say_reward("Tipp: Zieh den Passwortschein auf dem Lagerverwalter")
end
------------------------------------------>Lagerverwalter<-------------------------------------|
when warehouse_keeper.take with item.get_vnum(ID) begin --ID Passwortschein
-- if pc.is_gm() then
-- return
-- end
say_title("Lagerverwalter:")
say("")
----"12345678901234567890123456789012345678901234567890"|
say("Nanu was ist denn das?")
say("Ein Passwortschein?")
say("Junger Abenteurer weist du von wem das Ursprünglich")
say("gehörte?")
say("Das ist ein Passwortschein der Kaiserlichen Familie")
say("Ich sollte dies vor graumer Zeit aufbewahren")
say("Hier die Truhe von der Kaiserlichen Familie.")
pc.remove_item(ID) --ID vom Passwortschein
pc.give_item2(vnum, menge) --Kiste wegnehmen ID
say_reward("Du hast die Kaiserliche Truhe erhalten")
clear_letter()
set_state(kiste)
end
-------------------------------------->Lagerverwalter ENDE<------------------------------------|
end
------------------------------------------------>KISTE<----------------------------------------|
state kiste begin
when ID.use begin --ID Kiste
-- if pc.is_gm() then
-- return
-- end
say("Die Kaiserliche Truhe")
----"12345678901234567890123456789012345678901234567890"|
say_reward("Unglaublich, das ist keine Normale Kiste")
say("Wähle deine Belohnung mit Bedacht aus.")
-- say("Du darfst dir nur 2 sachen Auswählen")
say("Die Truhe verschwindet beim Öffnen")
-- if pc.getqf("kauf_punkt")==2 then
-- pc.remove_item(vnum, menge)
local s=select("Rüstungen,"Waffen","Sonstige","Beenden")
if s==1 then
local a=select("Krieger Rüstung","Ninja Rüstung","Sura Rüstung","Schamane Rüstung","Zurück")
if a==1 then --Krieger
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID Rüstung
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
elseif a==2 then --Ninja
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID Rüstung
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==3 then --Sura
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID Rüstung
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==4 then --Schamane
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID Rüstung
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==5 then
return
else
say_title("Unbekanter Fehler:")
say("")
say("Berichte es dem ServerAdmin")
end
elseif s==2 then
local a=select("Krieger Waffe","Ninja Waffe","Sura Waffe","Schamane Waffe","Zurück")
if a==1 then --Krieger
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID Waffe
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==2 then --Ninja
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID Waffe
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==3 then --Sura
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID Waffe
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==4 then --Schamane
if pc.enough_invenotry() then
pc.give_item2(vnum, menge) --ID Waffe
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==5 then
return
else
say_title("Unbekanter Fehler:")
say("")
say("Berichte es dem ServerAdmin")
end
elseif s==3 then
say_title("Wähle:")
say("")
local a=select("Weiße Perlen*","Blaue Perlen*","Rote Perlen*","Zurück")
if a==1 then
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID der Perle
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==2 then
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID der Perle
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==3 then
if pc.enough_inventory() then
pc.give_item2(vnum, menge) --ID der Perle
else
say(locale.years_greetings.not_enoguh_inventory)
end
pc.remove_item(vnum, menge) --Kiste wegnehmen ID
-- pc.setqf("kauf_punkt", pc.getqf("kauf_punkt")+1)
elseif a==4 then
return
else
say_title("Unbekanter Fehler:")
say("")
say("Berichte es dem ServerAdmin")
------------------------------------------------>KISTE ENDE<-------------------------------|
end
end
-- end
end
end
end
Oder diese Quest.