und ih möchte das so das die 3 Schichten von Mobs vor dem Razador kommen und der eis Razador mit mobs dann Spwant und man dann nach 30 sek in die jeweilge stadt geportet wird
Code:
quest icecrown_citadell begin
state start begin
-- Coords vor Geist = 1902,12325
function setting()
return
{
["map_main_coords"] = {5120,1536}, -- Globale koordinaten der Map 0,0
["map_index"] = {220}, -- Mpa-Index
["min_level"] = {1}, -- Benötigtes Level um den Dungeon zu betreten
-- Lokale Koordinaten der einzelnen Ebenen
["base1"] = {848,692},
["base2"] = {571,703},
["base3"] = {303,717},
["base4"] = {746,539},
["base5"] = {420,536},
["base6"] = {173,531},
["base7"] = {761,271},
["base8"] = {421,266},
["base9"] = {171,277},
["base10"] = {927,390},
-- Base 1 settings
["base1_stone"] = {8055}, -- Metin Vnum von Ebene 1
["base1_stone_coords"] = {570,640}, -- Koordinaten vom metin auf der ersten Ebene
["base1_stone_max_tp"] = {999999}, -- MaxTP des Metins
["pillar_vnum"] = {4516}, -- VNum der Siegel von Ebene 1
["pillar_coords"] = {{584,636},{557,635},{557,662},{584,662}}, -- Koordinaten der Siegel von Ebene 1
-- 557,635
-- Base 2 settings
--["pillar_base2_coords"] = {{287,671},{557,635},{318,642},{318,672}}, -- Koordinaten der Siegel von Ebene 1
}
end
--[[
when login with pc.is_gm() begin
send_letter("icecrown_citadell")
end
when button or info begin
pc.warp(596800,222800)
end
]]
when 30122.chat."Können wir dir helfen?" with pc.get_map_index() == 220 begin
pc.remove_polymorph()
local settings = icecrown_citadell.setting()
say_title("Geist von Arthas")
if pc.get_level() >= settings.min_level[1] then
say("Ja das könnt ihr, vor 300 Jahren wurde ich vom")
say("Frostlord getötet und kann diesen Ort nicht verlass-")
say("en um endlich frieden zu finden...")
say("")
if pc.is_party_and_leader_or_no_party_and_gm() then
say_reward("Werdet ihr mir helfen endlich ruhe zu finden?")
local s = select("Ja, lass uns aufbrechen!","Nein, wir haben keine Zeit!")
if s == 1 then
say_title("Geist von Arthas")
say("Doch seit gewarnt! Die Kälte in der Zitadelle")
say("wird an euch zähren und euch schließlich töten")
say("solltet ihr zu lange in der Zitadelle sein!")
say("")
wait()
local s = select("All","Group")
if s == 1 then
syschat(settings.map_index[1]..","..settings.map_main_coords[1] + settings.base2[1]..","..settings.map_main_coords[2] + settings.base2[2])
d.new_jump_all(settings.map_index[1],settings.map_main_coords[1] + settings.base2[1],settings.map_main_coords[2] + settings.base2[2])
else
syschat(settings.map_index[1]..","..settings.map_main_coords[1] + settings.base2[1]..","..settings.map_main_coords[2] + settings.base2[2])
d.new_jump_party(settings.map_index[1],settings.map_main_coords[1] + settings.base2[1],settings.map_main_coords[2] + settings.base2[2])
end
end
end
else
say_reward("Für diese Schlacht musst du stärker werden!")
end
end
when login with pc.get_map_index() >= 220*10000 and pc.get_map_index() <= (220+1)*10000 begin
if pc.is_party_and_leader_or_no_party_and_gm() then
--d.notice("login1")
local settings = icecrown_citadell.setting()
d.set_warp_location(settings.map_index[1],settings.map_main_coords[1] + settings.base1[1],settings.map_main_coords[2] + settings.base1[2])
--d.notice("login2")
d.setf("time_for_citadell",time_min_to_sec(60)+get_time())
--d.notice("login3")
--server_timer("leave_icecrown_citadell",time_min_to_sec(60),pc.get_map_index())
--d.notice("login4")
--server_loop_timer("noticetime_icecrown_citadell",time_min_to_sec(5),pc.get_map_index())
--d.notice("login5")
d.notice_time(d.getf("time_for_citadell"))
--d.notice("login6")
d.setf("siegel_drop_chance",70)
--d.notice("login7")
d.setf("base1_purge_stone",80)
--d.notice("login8")
server_loop_timer("controll_to_of_stone",5,pc.get_map_index())
--d.notice("login9")
d.set_unique("main_metin",d.spawn_mob(8055, 570, 640))
--d.notice("login10")
d.set_regen_file("data/dungeon/icecrown_citadell/regen_01.txt")
--d.notice("login11")
d.setf("icecrown_citadell_level",1)
--d.notice("login12")
for i = 1, 4 do
--d.notice("login13_"..i)
d.spawn_mob(settings.pillar_vnum[1], settings.pillar_coords[i][1], settings.pillar_coords[i][2])
--d.notice(settings.pillar_vnum[1]..","..settings.pillar_coords[i][1]..","..settings.pillar_coords[i][2])
end
--d.notice("login14")
end
loop_timer("controll_if_it_is_time_to_poly",1)
end
when controll_to_of_stone.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("block_abgabe") == 0 then
if d.unique_get_hp_perc("main_metin") < d.getf("base1_purge_stone") then
if d.getf("base1_purge_stone") > 0 then
d.setf("base1_purge_stone",d.getf("base1_purge_stone")-20)
--d.notice(d.getf("base1_purge_stone"))
d.setf("siegel_drop_chance",d.getf("siegel_drop_chance")-10)
--d.notice(d.getf("siegel_drop_chance"))
d.purge_unique("main_metin")
d.setf("base1_can_drop_siegel",1)
d.setf("block_abgabe",1)
else
clear_server_timer("controll_to_of_stone",get_server_timer_arg())
end
end
end
end
end
when kill with pc.is_in_dungeon(220) begin
if npc.get_race() >= 6101 and npc.get_race() <= 6109 and d.getf("icecrown_citadell_level") == 1 and d.getf("base1_can_drop_siegel") == 1 then
if number(0,100) < 10 then
d.setf("base1_can_drop_siegel",0)
game.drop_item_with_ownership(19,1)
end
elseif npc.get_race() == 8055 and d.getf("icecrown_citadell_level") == 1 then
d.clear_regen()
d.kill_all()
d.notice("Geist von Arthas")
d.notice("Nun könne wir zur 2.Kammer der Eiskronen-Zitadelle!")
timer("icc_warp_to_stage2",5)
elseif npc.get_race() == 6109 and d.getf("icecrown_citadell_level") == 4 then
d.set_unique("konfuzius",d.spawn_mob(20381,pc.get_local_x()+number(3,6),pc.get_local_y()))
d.notice("Konfuzius")
d.notice("Wisst ihr eigentlich wem ihr da helft? Arthas ist der Frostlord er hat")
d.notice("euch nur benutzt um zum Frostthron zu gelangen damit er wieder eine")
d.notice("Körperliche Form annehmen kann!")
d.kill_all()
d.clear_regen()
server_timer("last_dialog_stage4",2,pc.get_map_index())
elseif npc.get_race() == 6191 and d.getf("icecrown_citadell_level") == 5 then
clear_server_timer("icc_spawn_new_mobs_boos")
d.notice("Frostlord Arthas")
d.notice("NEEEEEEIN!!!! Ich war so nah dran diesen Ort zu verlassen....")
d.kill_all()
end
end
when 4516.take with pc.is_in_dungeon(220) and item.get_vnum() == 19 and d.getf("block_abgabe") == 1 begin
pc.remove_item(19,1)
local settings = icecrown_citadell.setting()
npc.kill()
d.setf("block_abgabe",0)
d.set_unique("main_metin",d.spawn_mob(settings.base1_stone[1], settings.base1_stone_coords[1], settings.base1_stone_coords[2]))
d.unique_set_maxhp("main_metin",settings.base1_stone_max_tp[1])
d.unique_set_hp("main_metin",get_percentage(settings.base1_stone_max_tp[1],d.getf("base1_purge_stone")+20))
--d.notice(get_percentage(settings.base1_stone_max_tp[1],d.getf("base1_purge_stone")+20))
end
when icc_warp_to_stage2.timer begin
local settings = icecrown_citadell.setting()
d.jump_all(settings.map_main_coords[1] + settings.base3[1],settings.map_main_coords[2] + settings.base3[2])
timer("first_dialog",3)
d.set_unique("konfuzius",d.spawn_mob_dir(20381,302,688,1))
d.setf("icecrown_citadell_level",2)
d.spawn_mob_dir(30122,310,717,6)
d.spawn_mob_dir(20361,303,664,1)
d.set_regen_file("data/dungeon/icecrown_citadell/regen_02.txt")
end
when first_dialog.timer begin
d.notice("Konfuzius")
d.notice("HALT! Kehrt sofort um dieses Gebiet ist auf anweisung des Obsidianischen")
d.notice("Orden's gesperrt! Wenn ihr nicht sofort umkehrt bin ich gezwungen euch zu töten!")
timer("second_dialog",2)
end
when second_dialog.timer begin
d.notice("Konfuzius")
d.notice("Arthas?! Wieso begleitet ihr diesen abschaum? Wie auch immer dies ist euer ende...")
d.notice("Die Eisgolems werden euch in stücke reißen!")
d.set_regen_file("data/dungeon/icecrown_citadell/regen_02.txt")
timer("purge_konf",2)
end
when purge_konf.timer begin
d.purge_unique("konfuzius")
d.notice("Geist von Arthas")
d.notice("Los einer von euch muss die Inschrift enziffern und die anderen müssen ihn verteidigen!")
end
when 20361.click with pc.is_in_dungeon(220) and d.getf("decode_insign") == 0 begin
d.setf("decode_insign",1)
say_title("Inschrift entziffern")
say_reward("[DELAY value;1500]. . . . . . . . . . .[/DELAY]")
if pc.is_dead() then
d.setf("decode_insign",0)
d.notice(pc.get_name().." hat beim entziffernd er Inschrift versagt...")
return
else
wait()
npc.purge()
d.clear_regen()
d.kill_all()
d.notice("Geist von Arthas")
d.notice("Ihr habt es geschaft! Der Eingang zur 3.Ebene ist offen...")
timer("icc_warp_to_stage3",5)
end
end
when icc_warp_to_stage3.timer begin
local settings = icecrown_citadell.setting()
d.set_unique("konfuzius",d.spawn_mob_dir(20381,173,514,1))
d.set_unique("arthas",d.spawn_mob_dir(30122,177,534,6))
d.jump_all(settings.map_main_coords[1] + settings.base6[1],settings.map_main_coords[2] + settings.base6[2])
timer("stage3_first_dialog",3)
d.setf("icecrown_citadell_level",3)
server_loop_timer("time_to_depolymorph",60,pc.get_map_index())
d.set_regen_file("data/dungeon/icecrown_citadell/regen_03.txt")
end
when stage3_first_dialog.timer begin
d.notice("Konfuzius")
d.notice("Ihr seid ja immer noch da.. Schön dann versucht euch jetzt mal zu wehren!")
d.setqf("icc_poly_players",1)
timer("stage3_second_dialog",3)
end
when stage3_second_dialog.timer begin
d.purge_unique("konfuzius")
d.notice("Geist von Arthas")
d.notice("Versucht am leben zu bleiben, ich werde versuchen euch zurück zu verwandeln!")
d.notice("Wenn ihr Sterbt müsst ihr die Zitadelle verlassen...")
end
when controll_if_it_is_time_to_poly.timer begin
if pc.getqf("icc_poly_players") == 1 then
pc.setqf("icc_poly_players",0)
pc.polymorph(number(6102,6105),d.getf("time_for_citadell"))
end
if pc.getqf("icc_depoly_players") == 1 then
pc.setqf("icc_depoly_players",0)
pc.remove_polymorph()
end
if d.getf("icecrown_citadell_level") == 3 then
if pc.is_dead() then
pc.warp((5120+848)*100,(1536+692)*100)
end
end
end
when time_to_depolymorph.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("time_left",d.getf("time_left")+1)
if d.getf("time_left") == 5 then
clear_server_timer("time_to_depolymorph",get_server_timer_arg())
d.notice("Geist von Arthas")
d.notice("Ich habe es geschaft! Ich verwandel euch nun zurück...")
d.kill_all()
d.clear_regen()
d.setqf("icc_depoly_players",1)
server_timer("icc_warp_to_stage_4",5,d.get_map_index())
else
d.notice("Geist von Arthas")
d.notice("Haltet noch "..5-d.getf("time_left").." Minuten durch!")
end
end
end
when icc_warp_to_stage_4.server_timer begin
if d.select(get_server_timer_arg()) then
local settings = icecrown_citadell.setting()
d.set_unique("konfuzius",d.spawn_mob_dir(20381,171,210,1))
d.set_unique("arthas",d.spawn_mob_dir(30122,175,265,6))
d.jump_all(settings.map_main_coords[1] + settings.base9[1],settings.map_main_coords[2] + settings.base9[2])
server_timer("stage4_first_dialog",3,d.get_map_index())
d.setf("icecrown_citadell_level",4)
end
end
when stage4_first_dialog.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Konfuzius")
d.notice("Wie konntet ihr überleben? So genug der Spielchen nun werde ich euch erldedigen!")
server_timer("stage4_second_dialog",3,d.get_map_index())
end
end
when stage4_second_dialog.server_timer begin
if d.select(get_server_timer_arg()) then
d.purge_unique("konfuzius")
d.set_unique("konfuzius_mob",d.spawn_mob_dir(6109,171,210,1))
d.set_regen_file("data/dungeon/icecrown_citadell/regen_04.txt")
d.notice("Geist von Arthas")
d.notice("Tötet ihn ich möchte doch nur frieden finden...")
end
end
when last_dialog_stage4.server_timer begin
if d.select(get_server_timer_arg()) then
d.purge_unique("konfuzius_mob")
--d.set_unique("konfuzius_mob",d.spawn_mob_dir(6109,302,688,1))
d.notice("Geist von Arthas")
d.notice("Ganz genau nun kann ich endlich wieder Zerstörung über die Welt bringen!")
d.notice("Ihr habt mir einen großen Dienste rweisen aber nun muss ich leider los,")
d.notice("denn ich habe eine Welt zu erobern!")
server_timer("last_dialog2_stage4",5,d.get_map_index())
server_timer("last_dialog2_purge_arthas_stage4",2,d.get_map_index())
end
end
when last_dialog2_purge_arthas_stage4.server_timer begin
if d.select(get_server_timer_arg()) then
d.purge_unique("arthas")
end
end
when last_dialog2_stage4.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Konfuzius")
d.notice("Ihr müsst ihn aufhalten! Ich kann es nicht denn ich bin nun dem Tode nah...")
d.notice("Mit letzter Kraft werde ich euch zum Frostthron bringen ihr müsst eure Tat")
d.notice("wieder gut machen....")
server_timer("icc_warp_to_end_boos_icc",5,d.get_map_index())
end
end
when icc_warp_to_end_boos_icc.server_timer begin
if d.select(get_server_timer_arg()) then
local settings = icecrown_citadell.setting()
d.jump_all(settings.map_main_coords[1] + settings.base10[1],settings.map_main_coords[2] + settings.base10[2])
server_timer("stage_end_first_dialog",3,d.get_map_index())
d.set_unique("arthas_mob",d.spawn_mob_dir(6191,927,333,1))
server_loop_timer("icc_spawn_new_mobs_boos",60,d.get_map_index())
d.setf("icecrown_citadell_level",5)
end
end
when stage_end_first_dialog.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Frostlord Arthas")
d.notice("Geht mir aus dem Weg oder ich werde euch zermalmen!!!")
end
end
when icc_spawn_new_mobs_boos.server_timer begin
if d.select(get_server_timer_arg()) then
local text = {"Erhebt euch meine Diener!","Helft mir diese eindringlinge zu vertreiben!","Ich brauche verstärkung!"}
d.notice("Frostlord Arthas")
d.notice(text[number(1,table.getn(text))])
d.regen_file("data/dungeon/icecrown_citadell/regen_05.txt")
end
end
--last_dialog_stage4
when 30122.chat."Ebene überspringen" with pc.is_in_dungeon(220) and pc.is_gm() begin
say_title("Level: "..d.getf("icecrown_citadell_level"))
say("Überspringen?")
local s = select("Ja","Nein")
if s == 1 then
if d.getf("icecrown_citadell_level") == 1 then
d.clear_regen()
d.kill_all()
d.notice("Geist von Arthas")
d.notice("Nun könne wir zur 2.Kammer der Eiskronen-Zitadelle!")
timer("warp_to_stage2",5)
elseif d.getf("icecrown_citadell_level") == 2 then
local settings = icecrown_citadell.setting()
d.set_unique("konfuzius",d.spawn_mob_dir(20381,302,688,1))
d.jump_all(settings.map_main_coords[1] + settings.base6[1],settings.map_main_coords[2] + settings.base6[2])
timer("stage3_first_dialog",3)
d.setf("icecrown_citadell_level",3)
server_loop_timer("time_to_depolymorph",60,pc.get_map_index())
end
end
end
end
end