İstek Şeytan kulesi , barones , catacomb ve mavi ejderha Questleri arıyorum

  • Konuyu açan Konuyu açan IMD
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 11
  • Gösterim Gösterim 154
Konu sahibinin aradığı materyalleri bulmasına yardımcı olmak için konuya yorum yazabilirsiniz.
barones_zindani.lua:
Genişlet Daralt Kopyala
quest barones_system begin
    state start begin
        when spider_end_timer.server_timer with game.get_event_flag("spider_dead"..get_channel_id()) == 0 begin
            warp_all_in_area_to_area(82700, 612700, 93700,625700, 69100, 611100, 69100, 611100)
            game.set_event_flag("spider_lair_ongoing_"..get_channel_id(),0)
            game.set_event_flag("spider_lair_leader_"..get_channel_id(), 0)
            game.set_event_flag("spider_dead"..get_channel_id(),0)
            purge_area(82700, 612700, 93700,625700)
        end
        
        when spider_dead_timer.server_timer begin
            warp_all_in_area_to_area(82700, 612700, 93700,625700, 69100, 611100, 69100, 611100)
            game.set_event_flag("spider_lair_ongoing_"..get_channel_id(), 0)
            game.set_event_flag("spider_lair_leader_"..get_channel_id(), 0)
            game.set_event_flag("spider_dead"..get_channel_id(),0)
            purge_area(82700, 612700, 93700,625700)
        end
    
        when login or levelup or enter with pc.get_level() >= 50 begin
            set_state( step1 )
        end
        
        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            say("Yuvaya girmek için yeterli tecrübeye sahip")
            say("değilsin. En az 50. seviye olmalısın.")
            say("")
            return
        end
    end

    state step1 begin
        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            say("Yüzbaşı'ya git ve neler olduğu hakkında")
            say("bir şeyler öğren.Düşmanının kim olduğunu")
            say("öğrenmeden yuvaya girip onunla savaşamazsın.")
            return
        end
        
        when 20355.chat."Örümcek Zindani" begin
            say_title("Yüzbaşı ")
            say("")
            say("Ay iyiki buradasın. Sana önemli haberlerim var:")
            say("Örümcek Zindanı'nda Gözcü Birliği tarafından")
            say("üçüncü bir kat keşfedildi. Bu yeni yuva")
            say("bildiğimiz yuvalardan daha küçük ama oldukça cani")
            say("ve sinsi örümcekler barındırıyormuş. Ayrıca")
            say("adamlarım orada eski bir mezar taşı buldu ama")
            say("üzerine kazılmış yazıları deşifre edemedi. Bu")
            say("taşı bulmak için yola koyul ve bana o yazının bir")
            say("kopyasını getir.")
            say("")
            set_state( step2 )
            pc.give_item2(76019)
        end
    end

    state step2 begin
        when letter begin
            send_letter("Yazı ")

            local v = find_npc_by_vnum(30130)
            if 0 != v then
                target.vid("__TARGET__", v, mob_name(30130))
            end
        end

        when button or info begin
            say_title("Yazı ")
            say("Örümcek Zindanı'nın üçüncü katında üzerinde")
            say("yazılar bulunan eski bir mezar taşı var. Onun")
            say("kopyasını al ve Yüzbaşıya götür.")
            say("")
        end

        when 30130.chat."Yazı " begin
            target.delete("__TARGET__")       
            say(""..pc.get_name().."")
            say("")
            say("Yaşasın, eski mezar taşını buldun ve üzerindeki")
            say("yazının kopyasını aldın! Yüzbaşıya göstermek için")
            say("geri dön.")
            say("")
            set_state(step3)
        end
        
        
        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            say("Yüzbaşı'ya git ve neler olduğu hakkında")
            say("bir şeyler öğren.Düşmanının kim olduğunu")
            say("öğrenmeden yuvaya girip onunla savaşamazsın.")
            return
        end
        
        when 20355.chat."Örümcek Zindani" begin
            
            say_title("Yüzbaşı ")
            say("Ay iyiki buradasın. Sana önemli haberlerim var:")
            say("Örümcek Zindanı'nda Gözcü Birliği tarafından")
            say("üçüncü bir kat keşfedildi. Bu yeni yuva")
            say("bildiğimiz yuvalardan daha küçük ama oldukça cani")
            say("ve sinsi örümcekler barındırıyormuş. Ayrıca")
            say("adamlarım orada eski bir mezar taşı buldu ama")
            say("üzerine kazılmış yazıları deşifre edemedi. Bu")
            say("taşı bulmak için yola koyul ve bana o yazının bir")
            say("kopyasını getir.")
        end       
    end
    
    state step3 begin
        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            say("Yüzbaşı'ya git ve neler olduğu hakkında")
            say("bir şeyler öğren.Düşmanının kim olduğunu")
            say("öğrenmeden yuvaya girip onunla savaşamazsın.")
            return
        end
        
        when letter begin
            send_letter("Yeni tehlike")

            local v = find_npc_by_vnum(20355)
            if 0 != v then
                target.vid("__TARGET__", v, mob_name(20355))
            end
        end

        when button or info begin
            say_title("Yeni tehlike")
            say("Yazının tam kopyasını aldın. Onu şimdi Yüzbaşıya")
            say("göster.")
            say("")
        end

        when 20355.chat."Yeni tehlike" begin
            say_title("Yüzbaşı ")
            say("Aferin, başardın! Göster bi...")
            say("Hım, bu yazıları çözemiyorum, bir kelime dahi")
            say("anlamıyorum. Bilgin Uriel'e danış en iyisi.")
            say("")
            set_state(step4)
        end
        
    end
        
    state step4 begin
        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            say("Yüzbaşı'ya git ve neler olduğu hakkında")
            say("bir şeyler öğren.Düşmanının kim olduğunu")
            say("öğrenmeden yuvaya girip onunla savaşamazsın.")
            return
        end

        when letter begin
            send_letter("Yeni tehlike")

            local v = find_npc_by_vnum(20011)
            if 0 != v then
                target.vid("__TARGET__", v, mob_name(20011))
            end
        end

        when button or info begin
            say_title("Yeni tehlike")
            say("Bilgin Uriel'in yanına git ve yazıyı ona göster.")
            say("Yazıyı çevirmesini bilir muhakkak.")
            say("")
        end
        
        when 20011.chat."Yeni tehlike" begin
            target.delete("__TARGET__")
            
            say_title(mob_name(20011))
            say("Yüzbaşı, benden bu yazıyı deşifre etmemi mi")
            say("istiyor? Hayhay. Zekamı ispatlayacak zorlu")
            say("mücadeleleri severim. Göster bakalım.")
            say("Bu...ama bu korkunç bir şey.Buyur, çeviriyi bu")
            say("kağıdın üzerine yazıyorum. Onu bir an önce")
            say("Yüzbaşıya götür, ardından benim yanıma gel.")
            say("Burada yazılanlar doğruysa hepimiz büyük")
            say("tehlikedeyiz! Hadi hadi!")
            say("")
            
            set_state(step5)
        end
    
        when 20355.chat."Yeni tehlike" begin
            say_title("Yüzbaşı ")
            say("Aferin, başardın! Göster bi...")
            say("Hım, bu yazıları çözemiyorum, bir kelime dahi")
            say("anlamıyorum. Bilgin Uriel'e danış en iyisi.")
            say("")
        end
    end
    
    state step5 begin
        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            say("Yüzbaşı'ya git ve neler olduğu hakkında")
            say("bir şeyler öğren.Düşmanının kim olduğunu")
            say("öğrenmeden yuvaya girip onunla savaşamazsın.")
            return
        end
        
        when letter begin
            send_letter("Yeni tehlike")

            local v = find_npc_by_vnum(20355)
            if 0 != v then
                target.vid("__TARGET__", v, mob_name(20355))
            end
        end

        when button or info begin
            say_title("Urielin mektubunu teslim et")
            say("Amma da dik kafalıymış şu yaşlı adam...Teşekkür")
            say("etseydi bir yeri mi eksilirdi? Aman neyse.")
            say("Bilgilerin çok önemli olduğunu söylediği için")
            say("hemen Yüzbaşıya ileteceğim.")
            say("")
        end
        
        when 20355.chat."Uriel'in Mektubu" begin
            target.delete("__TARGET__")
            say_title("Yüzbaşı ")
            say("Amanın! Örümcek Zindanı'nın üçüncü katına devasa")
            say("bir şeytani arachnida yerleşti. Yazıdan")
            say("anlaşıldığı üzere bu gizli yuvaya özel bir")
            say("anahtarla girilebiliyor. İlk önce Uriel'in")
            say("yanına git ve ona şu anahtarı sor. Sonra da")
            say("becerikli savaşçılarını bir araya topla ve")
            say("Örümcek Barones'in gizlendiği yere birlikte")
            say("hücum edin! İşte sana bir tane geçit bileti")
            say("daha.")
            say("")
            
            set_state(step6)
            pc.give_item2(76019)
        end   
        
        when 20011.chat."Yeni tehlike" begin
            say_title(mob_name(20011))
            say("Yüzbaşı, benden bu yazıyı deşifre etmemi mi")
            say("istiyor? Hayhay. Zekamı ispatlayacak zorlu")
            say("mücadeleleri severim. Göster bakalım.")
            say("Bu...ama bu korkunç bir şey.Buyur, çeviriyi bu")
            say("kağıdın üzerine yazıyorum. Onu bir an önce")
            say("Yüzbaşıya götür, ardından benim yanıma gel.")
            say("Burada yazılanlar doğruysa hepimiz büyük")
            say("tehlikedeyiz! Hadi hadi!")
            say("")
        end
        
    end
    
    state step6 begin   
        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            say("Yüzbaşı'ya git ve neler olduğu hakkında")
            say("bir şeyler öğren.Düşmanının kim olduğunu")
            say("öğrenmeden yuvaya girip onunla savaşamazsın.")
            return
        end
        
        when letter begin
            send_letter("Uriel'in Mektubu")

            local v = find_npc_by_vnum(20011)
            if 0 != v then
                target.vid("__TARGET__", v, mob_name(20011))
            end
        end

        when button or info begin
            say_title("Uriel'in Mektubu")
            say("Amanın! Örümcek Zindanı'nın üçüncü katına devasa")
            say("bir şeytani arachnida yerleşti. Yazıdan")
            say("anlaşıldığı üzere bu gizli yuvaya özel bir")
            say("anahtarla girilebiliyor. İlk önce Uriel'in")
            say("yanına git ve ona şu anahtarı sor. Sonra da")
            say("becerikli savaşçılarını bir araya topla ve")
            say("Örümcek Barones'in gizlendiği yere birlikte")
            say("hücum edin! İşte sana bir tane geçit bileti")
            say("daha.")
            say("")
        end

        when 20011.chat."Uriel'in Mektubu" begin
            target.delete("__TARGET__")
            say_title(mob_name(20011))
            say("Ah, geldin. Öyleyse Yüzbaşı sana Örümcek")
            say("Barones'i yok etme emrini verdi doğru mu? Ancak")
            say("Barones'in yuvasına giden kapı kapalı ve sadece")
            say("arachna anahtarıyla açılabilir. Üretimi çok zor.")
            say("Ama bana bir örümcek zehir kesesi, bir örümcek")
            say("yumurta kesesi, bir örümcek ağı, örümcek gözleri")
            say("örümcek bacakları ve kraliçe örümcek zehrini")
            say("getirirsen, sana bir tane arachna anahtarı ")
            say("üretebilirim.")
            
            set_state(boss_ok)
            
        end
        
    end
    
    state boss_ok begin
        when 20011.chat."Arachnida Anahtarı " begin   
            if pc.count_item(30025) > 0 and pc.count_item(30056) > 0 and pc.count_item(30057) > 0 and pc.count_item(30058) > 0 and pc.count_item(30059) > 0 and pc.count_item(30326) > 0 then
                say_title(mob_name(20011))
                say("Harika! Arachnida anahtarı üretmek için gerekli")
                say("olan tüm malzemeler hazır. Bir saniye bekle. Fazla")
                say("uzun sürmeyecek...")
                pc.remove_item(30025, 1)
                pc.remove_item(30056, 1)
                pc.remove_item(30057, 1)
                pc.remove_item(30058, 1)
                pc.remove_item(30059, 1)
                pc.remove_item(30326, 1)
                if math.random(1,2000) <= 1000 then
                    say_title(mob_name(20011))
                    say("Ah, evet başardım! Arachnida anahtarı ürettim. Bu")
                    say("Örümcek Barones'e inmenizi sağlayacak. Uzun ")
                    say("bacaklı düşmanlarınıza karşı sana ve silah")
                    say("arkadaşlarına iyi şanslar dilerim! Ama acele edin")
                    say("anahtar çok kırılgan. 24 saat sonra parçalara")
                    say("ayrılacaktır.")
                    pc.give_item2(30325, 1)
                else
                    say_title(mob_name(20011))
                    say("Ah, hayır... Korkarım ki bu sefer başaramadım. Bu ")
                    say("anahtarın üretimi son derece karışık. En küçük hata")
                    say("pahalıya mal oluyor. Ne yazık ki anahtar üretmek")
                    say("için topladığın tüm malzemeler boşa gitti. Ama")
                    say("eminim bir dahaki sefere başaracağız!")
                end
            else
                say_title(mob_name(20011))
                say("Bir şey eksik, arachnida anahtarını bu şekilde")
                say("üretmem mümkün değil. Lazım olanları bir kez daha")
                say("hatırlatayım: bir örümcek zehir kesesi, bir örümcek")
                say("yumurta kesesi, bir örümcek ağı, örümcek gözleri")
                say("örümcek bacakları ve kraliçe örümcek zehri.")
            end
        end

        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            if game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
            
                local starttime = game.get_event_flag("spider_lair_start_time_"..get_channel_id())
                local current_time = get_global_time()
                
                if party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) then
                
                    if  starttime +  300 >= current_time  and party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) and game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
                        say("Grup liderin yuvaya girdi. Sen de içeriye")
                        say("girip Barones ile savaşmak istiyor musun?")
                        local warp = select("Onayla","Vazgeç ")
                        if warp == 1 then
                            pc.setqf("firstIn",1)
                            pc.setqf("retry_limit_time", starttime + 1200 + 3600 )
                            set_state(inLair)
                            pc.warp(88100,614800)
                            return
                        end
                    else
                        say("Silah arkadaşlarını yalnız bırakacaksın demek.")
                        say("")
                        return
                    end
                else
                    local remain_time = math.ceil((game.get_event_flag("spider_lair_end_time_"..get_channel_id() ) - get_global_time()) / 60)
                    say("Şu an başka bir grup yuvada Barones ile")
                    say("savaşıyor. Onların savaşı bitirmesini bekle.")
                    say("Kalan zaman: "..remain_time.." dakika")
                    return
                end   
            elseif  pc.getqf("retry_limit_time") > get_global_time() then
                local access_limit = math.ceil((pc.getqf("retry_limit_time") - get_global_time()) / 60)
                say("Son savaşın üzerinden en az bir saat geçmesi")
                say("gerekiyor. Bu süre içerisinde tekrar Barones'in")
                say("yuvasına giremezsin.")
                say("Kalan zaman: "..access_limit.." dakika")
                return
            elseif party.is_leader() then
                 if false == pc.can_warp() then
                      say("Şu anda bu alana giremezsin.")
                      return
                 end
                if pc.count_item(30324) > 0 or pc.count_item(30325) > 0 then
                    say("Fetih mi başlatmak istiyorsun? Bunu yapmaya 20")
                    say("dakika zamanın var. Bu süre bitmeden önce hiç ")
                    say("kimse Barones'in yuvasını terk edemez. Yeni bir")
                    say("fetih bir saat sonra gerçekleştirilebilir.")
                    local warp = select(locale.confirm,locale.cancel)
                    if warp == 1 then
                        
                        set_state(inLair)
                        
                        if pc.count_item("30324") > 0 then
                        pc.remove_item(30324, 1)
                        elseif pc.count_item("30325") > 0 then
                        pc.remove_item(30325, 1)
                        end
                        
                        mob.spawn(2094,369,551,0,0)

                        game.set_event_flag("spider_lair_ongoing_"..get_channel_id()        ,            1)
                        game.set_event_flag("spider_lair_start_time_"..get_channel_id()    , get_global_time())
                        game.set_event_flag("spider_lair_end_time_"..get_channel_id()        , get_global_time() + 1200)
                        game.set_event_flag("spider_lair_leader_"..get_channel_id()            , party.get_leader_pid())
                        
                        pc.setqf("retry_limit_time", get_global_time() + 1200 + 3600 )
                        pc.setqf("firstIn",1)
                        
                        
                        server_timer("spider_end_timer", 1200 )
                        
                        
                        pc.warp(88100,614800)
                    end
                    return
                else
                    say("Bu kapıyı sadece arachnida anahtarı açar.")
                    return
                end
            else
                say("Yanında silah arkadaşların olmadan yuvaya")
                say("giremezsin.")
                return
            end
            
        end
        

    end

    state inLair begin   
        when login begin
            if get_global_time() < pc.getqf("retry_limit_time") -  3600 and party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) then
                pc.setqf("firstIn",0)
            elseif pc.getx() >= 827 and pc.getx() <= 937 and pc.gety() >= 6127 and  pc.gety() <= 6257 then
                pc.warp(95900,571000)
                pc.remove_item(30327, 1)
            else
                pc.remove_item(30327, 1)
                set_state( boss_ok )
                local limit = pc.getqf("retry_limit_time")
                
                if limit > ( get_global_time() + 3600 ) then
                    limit = ( get_global_time() + 3600 )
                end
                pc.setqf("retry_limit_time", limit )
                
                local duration = limit - get_global_time()
            end
        end

        when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
            if game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
            
                local starttime = game.get_event_flag("spider_lair_start_time_"..get_channel_id())
                local current_time = get_global_time()
                
                if party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) then
                
                    if  starttime +  300 >= current_time  and party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) and game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
                        say("Grup arkadaşların yuvaya girdi. Sen de içeriye")
                        say("girip Barones ile savaşmak istiyor musun?")
                        local warp =  select(locale.confirm,locale.cancel)
                        if warp == 1 then
                            pc.warp(88100,614800)
                            return
                        end
                    end
                end
            end
        end
        
        when 2094.kill begin
            game.drop_item_with_ownership(30327,1)
        end
        
        when 2092.kill begin
            server_timer("spider_dead_timer", 180)
            game.set_event_flag("spider_dead"..get_channel_id(), 1)
            notice_in_map("Örümcek Barones yok edildi! Tüm savaşçılar üç ")
            notice_in_map("dakika içinde yuvadan dışarı ışınlanacak.")
        end
        
        
        when 2095.kill begin
            notice_in_map("Dikkat: Örümcek Barones sinirleniyor! Saldırısı ")
            notice_in_map("güçleniyor ama savunması azalıyor.")
            local kingVid = game.get_event_flag("king_vid")
            local remain_egg = game.get_event_flag("remain_egg"..get_channel_id())
            
            if remain_egg > 0 then
                remain_egg = remain_egg - 1
                game.set_event_flag("remain_egg"..get_channel_id(), remain_egg)
            end

             npc.set_vid_attack_mul(kingVid, 10/(remain_egg + 1))

             npc.set_vid_damage_mul(kingVid, 10/(remain_egg + 1))
        end

        when 30327.use with pc.get_map_index() == 80 begin
            pc.remove_item(30327, 1)
            i = mob.spawn(2095,400,566,0,0)
            mob.spawn(2095,400,594,0,0)
            mob.spawn(2095,362,600,0,0)
            mob.spawn(2095,337,599,0,0)
            mob.spawn(2095,335,581,0,0)
            mob.spawn(2095,344,562,0,0)
            mob.spawn(2095,364,588,0,0)
            mob.spawn(2095,379,562,0,0)
            mob.spawn(2095,368,525,0,0)
            
            
            local kingVid = mob.spawn(2092,367,588,0,0)
            game.set_event_flag("king_vid",kingVid)
            game.set_event_flag("remain_egg"..get_channel_id(), 9)
        end
        
    end
