PHP Code:
quest icerun begin
state start begin
function randomreward()
local config = {
"10529", -- KatarArmor
"5559", -- Ulitmate Sura-Fem
"10539", -- Granit armor
"10509", -- Crysham-armor
"5539", -- Ultimate-Ninja-fem
"5529", -- Ultimateninja
"5549", -- Ultimatesura
"5569", -- Ulimateshaman
"5509", -- Ultimatewarrior
"53002", -- Rentier
"53001", -- Feuerphoenix
"53003", -- Eisphoenix
"71110", -- Pferdezucker
"30225", -- Yangspeicher 100kk
"30226", -- Yangspeicher 500kk
"26002", -- Perle
"26001", -- Perle
"26000", -- Perle
"27994", -- Perle
"27993", -- Perle
"27992", -- Perle
"71126" -- Verseuchter Drache
}
return config[number(1, table.getn(config))]
end
when 21601.chat."Atlantis betreten" with pc.get_map_index() == 351 begin
say_title("Wächter von Atlantis:")
say("Ihr müsst ganz schön mutig sein")
say("hierher zu kommen. Wir wurden vor langer")
say("Zeit von Atlantis vertrieben.")
say("Einst war dies unser Reich.")
say("")
wait()
say_title("Ihr seid stark genug??")
say("")
say("Wollt ihr das vereiste Atlantis betreten?.")
say("Seit euch im klaren das alle in dieser Map")
say("hier mit teleportiert werden, einigt euch vorher.")
say("")
local s = select("Aber klar!", "Nein, lieber nicht.")
if s == 1 then
if party.get_near_count() >=4 then
d.new_jump_all(207, 8106 , 8089)
d.regen_file("data/dungeon/icerun_regen.txt")
d.notice("Ungebetener Besuch!!")
d.notice("Verschwindet aus meinem Atlantis!")
d.notice("Wehe ihr berührt meinen Metin!")
else
say_title("Wächter von Atlantis:")
say("Ihr müsst mit mindestens 5 Leuten")
say("in der Gruppe sein.")
say("")
local anzahl = party.get_near_count() +1
say("Ihr seid aber nur "..anzahl.." Leute.")
say("Ich kann euch nicht reinlassen.")
return
end
else
return
end
end
when login with pc.get_map_index() == 351 begin
if not pc.is_gm() then
if pc.level < 200 then
say_title("Info:")
say("")
say("Du bist zu schwach und hast dich wohl")
say("reingemogelt!! Tschüss!!")
local map=pc.get_map_index()
local empire = pc.get_empire()
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
warp_to_village()
end
end
end
when login with pc.get_map_index() == 207 begin
if not pc.is_gm() then
if pc.level < 200 then
say_title("Info:")
say("")
say("Du bist zu schwach und hast dich wohl")
say("reingemogelt!! Tschüss!!")
local map=pc.get_map_index()
local empire = pc.get_empire()
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
warp_to_village()
end
end
end
when 21601.chat."GM-Zutritt" with pc.get_map_index() == 351 and pc.is_gm() begin
say_title("Du kannst auch ohne Gruppe")
say_title("das vereiste Atlantis betreten.")
say("Wie ich sehe bist du stark genug =)")
say("Wollt ihr das vereiste Atlantis betreten?.")
say("")
local s = select("Aber klar!", "Nein, lieber nicht.")
if s == 1 then
d.new_jump_all(207, 8106 , 8089)
d.regen_file("data/dungeon/icerun_regen.txt")
d.notice("Ungebetener Besuch!!")
d.notice("Verschwindet aus meinem Atlantis!")
else
return
end
end
when 21601.chat."Heiligen Platz verlassen" with pc.get_map_index() == 351 begin
say_title("Wächter von Atlantis:")
say("Ihr wollt die Heilige Halle verlassen?")
say("")
local s = select("Ja!", "Nein.")
if s == 1 then
local empire = pc.get_empire()
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
else
return
end
end
when login begin
if pc.get_map_index() >= 2070000 and pc.get_map_index() < 2080000 then
pc.set_warp_location(351, 889007,889019)
end
end
when 21578.kill with pc.get_map_index()>= 2070000 and pc.get_map_index() < 2080000 begin
timer("erster_metin", 6)
d.notice("NEEEIIIN!!Mein Stein..!")
d.notice("Ich verfluche euch!")
d.notice("Los tapfere Krieger, erledigt die Eindringlinge!!!")
d.notice("Gebt lasst ihnen nicht den Hauch einer Chance!")
end
when erster_metin.timer begin
d.jump_all(8380 , 8122)
d.regen_file("data/dungeon/icerun1_regen.txt")
d.setf("keule", 0)
d.set_warp_at_eliminate(4, d.get_map_index(), 8000+432, 8000+122, "data/dungeon/icerun2_regen.txt")
end
when 21581.chat."GM-Abkürzung BOSS-Raum" with pc.get_map_index() >= 2070000 and pc.get_map_index() < 2080000 and pc.is_gm() begin
say("Du kommst zum Bossraum")
wait()
npc.purge()
d.setf("statue", 5)
timer("ice_jump", 6)
end
when 21581.chat."Wolang des Weges?" with pc.get_map_index() >= 2070000 and pc.get_map_index() < 2080000 begin
say("...")
wait()
d.notice("Grantelbart:")
d.notice(".....")
d.notice("..Dieser Weg ist kalt..")
d.notice(".....")
d.notice("..Nehmt euch vor Neralex in Acht!....")
d.notice(".....")
d.notice("Neralex:")
d.notice("Was habt ihr hier verloren!")
d.notice("Sucht das Weite und zwar sofort!!")
npc.purge()
d.kill_all()
timer("erster_spruch", 10)
end
when erster_spruch.timer begin
d.jump_all(8000+685, 8000+82)
d.setf("insel1", 0)
d.setf("insel2", 0)
d.setf("insel3", 0)
d.setf("insel4", 0)
d.setf("alleinseln", 0)
d.regen_file("data/dungeon/icerun3_1_regen.txt")
d.notice("Besuche jede der 4 Inseln einmal. Beim wiederholten")
d.notice("erreichen einer Insel erscheinen Kämpfer die")
d.notice("dann getötet werden müssen, bevor man zur nächsten")
d.notice("Insel kommt.")
end
when 20350.chat."GM-Abkürzung Mini-Bossraum / Xerax" with pc.get_map_index() >= 2070000 and pc.get_map_index() < 2080000 and pc.is_gm() begin
say("Du kommst zum Mini-Bossraum")
wait()
npc.purge()
timer("inseln_fertigg", 10)
end
when 20350.chat."Die 4 Inseln" with pc.get_map_index() >= 2070000 and pc.get_map_index() < 2080000 begin
npc.lock()
say_title("Nerolfrös:")
say("Ich kann euch auf eine andere")
say("Insel befördern. Bitte wähle eine aus:")
local s=select ("1","2","3","4","Abbruch")
if s<=4 then
local positions = {
{685, 82},
{590, 82},
{590, 177},
{685, 177},
}
local fish = number(1,4)
if d.getf("insel"..fish) < 1 then
d.setf("insel"..fish, 1)
d.setf("alleinseln", d.getf("alleinseln")+1)
d.kill_all()
if d.getf("alleinseln")==4 then
d.notice("Nerolfrös:")
d.notice("Dies war die letzte Insel.")
d.notice("Nun kann ich euch nicht mehr helfen.")
d.notice("Ihr müsst den Weg nun alleine finden.")
timer("inseln_fertig", 10)
return
end
d.notice("Nerolfrös:")
d.notice("Ihr wart bisher auf "..d.getf("alleinseln").." Inseln.")
d.notice("Ihr müsst auf allen vier einmal gewesen sein.")
d.regen_file("data/dungeon/icerun3_"..fish.."_regen.txt")
else
d.purge()
d.regen_file("data/dungeon/icerun3_"..fish.."more_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), 8000 + positions[fish][1], 8000 + positions[fish][2], "data/dungeon/icerun3_"..fish.."_regen.txt")
end
npc.unlock()
d.jump_all(8000+positions[fish][1], 8000+positions[fish][2])
else
npc.unlock()
return
end
end
when 30003.use with pc.in_dungeon begin
pc.remove_item(30003)
local empire = pc.get_empire()
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
end
when inseln_fertig.timer begin
timer("inseln_fertigg", 10)
d.notice("Neralex:")
d.notice("So Freunde!! Jetzt ist aber Schluß!")
d.notice("Ich will hier KEINEN mehr sehen!!!")
end
when inseln_fertigg.timer begin
local positionss = {
{473, 441},
{483, 451},
{473, 461},
{464, 451},
}
local fissh = number(1,4)
d.jump_all(8000+positionss[fissh][1], 8000+positionss[fissh][2])
d.regen_file("data/dungeon/icerun_small_boss.txt")
end
when 2623.kill begin
d.notice("Neralex:")
d.notice("Komm geht nach Hause!!")
d.notice("Ihr seid ja absolut lächerlich!!!")
d.notice("Ihr schafft es nicht die Volvins zu töten um")
d.notice("ein Eismedallion auf die Säulen zu ziehen...")
d.regen_file("data/dungeon/icerun_statue.txt")
timer("miniboss", 10)
end
when miniboss.timer begin
d.setf("statue", 0)
d.setf("keulenmann", 0)
d.setf("keule", 1)
d.jump_all(8000+705, 8000+519)
end
when 21579.take with item.vnum == 90033 begin
npc.purge()
item.remove()
d.setf("keulenmann", 0)
d.setf("statue", d.getf("statue")+1)
timer("ice_jump", 6)
if d.getf("statue")==5 then
d.notice("Neralex:")
d.notice("Ihr denkt wohl, ich sehe euch nicht!!")
d.notice("Seid jetzt ruhig und geht nach Hause!!!")
d.setf("keule", 0)
end
end
when 2627.kill with d.getf("keule")==1 begin
d.setf("keulenmann", d.getf("keulenmann")+1)
if d.getf("keulenmann")== 9 then
game.drop_item("90033")
end
end
when ice_jump.timer begin
local positionsss = {
{754, 494},
{705, 459},
{754, 424},
{705, 389},
{144, 449},
}
local fisssh = d.getf("statue")
d.jump_all(8000+positionsss[fisssh][1], 8000+positionsss[fisssh][2])
if fisssh==5 then
timer("ice_boss1", 20)
d.spawn_mob(2636, 124, 446)
d.spawn_mob(2635, 124, 450)
d.notice("Neralex:")
d.notice("Ah, da seid ihr ja. Ich freue mich auf die Show!")
else
d.regen_file("data/dungeon/icerun4_"..fisssh.."_regen.txt")
end
end
when ice_boss1.timer begin
d.notice("Los Valons!! Ergreift die Eindringlinge!!! ")
for i = 1, 132 do
local firts= number(138, 231)
local secodn= number(413, 483)
d.spawn_mob(2633, firts, secodn)
end
d.setf("schild", 1)
d.setf("schildmann" , 0)
end
when 2633.kill with d.getf("schild")==1 begin
d.setf("schildmann", d.getf("schildmann")+1)
d.notice("Noch "..120-d.getf("schildmann").." Wächter besiegen.")
if d.getf("schildmann")== 120 then
d.notice("Neralex:")
d.notice("Ihr denkt wohl, das war alles!!")
d.notice("Los Kristallfelsen!! Sperrt sie ein!!! ")
timer("ice_boss2", 15)
d.setf("schild", 0)
d.setf("kristallmann", 0)
end
end
when ice_boss2.timer begin
for i = 1, 220 do
local firts= number(138, 231)
local secodn= number(413, 483)
d.spawn_mob(21580, firts, secodn)
end
d.setf("kristall", 1)
end
when 21580.kill with d.getf("kristall")==1 begin
d.setf("kristallmann", d.getf("kristallmann")+1)
d.notice("Noch "..200-d.getf("kristallmann").." Kristalle zerschlagen.")
if d.getf("kristallmann")== 200 then
d.notice("Neralex:")
d.notice("WAS!? Ihr habt noch nicht genug?")
d.notice("Los Frau!! Geh die Kinder verprügeln!!!")
d.notice("Nerala:")
d.notice("-.-'")
timer("ice_boss3", 15)
d.setf("kristall", 0)
end
end
when ice_boss3.timer begin
d.purge()
d.spawn_mob(2624, 144, 449)
d.spawn_mob(2636, 124, 450)
d.setf("Nerala", 1)
end
when 2624.kill with d.getf("Nerala")==1 begin
d.notice("Neralex:")
d.notice("Wozu hat man heutzutage noch eine Frau...")
d.notice("Sie sind zu nichts Nutze!!!")
d.notice("Jetzt komme ich!!")
timer("ice_boss4", 15)
d.setf("Nerala", 0)
end
when ice_boss4.timer begin
d.purge()
d.spawn_mob(2625, 144, 449)
d.setf("Neralex", 1)
end
when 2625.kill with d.getf("Neralex")==1 begin
d.notice("Neralex:")
d.notice("Ich bin noch längst nicht besiegt...")
d.notice("Spürt meine Drachenmacht!!")
timer("ice_boss5", 5)
d.setf("Neralex", 0)
end
when ice_boss5.timer begin
d.purge()
d.spawn_mob(2620, 144, 449)
end
when 2620.kill with pc.get_map_index() >= 2070000 and pc.get_map_index() < 2080000 and party.is_party() begin
notice_all("".. pc.get_name() .." und ".. party.get_near_count() .." Spieler haben den Ice-Run gemeistert und bekommen nun ihre Belohnung!")
d.notice("Neralex:")
d.notice("OK...Ihr seid würdig.")
d.notice("Ihr erhaltet eure Belohnung von der IcePrinzessin")
d.notice("Ihr werdet in 4 Minuten zurück teleportiert.")
d.setf("icerun_end", 1)
d.spawn_mob(21601, 141, 440)
server_timer('iceruns_boss', 60, pc.get_map_index())
end
when 21601.chat."Belohnung abholen" with pc.get_map_index() >= 2070000 and pc.get_map_index() < 2080000 and d.getf("icerun_end") == 1 begin
say_title("IcePrinzessin")
say("")
say("Ihr habt uns von Neralex's Schreckensherrschaft")
say("befreit. Ich danke euch im Namen meines ganzen")
say("Volkes dafür!")
say("Hier deine zufällige Belohnung. ")
say("")
local zufall = icerun.randomreward()
say_item_vnum(zufall)
pc.give_item2(zufall, 1)
pc.setqf("achievement_value3", pc.getqf("achievement_value3") + 1)
-- LEVEL I
if pc.getqf("achievement_value3") < 10 then
achievement_preview(3, pc.getqf("achievement_value3"))
elseif pc.getqf("achievement_value3") == 10 then
achievement_complete(3, pc.getqf("achievement_value3"))
-- LEVEL II
elseif pc.getqf("achievement_value3") < 100 then
achievement_preview(4, pc.getqf("achievement_value3"))
elseif pc.getqf("achievement_value3") == 100 then
achievement_complete(4, pc.getqf("achievement_value3"))
-- LEVEL III
elseif pc.getqf("achievement_value3") < 250 then
achievement_preview(5, pc.getqf("achievement_value3"))
elseif pc.getqf("achievement_value3") == 250 then
achievement_complete(5, pc.getqf("achievement_value3"))
-- LEVEL IV
elseif pc.getqf("achievement_value3") < 500 then
achievement_preview(6, pc.getqf("achievement_value3"))
elseif pc.getqf("achievement_value3") == 500 then
achievement_complete(6, pc.getqf("achievement_value3"))
end
wait()
d.exit()
end
when iceruns_boss.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Noch drei Minuten bis zum Verlassen!")
server_timer('iceruns_boss2', 60, get_server_timer_arg())
end
end
when iceruns_boss2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Noch zwei Minuten bis zum Verlassen!")
server_timer('iceruns_boss3', 60, get_server_timer_arg())
end
end
when iceruns_boss3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Noch eine Minute bis zum Verlassen!")
server_timer('iceruns_boss4', 60, get_server_timer_arg())
end
end
when iceruns_boss4.server_timer begin
if d.select(get_server_timer_arg()) then
d.exit_all()
end
end
end
end