Einfach set_quest_state
Schau:
Schau:
Code:
quest biologe1_quest begin
state start begin
when login or levelup with pc.level >= 30 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
send_letter("Die Forschung des Biologen 1")
end
when button or info begin
say_title("Die Forschung des Biologen 1")
say("")
say("Der Biologe braucht deine Hilfe!")
say("Gehe zu ihm.")
say("")
end
when __TARGET__.target.click or
20084.chat."Die Orkzaehne" begin
target.delete("__TARGET__")
say_title("Biologe:")
say("Oh!?! Du hilfst mir?")
say("Gut ...")
say("Nachdem du mir die letzten male schon")
say("erfolgreich geholfen hast, hoff ich erneut")
say("auf deine Hilfe. Ich werde dich")
say("dafuer auch wieder angemessen belohnen.")
wait()
say_title("Biologe:")
say("Ich habe vor kurzem zu Ohren bekommen")
say("das sich die Orks im Lande breitmachen.")
say("Wie ich von einigen Jaegern gehoert habe")
say("lassen diese Orks nach ihrem Tot nur ihre")
say("Orkzaehne zurueck. Wuerdest du mir helfen")
say("und diese Orkzaehne fuer mich besorgen?")
wait()
say("Ich brauche 10 Orkzaehne um")
say("meine Forschung ein fuer alle mal zu beenden.")
say("Aber Orkzaehne sind sehr zerbrechlich")
say("es kann also sein das ein paar bei")
say("meinen Untersuchungen kaputt gehen.")
say("Bitte verstehen sie das ich alle 10")
say("brauche ich muss wissen was hinter der")
say("Legende steckt ...")
say("")
set_state(go_to_disciple)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end
state go_to_disciple begin
when letter begin
send_letter("Sammelauftrag: Orkzaehne")
end
when button or info begin
say_title("Orkzaehne")
say("")
say("Der Biologe gab euch den Auftrag")
say("10 Orkzaehne zu sammeln!")
say("Sammelt sie von den Orks im Orktal")
say("und gebt sie dem Biologen.")
say_item_vnum(30006)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin
if get_time() < pc.getqf("duration") then
say("")
say("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
say("")
return
end
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(30006)==0 then
say("Du hast keine!")
say("Du sollst mir aber welche bringen.")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 20084.chat."Die Orkzaehne!" with pc.count_item(30006) >0 begin
if get_time() > pc.getqf("duration") then
say_title("Biologe:")
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst es mich schnell ueberpruefen")
say("ob dieser Orkzahn in Ordnung ist ...")
say("")
pc.remove_item("30006", 1)
pc.setqf("duration",get_time()+60*60*1)-- Rechnung 60*60= 3600 Sekunden = 1 (Stunde)*1 = 1 Stunden
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=60
else
pass_percent=90
end
local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 9 then
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say(pass_percent)
say_title("Biologe:")
say("Hervorragend dieser Zahn ist in Ordnung")
say("Ihr habt bis jetzt ".." "..10-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche, damit ich die")
say("Forschungen abschließen kann.")
pc.setqf("drink_drug",0)
return
end
say_title("Biologe:")
say("Du hast mir die 10 Stueck gebracht...")
say("Nun bitte ich dich noch mir den")
say("Jinunggyis Seelenstein zu bringen du")
say("bekommst ihn von den Solzen Ork's im Orktal.")
say("Ich denke das du stark genug bist, dass")
say("zu schaffen.")
say("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
set_state(key_item)
return
else
say_title("Biologe:")
say("Es tut mir leid aber dieser Zahn ist bei")
say("den Untersuchungen zerbrochen.")
say("Bitte hole mir einen Neuen!")
say("")
pc.setqf("drink_drug",0)
return
end
else
say_title("Biologe:")
say("Oh entschuldige ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bringe mir den Zahn wenn die")
say("derzeitigen Studien beendet sind.")
say("")
return
end
end
end
state key_item begin
when letter begin
send_letter("Jinunggyis Seelenstein")
if pc.count_item(30220)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
end
end
when button or info begin
if pc.count_item(30220) >0 then
say_title("Jinunggyis Seelenstein")
say("")
say("Du haste den Jinunggyis Seelenstein!")
say("Gehe zu Biologe Chaegirab")
say("und gib ihn ab.")
return
end
say_title("Jinunggyis Seelenstein")
say("")
say("Ihr habt erfolgreich alle ")
say("10 Orkzaehne gesammelt ...")
say("Nun muesst ihr den Jinunggyis ")
say("Seelenstein bekommen.")
say_item_vnum(30220)
say("Ob dieser Seelenstein tatsaechlich")
say("eine Seele enthaelt?")
say("")
end
when 631.kill or
632.kill or
633.kill or
634.kill begin
local s = number(1, 250)
if s == 1 and pc.count_item(30220)==0 then
pc.give_item2(30220, 1)
send_letter("Jinunggyis Seelenstein")
end
end
when 20084.chat."Jinunggyis Seelenstein!" begin
say_title("Biologe:")
say("Du hast hart gekaempft ...")
say("Dafuer werde ich deine innere Staerke erhoehen!")
say("Ich werde dir ein Rezept geben mit dem")
say("du deine Innere Kraft verbessern kannst!")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Jinunggyis Seelenstein ...")
say("Gehe mit diesen Informationen zu Baek-Go.")
say("Er kann dir dabei helfen deine")
say("Staerke zu erhoehen.")
say("")
pc.remove_item(30220,1)
set_state(__reward)
end
end
state __reward begin
when letter begin
send_letter("Infos des Biologen")
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Baek-Go")
end
end
when button or info begin
say_title("Zugang zu den Informationen des Biologen!")
say("Um die Belohnen des Biologen zu erhalten")
say("und die innere Staerke zu verbessern")
say("suche Baek-Go auf.")
say("")
end
when __TARGET__.target.click or
20018.chat."Rezept zur Verbesserung der inneren Kraft" begin
target.delete("__TARGET__")
say("Baek-Go:")
say("Ich sehe ..")
say("Sie sagen das der Biologe sie schickte, ")
say("wegen eines Rezeptes halber?")
say("Zeigen sie mal her ...")
say("...")
say("")
say_reward("Du hast dem Biologen erfolgreich geholfen")
say_reward("Du erhaelst folgende Belohnungen:")
say_reward("")
say_reward("- Bewegungsgeschwindigkeit +10%")
say_reward("")
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
clear_letter()
set_quest_state("biologe2_quest", "run")
set_state(__complete)
end
end
state __giveup__ begin
when 20084.chat."Sie wollen es versuchen?" begin
say("Biologe:")
say("Sie wollen es versuchen?")
say("... und die Kraft die sie in sich tragen?")
say("Sie muessen sich hier anmelden, bevor sie die")
say("Aufgabe wieder aufnehmen koennen.")
say("Das kann eine Minute dauern ...")
end
end
state __complete begin
end
end
Code:
quest biologe2_quest begin
state start begin
end
state run begin
when login or levelup with pc.level >= 40 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
send_letter("Die Forschung des Biologen 2")
end
when button or info begin
say_title("Die Forschung des Biologen 2")
say("")
say("Der Biologe braucht erneut deine Hilfe!")
say("Gehe zu ihm.")
say("")
end
when __TARGET__.target.click or
20084.chat."Fluchsammlungen" begin
target.delete("__TARGET__")
say_title("Biologe Chaegirab:")
say("Oh!?! Schoen dass du da bist?")
say("Gut ...")
say("Nachdem du mir die letzten male schon")
say("erfolgreich geholfen hast, hoff ich nochmals")
say("auf deine Hilfe. Ich werde dich")
say("dafuer auch wieder angemessen belohnen.")
wait()
say_title("Biologe Chaegirab:")
say("Ich habe gehoert dass die Dunklen und")
say("Hohen Peiniger Fluchsammlungen mit sich tragen.")
say("Uriel lies mich wissen dass man mit diesen")
say("Fluchsammlungen bestimmte Hexereien durchführen")
say("kann. Wuerdest du mir helfen?,")
say("und diese Fluchsammlungen fuer mich sammeln?")
wait()
say("Ich brauche 15 Fluchsammlungen um")
say("meine Forschung ein fuer alle mal zu beenden.")
say("Aber Fluchsammlungen sind sehr Staubig")
say("es kann also sein das ich ein paar bei")
say("meinen Untersuchungen nicht entziffern kann.")
say("Ich brauche wirklich alle 15,")
say("ich muss einfach wissen was hinter den")
say("Hexereien steckt ...")
say("")
set_state(go_to_disciple)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end
state go_to_disciple begin
when letter begin
send_letter("Sammelauftrag: Fluchsammlungen")
end
when button or info begin
say_title("Fluchsammlungen")
say("")
say("Der Biologe gab euch den Auftrag")
say("15 Fluchsammlungen zu sammeln!")
say("Sammelt sie von den Peinigern im Orktal")
say("und gebt sie dem Biologen.")
say_item_vnum(30047)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin
if get_time() < pc.getqf("duration") then
say("")
say("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
say("")
return
end
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(30047)==0 then
say("Du hast keine!")
say("Bring mir bitte welche.")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 20084.chat."Die Fluchsammlungen!" with pc.count_item(30047) >0 begin
if get_time() > pc.getqf("duration") then
say_title("Biologe Chaegirab:")
say("Einen Augenblick ...")
say("Vielen Dank,")
say("lass mich schnell ueberpruefen")
say("ob diese Fluchsammlung entzifferbar ist ...")
say("")
pc.remove_item("30047", 1)
pc.setqf("duration",get_time()+60*60*1)-- Rechnung 60*60= 3600 Sekunden = 1 (Stunde)*1 = 1 Stunden
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=60
else
pass_percent=90
end
local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 14 then
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say(pass_percent)
say_title("Biologe Chaegirab:")
say("Hervorragend diese Fluchsammlung kann ich entziffern")
say("Du hast bis jetzt ".." "..15-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche, damit ich die")
say("Forschungen abschließen kann.")
pc.setqf("drink_drug",0)
return
end
say_title("Biologe Chaegirab:")
say("Du hast mir die 15 Stueck gebracht...")
say("Nun bitte ich dich noch mir den")
say("Tempel Seelenstein zu bringen du")
say("bekommst ihn von den Solzen dunkl. Fanatikern,")
say("Stolze dunkl. Kämpfer und Stolze dunkl. Oberst")
say("im Hwang-Tempel. Ich denke das du")
say("stark genug bist, dass zu schaffen.")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
set_state(key_item)
return
else
say_title("Biologe Chaegirab:")
say("Es tut mir leid aber diese Fluchsammlung konnte ich")
say("bei den Untersuchungen nicht entziffern.")
say("Bitte hole mir eine Neue!")
say("")
pc.setqf("drink_drug",0)
return
end
else
say_title("Biologe Chaegirab:")
say("Oh entschuldige ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bringe mir die Fluchsammlung wenn die")
say("derzeitigen Studien beendet sind.")
say("")
return
end
end
end
state key_item begin
when letter begin
send_letter("Tempel Seelenstein")
if pc.count_item(30221)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
end
end
when button or info begin
if pc.count_item(30221) >0 then
say_title("Tempel Seelenstein")
say("")
say("Du haste den Tempel Seelenstein!")
say("Gehe zu Biologe Chaegirab")
say("und gib ihn ab.")
return
end
say_title("Tempel Seelenstein")
say("")
say("Du hast erfolgreich alle ")
say("15 Fluchsammlungen gesammelt ...")
say("Nun musst du den Tempel- ")
say("Seelenstein bekommen.")
say_item_vnum(30221)
say("Ob dieser Seelenstein wirklich")
say("von den verstorbenen Seelen aus")
say("dem Tempel Stammt?")
end
when 731.kill or
732.kill or
734.kill or
733.kill begin
local s = number(1, 250)
if s == 1 and pc.count_item(30221)==0 then
pc.give_item2(30221, 1)
send_letter("Tempel Seelenstein")
end
end
when 20084.chat."Tempel Seelenstein!" begin
say_title("Biologe Chaegirab:")
say("Du hast hart gekaempft ...")
say("Dafuer werde ich deine innere Staerke erhoehen!")
say("Ich werde dir ein Rezept geben mit dem")
say("du deine Innere Kraft verbessern kannst!")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Tempel Seelenstein ...")
say("Gehe mit diesen Informationen zu Baek-Go.")
say("Er kann dir dabei helfen deine")
say("Staerke zu erhoehen.")
say("")
pc.remove_item(30221,1)
set_state(__reward)
end
end
state __reward begin
when letter begin
send_letter("Infos des Biologen")
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Baek-Go")
end
end
when button or info begin
say_title("Zugang zu den Informationen des Biologen!")
say("Um die Belohnen des Biologen zu erhalten")
say("und die innere Staerke zu verbessern")
say("suche Baek-Go auf.")
say("")
end
when __TARGET__.target.click or
20018.chat."Rezept zur Verbesserung der inneren Kraft" begin
target.delete("__TARGET__")
say("Baek-Go:")
say("Ich sehe ..")
say("Sie sagen das der Biologe sie schickte, ")
say("wegen eines Rezeptes halber?")
say("Zeigen sie mal her ...")
say("...")
say("")
say_reward("Du hast dem Biologen erfolgreich geholfen")
say_reward("Du erhaelst folgende Belohnungen:")
say_reward("")
say_reward("- Angriffsgeschwindigkeit +5%")
say_reward("")
affect.add_collect(apply.ATT_SPEED, 5, 60*60*24*365*60)
clear_letter()
set_state(__complete)
end
end
state __giveup__ begin
when 20084.chat."Sie wollen es versuchen?" begin
say("Biologe Chaegirab:")
say("Sie wollen es versuchen?")
say("... und die Kraft die sie in sich tragen?")
say("Sie muessen sich hier anmelden, bevor sie die")
say("Aufgabe wieder aufnehmen koennen.")
say("Das kann eine Minute dauern ...")
end
end
state __complete begin
end
end