--[[ questName: deviltower_zone questTitle: Beran-Setaou Dungeon mapIndex: 208 warpX, warpY: 8436,10669 --]] state start begin --when 3233.chat."Zindan marketi" begin -- setskin(NOWINDOW) -- npc.open_shop(55236) --end when 3233.chat."Zindana geri dön" with deviltower_zone.isThisDungeon() begin local leftMin = math.floor((get_time() - pc.getf("deviltower_zone","exitTime")) / 60) local leftSecond = (get_time() - pc.getf("deviltower_zone","exitTime")) - leftMin * 60 say_reward("Sura Ruhu:") say("[ENTER]İçeriye girmek istiyor musun?") if select(locale.yes, locale.no) == 1 then if get_time() - pc.getf("deviltower_zone","exitTime") > 60*3 then say_reward("Sura Ruhu:") say("[ENTER]3 dakikalık geri dönüş süren dolmuş.[ENTER]Bu sebeple artık seni içeri alamam.") pc.setf("deviltower_zone","exitTime",0) pc.setf("deviltower_zone","dungeon_index",0) pc.setf("deviltower_zone","dungeon_ch",0) return end pc.warp(8436*100, 10669*100, pc.getf("deviltower_zone", "dungeon_index")) end end when 3233.chat."Ejderhayı öldürmek istiyorum!" with pc.get_map_index() == 41 or pc.get_map_index() == 1 or pc.get_map_index() == 21 begin if party.is_party() then say("Ejderha ile yüzleşmek için gruptan çıkmalısın.") say("") return end if pc.get_level() < 55 then say_reward(mob_name(20364)..":") say("[ENTER]Bu zindana şuan giremezsin.[ENTER]Sadece 55 seviye ve üzeri olduğunda giriş yapabilirsin.") return end if pc.getf("deviltower_zone","dungeon_index") != 0 then say_reward("Sura Ruhu:") say("[ENTER]Zaten bir zindana kayıt yaptırmışsın.[ENTER]Öncelikle o zindanı tamamlamalısın.") elseif pc.getqf("coolDownTime") > get_time() then local leftTime = pc.getqf("coolDownTime") - get_time() local leftMin = math.floor(leftTime / 60) local leftSecond = leftTime - (leftMin * 60) say_reward("Şeytan kulesi bekçisi:") say("[ENTER]Henüz bekleme süren dolmamış.[ENTER]") if leftMin == 0 then say_title(leftSecond.." saniye sonra tekrar içeri girebilirsin.") else say_title(leftMin.." dakika "..leftSecond.." saniye sonra tekrar içeri girebilirsin.") end else say_reward("Sura Ruhu:") say("[ENTER]Beran-Setaou ile karşılaşmak istediğine eminmisin?[ENTER]Onun güçlü askerleri ve metin taşlarından aldığı güç ile[ENTER]neredeyse yenilmez.") say("Onunla yüzleşmek için 1 adet "..item_name(79668).."'na[ENTER]ihtiyacın var.") say_item_vnum(79668) wait() if pc.count_item(79668) > 0 then say_reward("Sura Ruhu:") say("[ENTER]Hmm. Ruha sahipsin, içeri girmek istiyor musun?") if select(locale.yes, locale.no) == 1 then if party.is_party() then if not party.is_leader() then say_reward("Sura Ruhu:") say("[ENTER]Grup liderinin onayı gerekiyor..") return end end -- join d.join_new(66,975,4544) -- coolDown Time -- pc.setqf("coolDownTime", get_time() + 60*1) d.regen_file("data/dungeon/dragon_lair/skia_stage1.txt") d.setf("stage", 1) pc.remove_item(79668, 1) end else say_reward("Sura Ruhu:") say("[ENTER]Beran-Setaou ile yüzleşmek için gerekli ruha sahip[ENTER]değilsin. Sahip olunca tekrar konuşalım.") end end end when logout with deviltower_zone.isInDungeon() begin d.setqf2("deviltower_zone","exitTime", get_time()) end when login with deviltower_zone.isInDungeon() begin d.setqf2("deviltower_zone","exitTime",0) d.setqf2("deviltower_zone","dungeon_index",pc.get_map_index()) d.setqf2("deviltower_zone","dungeon_ch",pc.get_channel_id()) deviltower_zone.noticeInDungeon(d.getf("stage")) end when kill with deviltower_zone.isInDungeon() begin if npc.get_race() == 1093 then d.kill_all() d.clear_regen() ------------------------------------ coolDown Time ------------------------------------ pc.setqf("coolDownTime", get_time() + 60*25) d.notice_big("Beran-Setaou mağlup oldu. 15 saniye içinde dışarı gönderiliceksiniz.") d.setqf2("deviltower_zone","dungeon_index",0) d.setqf2("deviltower_zone","dungeon_ch",0) timer("kule_end", 15) d.setf("stoneCount",0) return end end when kule_end.timer begin d.exit_all() end function noticeInDungeon(stage, type) notice_all("CH"..pc.get_channel_id()..": "..pc.get_name().." grubu, Mavi Ejderha'yı öldürmeye çalışıyor!") local dNotices = { "Beran-Setaou'yu alt edin.", } if type == 1 then d.notice_big(dNotices[stage]) else notice(dNotices[stage]) end end function isInDungeon() if pc.get_map_index() < 660000 or pc.get_map_index() > 670000 then return false end return true end function isThisDungeon() if pc.getf("deviltower_zone","dungeon_index") < 660000 or pc.getf("deviltower_zone","dungeon_index") > 670000 then return false end return true end end