Hier Release ich meine Quest-Sammlung.
mehrereslots.quest : Mehrere Slots in einem NPC
mehrereshops begin
state start begin
when 9003.chat."Itemshop" begin
npc.open_shop(3)
setskin(NOWINDOW)
end
when 9003.chat."Tränke" begin
npc.open_shop(14)
setskin(NOWINDOW)
end
when 9003.chat."Bücher" begin
npc.open_shop(15)
setskin(NOWINDOW)
end
when 9001.chat."Pfeile" begin
npc.open_shop(16)
setskin(NOWINDOW)
end
when 9001.chat."Waffen" begin
npc.open_shop(17)
setskin(NOWINDOW)
end
when 9003.chat."Uppitems1" begin
npc.open_shop(18)
setskin(NOWINDOW)
end
when 9003.chat."Uppitems2" begin
npc.open_shop(19)
setskin(NOWINDOW)
end
end
end
state start begin
when 9003.chat."Itemshop" begin
npc.open_shop(3)
setskin(NOWINDOW)
end
when 9003.chat."Tränke" begin
npc.open_shop(14)
setskin(NOWINDOW)
end
when 9003.chat."Bücher" begin
npc.open_shop(15)
setskin(NOWINDOW)
end
when 9001.chat."Pfeile" begin
npc.open_shop(16)
setskin(NOWINDOW)
end
when 9001.chat."Waffen" begin
npc.open_shop(17)
setskin(NOWINDOW)
end
when 9003.chat."Uppitems1" begin
npc.open_shop(18)
setskin(NOWINDOW)
end
when 9003.chat."Uppitems2" begin
npc.open_shop(19)
setskin(NOWINDOW)
end
end
end
Warpring.quest : Warpring von Harmonia3
quest warpring begin
state start begin
when 70007.use begin
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local empire = pc.get_empire()
local selectmap = select("Map1","Map2","Orktal","Wüste","Eisland","F euerland","Weiter","Abbrechen")
if selectmap == 8 then
return
elseif selectmap == 7 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local selectmap2 = select("Dämonenturm","Geisterwald","Roter Wald","Spinnendungeon","Grotte der Verbannung","Metinmap","Abbrechen")
if selectmap2 == 7 then
return
elseif selectmap2 == 1 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(590500,110800)
elseif selectmap2 == 2 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local geisterselect = select("Anfang","Ende","Abbrechen")
if geisterselect == 3 then
return
elseif geisterselect == 1 then
pc.warp(290500,5700)
elseif geisterselect == 2 then
pc.warp(286400,44200)
end
elseif selectmap2 == 3 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local roterselect = select("Anfang","Ende","Abbrechen")
if roterselect == 3 then
return
elseif roterselect == 1 then
pc.warp(1119900,70800)
elseif geisterselect == 2 then
pc.warp(1119100,7700)
end
elseif selectmap2 == 4 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(91700, 525300)
elseif selectmap2 == 5 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(27600, 142700)
elseif selectmap2 == 6 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(819200, 716800)
end
elseif selectmap == 1 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map1select == 4 then
return
elseif map1select == 1 then
pc.warp(474300, 954800)
elseif map1select == 2 then
pc.warp(63800, 166400)
elseif map1select == 3 then
pc.warp(959900, 269200)
end
elseif selectmap == 2 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local map2select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map2select == 4 then
return
elseif map2select == 1 then
pc.warp(353100, 882900)
elseif map2select == 2 then
pc.warp(145500, 240000)
elseif map2select == 3 then
pc.warp(863900, 246000)
end
elseif selectmap == 3 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local otselect = select("Anfang","Mitte","Abbrechen")
if otselect == 3 then
return
elseif otselect == 1 then
if empire == 1 then
pc.warp(402100, 673900)
elseif empire == 2 then
pc.warp(270400, 739900)
elseif empire == 3 then
pc.warp(321300, 808000)
end
elseif otselect == 2 then
pc.warp(332800, 745600)
end
elseif selectmap == 4 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local wuesteselect = select("Anfang","Mitte","Abbrechen")
if wuesteselect == 3 then
return
elseif wuesteselect == 1 then
if empire == 1 then
pc.warp(217800, 627200)
elseif empire == 2 then
pc.warp(221900, 502700)
elseif empire == 3 then
pc.warp(344000, 502500)
end
elseif wuesteselect == 2 then
pc.warp(296800, 547100)
end
elseif selectmap == 5 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local eisselect = select("Anfang","Mitte","Abbrechen")
if eisselect == 3 then
return
elseif eisselect == 1 then
if empire == 1 then
pc.warp(434200, 290600)
elseif empire == 2 then
pc.warp(375200, 174900)
elseif empire == 3 then
pc.warp(491800, 173600)
end
elseif eisselect == 2 then
pc.warp(436500, 215400)
end
elseif selectmap == 6 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local feuerselect = select("Anfang","Mitte","Abbrechen")
if feuerselect == 3 then
return
elseif feuerselect == 1 then
if empire == 1 then
pc.warp(599400, 756300)
elseif empire == 2 then
pc.warp(597800, 622200)
elseif empire == 3 then
pc.warp(730700, 689800)
end
elseif feuerselect == 2 then
pc.warp(600800, 687100)
end
end
end
end
end
state start begin
when 70007.use begin
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local empire = pc.get_empire()
local selectmap = select("Map1","Map2","Orktal","Wüste","Eisland","F euerland","Weiter","Abbrechen")
if selectmap == 8 then
return
elseif selectmap == 7 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local selectmap2 = select("Dämonenturm","Geisterwald","Roter Wald","Spinnendungeon","Grotte der Verbannung","Metinmap","Abbrechen")
if selectmap2 == 7 then
return
elseif selectmap2 == 1 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(590500,110800)
elseif selectmap2 == 2 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local geisterselect = select("Anfang","Ende","Abbrechen")
if geisterselect == 3 then
return
elseif geisterselect == 1 then
pc.warp(290500,5700)
elseif geisterselect == 2 then
pc.warp(286400,44200)
end
elseif selectmap2 == 3 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local roterselect = select("Anfang","Ende","Abbrechen")
if roterselect == 3 then
return
elseif roterselect == 1 then
pc.warp(1119900,70800)
elseif geisterselect == 2 then
pc.warp(1119100,7700)
end
elseif selectmap2 == 4 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(91700, 525300)
elseif selectmap2 == 5 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(27600, 142700)
elseif selectmap2 == 6 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
pc.warp(819200, 716800)
end
elseif selectmap == 1 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map1select == 4 then
return
elseif map1select == 1 then
pc.warp(474300, 954800)
elseif map1select == 2 then
pc.warp(63800, 166400)
elseif map1select == 3 then
pc.warp(959900, 269200)
end
elseif selectmap == 2 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local map2select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map2select == 4 then
return
elseif map2select == 1 then
pc.warp(353100, 882900)
elseif map2select == 2 then
pc.warp(145500, 240000)
elseif map2select == 3 then
pc.warp(863900, 246000)
end
elseif selectmap == 3 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local otselect = select("Anfang","Mitte","Abbrechen")
if otselect == 3 then
return
elseif otselect == 1 then
if empire == 1 then
pc.warp(402100, 673900)
elseif empire == 2 then
pc.warp(270400, 739900)
elseif empire == 3 then
pc.warp(321300, 808000)
end
elseif otselect == 2 then
pc.warp(332800, 745600)
end
elseif selectmap == 4 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local wuesteselect = select("Anfang","Mitte","Abbrechen")
if wuesteselect == 3 then
return
elseif wuesteselect == 1 then
if empire == 1 then
pc.warp(217800, 627200)
elseif empire == 2 then
pc.warp(221900, 502700)
elseif empire == 3 then
pc.warp(344000, 502500)
end
elseif wuesteselect == 2 then
pc.warp(296800, 547100)
end
elseif selectmap == 5 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local eisselect = select("Anfang","Mitte","Abbrechen")
if eisselect == 3 then
return
elseif eisselect == 1 then
if empire == 1 then
pc.warp(434200, 290600)
elseif empire == 2 then
pc.warp(375200, 174900)
elseif empire == 3 then
pc.warp(491800, 173600)
end
elseif eisselect == 2 then
pc.warp(436500, 215400)
end
elseif selectmap == 6 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local feuerselect = select("Anfang","Mitte","Abbrechen")
if feuerselect == 3 then
return
elseif feuerselect == 1 then
if empire == 1 then
pc.warp(599400, 756300)
elseif empire == 2 then
pc.warp(597800, 622200)
elseif empire == 3 then
pc.warp(730700, 689800)
end
elseif feuerselect == 2 then
pc.warp(600800, 687100)
end
end
end
end
end
newplayer.quest : Gibt im Chat bekannt wenn sich ein neuer Spieler einloggt.
quest newplayer begin
state start begin
when login with pc.get_playtime() == 0 begin
notice_all("Servername hat einen neuen Spieler: "..pc.get_name())
end
end
end
state start begin
when login with pc.get_playtime() == 0 begin
notice_all("Servername hat einen neuen Spieler: "..pc.get_name())
end
end
end
Mülleimer.quest : Entfernt ein Item wenn man es auf ihn zieht
quest eimer begin
state start begin
when 30000.take with item.get_id() begin
vnum = item.get_vnum()
say_title("Mülleimer")
say_item_vnum(vnum)
say("Willst du wirklich "..item.get_name().." zerstören?")
local s = select("Ja","Nein")
if s == 1 then
pc.remove_item(vnum)
elseif s == 2 then
return
end
end
when 30000.chat begin
say_title("Mülleimer")
say("Bei Servername gibt es auch einen Mülleimer")
say("bei diesem Mülleimer könnt ihr alle Sachen zerstören lassen.")
say("Zieht einfach das Item auf mich drauf !.")
end
end
end
state start begin
when 30000.take with item.get_id() begin
vnum = item.get_vnum()
say_title("Mülleimer")
say_item_vnum(vnum)
say("Willst du wirklich "..item.get_name().." zerstören?")
local s = select("Ja","Nein")
if s == 1 then
pc.remove_item(vnum)
elseif s == 2 then
return
end
end
when 30000.chat begin
say_title("Mülleimer")
say("Bei Servername gibt es auch einen Mülleimer")
say("bei diesem Mülleimer könnt ihr alle Sachen zerstören lassen.")
say("Zieht einfach das Item auf mich drauf !.")
end
end
end
Banker.quest : Eine Bank die unendlich Yang speichert.
Spoiler]quest banker begin
state start begin
when 9004.chat."Bank" begin
banker.bankdialog()
end
function bankdialog()
say_title("Banker:")
say("Ich biete dir die Möglichkeit, dein Yang")
say("Zinsenfrei aufzubewahren.")
say("Du kannst jedoch maximal einen Betrag")
say("von 4.611.686.016.279.904.256 Yang")
say("aufbewahren.")
say("")
local action = select("Yang einzahlen", "Yang auszahlen", "Abbrechen")
if action == 1 then
say_title("Banker:")
if pc.gold < 1 then
say("Du hast kein Yang.")
say("")
return
end
say("Du hast "..pc.gold.." Yang.")
say("Wieviel möchtest du davon einzahlen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > pc.gold then
yang = pc.gold
end
pc.changegold(-yang)
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
if saved_rest + yang > 2147483647 then
pc.setqf("saved_signed_longs", saved_signed_longs + 1)
pc.setqf("saved_rest", saved_rest + yang - 2147483647)
else
pc.setqf("saved_rest", saved_rest + yang)
end
say_title("Banker:")
say("Es wurden "..yang.." Yang eingezahlt.")
say("")
return
elseif action == 2 then
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
local saved_yang = saved_signed_longs*2147483647+saved_rest
say_title("Banker:")
if saved_yang < 1 then
say("Ich habe kein Geld mehr von dir.")
say("")
return
end
say("Ich kann dir das Geld, das du eingezahlt hast,")
say("nun wieder auszahlen.")
say("")
say_reward("Kontostand: "..saved_yang.." Yang")
say("")
say("Wieviel Yang möchtest du ausgezahlt bekommen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > saved_yang then
yang = saved_yang
end
if pc.gold + yang > 1899999999 then
yang = 1899999999 - pc.gold
end
if yang > saved_yang then
yang = saved_yang
end
if saved_rest - yang < 0 then
pc.setqf("saved_signed_longs", saved_signed_longs - 1)
pc.setqf("saved_rest", 2147483647 - yang + saved_rest)
else
pc.setqf("saved_rest", saved_rest - yang)
end
pc.changegold(yang)
say_title("Banker:")
say("Es wurden "..yang.." Yang ausgezahlt.")
say("")
end
end
end
end
state start begin
when 9004.chat."Bank" begin
banker.bankdialog()
end
function bankdialog()
say_title("Banker:")
say("Ich biete dir die Möglichkeit, dein Yang")
say("Zinsenfrei aufzubewahren.")
say("Du kannst jedoch maximal einen Betrag")
say("von 4.611.686.016.279.904.256 Yang")
say("aufbewahren.")
say("")
local action = select("Yang einzahlen", "Yang auszahlen", "Abbrechen")
if action == 1 then
say_title("Banker:")
if pc.gold < 1 then
say("Du hast kein Yang.")
say("")
return
end
say("Du hast "..pc.gold.." Yang.")
say("Wieviel möchtest du davon einzahlen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > pc.gold then
yang = pc.gold
end
pc.changegold(-yang)
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
if saved_rest + yang > 2147483647 then
pc.setqf("saved_signed_longs", saved_signed_longs + 1)
pc.setqf("saved_rest", saved_rest + yang - 2147483647)
else
pc.setqf("saved_rest", saved_rest + yang)
end
say_title("Banker:")
say("Es wurden "..yang.." Yang eingezahlt.")
say("")
return
elseif action == 2 then
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
local saved_yang = saved_signed_longs*2147483647+saved_rest
say_title("Banker:")
if saved_yang < 1 then
say("Ich habe kein Geld mehr von dir.")
say("")
return
end
say("Ich kann dir das Geld, das du eingezahlt hast,")
say("nun wieder auszahlen.")
say("")
say_reward("Kontostand: "..saved_yang.." Yang")
say("")
say("Wieviel Yang möchtest du ausgezahlt bekommen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > saved_yang then
yang = saved_yang
end
if pc.gold + yang > 1899999999 then
yang = 1899999999 - pc.gold
end
if yang > saved_yang then
yang = saved_yang
end
if saved_rest - yang < 0 then
pc.setqf("saved_signed_longs", saved_signed_longs - 1)
pc.setqf("saved_rest", 2147483647 - yang + saved_rest)
else
pc.setqf("saved_rest", saved_rest - yang)
end
pc.changegold(yang)
say_title("Banker:")
say("Es wurden "..yang.." Yang ausgezahlt.")
say("")
end
end
end
end
anti_exp_ring.quest : Ein Ring der Bei bedarf die Erfahrung jede Sekunde sinken lässt
Spoiler]quest anti begin
state start begin
when 72501.use begin
if pc.getqf("antiexp") == 0 then
pc.setqf("antiexp", 1)
chat("Anti EXP aktiviert. Deine Erfahrungspunkte werden jede Sekunde auf 0 gesetzt. Viel Spaß beim Farmen!")
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung", 1)
elseif pc.getqf("antiexp") == 1 then
pc.setqf("antiexp", 0)
chat("Anti EXP deaktiviert. Viel Spaß beim Leveln")
end
end
when erfahrung.timer with pc.getqf("antiexp") == 1 begin
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung1", 1)
pc.setqf("antiexp", 1)
end
when erfahrung1.timer with pc.getqf("antiexp") == 1 begin
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung", 1)
pc.setqf("antiexp", 1)
end
when login with pc.getqf("antiexp") == 1 begin
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung", 1)
pc.setqf("antiexp", 1)
end
end
end
state start begin
when 72501.use begin
if pc.getqf("antiexp") == 0 then
pc.setqf("antiexp", 1)
chat("Anti EXP aktiviert. Deine Erfahrungspunkte werden jede Sekunde auf 0 gesetzt. Viel Spaß beim Farmen!")
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung", 1)
elseif pc.getqf("antiexp") == 1 then
pc.setqf("antiexp", 0)
chat("Anti EXP deaktiviert. Viel Spaß beim Leveln")
end
end
when erfahrung.timer with pc.getqf("antiexp") == 1 begin
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung1", 1)
pc.setqf("antiexp", 1)
end
when erfahrung1.timer with pc.getqf("antiexp") == 1 begin
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung", 1)
pc.setqf("antiexp", 1)
end
when login with pc.getqf("antiexp") == 1 begin
local ep = pc.get_exp()
pc.give_exp2(-ep)
timer("erfahrung", 1)
pc.setqf("antiexp", 1)
end
end
end
Rollenblock.quest : Eine Quest die Teleportrollen auf bestimmten Maps verbietet
quest rollenblock begin
state start begin
when 22010.use with pc.get_map_index() == *HIER EUREN MAPINDEX REIN* begin
chat("Hier kannst du keine Ortsrollen benutzen.")
item.remove()
end
end
end
state start begin
when 22010.use with pc.get_map_index() == *HIER EUREN MAPINDEX REIN* begin
chat("Hier kannst du keine Ortsrollen benutzen.")
item.remove()
end
end
end
Login.quest : Eine Information die beim Login als Fenster jede Stunde erscheint
quest login begin
state start begin
when login begin
local delay = 3600
if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then
return
else
pc.setqf("time", get_global_time())
say_title("Willkommen auf New World2")
say("Homepage findest du unter: http://n*ww*rld2.***/")
say("~~~~~~~~~~~~~~~~~~~~~~")
say("Deine GM's sind:")
say("[GA]iMer [GA]Downi")
say("[SGM]Tanhii [GM]Corcan [GM]Eclipse")
say("[GM]mister [TR]Axe [TR]Anni")
end
end
end
end
state start begin
when login begin
local delay = 3600
if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then
return
else
pc.setqf("time", get_global_time())
say_title("Willkommen auf New World2")
say("Homepage findest du unter: http://n*ww*rld2.***/")
say("~~~~~~~~~~~~~~~~~~~~~~")
say("Deine GM's sind:")
say("[GA]iMer [GA]Downi")
say("[SGM]Tanhii [GM]Corcan [GM]Eclipse")
say("[GM]mister [TR]Axe [TR]Anni")
end
end
end
end
Blutstein.quest : (setzt vorraus das neue Items von DE implementiert sind)
quest blutstein begin
state start begin
when 20095.chat."Blutsteine" begin
local delay = 86400
if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then
local zeit = delay - (get_global_time() - pc.getqf("time"))
say("Du kannst dir noch keinen neuen Blutstein holen!")
say("Du musst noch "..zeit.." Sekunden warten!")
return
end
if pc.get_level() < 75 then
say("Du bist zu schwach um dir einen Blutstein zu verdienen!")
say_reward("Komm wieder wenn du Level 75 erreicht hast!")
return
end
say("Hallo!")
say("Möchtest du dir einen Blutstein verdienen?")
say("Ich warne dich!")
say("Es ist keine leichte Aufgabe!")
say("Willst du beginnen?")
local s= select("Auf gehts!","Nein danke")
if s==1 then
say("Nungut!")
say("Als erstes musst du Vulkanglas besorgen!")
say("Dies kriegst du von Flammen im Feuerland")
say_reward("4 Vulkanglas")
setstate(vulkangas)
else
say("Eine gute Entscheidung!")
say("Auf Wiedersehn")
end
end
end
state vulkangas begin
when letter begin
send_letter("Suche das Vulkanglas!")
end
when info or button begin
say("Besorge 4 Vulkanglas")
say("Dies erhälst du von Flammen")
end
when 2204.kill begin
local pct = number(1,20)
if pct==1 then
pc.give_item2(30188,1)
pc.setqf("gläser",pc.getqf("gläser")+1)
end
if pc.getqf("gläser")==4 then
say("Gut gemacht!")
say("Besorge nun noch 6 Versteinerte Tränen!")
say("Du findest sie an den sechs makierten Punkten auf der Karte")
setstate(vertrnen)
end
end
end
state vertrnen begin
when letter begin
send_letter("Besorge die versteinerten Tränen!")
local tropfen = {
{ 1333, 785},
{ 900,730},
{ 656,716},
{ 543,821},
{ 460,771},
{ 379,685},
{ 480,623},
{ 428,468},
{ 327,359},
{ 224,539},
{ 175,727},
{ 145,900},
{ 59,1000},
{ 176,1150},
{ 438,1112},
{ 646,1015},
{ 790,1183},
{ 1027,1043},
{ 1326, 1028},
{ 1376,1198},
{ 1408,1369},
{ 899,1396},
{ 539, 1338},
{ 574, 361},
{ 846, 455},
{ 1154, 498},
{ 1222, 440},
{ 1425,500},
{ 1283,347},
{ 1472,95},
{ 1100,159},
{ 787, 1083},
{ 610,175},
{ 500, 278},
{ 390,125},
}
local r = number(1,30)
target.pos("p1", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p2", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p3", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p4", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p5", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p6", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
pc.setqf("tränen",6)
end
when button or info begin
say("Besorge nun noch 6 Versteinerte Tränen!")
say("Du findest sie an den sechs makierten Punkten auf der Karte")
end
when p1.target.arrive begin
target.delete("p1")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p2.target.arrive begin
target.delete("p2")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p3.target.arrive begin
target.delete("p3")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p4.target.arrive begin
target.delete("p4")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p5.target.arrive begin
target.delete("p5")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p6.target.arrive begin
target.delete("p6")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
end
state rw begin
when letter begin
send_letter("Zurück zu Seon Hae")
end
when button or info begin
say("Gehe zu Seon Hae zurück!")
end
when 20095.chat."Ich habe alles besorgt!" begin
say("..das glaubst du!")
say("Aber das ist noch nicht alles!")
wait()
if pc.count_item(30186) >= 6 and pc.count_item(30188)>= 4 then
pc.remove_item(30186,6)
pc.remove_item(30188,4)
pc.give_item2(30189,1)
say("Gut gemacht")
say("Hier hast du Tränen von Baljit-Elvedi")
say("Gehe nun in den roten Wald")
say("Und suche die geheimnisvolle Stimme!")
say("Sie wird dir die Tränen zu einem Blutstropfen machen!")
setstate(blut)
else
say("Du hast nicht alle benötigten Items!")
end
end
end
state blut begin
when letter begin
send_letter("Suche die Stimme")
träne = {
{ 195, 211},
{ 326, 302},
{ 527, 90},
{ 616, 257},
{ 702, 262},
{ 674, 38},
}
local r2 = number(1,6)
target.pos("träne", träne[r2][1], träne[r2][2], 68, "")
end
when info or button begin
say("Suche die geheimnisvolle Stimme im roten Wald!")
end
when träne.target.arrive begin
target.delete("träne")
say("Sei gegrüßt!")
say("Ich bin die geheimnisvolle Stimme...")
wait()
if pc.count_item(30189) >0 then
pc.remove_item(30189,1)
pc.give_item2(30187,1)
say("Ich mache die Tränen von Baljit-Elvedi zu einem Blutstropfen")
say("...")
say("Hier bitte ein Blutstropfen!")
say_reward("Blutstropfen erhalten!")
setstate(stein)
else
say("Du hast die Träne nicht bei dir!")
say("Komm wieder wenn du sie gefunden hast...")
träne = {
{ 195, 211},
{ 326, 302},
{ 527, 90},
{ 616, 257},
{ 702, 262},
{ 674, 38},
}
local r2 = number(1,6)
target.pos("träne", träne[r2][1], träne[r2][2], 68, "")
end
end
end
state stein begin
when letter begin
send_letter("Zurück zu Seon Hae")
end
when button or info begin
say("Gehe zu Seon Hae zurück und gib ihm den Blutstropfen!")
say()
end
when 20095.chat."Ich habe den Blutstropfen!" begin
if pc.count_item(30187) <= 0 then
say("LIEEEEEEEEEEEEEEE!!!!!!!!!!!")
else
pc.remove_item(30187,1)
pc.give_item2(30190,1)
say("Gut gemacht!")
say("Hier hast du den Blutstein!")
say("Du hast ihn dir verdient!")
say_reward("Blutstein erhalten")
say("'Quest by iMer")
clear_letter()
pc.setqf("time",get_global_time())
setstate(start)
end
end
end
end[/quote]
Tanka-Event
state start begin
when 20095.chat."Blutsteine" begin
local delay = 86400
if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then
local zeit = delay - (get_global_time() - pc.getqf("time"))
say("Du kannst dir noch keinen neuen Blutstein holen!")
say("Du musst noch "..zeit.." Sekunden warten!")
return
end
if pc.get_level() < 75 then
say("Du bist zu schwach um dir einen Blutstein zu verdienen!")
say_reward("Komm wieder wenn du Level 75 erreicht hast!")
return
end
say("Hallo!")
say("Möchtest du dir einen Blutstein verdienen?")
say("Ich warne dich!")
say("Es ist keine leichte Aufgabe!")
say("Willst du beginnen?")
local s= select("Auf gehts!","Nein danke")
if s==1 then
say("Nungut!")
say("Als erstes musst du Vulkanglas besorgen!")
say("Dies kriegst du von Flammen im Feuerland")
say_reward("4 Vulkanglas")
setstate(vulkangas)
else
say("Eine gute Entscheidung!")
say("Auf Wiedersehn")
end
end
end
state vulkangas begin
when letter begin
send_letter("Suche das Vulkanglas!")
end
when info or button begin
say("Besorge 4 Vulkanglas")
say("Dies erhälst du von Flammen")
end
when 2204.kill begin
local pct = number(1,20)
if pct==1 then
pc.give_item2(30188,1)
pc.setqf("gläser",pc.getqf("gläser")+1)
end
if pc.getqf("gläser")==4 then
say("Gut gemacht!")
say("Besorge nun noch 6 Versteinerte Tränen!")
say("Du findest sie an den sechs makierten Punkten auf der Karte")
setstate(vertrnen)
end
end
end
state vertrnen begin
when letter begin
send_letter("Besorge die versteinerten Tränen!")
local tropfen = {
{ 1333, 785},
{ 900,730},
{ 656,716},
{ 543,821},
{ 460,771},
{ 379,685},
{ 480,623},
{ 428,468},
{ 327,359},
{ 224,539},
{ 175,727},
{ 145,900},
{ 59,1000},
{ 176,1150},
{ 438,1112},
{ 646,1015},
{ 790,1183},
{ 1027,1043},
{ 1326, 1028},
{ 1376,1198},
{ 1408,1369},
{ 899,1396},
{ 539, 1338},
{ 574, 361},
{ 846, 455},
{ 1154, 498},
{ 1222, 440},
{ 1425,500},
{ 1283,347},
{ 1472,95},
{ 1100,159},
{ 787, 1083},
{ 610,175},
{ 500, 278},
{ 390,125},
}
local r = number(1,30)
target.pos("p1", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p2", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p3", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p4", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p5", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
target.pos("p6", tropfen[r][1], tropfen[r][2], 62, "")
local r = r+1
pc.setqf("tränen",6)
end
when button or info begin
say("Besorge nun noch 6 Versteinerte Tränen!")
say("Du findest sie an den sechs makierten Punkten auf der Karte")
end
when p1.target.arrive begin
target.delete("p1")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p2.target.arrive begin
target.delete("p2")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p3.target.arrive begin
target.delete("p3")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p4.target.arrive begin
target.delete("p4")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p5.target.arrive begin
target.delete("p5")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
when p6.target.arrive begin
target.delete("p6")
chat("Du hast eine Träne gefunden!")
say("Du hast einen Tropfen Scheiße erhalten")
pc.give_item2(30186,1)
pc.setqf("tränen",pc.getqf("tränen")-1)
if pc.getqf("tränen") == 0 then
say("Du hast alle 6 versteinerte Tränen gefunden!")
say("Gehe nun zu Seon Hae zurück")
setstate(rw)
end
end
end
state rw begin
when letter begin
send_letter("Zurück zu Seon Hae")
end
when button or info begin
say("Gehe zu Seon Hae zurück!")
end
when 20095.chat."Ich habe alles besorgt!" begin
say("..das glaubst du!")
say("Aber das ist noch nicht alles!")
wait()
if pc.count_item(30186) >= 6 and pc.count_item(30188)>= 4 then
pc.remove_item(30186,6)
pc.remove_item(30188,4)
pc.give_item2(30189,1)
say("Gut gemacht")
say("Hier hast du Tränen von Baljit-Elvedi")
say("Gehe nun in den roten Wald")
say("Und suche die geheimnisvolle Stimme!")
say("Sie wird dir die Tränen zu einem Blutstropfen machen!")
setstate(blut)
else
say("Du hast nicht alle benötigten Items!")
end
end
end
state blut begin
when letter begin
send_letter("Suche die Stimme")
träne = {
{ 195, 211},
{ 326, 302},
{ 527, 90},
{ 616, 257},
{ 702, 262},
{ 674, 38},
}
local r2 = number(1,6)
target.pos("träne", träne[r2][1], träne[r2][2], 68, "")
end
when info or button begin
say("Suche die geheimnisvolle Stimme im roten Wald!")
end
when träne.target.arrive begin
target.delete("träne")
say("Sei gegrüßt!")
say("Ich bin die geheimnisvolle Stimme...")
wait()
if pc.count_item(30189) >0 then
pc.remove_item(30189,1)
pc.give_item2(30187,1)
say("Ich mache die Tränen von Baljit-Elvedi zu einem Blutstropfen")
say("...")
say("Hier bitte ein Blutstropfen!")
say_reward("Blutstropfen erhalten!")
setstate(stein)
else
say("Du hast die Träne nicht bei dir!")
say("Komm wieder wenn du sie gefunden hast...")
träne = {
{ 195, 211},
{ 326, 302},
{ 527, 90},
{ 616, 257},
{ 702, 262},
{ 674, 38},
}
local r2 = number(1,6)
target.pos("träne", träne[r2][1], träne[r2][2], 68, "")
end
end
end
state stein begin
when letter begin
send_letter("Zurück zu Seon Hae")
end
when button or info begin
say("Gehe zu Seon Hae zurück und gib ihm den Blutstropfen!")
say()
end
when 20095.chat."Ich habe den Blutstropfen!" begin
if pc.count_item(30187) <= 0 then
say("LIEEEEEEEEEEEEEEE!!!!!!!!!!!")
else
pc.remove_item(30187,1)
pc.give_item2(30190,1)
say("Gut gemacht!")
say("Hier hast du den Blutstein!")
say("Du hast ihn dir verdient!")
say_reward("Blutstein erhalten")
say("'Quest by iMer")
clear_letter()
pc.setqf("time",get_global_time())
setstate(start)
end
end
end
end[/quote]
Tanka-Event
Quote:
quest event begin
state start begin
when 70029.use with pc.is_gm() begin
say_title("Das Event der Piraten")
say("")
say("Möchtest du es starten? Dazu")
say("musst du die Monster spawnen")
local s = select("Ja","Nein")
if s == 2 then
return
end
if s == 1 then
notice_all("~~~Das Piraten-Event hat soeben begonnen~~~")
notice_all("~~~Ein Team-Mitglied wird die Oase mit Piraten bespawnen~~~")
notice_all("~~~!Wer zuerst 200 tötet, gewinnt das Event!~~~")
game.set_event_flag("piraten", 1)
game.set_event_flag("piratenwin", 0)
end
end
when login with game.get_event_flag("piraten") == 0 begin
pc.setqf("piraten", 0)
end
when login with game.get_event_flag("piraten") == 1 begin
chat("~~~Das Piraten-Event hat soeben begonnen~~~")
chat("~~~Ein Team-Mitglied wird die Oase mit Piraten bespawnen~~~")
chat("~~~!Wer zuerst 200 tötet, gewinnt das Event!~~~")
end
when 5001.kill with game.get_event_flag("piraten") == 1 begin
pc.setqf("piraten", pc.getqf("piraten") + 1)
chat("Du hast bereits "..pc.getqf("poraten").." erledigt")
chat("Dir fehlen noch "..200 - pc.getqf("piraten").." Piraten!")
if pc.getqf("piraten") >= 200 then
if game.get_event_flag("piratenwin") == 0 then
game.set_event_flag("piratenwin", 1)
notice_all("~~~Der Sieger steht fest, er hat als erstes 200 Stück erledigt~~~")
notice_all("~~~Der Sieger heißt "..pc.name.."~~~")
game.set_event_flag("piraten", 0)
end
end
end
end
end
Quote:
Gewinnspiel
quest gewinnen begin
state start begin
when 20016.chat."Mir ist langweilig" begin
say_title("Schmied :")
say("")
say("Hey, du musst doch "..pc.name.." sein oder?")
say("Die alte Frau hat mir erzählt, dass du ")
say("sehr viel Glück haben musst. Wie wärs,")
say("willst du bei mir nicht mal für 1kk Yang")
say("eine Zahl erraten? Meine Zahl im Kopf")
say("geht von :")
say_reward("1 ~ 1000")
say_reward("Gewinn : 20 Uppitems per Zufall")
local s = select("Ja, ich möchte","Nein, danke")
if s == 1 then
if pc.gold >= 1000000 then
say_title("Schmied :")
say("")
say("Denk ... denk ... denk ...")
say("denk ... denk ... denk ...")
say("denk ... denk ... denk ...")
say("denk ... denk ... denk ...")
say("denk ... denk ... denk ...")
say("denk ... denk ... denk ...")
say("denk ... denk ... denk ...")
wait()
say_title("Schmied :")
say("")
say("Okay, ich habe eine Zahl. Los... fang")
say("an zu Raten. Du hast allerdings nur")
say("eine Chance, vergiss das nicht!")
local zahl = input()
pc.setqf("gewinn", zahl)
if pc.getqf("gewinn") > 1000 then
say_title("Schmied :")
say("")
say("Ich sagte doch das meine Zahlen nur")
say("bis maximal 1000 gehen!")
else
if pc.getqf("gewinn") < 0 then
say_title("Schmied :")
say("")
say("Ich sagte doch das meine Zahlen nur")
say("bis minimal 1 gehen!")
else
local r = number(1,1000)
pc.change_gold(-1000000)
if ""..pc.getqf("gewinn").."" == ""..r.."" then
say_title("Schmied :")
say("")
say("Wohuuu, du hast es wirklich geschafft.")
say("Das hätte ich nicht von dir gedacht...")
say("Dann greife ich mal in meine Hosentasche..")
wait()
say_title("Schmied :")
say("")
say("Greif ... greif ... greif ...")
say("greif ... greif ... greif ...")
say("greif ... greif ... greif ...")
say("greif ... greif ... greif ...")
say("greif ... greif ... greif ...")
say("greif ... greif ... greif ...")
say("greif ... greif ... greif ...")
say("greif ... greif ... greif ...")
wait()
say_title("Schmied :")
say("")
say("Hier hast du dein Geschenk : ")
local r = number(1, 14)
if r == 1 or r == 2 then
say_reward("20 x Rote Schriftrolle")
pc.give_item2("20999", 20)
elseif r == 3 or r == 4 then
say_reward("20 x Grüne Schriftrolle")
pc.give_item2("20998", 20)
elseif r == 5 or r == 6 then
say_reward("20 x Blaue Schriftrolle")
pc.give_item2("20997", 20)
elseif r == 7 or r == 8 then
say_reward("20 x Roter Diamant")
pc.give_item2("20995", 20)
elseif r == 9 or r == 10 then
say_reward("20 x Grüner Diamant")
pc.give_item2("20994", 20)
elseif r == 11 or r == 12 then
say_reward("20 x Blauer Diamant")
pc.give_item2("20993", 20)
elseif r == 13 then
say_reward("20 x Gelber Diamant")
pc.give_item2("20992", 20)
elseif r == 14 then
say_reward("20 x Gelbe Schriftrolle")
pc.give_item2("20996", 20)
else
say_reward("Unbekannter fehler; Wende dich bitte")
say_reward("an einen Admin; Du wurdest geloggt!")
pc.setqf("looserxD", 1)
end
else
say_title("Schmied :")
say("")
say("Tjaa, was wohl nichts. Vielleicht schaffst")
say("du es ja beim nächsten mal!")
say_reward("Meine Gedachte Zahl war : ~"..r.."~")
end
end
end
else
say_title("Schmied :")
say("")
say("Wuahahahaha... tut mir Leid, aber ich Spiele")
say("nur gegen Bezahlung!")
end
else
return
end
end
end
end
Ring der Nachfolge
quest test begin
state start begin
function change_master( name )
local result = false
return result
end
when 71099.use begin
say_title("Ring der Nachfolge")
say("")
if pc.has_guild() then
if pc.is_guild_master() then
local gilde = pc.get_guild()
say("Du hast zurzeit die Gilde "..guild.name(gilde).." offen. Willst")
say("du sie einem anderen Spieler deiner Gilde")
say("überlassen? Dies kannst du nicht rückgängig machen.")
say("Also überlege gut, um du sie weitergeben möchtest.")
local s = select("Übergeben", "Behalten")
if s == 1 then
say_title("Ring der Nachfolge")
say("")
say("Du bist dabei, deine Gilde an einen anderen")
say("zu Übergeben. Bitte gib den Namen des Spielers ")
say("ein, den du deine Gilde anvertrauen möchtest.")
say("Beachte, dass der Spieler in deiner Gilde sein")
say("muss, und auf der selben Map wie du sein muss.")
say_reward("Gebe hier den Namen des Spielers ein :")
local name = input()
if name == "" or name == "0" then
say_title("Ring der Nachfolge")
say("")
say("Bitte gib einen richtigen Namen ein.")
return
end
local u_vid = find_pc_by_name(name)
local nameder = pc.get_guild()
if u_vid == 0 then
say_title("Ring der Nachfolge")
say("")
say("Der Spieler "..name.." ist nicht online oder nicht in")
say("deiner nähe. Versuche es später erneut.")
return
end
if game.get_event_flag((""..name.."gilde")) == pc.get_guild() then
local ok_sign = confirm( u_vid, "Möchtest du die Gilde "..guild.name(nameder).." von "..pc.name.." übernehmen?", 30)
if ok_sign == CONFIRM_OK then
if change_guild_master.change_master( name ) == true then
say_title("Ring der Nachfolge")
say("")
say("Den Spieler, den du ausgewählt hast ist")
say("bereit, Leader deiner Gilde zu werden. Du")
say("hast soeben deinen Platz als absoluter herscher")
say("abgegeben. Der neue Leader der Gilde nennt sich :")
say_reward(""..name.."")
result = true
end
else
say_title("Ring der Nachfolge")
say("")
say("Der Spieler "..name..", den du als neuen Leader")
say("deiner Gilde haben wolltest, hat deine Anfrage")
say("abgelehnt. Er will wahrscheinlich nicht der neue")
say("Leader deiner Gilde werden.")
end
else
say_title("Ring der Nachfolge")
say("")
say("Der Spieler "..name.." ist derzeit nicht in ")
say("deiner Gilde. Sollte er dennoch in deiner Gilde")
say("sein, dann sollte er sich einmal reloggen.")
return
end
end
end
else
say("Du hast derzeit keine eigene Gilde offen.")
say("Das Item ist nur nutzbar, wenn du eine eigene")
say("Gilde hast.")
return
end
end
when login begin
game.set_event_flag((""..pc.get_name().."gilde"), pc.get_guild())
end
end
end
Verbesserte Teamonline.quest
[quote]quest teamonline begin
state start begin
when login begin
local name = pc.get_name()
if name=="[SA]Mua'" then
game.set_event_flag("yoshix3", 1)
end
if name=="[SA]test'" then
game.set_event_flag("test", 1)
end
end
when logout begin
local name = pc.get_name()
if name=="[SA]Mua'" then
game.set_event_flag("yoshix3", 0)
end
if name=="[SA]test'" then
game.set_event_flag("test", 0)
end
end
when letter begin
send_letter("Team-Status")
end
when info or button begin
say_title("Team Status")
say("")
say("Hier siehst du die aktuellen Statuse der")
say("Teammitglieder. Vergiss beim anschreiben")
say("nicht, die Klammern vor den Rang zu schreiben.")
say_reward("Team Status :")
say("")
if game.get_event_flag("test") == 0 and game.get_event_flag("test") == 0 then
say_reward("Zurzeit ist kein Teammitglied online!")
end
if game.get_event_flag("yoshix3") == 1 then
say_reward("SA Yoshix3' ist online")
end
if game.get_event_flag("test") == 1 then
say_reward("SA test ist online")
end
end
end
end
GM-Login.Quest
quest gmlogin begin
state start begin
when login with pc.is_gm() begin
command("n ".. pc.get_name() .." ist Online")
command("n Er ist nun für eure Fragen verfügbar.")
end
end
end
state start begin
when login with pc.is_gm() begin
command("n ".. pc.get_name() .." ist Online")
command("n Er ist nun für eure Fragen verfügbar.")
end
end
end
Entbuggte DT-Quest für die Daroofiles
quest deviltower_zone begin
state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((5376+532)*100, (512+596+4)*100, 65)
end
pc.set_warp_location(65, 5376+532, 512+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5376+532, 512+596+4)
end
end
when deviltower_man.chat.locale.deviltower_man_chat begin
say_title("Wächter des Dämonturmes")
if pc . get_level ( ) < 40 then
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder, wenn du Level 40 bist!")
return
end
say("Möchtest du den Dämonenturm betreten?")
local s = select ("Betreten", "Abbrechen")
if s == 1 then
pc.warp (216500, 727000)
end
end
when devil_stone1.kill begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302) -- Die Karte der Zin Grotte wurde aus deinem Inventar entfernt
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300) -- Die Unbekannte Alte Kiste wurde aus deinem Inventar entfernt
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
--when devil_stone2.kill begin
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
--end
when devil_stone3.kill begin
--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
--d.set_exit_all_at_eliminate(6)
--d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
--d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
--d.exit_all()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
--for i = 1, 7 do
-- positions[i][1] = positions[i][1] * 100
-- positions[i][2] = positions[i][2] * 100
-- end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
-- ¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
--d.regen_file("data/dungeon/deviltower4_regen.txt")
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("Findet den richtigen Metinstein und zerstört ihn.");
d.notice("Die falschen Metinsteine werden verschwinden!");
d.notice("Ihr habt 15 Minuten zeit!");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end
when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice("Der falsche Metinstein ist verschwunden..");
end
end
end
else
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice("Ihr habt den richtigen Metinstein zerstört.");
d.notice("Ihr werdet nun in die nächste Etage teleportiert")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end
when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice("Du bist nun in der 5. Ebene")
d.notice("Öffne alle Alten Siegel um in die nächste Ebene zu gelangen.")
d.notice("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
-- bla bla
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
-- bla bla 2
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end
when devil_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 15 Minuten")
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
end
end
--when devil_stone4.kill begin
--d.setf("level", 5)
--d.setf("stone_count", 4)
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
--d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
--end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
--if is_test_server() then
--KILL_COUNT_FOR_DROP_KEY = 1
--end
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
-- bla bla 3
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
d.notice("in die 6. Ebene teleportiert.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
end
end
when devil_stone6.kill begin
-- bla bla 4
-- bla bla 5
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
d.kill_all()
-- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
--------------------------------------
-- bla bla 6
--------------------------------------
when 20074.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20074).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20075).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20076).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when devil_jump_7.timer begin
d.clear_regen()
d.spawn_mob(8018, 639, 658)
d.spawn_mob(8018, 611, 637)
d.spawn_mob(8018, 596, 674)
d.spawn_mob(8018, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end
when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
game.drop_item(30300, 1)
end
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then
-- bla bla 7
game.drop_item(30302, 1)
d.clear_regen()
else
-- bla bla 8
game.drop_item(30301, 1)
end
end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
-- bla bla 9
say("Die Karte wird euch alle in die nächste Ebene")
say("des Dämonenturms bringen.")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end
--------------------------------------------
-- bla bla 10
--------------------------------------------
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30302)-- bla bla 11
pc.remove_item(30302,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local pct1 = number(1, 5)
if pct1 == 1 then
local pct2 = number(1, 10)
if pct2 == 1 then
-- bla bla 12
game.drop_item(30304, 1)
else
-- bla bla 13
game.drop_item(30303, 1)
end
else
return
end
end
when 20366.take with item.vnum == 30304 begin
-- bla bla 14
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
---------------------------------------------
-- bla bla 15
---------------------------------------------
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/deviltower9_regen.txt")
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
timer("devil_end_jump", 60)
end
when devil_end_jump.timer begin
d.exit_all()
end
end
end
state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((5376+532)*100, (512+596+4)*100, 65)
end
pc.set_warp_location(65, 5376+532, 512+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5376+532, 512+596+4)
end
end
when deviltower_man.chat.locale.deviltower_man_chat begin
say_title("Wächter des Dämonturmes")
if pc . get_level ( ) < 40 then
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder, wenn du Level 40 bist!")
return
end
say("Möchtest du den Dämonenturm betreten?")
local s = select ("Betreten", "Abbrechen")
if s == 1 then
pc.warp (216500, 727000)
end
end
when devil_stone1.kill begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302) -- Die Karte der Zin Grotte wurde aus deinem Inventar entfernt
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300) -- Die Unbekannte Alte Kiste wurde aus deinem Inventar entfernt
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
--when devil_stone2.kill begin
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
--end
when devil_stone3.kill begin
--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
--d.set_exit_all_at_eliminate(6)
--d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
--d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
--d.exit_all()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
--for i = 1, 7 do
-- positions[i][1] = positions[i][1] * 100
-- positions[i][2] = positions[i][2] * 100
-- end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
-- ¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
--d.regen_file("data/dungeon/deviltower4_regen.txt")
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("Findet den richtigen Metinstein und zerstört ihn.");
d.notice("Die falschen Metinsteine werden verschwinden!");
d.notice("Ihr habt 15 Minuten zeit!");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end
when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice("Der falsche Metinstein ist verschwunden..");
end
end
end
else
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice("Ihr habt den richtigen Metinstein zerstört.");
d.notice("Ihr werdet nun in die nächste Etage teleportiert")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end
when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice("Du bist nun in der 5. Ebene")
d.notice("Öffne alle Alten Siegel um in die nächste Ebene zu gelangen.")
d.notice("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
-- bla bla
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
-- bla bla 2
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end
when devil_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 15 Minuten")
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
end
end
--when devil_stone4.kill begin
--d.setf("level", 5)
--d.setf("stone_count", 4)
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
--d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
--end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
--if is_test_server() then
--KILL_COUNT_FOR_DROP_KEY = 1
--end
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
-- bla bla 3
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
d.notice("in die 6. Ebene teleportiert.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
end
end
when devil_stone6.kill begin
-- bla bla 4
-- bla bla 5
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
d.kill_all()
-- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
--------------------------------------
-- bla bla 6
--------------------------------------
when 20074.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20074).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20075).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20076).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when devil_jump_7.timer begin
d.clear_regen()
d.spawn_mob(8018, 639, 658)
d.spawn_mob(8018, 611, 637)
d.spawn_mob(8018, 596, 674)
d.spawn_mob(8018, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end
when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
game.drop_item(30300, 1)
end
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then
-- bla bla 7
game.drop_item(30302, 1)
d.clear_regen()
else
-- bla bla 8
game.drop_item(30301, 1)
end
end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
-- bla bla 9
say("Die Karte wird euch alle in die nächste Ebene")
say("des Dämonenturms bringen.")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end
--------------------------------------------
-- bla bla 10
--------------------------------------------
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30302)-- bla bla 11
pc.remove_item(30302,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local pct1 = number(1, 5)
if pct1 == 1 then
local pct2 = number(1, 10)
if pct2 == 1 then
-- bla bla 12
game.drop_item(30304, 1)
else
-- bla bla 13
game.drop_item(30303, 1)
end
else
return
end
end
when 20366.take with item.vnum == 30304 begin
-- bla bla 14
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
---------------------------------------------
-- bla bla 15
---------------------------------------------
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/deviltower9_regen.txt")
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
timer("devil_end_jump", 60)
end
when devil_end_jump.timer begin
d.exit_all()
end
end
end
Metin-Auftrag
state information begin
when letter begin
send_letter("Metin-Auftrag 25")
end
when info or button begin
say("Metin-Auftrag")
say("Hallo Spieler von Servername!")
say("Überall spawnen die Metinsteine. Unsere")
say("Krieger sind alle beim versuch sie zu")
say("töten gefallen. Wir hoffen auf")
say("deine Hilfe. Bitte befreie uns von von diesem")
say("Unheil, damit wir wieder in Frieden leben können")
say("Bitte hilf uns:")
say_reward("Töte 10 x Metin der Schwärze.")
say_reward("Du findest sie auf Map2.")
say_reward("Wenn du es geschafft hast bekommst du eine Belohnung!")
say_reward("")
say_reward("")
say("")
pc.setqf("state", 10)
q.set_counter("Metin der Schwärze", 10)
end
when 8005.kill begin
local count = pc.getqf("state") - 1
if count <= 10 then
pc.setqf("state", count)
q.set_counter("Metin der Schwärze", count)
end
if count == 0 then
say_title("PvM Quest")
say("")
say("")
say("Gut du hast es geschafft.")
say("Hier deine Belohnung")
say_reward("[ANZAHL] [NAME DES ITEMS] [YANG] [EXP]")
pc.give_item2([ITEMID], [ANZAHL])
pc.give_item2([ITEMID], [ANZAHL])
pc.give_item2([ITEMID], [ANZAHL])
pc.give_item2([ITEMID], [ANZAHL])
pc.give_exp2([ANZAHL])
pc.get_money([ANZAHL])
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
when letter begin
send_letter("Metin-Auftrag 25")
end
when info or button begin
say("Metin-Auftrag")
say("Hallo Spieler von Servername!")
say("Überall spawnen die Metinsteine. Unsere")
say("Krieger sind alle beim versuch sie zu")
say("töten gefallen. Wir hoffen auf")
say("deine Hilfe. Bitte befreie uns von von diesem")
say("Unheil, damit wir wieder in Frieden leben können")
say("Bitte hilf uns:")
say_reward("Töte 10 x Metin der Schwärze.")
say_reward("Du findest sie auf Map2.")
say_reward("Wenn du es geschafft hast bekommst du eine Belohnung!")
say_reward("")
say_reward("")
say("")
pc.setqf("state", 10)
q.set_counter("Metin der Schwärze", 10)
end
when 8005.kill begin
local count = pc.getqf("state") - 1
if count <= 10 then
pc.setqf("state", count)
q.set_counter("Metin der Schwärze", count)
end
if count == 0 then
say_title("PvM Quest")
say("")
say("")
say("Gut du hast es geschafft.")
say("Hier deine Belohnung")
say_reward("[ANZAHL] [NAME DES ITEMS] [YANG] [EXP]")
pc.give_item2([ITEMID], [ANZAHL])
pc.give_item2([ITEMID], [ANZAHL])
pc.give_item2([ITEMID], [ANZAHL])
pc.give_item2([ITEMID], [ANZAHL])
pc.give_exp2([ANZAHL])
pc.get_money([ANZAHL])
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
Angepasste locale_string.txt für die Daroofiles (Rechtschreibfehler behoben!)
Sind nicht viele aber können für manche nützlich sein!