- Katılım
- 11 Eki 2025
- Konular
- 5
- Mesajlar
- 24
- Çözüm
- 2
- Online süresi
- 1d 14h
- Reaksiyon Skoru
- 3
- Altın Konu
- 0
- TM Yaşı
- 7 Ay 25 Gün
- Başarım Puanı
- 17
- MmoLira
- 469
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Işınlanıyor ama map instance oluşturmuyor, boss spawn olmuyor nasıl çözerim?
[CODE title="Catacomb"]quest catacomb_dungeon begin
state start begin
function get_remaining_cooldown_minutes(flag_name)
local cooldown_end_time = pc.getqf(flag_name)
if cooldown_end_time == 0 then
return 0
end
local remaining_seconds = cooldown_end_time - get_global_time()
if remaining_seconds <= 0 then
return 0
end
return math.ceil(remaining_seconds / 60)
end
when 20367.chat."Catacomb Zindani (Son Kat)" begin
local remain_cd = catacomb_dungeon.get_remaining_cooldown_minutes("catacomb_dungeon.exit_time")
if remain_cd > 0 then
say_title("Bekleme Süresi")
say("Bu zindana tekrar girebilmek için beklemelisin.")
say_reward(string.format("Kalan süre: %d dakika", remain_cd))
return
end
if not pc.can_warp() then
say("Su anda isinlanamazsin.")
return
end
if pc.get_level() < 100 then
say("Bu zindana girebilmek icin seviyen 100 olmali.")
return
end
if pc.count_item(50010) < 7 then
say("Giris icin gerekli Catacomb Biletin yok.")
return
end
say_title("Zindan Bilgilendirmesi:")
say("Zindanda sadece boss vardir ve 15 dakikan olacak. Giris icin 7 Adet Çorap gerekli.")
say("Girmek istiyor musun?")
local s = select("Evet", "Hayir")
if s == 2 then
return
end
pc.remove_item(50010, 7)
-- 216 taban: base(3072,12032); floor7_entry(73,1156) -> (3145,13188)
d.new_jump(216, 3145 * 100, 13188 * 100)
server_timer("cdc_init", 2, d.get_map_index())
end
when cdc_init.server_timer begin
local map_idx = get_server_timer_arg()
if map_idx >= 2160000 and map_idx < 2170000 then
if d.select(map_idx) then
d.set_regen_file("")
d.spawn_mob(2598, 74, 1103)
d.setf("end_time", get_global_time() + 900)
server_loop_timer("cdc_warn_check", 300, map_idx)
else
-- Instance henüz hazır değilse tekrar dene
server_timer("cdc_init", 1, map_idx)
end
end
end
when cdc_warn_check.server_timer begin
local map_idx = get_server_timer_arg()
if not d.select(map_idx) then
clear_server_timer("cdc_warn_check", map_idx)
return
end
local end_time = d.getf("end_time")
if end_time == 0 then
return
end
local remain_time = end_time - get_global_time()
if remain_time <= 0 then
clear_server_timer("cdc_warn_check", map_idx)
notice_all("[Catacomb] Suren doldu. Zindandan cikariliyorsun!")
server_timer("cdc_kick_timeout", 10, map_idx)
elseif remain_time <= 60 then
notice_all("[Catacomb] Son 1 dakika!")
elseif remain_time <= 300 then
notice_all("[Catacomb] Son 5 dakika!")
end
end
when cdc_kick_timeout.server_timer begin
local map_idx = get_server_timer_arg()
if d.select(map_idx) then
local expire = get_global_time() + 900
d.setqf2("catacomb_dungeon", "exit_time", expire)
d.set_warp_location(41, 9601, 2687)
d.exit_all()
end
end
when 2598.kill begin
local map_idx = d.get_map_index()
if map_idx >= 2160000 and map_idx < 2170000 then
pc.setqf("catacomb_dungeon.exit_time", get_global_time() + 900)
clear_server_timer("cdc_warn_check", map_idx)
notice_all("[Catacomb] Boss'u yendin! 60 saniye icinde disari atilacaksin.")
server_timer("cdc_exit_success", 60, map_idx)
end
end
when cdc_exit_success.server_timer begin
local map_idx = get_server_timer_arg()
if d.select(map_idx) then
d.set_warp_location(41, 9601, 2687)
d.exit_all()
end
end
when logout begin
local map_idx = pc.get_map_index()
if map_idx >= 2160000 and map_idx < 2170000 then
pc.setqf("catacomb_dungeon.exit_time", get_global_time() + 900)
end
end
end
end[/CODE]
[CODE title="Catacomb"]quest catacomb_dungeon begin
state start begin
function get_remaining_cooldown_minutes(flag_name)
local cooldown_end_time = pc.getqf(flag_name)
if cooldown_end_time == 0 then
return 0
end
local remaining_seconds = cooldown_end_time - get_global_time()
if remaining_seconds <= 0 then
return 0
end
return math.ceil(remaining_seconds / 60)
end
when 20367.chat."Catacomb Zindani (Son Kat)" begin
local remain_cd = catacomb_dungeon.get_remaining_cooldown_minutes("catacomb_dungeon.exit_time")
if remain_cd > 0 then
say_title("Bekleme Süresi")
say("Bu zindana tekrar girebilmek için beklemelisin.")
say_reward(string.format("Kalan süre: %d dakika", remain_cd))
return
end
if not pc.can_warp() then
say("Su anda isinlanamazsin.")
return
end
if pc.get_level() < 100 then
say("Bu zindana girebilmek icin seviyen 100 olmali.")
return
end
if pc.count_item(50010) < 7 then
say("Giris icin gerekli Catacomb Biletin yok.")
return
end
say_title("Zindan Bilgilendirmesi:")
say("Zindanda sadece boss vardir ve 15 dakikan olacak. Giris icin 7 Adet Çorap gerekli.")
say("Girmek istiyor musun?")
local s = select("Evet", "Hayir")
if s == 2 then
return
end
pc.remove_item(50010, 7)
-- 216 taban: base(3072,12032); floor7_entry(73,1156) -> (3145,13188)
d.new_jump(216, 3145 * 100, 13188 * 100)
server_timer("cdc_init", 2, d.get_map_index())
end
when cdc_init.server_timer begin
local map_idx = get_server_timer_arg()
if map_idx >= 2160000 and map_idx < 2170000 then
if d.select(map_idx) then
d.set_regen_file("")
d.spawn_mob(2598, 74, 1103)
d.setf("end_time", get_global_time() + 900)
server_loop_timer("cdc_warn_check", 300, map_idx)
else
-- Instance henüz hazır değilse tekrar dene
server_timer("cdc_init", 1, map_idx)
end
end
end
when cdc_warn_check.server_timer begin
local map_idx = get_server_timer_arg()
if not d.select(map_idx) then
clear_server_timer("cdc_warn_check", map_idx)
return
end
local end_time = d.getf("end_time")
if end_time == 0 then
return
end
local remain_time = end_time - get_global_time()
if remain_time <= 0 then
clear_server_timer("cdc_warn_check", map_idx)
notice_all("[Catacomb] Suren doldu. Zindandan cikariliyorsun!")
server_timer("cdc_kick_timeout", 10, map_idx)
elseif remain_time <= 60 then
notice_all("[Catacomb] Son 1 dakika!")
elseif remain_time <= 300 then
notice_all("[Catacomb] Son 5 dakika!")
end
end
when cdc_kick_timeout.server_timer begin
local map_idx = get_server_timer_arg()
if d.select(map_idx) then
local expire = get_global_time() + 900
d.setqf2("catacomb_dungeon", "exit_time", expire)
d.set_warp_location(41, 9601, 2687)
d.exit_all()
end
end
when 2598.kill begin
local map_idx = d.get_map_index()
if map_idx >= 2160000 and map_idx < 2170000 then
pc.setqf("catacomb_dungeon.exit_time", get_global_time() + 900)
clear_server_timer("cdc_warn_check", map_idx)
notice_all("[Catacomb] Boss'u yendin! 60 saniye icinde disari atilacaksin.")
server_timer("cdc_exit_success", 60, map_idx)
end
end
when cdc_exit_success.server_timer begin
local map_idx = get_server_timer_arg()
if d.select(map_idx) then
d.set_warp_location(41, 9601, 2687)
d.exit_all()
end
end
when logout begin
local map_idx = pc.get_map_index()
if map_idx >= 2160000 and map_idx < 2170000 then
pc.setqf("catacomb_dungeon.exit_time", get_global_time() + 900)
end
end
end
end[/CODE]



Kalan bekleme süresini hesapla