end
seytan_kulesi.lua:
Genişlet Daralt Kopyala
quest deviltower_zone begin
    state start begin
        when login begin
            if pc.get_map_index() == 66 then
                if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
                    pc.warp(590500, 110500)
                end
                pc.set_warp_location(65, 5905, 1105)
            elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
                pc.set_warp_location(65, 5905, 1105)
                -- deviltower_zone.register_player(pc.get_vid())
            end
        end
        
        when logout begin
            if pc.count_item(30300) >= 1 then
                pc.remove_item(30300, pc.count_item(30300))
            end
            if pc.count_item(30302) >= 1 then
                pc.remove_item(30302, pc.count_item(30302))
            end               
            if pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
                pc.set_warp_location(65, 5905, 1105)
                -- deviltower_zone.unregister_player(pc.get_vid())       
            end
        end
        when deviltower_man.chat.locale.deviltower_man_chat with game.get_event_flag("engel111") > 0 begin
            if pc.get_level() < 40 then
                say_title("Şeytan Kulesi Bekçisi:")
                say(locale.deviltower_man_say_you_cant)
            else
                say_title("Şeytan Kulesi Bekçisi:")
                say(locale.deviltower_man_say)
                local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
                if s == 1 then
                    pc.warp(216500,727000)
                end
            end
        end
        when kill with npc.get_race() == 8015 and pc.get_map_index() == 66 begin
            timer("devil_stone1_1", 8)
        end
        when devil_stone1_1.timer begin
            d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
            d.regen_file("data/dungeon/deviltower2_regen.txt")
            d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
        end
        when kill with npc.get_race() == 1091 begin
            d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
            d.check_eliminated()
        end
        function get_4floor_stone_pos()
        local positions =
            {
                {368, 629}, {419, 630}, {428, 653}, {422, 679},
                {395, 689}, {369, 679}, {361, 658},
            }
            for i = 1, 6 do
                local j = number(i, 7)
                if i != j then
                    local t = positions[i];
                    positions[i] = positions[j];
                    positions[j] = t;
                end
            end
            return positions
        end
        when kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.get_race() == 8016 begin
            d.setf("level", 4)
            local positions = deviltower_zone.get_4floor_stone_pos()
            for i = 1, 6 do
                d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
            end
            local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
            d.set_unique("real", vid)
            server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
            server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

            d.notice("4. Kat Seçenek Kapısındasın.");
            d.notice("Gözlerini ve kulaklarını aldatacak bir çok sahte");
            d.notice("Metin Taşı mevcut. 15 dakika içerisinde");
            d.notice("gerçek Metin Taşı'nı bul ve yok et!");
            d.notice("Kapıdan geçmenin tek yolu budur.");
        end

        when devil_stone4_fail1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("10 dakika kaldı ")
                server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone4_fail2.server_timer begin
            if d.select(get_server_timer_arg()) then
               d.notice("5 dakika kaldı ")
                server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone4_fail.server_timer begin
            if d.select(get_server_timer_arg()) and d.getf("level") == 4 then
                d.notice("Zaman doldu! ")
                d.exit_all()
            end
        end

        when devil_stone4_update.server_timer begin
            if d.select(get_server_timer_arg()) then
                if not d.is_unique_dead("real") then
                    for i = 1, 6 do
                        if d.getf("fakedead" .. i) == 0 then
                            if d.unique_get_hp_perc("fake" .. i) < 50 then
                                d.purge_unique("fake" .. i)
                                d.setf("fakedead" .. i, 1)
                                d.notice("Sahte Metin taşları yok oldu...");
                            end
                        end
                    end
                else
                    server_timer("devil_stone4_end", 5, get_server_timer_arg())
                    
                    d.notice("Mükemmel bir duyma yeteneğine ve iyi bir");
                    d.notice("içgüdüye sahip olduğunu kanıtlayarak");
                    d.notice("gerçek Metin Taşı'nı yok ettin!");
                    d.notice("Şimdi 5.kata gireceksin.")
                    d.purge()
                end
            else
                server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
            end
        end

        when devil_stone4_stop_timer.server_timer begin
            clear_server_timer('devil_stone4_update', get_server_timer_arg())
        end

        when devil_stone4_end.server_timer begin
            if d.select(get_server_timer_arg()) then
                clear_server_timer('devil_stone4_update', get_server_timer_arg())
                clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
                clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
                clear_server_timer('devil_stone4_fail', get_server_timer_arg())

                d.setf("level", 5)
                d.setf("stone_count", 5)
                
                d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
                d.notice("5.Kattaki Mühürlü Kapı'dasın. Bir sonraki kata ")
                d.notice("çıkmak için beş Eski Mühür'ü açman gerek. Bu alan ")
                d.notice("sana saldırmak için bekleyen canavarlarla dolu.")
                d.notice("Bazılarının üzerinde anahtar var. Yeteri kadar ")
                d.notice("Kilit Açma Taşı elde eder ve tüm mühürleri ")
                d.notice("açarsan 6. kata çıkabilirsin. Ama bil ki sadece ")
                d.notice("20 dakikan var!")


                server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
                clear_server_timer('devil_stone4_update', get_server_timer_arg())

                d.set_regen_file("data/dungeon/deviltower5_regen.txt")

                d.spawn_mob(20073, 421, 452)
                d.spawn_mob(20073, 380, 460)
                d.spawn_mob(20073, 428, 414)
                d.spawn_mob(20073, 398, 392)
                d.spawn_mob(20073, 359, 426)
            end
        end
        when devil_stone5_fail1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("15 dakika kaldı ")
                server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone5_fail2.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("10 dakika kaldı ")
                server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone5_fail3.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("5 dakika kaldı ")
                server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone5_fail.server_timer begin
            if d.select(get_server_timer_arg()) and d.getf("level") == 5 then
                d.notice("Zaman doldu!")
                d.exit_all()
            end
        end

        when kill with pc.in_dungeon() and d.getf("level") == 5 and npc.get_race() == 1062 begin
            local KILL_COUNT_FOR_DROP_KEY = 50
            local n =d.getf("count") + 1
            d.setf("count", n)
            if n == KILL_COUNT_FOR_DROP_KEY then
                game.drop_item(50084, 1)
                d.setf("count", 0)
            end
        end
        when devil_stone5.take with item.vnum == 50084 begin
            npc.purge()
            item.remove()
            d.setf("stone_count", d.getf("stone_count") - 1)
            if d.getf("stone_count") <= 0 then
                d.clear_regen()
                d.kill_all()
                d.notice("Mührü açtın. 6. Kata çıkıyorsunuz!")

                clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
                clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
                clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
                clear_server_timer('devil_stone5_fail', get_server_timer_arg())
        
                d.setf("level", 6)
                d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
                d.regen_file("data/dungeon/deviltower6_regen.txt")
        
                d.notice("Şeytan Krala ulaşmak için tüm ")
                d.notice("şeytanları öldür!")

            else
                d.notice("Mührü açtın! "..d.getf("stone_count").." kaldı.")
            end
        end

        when kill with npc.get_race() == 1092 begin
            d.kill_all()
            d.check_eliminated()
            local reward_alchemist = {20074, 20075, 20076}
            d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
            d.setqf("can_refine", 1)
        end

  
        when 20074.chat."Üst katlar" or 20075.chat."Üst katlar" or 20076.chat."Üst katlar" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
            if not npc.lock() then
                say("")
                say("Şu anda başka biriyle konuşuyorum!")
                say("Biraz bekle ya da sonra tekrar gel!")
                return
            end
            say_title(mob_name(npc.get_race()))
            say("Kulenin 7. katına girmek mi istiyorsun?")
            say("Bu katla mücadele etmek muhteşem beceriler ve")
            say("büyük bir yazgı gerektirir.")
            say("Sadece 75. seviyeye ulaştıysan")
            say("seni oraya ışınlayabilirim.")
            wait()
            if pc.level >=75 then
                say_title(mob_name(npc.get_race()))
                say("Üst kata çıkmak için")
                say("yeterli deneyime ve güce sahipsin.")
                say("Girebilirsin!")
                say("")
                local gec = select("Git!","Vazgeç ","Kuleyi terket!")
                if gec == 1 then
                    timer("devil_jump_7",6)
                    npc.unlock()
                    npc.purge()
                    return
                elseif gec == 2 then
                    npc.unlock()
                    return
                elseif gec == 3 then
                    npc.unlock()
                    pc.warp(590500, 110500)
                end
            else
                say_title(mob_name(npc.get_race()))
                say("Üzgünüm sadece")
                say("75. seviyeye ulaşanları bir")
                say("üst kata alabilirim.")
                say("")
                npc.unlock()
                --wait()        +++ben yaptım sabanasd
                --pc.warp(590500, 110500)
                return
            end
        end

       when devil_jump_7.timer begin
            d.clear_regen()

            d.spawn_mob(8018, 639, 658)
            d.spawn_mob(8018, 611, 637)
            d.spawn_mob(8018, 596, 674)
            d.spawn_mob(8018, 629, 670)

            d.setf("level", 7)
            d.setf("harita_bug",0)
            d.setf("harita_bug1",0)

            d.jump_all(2048+590, 6656+638)
        end
    
        when kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.get_race() == 8018 begin
            local cont = d.getf("7_stone_kill") + 1
            d.setf("7_stone_kill", cont)

            if cont >= 4 then
                d.setf("7_stone_kill", 0)
                d.set_regen_file("data/dungeon/deviltower7_regen.txt")
            end
        end

        when kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.get_race() == 8019 begin
            if d.getf("harita_bug") == 0 then
                game.drop_item(30300, 1)
            end
        end

        when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
            if d.getf("harita_bug") == 1 then
                say("Zaten harita düşürmüşsünüz.")
                say("Mevcut haritayı kullanın.")
                return
            end

            pc.remove_item("30300", 1)

            local pct = number(1,8)

            if pct == 1 then
                game.drop_item(30302, 1)
                d.setf("harita_bug",1)
                d.clear_regen()
            else
                game.drop_item(30301, 1)
                
            end
        end

        when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
            if d.getf( "level" ) != 7 then
                pc.remove_item( "30302", 1)
                return
            end
            
            if d.getf("harita_bug1") == 1 then
                pc.remove_item( "30302", 1)
                return
            end
            d.setf("harita_bug1",1)
            say("Bu haritayla bir sonraki kata çıkabilirim!")
            pc.remove_item("30302", 1)
            timer("devil_jump_8", 6)
            d.clear_regen()
        end
    
        when devil_jump_8.timer begin
            d.setf("level", 8)
            d.jump_all(2048+590, 6656+403)
            d.set_regen_file("data/dungeon/deviltower8_regen.txt")
            d.spawn_mob(20366, 640, 460)
            local _count = pc.count_item(30302)
            pc.remove_item(30302,_count)
        end

        when kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.get_race() == 1040 begin
            if d.getf("level") < 9 then
                local pct1 = number(1, 10)
                if pct1 == 1 then
                    local pct2 = number(1, 4)
                    if pct2 == 1 then
                        game.drop_item(30304, 1)
                    else
                        game.drop_item(30303, 1)
                    end
                else
                    return
                end
            end
        end

        when 20366.take with item.vnum == 30304 begin
            npc.purge()
            item.remove()
            timer("devil_jump_9", 8)
        end

        when devil_jump_9.timer begin
            d.setf("level", 9)
            d.jump_all(2048+590, 6656+155)
            d.regen_file("data/dungeon/deviltower9_regen.txt")
        end

        when kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.get_race() == 1093 begin
            d.kill_all()
            timer("devil_end_jump", 30)
        end

        when devil_end_jump.timer begin
            d.exit_all()
        end
        
        function register_player(vid)
            local player_count = d.getf("player_count")
            player_count = player_count + 1
            d.setf("player_count", tonumber(player_count))
            d.setf(string.format("player%d", player_count), tonumber(vid))
        end
        
        function unregister_player(vid)
            local player_count = d.getf("player_count")
            local found = false
            for i = 1, player_count, 1 do
                if found == true then
                    d.setf(string.format("player%d", tonumber(i)), d.getf(string.format("player%d", i+1)))
                end
                p = d.getf("player"..tostring(i))
                if p == vid then
                    i = i -1
                    found = true
                end
            end
            if found == true then
                d.setf("player_count", tonumber(player_count - 1))
            end
        end
        
        function get_players()
            local players = {}
            local player_count = d.getf("player_count")
            for i = 1, player_count, 1 do
                players[i] = d.getf("player"..tostring(i))
            end
            return players
        end
        function give_dc_access(pindex)
            local self_checked = false
            local self = pc.select(d.getf("player"..tostring(pindex)))
            pc.setf("deviltower_zone", "dcenter", 1)
            pc.select(self)
        end
        
    end
end
 
cata_theprnce.lua:
Genişlet Daralt Kopyala
quest devilcave begin
state start begin
--DC Status Reset
when 20367.chat."Katacomb Durumu Sifirla" with pc.is_gm begin
say_title("Katakomb Bekcisi")
say("")
say_reward("Statu Sifirlandi!")
say("")
game.set_event_flag("dc_versuche",1)
game.set_event_flag("dcgamer",0)
game.set_event_flag("dc_geschaft",0)
end
--Configuration
when 20367.chat."Katamob Ayarlari!" with game.get_event_flag("block_dc_config") == 0 and pc.is_gm begin
game.set_event_flag("dc_is_ok",1)
game.set_event_flag("block_dc_config",1)
game.set_event_flag("dc_versuche",1)
end
--FaiL... Entry
--when 20367.chat."seytan Katakombu (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 and pc.get_level() > 80 begin
--say_title("Katakomb Bekcisi")
--say("")
--say_reward("seytan Katakombunu acamiyorum!")
--say("")
--say_reward("Azraili yenebilecek kisiler gecebilmelidir")
--say_reward("")
--end
--when 20367.chat."seytan Katakombu (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 1 and pc.get_level() < 80 begin
--say_title("Katakomb Bekcisi")
--say("")
--say_reward("Sen cok zayifsin gecemezsin")
--say("")
--end
--Sensenmannrelikt Abgabe!
--when 20367.take with item.vnum == 30122 and pc.getqf("can_in_dc") == 0 begin
--if pc.get_level() < 80 then
--say_title("Katakomb Bekcisi")
--say("")
--say_reward("80 Level olman lazim.")
--say("")
--else
--item.remove()
--say_title("Katakomb Bekcisi")
--say("")
--say_reward("seytan Katacombuna girebilirsiniz.")
--say("")
--pc.setqf("can_in_dc", 1)
--end
--end
--Entry
when 20367.chat."seytan Katakombu (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 begin
if pc.get_level() < 80 then
say_title("Katakomb Bekcisi")
say("")
say_reward("Katakomba Girmek İcin levelin Yeterli Degil!")
say("")
else
say_title("Katakomb Bekcisi")
say("")
say("")
say("")
say("")
say("")
say("")
say("")
say("")
say("")
say("")
wait()
say_title("Katakomb Bekcisi")
say("")
say("simdiye Kadar "..game.get_event_flag("dcgamer").." Kisi Onu Yoketmeye calisti ")
say("ve"..game.get_event_flag("dc_geschaft").." Kez Yokedildi")
say("Azraili Yenmek İcin!")
wait()
say_title("Katakomb Bekcisi")
say("")
say_reward("Denemek İstermisin")
say_reward("Onu "..game.get_event_flag("dc_versuche")..". kez")
say_reward("yenmek istiyor musun?")
say("")
local dc_login = select("Evet", "Hayir")
if dc_login == 1 then
pc.warp(314800, 1209800)
elseif dc_login == 2 then
return
end
end
end
--Ebene 1
when login with pc.get_map_index() == 300 begin
game.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1)
game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1)
say_title("seytan Katakombu")
say("2.Seviyeye Gecmek İcin Asagidaki İteme İhtiyacin Var..")
say_item("Ruh Kristali Anahtari", 30311, "")
say("İtemi Bulduktan Sonra Heykelin ustune Surukleyin!")
say("")
say_reward("İyi sanslar!")
say("")
pc.setqf("sksgedroppt", 0)
end
when kill with not npc.is_pc() and pc.get_map_index() == 300 begin
local sks = number(1,15)
if sks==1 and pc.getqf("sksgedroppt")==0 then
pc.setqf("sksgedroppt", 1)
chat("Ruh Kristali Anahtari dustu!")
game.drop_item(30311, 1)
else
chat("Anahtar bu canavarda degil")
end
end
when 30101.take with item.vnum == 30311 begin
item.remove()
d.new_jump_all(300, 3636, 12086)
timer("dc1", 600)
d.notice("Tas Kaplumbaganin yanina gitmen gerek.")
d.notice("Sadece 10 Dakikan Var")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt")
d.spawn_mob(30103, 741, 221)
end
when dc1.timer begin
d.notice("Zaman Doldu!")
warp_all_to_village()
end







when dc20.timer begin
d.notice("Son 50 Dakika !")
timer("dc3", 300)
end
when dc30.timer begin
d.notice("Son 45 Dakika !")
timer("dc4", 300)
end
when dc40.timer begin
d.notice("Son 40 Dakika !")
timer("dc5", 300)
end
when dc50.timer begin
d.notice("Son 35 Dakika !")
timer("dc6", 300)
end
when dc60.timer begin
d.notice("Son 30 Dakika !")
timer("dc7", 300)
end
when dc70.timer begin
d.notice("Son 25 Dakika !")
timer("dc8", 300)
end
when dc80.timer begin
d.notice("Son 20 Dakika !")
timer("dc9", 300)
end
when dc90.timer begin
d.notice("Son 15 Dakika !")
timer("dc10", 300)
end
when dc100.timer begin
d.notice("Son 10 Dakika !")
timer("dc11", 300)
end
when dc101.timer begin
d.notice("Son 5 Dakika !")
timer("dc12", 300)
end
when dc110.timer begin
d.notice("Zaman Doldu!")
warp_all_to_village()
end
--Ebene 2
when 30103.chat."Devam...(Kat 3)" begin
npc.purge()
say_reward("Yazit :")
say("Uzun Bir Yola Hazir Ol..")
wait()
d.new_jump_all(300, 4427, 12284)
timer("dc1", 6000)
timer("dc2", 600)
d.setf("goto_ebene3", 0)
d.notice("Daha uzun bir yol var.")
d.notice("Kristal metini bul ve yok et.")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene3.txt")
local metindv = number(1,4)
if metindv==1 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
if metindv==2 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==3 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==4 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
end
when 8028.kill with pc.in_dungeon() begin
d.notice("Yanlis Metin Yok Edildi!")
end
when 8029.kill with pc.in_dungeon() begin
d.notice("Dogru Metin !")
timer("dc2", 6000)
timer("devils_catacomb_goto_ebene5", 5)
end
when dc2.timer begin
d.notice("Zaman Doldu!")
warp_all_to_village()
end



--Ebene 4 (Labirent)
when devils_catacomb_goto_ebene4.timer begin
d.new_jump_all(300, 3143, 12657)
d.setf("Labirent", 1)
timer("dc3", 600)
d.notice("Labirentin Sonunu Bul!")
d.notice("Runik Diregini Bul")
if game.get_event_flag("dc_is_wartung") == 1 then
d.spawn_mob(20082, 72, 586)
end
end
when 20082.chat."Yazit(Labirent)" with pc.in_dungeon() begin
say_title(".....")
timer("dc3", 6000)
d.notice("Dogru Yolu Buldun Tebrikler.")
timer("devils_catacomb_goto_ebene5", 5)
end
when dc3.timer begin
d.notice("Zaman Doldu!")
warp_all_to_village()
end
--Ebene 6 (Tartaros)
when devils_catacomb_goto_ebene5.timer begin
d.new_jump_all(300, 3917, 12925)
d.notice("Surat totemini bul.")
d.notice("Bazalt dikilitas'in yanina git ve totemi kullan.")
d.spawn_mob(30102, 848, 739)
timer("dc4", 600)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
local tartaros = number(1,4)
if tartaros==1 then
d.spawn_mob(2593, 991, 848)
end
if tartaros==2 then
d.spawn_mob(2593, 999, 652)
end
if tartaros==3 then
d.spawn_mob(2593, 848, 577)
end
if tartaros==4 then
d.spawn_mob(2593, 703, 644)
end
if tartaros==5 then
d.spawn_mob(2593, 692, 817)
end
end
when 2593.kill with pc.in_dungeon() begin
d.notice("Starcruizah yok oldu.")
game.drop_item(30312, 1)
end
when 30102.take with item.vnum == 30312 begin
timer("dc4", 6000)
item.remove()
npc.purge()
say_reward("...")
d.notice("Basarili!")
timer("devils_catacomb_goto_ebene6", 5)
end
when dc4.timer begin
d.notice("Zaman Doldu!")
warp_all_to_village()
end
--Ebene 7 (Charon)
when devils_catacomb_goto_ebene6.timer begin
d.new_jump_all(300, 4411, 12736)
timer("dc5", 600)
d.notice("Son Asama İcin Kharonu oldurun!")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
end
when 2597.kill with pc.in_dungeon() begin
timer("dc5", 6000)
d.notice("Kharonu Yok Ettin")
d.notice("simdi Sira Azrailde!")
timer("devils_catacomb_goto_ebene7", 10)
end
when dc5.timer begin
d.notice("Zaman Doldu!")
warp_all_to_village()
end
--Ebene 8 (Azrael)
when devils_catacomb_goto_ebene7.timer begin
d.new_jump_all(300, 3147, 13191)
d.notice("Azrail'i Yoket Ve odulunu Al!")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
end
when 2685.kill with pc.in_dungeon() begin
game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)
local level = pc.get_level()
d.notice("Tebrikler!")
d.kill_all()
d.kill_all()
notice_all(""..pc.get_name().." adli oyuncu."..(level).." Levelde seytan Katakombunda Azraili Yoketti!")
timer("goout_from_dc", 60)
d.spawn_mob(9012, 74, 1159)
pc.give_item2(50186)
end
end
end
 
mavi_ejderha.quest:
Genişlet Daralt Kopyala
quest dragonlair begin
    state start begin
        when logout begin
            if pc.get_map_index() == 79 then
            pc.delqf("icerdesin")
            end
        end
        when 30121.chat."Ejderhayı öldürmek istiyorum!" with pc.get_map_index() == 73 begin
            if game.get_event_flag("ejder_kullanimda") == 2 and game.get_event_flag("time_1") - get_time() > 0 then
                say_title("Sura Ruhu:")
                say("")
                say("Üzgünüm Ejderha Tapınağı şuan dolu.")
                say("İçerideki grubun çıkmasını beklemelisin.")
                say_reward("Kalan süre: "..game.get_event_flag("time_1") - get_time().." saniye")
                say("")
                return
            end
            if game.get_event_flag("time_1") - get_time() < 0 and game.get_event_flag("ejder_kullanimda") >= 1 then
                game.set_event_flag("ejder_kullanimda",0)
                purge_area(829200,1059600,844200,1074600)
                ---warp_all_in_map(79,180100,1220400)
                warp_all_to_village(79)
                setskin(NOWINDOW)
                return
            end
            if game.get_event_flag("ejder_kullanimda") == 0 and pc.count_item(30179) < 3 then
                say_title("Sura Ruhu:")
                say("Gerekli eşya 3x: "..item_name(30179)..":")
                say_item_vnum(30179)
                say("3 adet anahtara ihtiyacın var.")
                return
            end
            if game.get_event_flag("ejder_kullanimda") == 1 then
                    pc.setqf("ejder_bug_engel2",get_time()+10)
                    say_title("Sura Ruhu:")
                    say("Üzgünüm Ejderha Tapınağı şuan dolu.")
                    say("Eğer şifreyi biliyorsan,")
                    say("doğru bir şekilde yaz.")
                    say("")
                    say_reward("10 saniye süren var!")
                    say("")
                    local sifre = tonumber(input(""))
                    if get_time() > pc.getqf("ejder_bug_engel2") then
                        say_title("Sura Ruhu:")
                        say("10 saniye doldu şansını tekrar dene.")
                        pc.setqf("ejder_bug_engel2",get_time()+0)
                        return
                    end
                    if game.get_event_flag("ejder_sifresi") == sifre then
                        say_title("Sura Ruhu:")
                        say("")
                        if pc.count_item(30179) < 3 then
                            say("Girmene izin veremem.")
                            say("Gerekli eşya 3x: "..item_name(30179)..":")
                            say_item_vnum(30179)
                            say("3 tane anahtara sahip olduğunda tekrar gel.")
                            return
                        end
                        pc.remove_item("30179",3)
                        say("Şifre doğru tebrikler!")
                        say("Seni içeri gönderiyorum. Onu yenmeden dönme!")
                        pc.setqf("icerdesin",1)
                        wait()
                        pc.warp(843600,1066900)
                    elseif sifre != game.get_event_flag("ejder_sifresi") then
                        say_title("Sura Ruhu:")
                        say("Üzgünüm şifreyi hatalı girdin.")
                        return
                    end
                    
            end
            if game.get_event_flag("ejder_kullanimda") == 0 and pc.count_item(30179) >= 3 then
                say_title("Sura Ruhu:")
                    say("Ejderha Tapınağı'na girmek isteyen ilk kişi")
                    say("sensin. Yeterli sayıda Kıvrık Anahtara sahipsen")
                    say("seni içeri bırakacağım. Ama ilk önce bir şifre")
                    say("belirleyeceksin. Bu şifreyi, 2,5 dakika")
                    say("içerisinde savaş arkadaşlarına verip onların")
                    say("içeri girmesini sağlayabilirsin. Bu anahtarın")
                    say("sadece 60 dakika tesir edeceğini unutma. O zamana")
                    say("kadar ejderhayı öldürmüş olmanız gerekiyor!")
                    say("")
                    pc.setqf("ejder_bug_engel3",get_time()+10)
                    local i = select("Hazırım!", "Vazgeç ")
                    if get_time() > pc.getqf("ejder_bug_engel3") then
                            say_title("Sura Ruhu:")
                            say("10 saniye doldu şansını tekrar dene.")
                            pc.setqf("ejder_bug_engel3",get_time()+0)
                            return
                        end
                    if 1 == i and game.get_event_flag("ejder_kullanimda") == 0 then

                        pc.setqf("ejder_bug_engel2",get_time()+10)
                        say_title("Sura Ruhu:")
                        local pin1 = number(1000,99999)
                        local pin2 = number(1000,99999)
                        local pin3 = number(1000,99999)
                        local pin4 = number(1000,99999)
                        local pin5 = number(1000,99999)
                        local pin6 = number(1000,99999)
                        local gercek = number(2,7)
                        local pin
                        if gercek == 2 then
                            pin = pin1
                        elseif gercek == 3 then
                            pin = pin2
                        elseif gercek == 4 then
                            pin = pin3
                        elseif gercek == 5 then
                            pin = pin4
                        elseif gercek == 6 then
                            pin = pin5
                        elseif gercek == 7 then
                            pin = pin6
                        end
                        say_reward("Seçmen gereken şifre : "..pin)
                        say_reward("10 saniye süren var!")
                        local sifre = select("Vazgeç ",pin1,pin2,pin3,pin4,pin5,pin6)
                        if get_time() > pc.getqf("ejder_bug_engel2") then
                            say_title("Sura Ruhu:")
                            say("10 saniye doldu şansını tekrar dene.")
                            pc.setqf("ejder_bug_engel2",get_time()+0)
                            return
                        end
                        if sifre == gercek and pc.count_item(30179)>=3 then
                            say_title("Sura Ruhu:")
                            say("")
                            say("Arzu edersen seni doğrudan Ejderha Mağarası'na")
                            say("götürebilirim. Bana şimdi vermen gerekenler:")
                            say("3x:")
                            say_item_vnum(30179)
                            say_reward("10 saniye süren var!")
                            pc.setqf("ejder_bug_engel3",get_time()+10)
                            local zaxd = select("Al ve beni içeri bırak!","Vazgeç ")
                            if get_time() > pc.getqf("ejder_bug_engel3") then
                                say_title("Sura Ruhu:")
                                say("10 saniye doldu şansını tekrar dene.")
                                pc.setqf("ejder_bug_engel3",get_time()+0)
                                return
                            end
                            if zaxd == 2 then
                                return
                            elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda") == 0 then
                                if game.get_event_flag("ejder_kullanimda") != 0 then
                                    syschat("Ejderha odasına başka bir grup girdi.")
                                    return
                                end
                                pc.remove_item("30179",3)
                                pc.setqf("icerdesin",1)
                                pc.setqf("lider",1)
                                pc.setqf("ejder_sifre",pin)
                                clear_server_timer("ejderi_kescen",get_server_timer_arg())
                                clear_server_timer("disari_yolluyoz",get_server_timer_arg())
                                game.set_event_flag("ejder_kullanimda",1)
                                game.set_event_flag("ejder_sifresi",pin)
                                game.set_event_flag("time_1", get_time()+60*60*1)
                                pc.warp(843600, 1066900)
                            elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda") != 0 then
                                say_title("Sura Ruhu:")
                                say("")
                                say("Birileri senden önce davrandı. Onların")
                                say("odadan çıkmalarını bekle ya da parolayı ")
                                say("biliyorsan söyle.")
                            end
                        elseif sifre == 1 then
                            return
                        else
                            say_title("Sura Ruhu:")
                            say("")
                            say("Bir hata oluştu.")
                            say("")
                    end
                end
            end
        end
        
        when login begin
            if pc.getqf("icerdesin") == 1 then
                send_letter("Mavi Ejderha'yı mağlup edin")
            end
        end
    
        when button or info begin
            q.set_clock("Kalan süre:", game.get_event_flag("time_1")-get_time())
            dragonlair.ejder_odasi_kalansure()
        end

        when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") != 1 and not pc.is_gm() begin
            pc.warp(180100,1220400)
        end
        
        when login with pc.get_map_index() == 79 and pc.getqf("lider") == 1 begin
            purge_area(829200,1059600,844200,1074600)
            regen_in_map(79,"data/dungeon/skia_deliboss.txt")
            notice_all(""..pc.get_name().." grubu, Mavi Ejderha'yı öldürmeye çalışıyor!")
            notice_big(""..pc.getqf("ejder_sifre").." numaralı şifreyi dağıtmaya 2,5 dakika zamanın var!")
            server_timer("sifre_kapat", 150,pc.get_map_index())
            server_timer("ejderi_kescen1", 3598,pc.get_map_index())
            server_timer("ejderi_kescen", 3600,pc.get_map_index())
            dragonlair.ejder_odasi_kalansure()
            pc.setqf("lider",2)
            pc.set_warp_location(73 , 2418, 12747)   
        end
        
        when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") == 1 and pc.getqf("lider") != 1 begin
            dragonlair.ejder_odasi_kalansure()
            pc.set_warp_location(73 , 2418, 12747)
        end
        
        when kill with pc.get_map_index() == 79 and npc.get_race() == 8031 or npc.get_race() == 8032 or  npc.get_race() == 8033 or npc.get_race() == 8034 begin
        local n =game.get_event_flag("kesilen_metin") + 1
        game.set_event_flag("kesilen_metin", n)
            if n > 3 then
            local t = number(1,4)
                if 1 == t then
                regen_in_map(79,"data/dungeon/skia_boss1.txt")
                elseif 2 == t then
                regen_in_map(79,"data/dungeon/skia_boss2.txt")
                elseif 3 == t then
                regen_in_map(79,"data/dungeon/skia_boss3.txt")
                else
                regen_in_map(79,"data/dungeon/skia_boss4.txt")
                end
            end
        end

        when kill with pc.get_map_index() == 79 and game.get_event_flag("ejder_kullanimda") >= 1 and npc.get_race() == 2493 begin
            game.drop_item_with_ownership("71123",1)
            game.drop_item_with_ownership("71129",1)
            notice_all(""..pc.get_name().." grubu, Mavi Ejderha'yı öldürdü!")
            game.set_event_flag("kesilen_metin",0)
            clear_server_timer("ejderi_kescen",get_server_timer_arg())
            clear_server_timer("ejderi_kescen1",get_server_timer_arg())
            server_timer("disari_yolluyoz",3600, pc.get_map_index())
        end
        
        when sifre_kapat.server_timer begin
            game.set_event_flag("ejder_kullanimda",2)
        end
        
        when disari_yolluyoz.server_timer begin
            notice_all("Mavi Ejderha geri döndü!")
            kill_all_in_map(79)
            clear_server_timer("ejderi_kescen",get_server_timer_arg())
            game.set_event_flag("ejder_kullanimda",0)
            warp_all_to_village(79)
        end
        
        
        when ejderi_kescen.server_timer with game.get_event_flag("time_1") - get_time() <= 0 begin
            warp_all_to_village(79)
            notice_all("Mavi Ejderha hâlâ yaşıyor!")
            kill_all_in_map(79)
        end
        
        when login with pc.get_map_index() != 79 begin
            if pc.getqf("icerdesin") == 1 then
            pc.delqf("icerdesin")
            pc.delqf("ejder_sifre")
            pc.delqf("lider")
            end
            if pc.getqf("lider") == 1 then
            pc.delqf("lider")
            end
        end
        
        function ejder_odasi_kalansure()   
            
            local saniyekalan = (game.get_event_flag("time_1") - get_time())
            local dakikakalan = math.ceil(saniyekalan / 60)       
            notice_big("Mavi Ejderha'yı öldürmeye "..dakikakalan.." dakikalık bir zaman kaldı!") 
        
        end   
    end
end

© 2006 - 2022 Paste2.org.
Follow paste2.org on Twitter
 
Geri
Üst