quest jotun_dungeon begin
state start begin
function setting()
return
{
["base"]={["x"] = 3072 , ["y"]= 12032 ,},
["floor1_s"] = { ["x"] = 20, ["y"] = 20, },
["floor1_e"] = { ["x"] = 500, ["y"] = 470,},
["floor2_s"] = { ["x"] = 510, ["y"] = 18, },
["floor2_e"] = { ["x"] = 978, ["y"] = 470,},
["floor1_entry"] = {["x"] = 73, ["y"] = 63,},
["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
["floor3_entry"] = {["x"] = 1378, ["y"] = 249,},
["floor4_entry"] = {["x"] = 70, ["y"] = 592,},
["floor5_entry"] = {["x"] = 846, ["y"] = 898},
["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
["jotun_entry"] = {["x"] = 73, ["y"] = 1156},
["map_idx"] = 244,
["rag"] = 30311,
["devil_king"] = 2591,
["reapers_credit1"] = 31322,
["reapers_credit2"] = 30320,
["reapers_credit3"] = 76002,
["reapers_credit4"] = 79001,
["floor3_stone"] = 8038,
["floor3_stone_pos"] = {
{1366, 150},
{1366, 351},
{1234, 365},
{1234, 140},
{1150, 135},
{1130, 365},
{1135, 253}
},
["mob_regen_file_path"] = "data/dungeon/deviljotun/",
["floor4_regen_file"] = {"deviljotun_floor4_regen1.txt",
"deviljotun_floor4_regen2.txt",
"deviljotun_floor4_regen3.txt",
"deviljotun_floor4_regen4.txt",
"deviljotun_floor4_regen5.txt"} ,
["credit_stone"] = 30101,
["credit_stone_pos"] = {307,323},
["floor2_stone"] = 30103,
["floor2_stone_pos"] = {741,217},
["floor2_merchant_npc"] = 20368,
["floor2_merchant_npc_pos"] = {734,214},
["floor4_npc"] = 30104,
["floor4_npc_pos"] = {75, 592},
["devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}},
["unlock_stone"] = 30312,
["floor5_stone"] = 30102,
["floor5_stone_pos"] = {848, 735},
["devil_great_king"] = 2597 ,
["devil_great_king_pos"] = {1303,704},
["devil_emperor"] = 3964,
["devil_emperor_pos"] = {74,1103},
["dc2_door_set_size"] = {4,2,3,2},
["dc2_door_set1"] = {
{{30111, 566, 117, 5},{30112, 562, 311, 5,},{30118, 663, 434, 7},{30119, 881, 434, 7}},
{{30116, 743, 390, 3},{30119, 612, 251, 1,}},
{{30113, 654, 211, 5},{30111, 707, 338, 7,},{30112, 775, 336, 7}},
{{30117, 733, 294, 3},{30113, 694, 271, 1,}}
},
["dc2_door_set2"] = {
{{30115, 942, 141, 5},{30116, 942, 245, 5},{30117, 942, 321, 5},{30115, 763, 64, 7}},
{{30118, 643, 116, 3},{30114, 900, 167, 1}},
{{30114, 850, 293, 5},{30113, 715, 164, 7},{30114, 817, 162, 7}},
{{30111, 802, 277, 1},{30112, 800, 241, 1}}
},
}
end
when login begin
local idx = 210
local map = pc.get_map_index()
if map >= (idx * 10000) and map < (idx * 10000 + 9000) then
pc.set_dungeonindex(d.get_map_index())
pc.setqf("dungeon_ch",pc.get_channel_id())
pc.setqf("dungeonorgindex",210)
end
end
when logout begin
local idx = 210
local map = pc.get_map_index()
if map >= (idx * 10000) and map < (idx * 10000 + 9000) then
pc.setf("jotun","dungeon_time",get_global_time() + 60*60*5)
end
end
when 20412.chat."Jotun Thyrm(120.Seviye -R Seviye 7-)" begin
if game.get_event_flag("jotun_open") == 0 then
if pc.is_gm() then
say_title("Event Flag : jotun_open ")
end
say("Dungeon henüz aktif değil!")
return
end
local setting = jotun_dungeon . setting ( )
if pc.get_rebirt() < 7 then
say_title_center ( "Bekci:" )
say_center ( "" )
say_center ( "Rebirth Seviyen 7 olmadığı için. " )
say_center ( "zindana giremezsin..." )
return
end
local setting = jotun_dungeon.setting()
if pc.get_level() < 120 then
say_title_center("Bekci:")
say_center("")
say_center("120. seviyenin altinda oldugun icin ")
say_center("zindana giremezsin...")
return
end
if pc.count_item(71178) < 1 then
say_item_vnum(71178)
say("Gerekli esya olmjotunn giris yapamazsin.")
return
end
if party.is_party() then
say("Grubun varken giris yapamazsin.")
return
end
if pc.getf("jotun","dungeon_time") > get_time() and not pc.is_gm() then
say_npc()
say("")
say("Henüz odaya giremezsin.")
say("Bekleme süren dolunca tekrar gel.")
say("")
say_reward("Kalan Süre : "..LIB_duration(pc.getf("jotun","dungeon_time")-get_time()))
return
end
say_title_center("Bekci:")
say_center("")
say_center("zindana girmek istiyor musun?")
local s = select("Evet!","Hayir,girmek istemiyorum.")
if s == 1 then
pc.remove_item(71178,1)
timer("jotun_sologiris",2)
else
return
end
end
when 20412.chat."Kaldığın Yerden Devam Et" with d.find(pc.get_dungeonindex()) begin
if pc.getqf("dungeonorgindex") != 210 then
say("Son girdiğin zindan burası değil!")
return
end
if pc.getqf("dungeon_ch") != pc.get_channel_id() then
say("Zindana girdiğin ch burası değil!")
return
end
local n = pc.get_dungeonindex()
local oldumu = d.getf_from_map_index("jotun_dead", n)
local sure_doldu = d.getf_from_map_index("sure_doldu", n)
if oldumu == 1 then
say_npc()
say("Bossu zaten yok etmişsin.")
return
end
if sure_doldu == 1 then
say_npc()
say("Süre dolduktan sonra içeri giremezsin.")
return
end
if n == 0 then
setskin(NOWINDOW)
return
else
say("Kaldığın yerden devam etmek istiyor musun?")
if select(locale.yes,locale.no) == 1 then
pc.warp(7824*100,15024*100,n)
end
end
end
when jotun_sologiris.timer begin
d.new_jump(210, 7824 * 100, 15024 * 100)
d.spawn_mob_dir(6418, 66,941,1)
--d.set_regen_file("data/dungeon/mushroom_dungeon/boss.txt")
--d.jump_all (setting.jotun_entry.x + setting.base.x, setting.jotun_entry.y + setting.base.y )
--jotun.Temizle()
server_timer("jotun_timeup",60*30*1,d.get_map_index())
end
-- 6Ãş°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(3964)ÀÌ Á×À¸¸é
-- 7ÃşÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
when kill with npc.get_race() == 6418 begin
d.setf("jotun_dead",1)
notice_all("|cff00ff00 Patron Avcısı "..pc.get_name().." grubu, Jotun'u maglup etti!")
server_timer ("jotun_eli_check_timer_1", 5, d.get_map_index())
end
-- 7ÃşÀÇ Å¸À̸Ӵ 6Ãş ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
-- ¸ó½ºÅÍ ¼ıÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ı½ÃŲ´Ù.
-- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§ÇؼÀÌ´Ù.
when jotun_eli_check_timer_1.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (210, 8278, 14183)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
server_timer ("jotun_eli_check_timer_2", 3, get_server_timer_arg())
end
end
when jotun_eli_check_timer_2.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (210, 8278, 14183)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
server_timer("jotun_exit_timer", 30, get_server_timer_arg())
else
server_timer ("jotun_eli_check_timer_1", 3, get_server_timer_arg())
end
end
when jotun_timeup.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Zaman doldu.")
d.setf("sure_doldu",1)
d.exit_all()
end
end
when jotun_exit_timer.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer("jotun_eli_check_timer_1", get_server_timer_arg())
clear_server_timer("jotun_eli_check_timer_2", get_server_timer_arg())
clear_server_timer("jotun_sologiris", get_server_timer_arg())
d.clear_regen()
d.exit_all()
end
end
end --state
end --quest