Catacomb Questi her SF 'de sorunsuz çalışır.
( AÇIK KAYNAK )
( AÇIK KAYNAK )
Kod:
quest mertingotu_dungeon begin
state start begin
function setting()
return {
["base"]={["x"] = 3072 , ["y"]= 12032 ,},
["bossroom_entry_pos"] = {8109,6867},
["based"] = {["x"] = 550, ["y"]= 536},
["floor_1"] = {["x"] = 87, ["y"] = 73},
["floor_2"] = {["x"] = 256, ["y"] = 1145},
["floor_3"] = {["x"] = 1115, ["y"] = 1076},
["floor_4"] = {["x"] = 703, ["y"] = 385},
["floor_5"] = {["x"] = 1000, ["y"] = 737},
["final_boss"] = {["x"] = 74, ["y"] = 1103},
["floor7_entry"] = {["x"] = 73, ["y"] = 1156},
["devil_emperor"] = 2598,
["devil_emperor_pos"] = {74,1103},
}
end
when login begin
if (pc.get_map_index() >= 2160000 and pc.get_map_index() < 2169999) then
if pc.getqf("join_dung") > 0 then
pc.setqf("join_dung", 0)
d.zodiac_notice_clear()
d.zodiac_notice("Merhaba Milat2'ye Özel Direkt Azrail Katında Başlamış Bulunuyorsunuz !")
d.setqf2("gir_dung","last_exit_time", get_global_time())
d.setf("level", 1)
server_loop_timer('mert4', 5, d.get_map_index())
server_loop_timer("mertingotu_dungeon_end_first", 3, d.get_map_index())
end
end
local idx = pc.get_map_index()
if idx >= (216 * 10000) and idx < ((216 + 1) * 10000) then
local level = d.getf("level")
end
if idx == 216 then
pc.setf("gir_dung","last_exit_time", get_global_time())
pc.warp(136700,147900)
end
end
when logout begin
local idx = pc.get_map_index()
if idx == 216 or idx >= (216 * 10000) and idx < ((216 + 1) * 10000) then
pc.setf("mert","dungeon_turn",1)
end
end
when 20367.chat."Şeytan Katakombu'na gider (Bireysel) " begin
if party.is_party() then
say_title_center("Şeytan Katakombu:")
say_reward_center("Bu zindana grup halinde giremezsin")
say_reward_center("lütfen önce bulundugun grupdan ayril !")
return
end
say_title_center(mob_name(20367))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Şeytan Katakombu karanlık güçlerin ele")
say_center("Geçirdiği Bir Diyardır. Giriş yapabilmek")
say_center("için 90. seviyenin üzerinde olman gerekiyor.")
say_center("")
say_item(item_name(30319),30319, "")
wait()
say_title_center(mob_name(20367))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center(string.format("%s:", item_name(30319)))
say_center("Giriş yaptığında eşya yok olacak. ")
say_center("")
say_reward_center("Devam etmek istiyor musun?")
say_center("")
local s = select("Evet", "Hayır")
if s == 1 then
if not pc.can_warp() then
say_title_center(mob_name(20367))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Henüz ışınlanamazsın.")
say_center("")
return
end
if get_time() < pc.getqf("player_am_65") then
say_title_center(mob_name(20367))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Soguma süren henüz dolmadi !")
say_center("Kalan süre: "..dungeon_get_duration(pc.getqf("player_am_65") - get_global_time()).."")
return
end
if pc.get_level() < 90 or pc.get_level() > 120 then
say_title_center(mob_name(20367))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Giris yapmak için seviyen yetersiz.")
say_center(string.format("Minimum Seviye: %d.",90))
say_center(string.format("Maksimum Seviye: %d.",120))
return
end
if pc.count_item(30319) < 1 then
say_title_center(mob_name(20367))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Envanterinde yeterli miktarda yok:")
say_reward_center(string.format("%s.", item_name(30319)))
say_center("")
return
end
if game.get_event_flag("mert_dung_close") == 1 then
say_title_center(mob_name(20367))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Katakomb Henüz Aktif Değil.")
say_center("")
return
else
pc.setqf("player_am_65", get_time()+15*5)
pc.remove_item(30319, 1)
pc.setqf("join_dung", 1)
d.new_jump(216, 3146 * 100, 13187 * 100)
end
end
end
when 20367.chat."Süre sıfırla " with (game.get_event_flag("gir_dung_time") == 1) begin
local select_timer = select("Sıfırla", "Sıfırlama")
if select_timer == 1 then
pc.setqf("player_am_65", 0)
end
end
when mertingotu_dungeon_end_first.server_timer begin
if d.select(get_server_timer_arg()) then
local setting = mertingotu_dungeon.setting()
d.spawn_mob (setting.devil_emperor, setting.devil_emperor_pos[1], setting.devil_emperor_pos[2])
d.zodiac_notice_clear()
d.zodiac_notice("Azraili Yok Ederek Bu Savaşı Kazanabilirsin !")
clear_server_timer("mertingotu_dungeon_end_first",d.get_map_index())
end
end
when kill with npc.get_race() == 2598 and pc.get_map_index() >= 2160000 and pc.get_map_index() < 2169999 and d.getf("level") == 1 begin
timer("exitmsh", 1*60)
d.zodiac_notice_clear()
d.zodiac_notice("Tebrikler Şeytan Katakombu'nu tamamladınız 1 dakika içerisinde dışarı gönderileceksin.")
end
when mert4.server_timer begin
if d.select(get_server_timer_arg()) then
d.zodiac_notice_clear()
d.zodiac_notice("Zindanı tamamlamak için 15 dakika vaktin kaldı.")
server_loop_timer('mert5', 10*60,d.get_map_index())
clear_server_timer("mert4",d.get_map_index())
end
end
when mert5.server_timer begin
if d.select(get_server_timer_arg()) then
d.zodiac_notice_clear()
d.zodiac_notice("Zindanı tamamlamak için 5 dakika vaktin kaldı.")
server_loop_timer('mert6', 4*60,d.get_map_index())
clear_server_timer("mert5",d.get_map_index())
end
end
when mert6.server_timer begin
if d.select(get_server_timer_arg()) then
d.zodiac_notice_clear()
d.zodiac_notice("Zindanı tamamlamak için 1 dakika vaktin kaldı.")
server_loop_timer('mertend', 60,d.get_map_index())
clear_server_timer("mert6",d.get_map_index())
end
end
when mertend.server_timer begin
if d.select(get_server_timer_arg()) then
d.zodiac_notice_clear()
d.zodiac_notice("Zindanı tamamlamakta başarısız oldun. 10 saniye içerisinde dışarı ışınlanıyorsun.")
server_loop_timer('mertfail', 10,d.get_map_index())
clear_server_timer("mertend",d.get_map_index())
end
end
when mertfail.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer("mertfail",d.get_map_index())
pc.go_home()
end
end
when exitmsh.timer begin
d.setqf2("gir_dung","last_exit_time", get_global_time())
pc.go_home()
end
end
end
Son düzenleme: