Yardım Mavi Ölüm Kulesi Quest Grup isteme şartını kaldırmak hakkında yardım

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

mertlevis

discord: mertlevis
MT Üye
Mesaj
202
Çözümler
7
Beğeni
262
Puan
804
Ticaret Puanı
0
Lua (Quest):
quest devil_tower2_plechito begin
    state start begin
        --[[ FUNCTION STATEMENT BEGIN ]]
        function get_regens(level)
            local regens = {
                [1] = "data/dungeon/devil_tower2_regens/floor_1.txt",
                [2] = "data/dungeon/devil_tower2_regens/floor_2.txt",
                [3] = "data/dungeon/devil_tower2_regens/floor_3.txt",
                [4] = "data/dungeon/devil_tower2_regens/floor_4.txt",
                [5] = "data/dungeon/devil_tower2_regens/floor_5.txt",
                [6] = "data/dungeon/devil_tower2_regens/floor_6.txt",
                [7] = "data/dungeon/devil_tower2_regens/floor_7.txt",
                [8] = "data/dungeon/devil_tower2_regens/floor_8.txt"};
           
            return d.set_regen_file(regens[level])
        end
       
        function spawn_boss(level)
            local boss_settings = {
                [2] = {806, 382, 191},
                [4] = {817, 394, 394},
                [7] = {1095, 209, 609},
                [8] = {816, 564, 613}};
           
            return d.spawn_mob(boss_settings[level][1], boss_settings[level][2], boss_settings[level][3])
        end
       
        function settings()
            return
            {
                ["map_index"] = 18,
                ["spawm_pos"] = {
                    [1] = {21086, 22099},
                    [2] = {332+21000, 109+22000},
                    [3] = {598+21000, 96+22000},
                    [4] = {330+21000, 360+22000},
                    [5] = {166+21000, 333+22000},
                    [6] = {166+21000, 333+22000},
                    [7] = {212+21000, 540+22000},
                    [8] = {560+21000, 546+22000}
                },
                ["level_check1"] = {
                    ["minimum"] = 40,
                    ["maximum"] = 120
                },
                ["keys"] = {30330, 30330}
            }
        end
       
        function party_get_member_pids()
            local pids = {party.get_member_pids()}
           
            return pids
        end
       
        function make_dungeon()
            local setting = devil_tower2_plechito.settings()
           
            d.new_jump_party(setting["map_index"], setting["spawm_pos"][1][1], setting["spawm_pos"][1][2])
            d.setf("lair_check1", 1)
            devil_tower2_plechito.get_regens(1)
        end
        --[[ FUNCTION STATEMENT END ]]
       
        --[[ TOWER STATEMENT BEGIN ]]
       
        when login begin
            local mid = pc.get_map_index()
            local setting = devil_tower2_plechito.settings()
            local get_flag = d.getf("lair_check1")
           
            if get_flag == 2 then
                if d.getf("level_two_login") == 0 then
                    d.setf("level_two_login", 1)
                    clear_server_timer("level_two_timer",d.get_map_index())
                    server_timer("level_two_timer", 10 * 60, d.get_map_index())
                end
            end
           
            if mid == setting["map_index"] then
                if not pc.in_dungeon() then
                    warp_to_village()
                end
            end
        end
       
        when logout with pc.get_map_index() >= 180000 and pc.get_map_index() < 189999 begin
            ------------ Dungeon Turn Back System ----------------------
            pc.setf("devil_tower2","dungeon_turn",1)
            ------------------------------------------------------------
        end
       
        when kill with npc.get_race() == 801 or npc.get_race() == 802 or npc.get_race() == 803 or npc.get_race() == 804 or npc.get_race() == 805 begin
            local count, check = d.getf("mobs") + 1, false;
           
            if d.getf("lair_check1") == 1 then
                if count < 650 and check == false then
                    d.setf("mobs", count)
                    local c = 650-d.getf("mobs")
                    d.zodiac_notice_clear()
                    d.zodiac_notice("(1.Görev)Dikkat! Dalga dalga gelecek olan iblisleri temizle! Kalan yaratık: "..c.."")
                else
                    if d.getf("metin_stone") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        d.spawn_mob(8401, 146, 151)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(1.2 Görev) %s Ortaya Çıktı ! Onu bul ve ruhu serbest bırak  !", mob_name(8401)))
                        d.setf("metin_stone", 1)
                    end
                    check = true
                end
            end
        end
       
        when kill with npc.get_race() == 8401 and pc.in_dungeon() begin
            local setting = devil_tower2_plechito.settings()
           
            if d.getf("lair_check1") == 1 then
                d.setf("lair_check1", 2)
                cleartimer("level_timer1")
                timer("level_timer1", 3)
            end
            if d.getf("lair_check1") == 3 then
                local items = {setting["keys"][1], setting["keys"][2]}
                local chance = number(1, 3)

                if chance <= 2 then
                    game.drop_item(items[1], 1)
                elseif chance == 3 then
                    game.drop_item(items[2], 1)
                end
            end
        end
       
        when 9201.take with item.vnum == 30330 and pc.in_dungeon() begin
            local setting = devil_tower2_plechito.settings()
            pc.remove_item(30330, 1)

            d.notice("Doğru anahtarı buldun ! sonraki aşamaya geçiyorsun !")
            npc.purge()
            d.clear_regen()
            d.kill_all()
            d.setf("lair_check1", 4)
            cleartimer("level_timer1")
            timer("level_timer1", 3)
        end
       
        when kill with npc.get_race() == 805 or npc.get_race() == 804 or npc.get_race() == 803 or npc.get_race() == 809 or npc.get_race() == 810 begin
            local count, check_2 = d.getf("mobs_level_2") + 1, false;
           
            if d.getf("lair_check1") == 2 then
                if count < 60 and check_2 == false then
                    d.setf("mobs_level_2", count)
                else
                    if d.getf("boss_check1") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(2.1 Görev) %s belirdi bul ve yok et !", mob_name(806)))
                        devil_tower2_plechito.spawn_boss(2)
                        d.setf("boss_check1", 1)
                    end
                    check_2 = true
                end
            end
        end
       
        when kill with npc.get_race() == 806 and pc.in_dungeon() begin
            d.notice(string.format("%s başarı ile yok edildi !", mob_name(806)))
            d.notice("Bir sonraki göreve hazırlan  !")
            d.setf("lair_check1", 3)
            cleartimer("level_timer1")
            cleartimer("level_two_timer")
            timer("level_timer1", 3)
        end
       
        when kill with npc.get_race() == 807 or npc.get_race() == 808 or npc.get_race() == 809 or npc.get_race() == 812 begin
            local count, check_3 = d.getf("mobs_level_3") + 1, false;
           
            if d.getf("lair_check1") == 4 then
                if count < 30 and check_3 == false then
                    d.setf("mobs_level_3", count)
                else
                    if d.getf("boss_check1_2") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        devil_tower2_plechito.spawn_boss(4)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(4.1 Görev) %s a belirdi! Onu yoket !", mob_name(817)))
                        d.setf("boss_check1_2", 1)
                    end
                    check_3 = true
                end
            end
        end
       
        when kill with npc.get_race() == 817 and pc.in_dungeon() begin
            d.notice(string.format("Harika !  %s'yi yok ettin bir sonraki aşamaya geçiliyor ! ", mob_name(817)))
            d.setf("lair_check1", 5)
            cleartimer("level_timer1")
            timer("level_timer1", 3)
        end
       
        when kill with npc.get_race() == 8402 and pc.in_dungeon() begin
            local chance = number(1, 4)
           
            if chance < 2 then
                if d.getf("first_root") == 0 then
                    d.zodiac_notice_clear()
                    d.zodiac_notice("(5.Görev) Doğru metin yok edildi ! Kalan doğru metin: 1 !")  
                    d.setf("first_root", 1)
                else  
                    d.notice("Son doğru metin taşını buldun !")
                    d.notice("Bir sonraki aşamada canavarları öldürerek kapıların kilidini açmalısın!")
                    d.setf("lair_check1", 6)
                    cleartimer("level_timer1")
                    timer("level_timer1", 3)
                end
            else
                d.zodiac_notice_clear()
                d.zodiac_notice(string.format("(5. Görev) Yanlış %s yokettin !", mob_name(8402)))  
            end
        end
       
        when kill with npc.get_race() == 812 or npc.get_race() == 813 or npc.get_race() == 814 begin
            local count = d.getf("mobs_level_4") + 1;
            local purge_count = d.getf("purge_count")
           
            if d.getf("lair_check1") == 6 then
                if count < 10 then
                    d.setf("mobs_level_4", count)
                else
                    if purge_count < 10 then
                        d.setf("purge_count", purge_count+1)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("Canavar gruplarını yok et ! Kalan grup %s !", 10-d.getf("purge_count")+1))
                        d.setf("mobs_level_4", 0)
                    else
                        d.notice("Tüm anıtları serbest bıraktın !")
                        d.notice("Bir sonraki seviyede tüm canavarları öldür ve Mavi Ölüm sana görünecek !")
                        d.setf("lair_check1", 7)
                        cleartimer("level_timer1")
                        timer("level_timer1", 3)
                    end
                end
            end
        end
       
        when kill with npc.get_race() == 811 or npc.get_race() == 814 or npc.get_race() == 815 begin
            local count, check_4 = d.getf("mobs_level_5") + 1, false;
           
            if d.getf("lair_check1") == 7 then
                if count < 10 and check_4 == false then
                    d.setf("mobs_level_5", count)
                else
                    if d.getf("boss_check1_4") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        devil_tower2_plechito.spawn_boss(7)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(7.1 Görev) %s göründü ! onu mağlub et !", mob_name(1095)))
                        d.setf("boss_check1_4", 1)
                    end
                    check_4 = true
                end
            end
        end
       
        when kill with npc.get_race() == 1095 and pc.in_dungeon() begin
            d.notice(string.format("İyi iş! Grubun %s karşı kazandı !", mob_name(1095)))
            d.notice("Bu zindandaki son patronu mağlub et !")
            d.clear_regen()
            d.kill_all()
            d.setf("lair_check1", 8)
            cleartimer("level_timer1")
            timer("level_timer1", 15)
            d.zodiac_notice_clear()
            d.zodiac_notice(string.format("15 Saniye içerisinde bir sonraki kata gönderileceksiniz."))
        end
       
        when kill with npc.get_race() == 816 and pc.in_dungeon() begin
            d.zodiac_notice_clear()
            d.zodiac_notice(string.format("%s Mağlub edildi , Tebrikler!", mob_name(816)))
            notice_all(string.format("%s grubu Mavi Ölüm Kulesini başarı ile tamamladı!", pc.get_name()))
            d.notice("2 dakika içide ışınlanıyorsun !")
            d.clear_regen()
            d.kill_all()
            d.setf("lair_check1", 0)
            timer("final1", 60*2)
        end
       
        --[[ TOWER STATEMENT END ]]
       
        --[[ TIMER STATEMENT BEGIN ]]
       
        when level_timer1.timer begin
            local get_flag = d.getf("lair_check1")
            local setting = devil_tower2_plechito.settings()
           
            d.clear_regen()
            d.kill_all()
           
            if get_flag == 2 then
                d.jump_all (setting["spawm_pos"][2][1], setting["spawm_pos"][2][2])
                devil_tower2_plechito.get_regens(2)
                d.setf("lair_check1", 2)
                d.zodiac_notice_clear()
                d.zodiac_notice("(2.Görev) Bu aşamadaki canavarları 10 dakika içerisinde yok et !")
            end
            if get_flag == 3 then
                d.jump_all (setting["spawm_pos"][3][1], setting["spawm_pos"][3][2])
                devil_tower2_plechito.get_regens(3)
                d.setf("lair_check1", 3)
                d.zodiac_notice_clear()
                d.zodiac_notice("(3.Görev)Metinden Maat Taşı düşür ve Şeytani anıta sürükleyerk üst kata geç.")
            end
            if get_flag == 4 then
                d.jump_all (setting["spawm_pos"][4][1], setting["spawm_pos"][4][2])
                devil_tower2_plechito.get_regens(4)
                d.setf("lair_check1", 4)
                d.zodiac_notice_clear()
                d.zodiac_notice("(4.Görev) Bütün yaratıkları temizle ve Patronu çağır !")
            end
            if get_flag == 5 then
                d.jump_all (setting["spawm_pos"][5][1], setting["spawm_pos"][5][2])
                devil_tower2_plechito.get_regens(5)
                d.setf("lair_check1", 5)
                d.zodiac_notice_clear()
                d.zodiac_notice("(5. Görev) Doğru metin taşını bulana kadar metinleri yoket !")
            end
            if get_flag == 6 then
                d.jump_all (setting["spawm_pos"][6][1], setting["spawm_pos"][6][2])
                devil_tower2_plechito.get_regens(6)
                d.setf("lair_check1", 6)
                d.zodiac_notice_clear()
                d.zodiac_notice("(6. Görev) Dalga Dalga canavarları yok et !")
            end
            if get_flag == 7 then
                d.jump_all (setting["spawm_pos"][7][1], setting["spawm_pos"][7][2])
                devil_tower2_plechito.get_regens(7)
                d.setf("lair_check1", 7)
                d.zodiac_notice_clear()
                d.zodiac_notice("(7. Görev) Canavarları temizle ve sana görünecek Mavi Ölümü yoket !")
            end
            if get_flag == 8 then
                d.jump_all (setting["spawm_pos"][8][1], setting["spawm_pos"][8][2])
                devil_tower2_plechito.get_regens(8)
                d.setf("lair_check1", 8)
                d.zodiac_notice_clear()
                d.zodiac_notice("(Son Görev) Şeytanı Kurt'u yok et !")
            end
        end
       
        when level_two_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.set_warp_location(41, 9694, 2786)
                d.notice("Zindan tamamlanamadı !")
                d.notice("Zaman doldu !")
                --notice_all(string.format("%s grubu Mavi Ölüm Kulesi yapmaya çalışmakta başarısız oldu!", pc.get_name()))
                server_timer('fail_bt1', 5,d.get_map_index())
                --timer("final1", 60*1)
                clear_server_timer("level_two_timer",d.get_map_index())
            end
        end
       
        when fail_bt1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.exit_all_to_start_position()
            end
        end
       
        when final1.timer begin
            clear_server_timer("level_two_timer",d.get_map_index())
            d.exit_all_to_start_position()
        end
       
        --[[ TIMER STATEMENT END ]]
       
        --[[ CHAT BEGIN ]]
        when 9201.chat."Mavi Ölüm Kulesi " begin
            -- Quest window dungeon image
            addimage(35,35,'deneme31.tga')
            local settings = devil_tower2_plechito.settings()
           
            say(mob_name(20348))
            say("")
           
            if not party.is_party() then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")say("")

                say("Bu zindana giriş yapabilmen için,")
                say("bir grupta bulunman gerekiyor .")
                return
            end
           
            if not party.is_leader() then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Mavi ölüm kulesine girmek istiyorsanız,")
                say("bir grubun lideri olmalısın .")
                return
            end
           
            if party.get_near_count() < 2 then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Mavi ölüm kulesine girmek istiyorsanız ")
                say("bir grupta bulunmalısınız.")
                return
            end
           
            local levelCheck, maximlevelCheck, itemCheck, durationCheck = true, true, true, true
            local noDurationMembers, noLevelMembers, noitemCheckMembers = {},{},{}
           
            for i, pid in next, devil_tower2_plechito.party_get_member_pids(), nil do
                q.begin_other_pc_block(pid)
               
                if pc.get_level() < settings["level_check1"]["minimum"] then
                    table.insert(noLevelMembers, pc.get_name())
                    levelCheck = false
                end
                if pc.get_level() > settings["level_check1"]["maximum"] then
                    table.insert(noLevelMembers, pc.get_name())
                    maximlevelCheck = false
                end
               
                if pc.count_item(31336) <= 0 then
                    table.insert(noitemCheckMembers, pc.get_name())
                    itemCheck = false
                end
               
                if get_time() < pc.getqf("bt_player_time_duration") then
                    table.insert(noDurationMembers, pc.get_name())
                    durationCheck = false
                end

                q.end_other_pc_block()
            end
           
            if not levelCheck then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Mavi ölüm kulesine girmek istiyorsanız,")
                say("grubun her üyesi")
                say(string.format("Minimum seviye: %s.", settings["level_check1"]["minimum"]))
                say("")
                say("Grubunuzdaki bazı üyeler bu şartı yerine getirmiyor !")
                for i, name in next, noLevelMembers, nil do
                    say(color(1,1,0), "    "..name)
                end
                return
            end
           
            if not maximlevelCheck then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Mavi ölüm kulesine girmek istiyorsanız,")
                say("grubun her üyesi ")
                say(string.format("Minimum seviye:   %s.", settings["level_check1"]["maximum"]))
                say("")
                say("Grubunuzdaki bazı üyeler bu şartı yerine getirmiyor !")
                for i, name in next, noLevelMembers, nil do
                    say(color(1,1,0), "    "..name)
                end
                return
            end
           
            if not itemCheck then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Bu zindana giriş yapabilmen için,")
                say("grubun her üyesinin zindan biletine")
                say("sahip olması gerekiyor bir üyenin")
                say("Envanterinde yeterli miktarda yok:")
                say_item(item_name(31336),31336, "")
                for i, name in next, noitemCheckMembers, nil do
                    say(color(1,1,0), "    "..name)
                end
                return
            end

           
            if not durationCheck then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Bu zindana giriş yapabilmen için,")
                say("grubun her üyesinin soguma süresinin")
                say("sona ermiş olması gerekiyor")
                say("soguma süresini tamamlamamış olanlar var:")
                for i, name in next, noDurationMembers, nil do
                    say(color(1,1,0), "    "..name)
                end
                return
            end
           
            if (pc.get_channel_id() == 2 or pc.get_channel_id() == 3 or pc.get_channel_id() == 4 or pc.get_channel_id() == 5 or pc.get_channel_id() == 6) then
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")
                say("Sadece 1. kanaldan giriş yapabilirsin.")
                return
            end

            for i, pid in next, devil_tower2_plechito.party_get_member_pids(), nil do
                q.begin_other_pc_block(pid)
                pc.remove_item(31336, 1)
                pc.setqf("bt_player_time_duration", get_time()+60*60*2)
                q.end_other_pc_block()
            end
           
            -- Quest window dungeon image
            addimage(35,35,'deneme31.tga')say("")say("")say("")say("")say("")

            say("Mavi ölüm kalesine ışınlanıyorsun,")
            say("'Devam' dedikten sonra bütün üyeler ışınlanacaklar .")
            wait()
            devil_tower2_plechito.make_dungeon()
        end
        when 9201.chat."Mağara Süre sıfırla " with (game.get_event_flag("bt_dung_time") == 1) begin
            local select_timer = select("Sıfırla", "Sıfırlama")
            if select_timer == 1 then
                pc.setqf("bt_player_time_duration", 0)
            end
        end
        --[[ CHAT END ]]
    end
end
Merhabalar elimde sorunsuz şekilde mavi ölüm kulesi questi mevcut fakat grup şartı istiyor, ben öncelik olarak grup şartını kaldırmayı daha sonrasıda tek kat boss şeklinde yapmayı düşünüyorum ama grup şartını kaldırma konusunda sıkıntılar çekiyorum yardımcı olabilecek bir arkadaşım varsa sevinirim.
 
Lua (Quest):
if not party.is_party() then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")say("")

                say("Bu zindana giriş yapabilmen için,")
                say("bir grupta bulunman gerekiyor .")
                return
            end
            
            if not party.is_leader() then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Mavi ölüm kulesine girmek istiyorsanız,")
                say("bir grubun lideri olmalısın .")
                return
            end
            
            if party.get_near_count() < 2 then
                -- Quest window dungeon image
                addimage(35,35,'deneme31.tga')say("")say("")say("")say("")

                say("Mavi ölüm kulesine girmek istiyorsanız ")
                say("bir grupta bulunmalısınız.")
                return
            end

Şu kısmı silip tekrar dener misiniz?

Ayrıca; ben de bir süre bu kuleyi aradım fakat bulamadım. Acaba ayrı bir konu olarak paylaşma şansınız var mı ?
 
Orayı silip denemiştim daha önce, fakat devam etmek istiyoruma bastıktan sonra içeri almıyor bu sefer de :) Mobları vs. de lazım mı yoksa sadece map mi lazım
 
Lua (Quest):
quest devil_tower2_plechito begin
    state start begin
        --[[ FUNCTION STATEMENT BEGIN ]]
        function get_regens(level)
            local regens = {
                [1] = "data/dungeon/devil_tower2_regens/floor_1.txt",
                [2] = "data/dungeon/devil_tower2_regens/floor_2.txt",
                [3] = "data/dungeon/devil_tower2_regens/floor_3.txt",
                [4] = "data/dungeon/devil_tower2_regens/floor_4.txt",
                [5] = "data/dungeon/devil_tower2_regens/floor_5.txt",
                [6] = "data/dungeon/devil_tower2_regens/floor_6.txt",
                [7] = "data/dungeon/devil_tower2_regens/floor_7.txt",
                [8] = "data/dungeon/devil_tower2_regens/floor_8.txt"};
            
            return d.set_regen_file(regens[level])
        end
        
        function spawn_boss(level)
            local boss_settings = {
                [2] = {806, 382, 191},
                [4] = {817, 394, 394},
                [7] = {1095, 209, 609},
                [8] = {816, 564, 613}};
            
            return d.spawn_mob(boss_settings[level][1], boss_settings[level][2], boss_settings[level][3])
        end
        
        function settings()
            return
            {
                ["map_index"] = 18,
                ["spawm_pos"] = {
                    [1] = {21086, 22099},
                    [2] = {332+21000, 109+22000},
                    [3] = {598+21000, 96+22000},
                    [4] = {330+21000, 360+22000},
                    [5] = {166+21000, 333+22000},
                    [6] = {166+21000, 333+22000},
                    [7] = {212+21000, 540+22000},
                    [8] = {560+21000, 546+22000}
                },
                ["level_check1"] = {
                    ["minimum"] = 40,
                    ["maximum"] = 120
                },
                ["keys"] = {30330, 30330}
            }
        end
        
        function party_get_member_pids()
            local pids = {party.get_member_pids()}
            
            return pids
        end
        
        function make_dungeon()
            local setting = devil_tower2_plechito.settings()
            
            d.new_jump_party(setting["map_index"], setting["spawm_pos"][1][1], setting["spawm_pos"][1][2])
            d.setf("lair_check1", 1)
            devil_tower2_plechito.get_regens(1)
        end
        --[[ FUNCTION STATEMENT END ]]
        
        --[[ TOWER STATEMENT BEGIN ]]
        
        when login begin
            local mid = pc.get_map_index()
            local setting = devil_tower2_plechito.settings()
            local get_flag = d.getf("lair_check1")
            
            if get_flag == 2 then
                if d.getf("level_two_login") == 0 then
                    d.setf("level_two_login", 1)
                    clear_server_timer("level_two_timer",d.get_map_index())
                    server_timer("level_two_timer", 10 * 60, d.get_map_index())
                end
            end
            
            if mid == setting["map_index"] then
                if not pc.in_dungeon() then
                    warp_to_village()
                end
            end
        end
        
        when logout with pc.get_map_index() >= 180000 and pc.get_map_index() < 189999 begin
            ------------ Dungeon Turn Back System ----------------------
            pc.setf("devil_tower2","dungeon_turn",1)
            ------------------------------------------------------------
        end
        
        when kill with npc.get_race() == 801 or npc.get_race() == 802 or npc.get_race() == 803 or npc.get_race() == 804 or npc.get_race() == 805 begin
            local count, check = d.getf("mobs") + 1, false;
            
            if d.getf("lair_check1") == 1 then
                if count < 650 and check == false then
                    d.setf("mobs", count)
                    local c = 650-d.getf("mobs")
                    d.zodiac_notice_clear()
                    d.zodiac_notice("(1.Görev)Dikkat! Dalga dalga gelecek olan iblisleri temizle! Kalan yaratık: "..c.."")
                else
                    if d.getf("metin_stone") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        d.spawn_mob(8401, 146, 151)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(1.2 Görev) %s Ortaya Çıktı ! Onu bul ve ruhu serbest bırak  !", mob_name(8401)))
                        d.setf("metin_stone", 1)
                    end
                    check = true
                end
            end
        end
        
        when kill with npc.get_race() == 8401 and pc.in_dungeon() begin
            local setting = devil_tower2_plechito.settings()
            
            if d.getf("lair_check1") == 1 then
                d.setf("lair_check1", 2)
                cleartimer("level_timer1")
                timer("level_timer1", 3)
            end
            if d.getf("lair_check1") == 3 then
                local items = {setting["keys"][1], setting["keys"][2]}
                local chance = number(1, 3)

                if chance <= 2 then
                    game.drop_item(items[1], 1)
                elseif chance == 3 then
                    game.drop_item(items[2], 1)
                end
            end
        end
        
        when 9201.take with item.vnum == 30330 and pc.in_dungeon() begin
            local setting = devil_tower2_plechito.settings()
            pc.remove_item(30330, 1)

            d.notice("Doğru anahtarı buldun ! sonraki aşamaya geçiyorsun !")
            npc.purge()
            d.clear_regen()
            d.kill_all()
            d.setf("lair_check1", 4)
            cleartimer("level_timer1")
            timer("level_timer1", 3)
        end
        
        when kill with npc.get_race() == 805 or npc.get_race() == 804 or npc.get_race() == 803 or npc.get_race() == 809 or npc.get_race() == 810 begin
            local count, check_2 = d.getf("mobs_level_2") + 1, false;
            
            if d.getf("lair_check1") == 2 then
                if count < 60 and check_2 == false then
                    d.setf("mobs_level_2", count)
                else
                    if d.getf("boss_check1") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(2.1 Görev) %s belirdi bul ve yok et !", mob_name(806)))
                        devil_tower2_plechito.spawn_boss(2)
                        d.setf("boss_check1", 1)
                    end
                    check_2 = true
                end
            end
        end
        
        when kill with npc.get_race() == 806 and pc.in_dungeon() begin
            d.notice(string.format("%s başarı ile yok edildi !", mob_name(806)))
            d.notice("Bir sonraki göreve hazırlan  !")
            d.setf("lair_check1", 3)
            cleartimer("level_timer1")
            cleartimer("level_two_timer")
            timer("level_timer1", 3)
        end
        
        when kill with npc.get_race() == 807 or npc.get_race() == 808 or npc.get_race() == 809 or npc.get_race() == 812 begin
            local count, check_3 = d.getf("mobs_level_3") + 1, false;
            
            if d.getf("lair_check1") == 4 then
                if count < 30 and check_3 == false then
                    d.setf("mobs_level_3", count)
                else
                    if d.getf("boss_check1_2") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        devil_tower2_plechito.spawn_boss(4)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(4.1 Görev) %s a belirdi! Onu yoket !", mob_name(817)))
                        d.setf("boss_check1_2", 1)
                    end
                    check_3 = true
                end
            end
        end
        
        when kill with npc.get_race() == 817 and pc.in_dungeon() begin
            d.notice(string.format("Harika !  %s'yi yok ettin bir sonraki aşamaya geçiliyor ! ", mob_name(817)))
            d.setf("lair_check1", 5)
            cleartimer("level_timer1")
            timer("level_timer1", 3)
        end
        
        when kill with npc.get_race() == 8402 and pc.in_dungeon() begin
            local chance = number(1, 4)
            
            if chance < 2 then
                if d.getf("first_root") == 0 then
                    d.zodiac_notice_clear()
                    d.zodiac_notice("(5.Görev) Doğru metin yok edildi ! Kalan doğru metin: 1 !")   
                    d.setf("first_root", 1)
                else   
                    d.notice("Son doğru metin taşını buldun !")
                    d.notice("Bir sonraki aşamada canavarları öldürerek kapıların kilidini açmalısın!")
                    d.setf("lair_check1", 6)
                    cleartimer("level_timer1")
                    timer("level_timer1", 3)
                end
            else
                d.zodiac_notice_clear()
                d.zodiac_notice(string.format("(5. Görev) Yanlış %s yokettin !", mob_name(8402)))   
            end
        end
        
        when kill with npc.get_race() == 812 or npc.get_race() == 813 or npc.get_race() == 814 begin
            local count = d.getf("mobs_level_4") + 1;
            local purge_count = d.getf("purge_count")
            
            if d.getf("lair_check1") == 6 then
                if count < 10 then
                    d.setf("mobs_level_4", count)
                else
                    if purge_count < 10 then
                        d.setf("purge_count", purge_count+1)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("Canavar gruplarını yok et ! Kalan grup %s !", 10-d.getf("purge_count")+1))
                        d.setf("mobs_level_4", 0)
                    else
                        d.notice("Tüm anıtları serbest bıraktın !")
                        d.notice("Bir sonraki seviyede tüm canavarları öldür ve Mavi Ölüm sana görünecek !")
                        d.setf("lair_check1", 7)
                        cleartimer("level_timer1")
                        timer("level_timer1", 3)
                    end
                end
            end
        end
        
        when kill with npc.get_race() == 811 or npc.get_race() == 814 or npc.get_race() == 815 begin
            local count, check_4 = d.getf("mobs_level_5") + 1, false;
            
            if d.getf("lair_check1") == 7 then
                if count < 10 and check_4 == false then
                    d.setf("mobs_level_5", count)
                else
                    if d.getf("boss_check1_4") == 0 then
                        d.clear_regen()
                        d.kill_all()
                        devil_tower2_plechito.spawn_boss(7)
                        d.zodiac_notice_clear()
                        d.zodiac_notice(string.format("(7.1 Görev) %s göründü ! onu mağlub et !", mob_name(1095)))
                        d.setf("boss_check1_4", 1)
                    end
                    check_4 = true
                end
            end
        end
        
        when kill with npc.get_race() == 1095 and pc.in_dungeon() begin
            d.notice(string.format("İyi iş! Grubun %s karşı kazandı !", mob_name(1095)))
            d.notice("Bu zindandaki son patronu mağlub et !")
            d.clear_regen()
            d.kill_all()
            d.setf("lair_check1", 8)
            cleartimer("level_timer1")
            timer("level_timer1", 15)
            d.zodiac_notice_clear()
            d.zodiac_notice(string.format("15 Saniye içerisinde bir sonraki kata gönderileceksiniz."))
        end
        
        when kill with npc.get_race() == 816 and pc.in_dungeon() begin
            d.zodiac_notice_clear()
            d.zodiac_notice(string.format("%s Mağlub edildi , Tebrikler!", mob_name(816)))
            notice_all(string.format("%s grubu Mavi Ölüm Kulesini başarı ile tamamladı!", pc.get_name()))
            d.notice("2 dakika içide ışınlanıyorsun !")
            d.clear_regen()
            d.kill_all()
            d.setf("lair_check1", 0)
            timer("final1", 60*2)
        end
        
        --[[ TOWER STATEMENT END ]]
        
        --[[ TIMER STATEMENT BEGIN ]]
        
        when level_timer1.timer begin
            local get_flag = d.getf("lair_check1")
            local setting = devil_tower2_plechito.settings()
            
            d.clear_regen()
            d.kill_all()
            
            if get_flag == 2 then
                d.jump_all (setting["spawm_pos"][2][1], setting["spawm_pos"][2][2])
                devil_tower2_plechito.get_regens(2)
                d.setf("lair_check1", 2)
                d.zodiac_notice_clear()
                d.zodiac_notice("(2.Görev) Bu aşamadaki canavarları 10 dakika içerisinde yok et !")
            end
            if get_flag == 3 then
                d.jump_all (setting["spawm_pos"][3][1], setting["spawm_pos"][3][2])
                devil_tower2_plechito.get_regens(3)
                d.setf("lair_check1", 3)
                d.zodiac_notice_clear()
                d.zodiac_notice("(3.Görev)Metinden Maat Taşı düşür ve Şeytani anıta sürükleyerk üst kata geç.")
            end
            if get_flag == 4 then
                d.jump_all (setting["spawm_pos"][4][1], setting["spawm_pos"][4][2])
                devil_tower2_plechito.get_regens(4)
                d.setf("lair_check1", 4)
                d.zodiac_notice_clear()
                d.zodiac_notice("(4.Görev) Bütün yaratıkları temizle ve Patronu çağır !")
            end
            if get_flag == 5 then
                d.jump_all (setting["spawm_pos"][5][1], setting["spawm_pos"][5][2])
                devil_tower2_plechito.get_regens(5)
                d.setf("lair_check1", 5)
                d.zodiac_notice_clear()
                d.zodiac_notice("(5. Görev) Doğru metin taşını bulana kadar metinleri yoket !")
            end
            if get_flag == 6 then
                d.jump_all (setting["spawm_pos"][6][1], setting["spawm_pos"][6][2])
                devil_tower2_plechito.get_regens(6)
                d.setf("lair_check1", 6)
                d.zodiac_notice_clear()
                d.zodiac_notice("(6. Görev) Dalga Dalga canavarları yok et !")
            end
            if get_flag == 7 then
                d.jump_all (setting["spawm_pos"][7][1], setting["spawm_pos"][7][2])
                devil_tower2_plechito.get_regens(7)
                d.setf("lair_check1", 7)
                d.zodiac_notice_clear()
                d.zodiac_notice("(7. Görev) Canavarları temizle ve sana görünecek Mavi Ölümü yoket !")
            end
            if get_flag == 8 then
                d.jump_all (setting["spawm_pos"][8][1], setting["spawm_pos"][8][2])
                devil_tower2_plechito.get_regens(8)
                d.setf("lair_check1", 8)
                d.zodiac_notice_clear()
                d.zodiac_notice("(Son Görev) Şeytanı Kurt'u yok et !")
            end
        end
        
        when level_two_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.set_warp_location(41, 9694, 2786)
                d.notice("Zindan tamamlanamadı !")
                d.notice("Zaman doldu !")
                --notice_all(string.format("%s grubu Mavi Ölüm Kulesi yapmaya çalışmakta başarısız oldu!", pc.get_name()))
                server_timer('fail_bt1', 5,d.get_map_index())
                --timer("final1", 60*1)
                clear_server_timer("level_two_timer",d.get_map_index())
            end
        end
        
        when fail_bt1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.exit_all_to_start_position()
            end
        end
        
        when final1.timer begin
            clear_server_timer("level_two_timer",d.get_map_index())
            d.exit_all_to_start_position()
        end
        
        --[[ TIMER STATEMENT END ]]
        
        --[[ CHAT BEGIN ]]
        when 9201.chat."Mavi Ölüm Kulesi " begin
            -- Quest window dungeon image
            addimage(35,35,'deneme31.tga')
            local settings = devil_tower2_plechito.settings()
            
            say(mob_name(20348))
            say("")

            say("Mavi ölüm kalesine ışınlanıyorsun,")
            say("'Devam' dedikten sonra bütün üyeler ışınlanacaklar .")
            wait()
            devil_tower2_plechito.make_dungeon()
        end
        when 9201.chat."Mağara Süre sıfırla " with (game.get_event_flag("bt_dung_time") == 1) begin
            local select_timer = select("Sıfırla", "Sıfırlama")
            if select_timer == 1 then
                pc.setqf("bt_player_time_duration", 0)
            end
        end
        --[[ CHAT END ]]
    end
end

Elinizdeki questin yedeğini alıp bunu dener misiniz? Gözüme çarpan bazı yerleri de sildim, umarım hallolur.
Açıkcası komple her şeyi ile lazım :)
 
Devam dedikten sonra ışınlanacaktır yazısından sonra teleport etmiyor :) gerekli rarı oluşturayım konu yaparım.
 
Zaten bu sektörde çoğu şey hemen warez oluyor. Normalde mavi ölüm katı wom2 dosyalarında vardı ve gruplu değildi. Azraili kestikten sonra otomatik atıyordu
 
Zaten bu sektörde çoğu şey hemen warez oluyor. Normalde mavi ölüm katı wom2 dosyalarında vardı ve gruplu değildi. Azraili kestikten sonra otomatik atıyordu
bu o mavi ölüm değil bambaşka bir dungeon bossları floor grannyleri komple farklı, ismine mavi ölüm diyorlar ama şeytani kurt diye bir boss çıkıyor şu anda güncel bir farm filesinde piyasaya yayıldı. grup isteme şartını bildiğim yoldan kaldırmayı denedim fakat ilginçtir ki warp komutlarını değiştirmediğim halde ışınlamıyor.
 
Eğer acelesi yoksa müsahit olduğum zaman bi inceleyim kodları buradan yanıt veririm
 
acelesi yok yılbaşı için bir proje hazırlıyorum fakat bu questteki grup olayını kavrayamadım warplarla nasıl bir bağlantısı olabilir ki, müsait olduğunuz bir vakit incelerseniz çok sevinirim iyi çalışmalar.
 
Kodları biraz inceledim. Işınlama için new_jump_party fonksiyonunu kullanmış.
Lua (Quest):
        function make_dungeon()
            local setting = devil_tower2_plechito.settings()
          
            d.new_jump_party(setting["map_index"], setting["spawm_pos"][1][1], setting["spawm_pos"][1][2])
            d.setf("lair_check1", 1)
            devil_tower2_plechito.get_regens(1)
        end

Buradaki komutu d.warp olarak değiştirip deneyebilir misiniz?
 
Bu değişikliği yapıp gerekli parti isteme şartlandırmalarını sildiğimde grup yokken bileti almıyor içeri de ışınlamıyor grup varken de bileti alıyor gene ışınlamıyor resimdeki ekrandan sonra hiç bir şey çıkmıyor teleport ta atmıyor
Screenshot_6.png
 
Bu gibi durumlarda syserr kayıtlarına bir şeylerin düşmesi lazım. Kontrol ettiniz mi?
 
Bu gibi durumlarda syserr kayıtlarına bir şeylerin düşmesi lazım. Kontrol ettiniz mi?
syserr boş artık grubu kaldırına kadar questte oynamalar yapıcam gibi duruyor :p bir de şu anki sıkıntım razadörda direkt questin razadöru kes görevi vermesini istiyorum yani zindanın ortasındaki am-heh'e tıklayınca maat taşı bul vs. yerine direkt razadörla karşılaştırmasını istiyorum bunu nasıl yaparım elimdeki questler çok karışık geliyor :p


Razadör quest:
--
quest flame_dungeon begin
    state start begin
        when 20394.chat."Razadör Kulesi (Bireysel)"with pc.get_level() >= 100 begin
            --pc.give_item2(71175, 1)
           
            set_state(run)
        end

        when login with flame_dungeon.is_flamed(pc.get_map_index()) begin
            --pc.give_item2(71175, 1)
            set_state(run)      
            flame_dungeon.entry_setting()
        end

               
        when flame_dungeon_45m_left_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                notice_multiline(string.format("Kalan zaman: %d dakika", 45),d.notice)
                notice_multiline("Süre bitince  kale'nin dışına atılacaksınız.",d.notice)
                server_timer('flame_dungeon_30m_left_timer', 15*60, get_server_timer_arg())
            end
        end
        when flame_dungeon_30m_left_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                notice_multiline(string.format("Kalan zaman: %d dakika", 30),d.notice)
                notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
                server_timer('flame_dungeon_15m_left_timer', 15*60, get_server_timer_arg())
            end
        end
        when flame_dungeon_15m_left_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                notice_multiline(string.format("Kalan zaman: %d dakika", 15),d.notice)
                notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
                server_timer('flame_dungeon_5m_left_timer', 10*60, get_server_timer_arg())
            end
        end
        when flame_dungeon_5m_left_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                notice_multiline(string.format("Kalan zaman: %d dakika", 5),d.notice)
                notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
                server_timer('flame_dungeon_1m_left_timer', 4*60, get_server_timer_arg())
            end
        end
        when flame_dungeon_1m_left_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 1),d.notice)
                notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
                server_timer ("flame_dungeon_0m_left_timer", 60, get_server_timer_arg())
            end
        end
        when flame_dungeon_0m_left_timer.server_timer begin
            local setting = flame_dungeon.setting()
            if d.select(get_server_timer_arg()) then      
                notice_multiline("Size ayırılan süre doldu.10 Saniye[ENTER]içinde kale'nin kapıları sizin için açılacak.",d.notice)
                notice_multiline("10 Saniye içinde herkes ışınlanacak.",d.notice)
                server_timer("dungeon_end_timer",10,d.get_map_index())  
            end
        end  
       
        when dungeon_end_timer.server_timer begin -- ?? ??? (??? ????)
            local setting = flame_dungeon.setting()
            if d.select(get_server_timer_arg()) then
                flame_dungeon.clear_timer(d.get_map_index())      
                d.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2])
                d.exit_all()
            end
        end

        when killed_A_1.server_timer begin -- ??? ???1 (level1,level3)
            if d.select(get_server_timer_arg()) then
                if d.count_monster() <= 0 then -- 1?? ??? ???
                    if d.getf("level") == 11 then
                        notice_multiline("Bütün şeytanları yendiniz,",d.notice)
                        notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
                    else
                        notice_multiline("Bütün şeytanları yendiniz,",d.notice)
                        notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
                    end
                    d.setf("level",0)
                else
                    server_timer ("killed_A_2", 6, get_server_timer_arg())
                end
            end
        end

        when killed_A_2.server_timer begin -- ??? ???2 (1? 2 ?????? ???)
            if d.select(get_server_timer_arg()) then
                if d.count_monster() <= 0 then -- 1?? ??? ???
                    if d.getf("level") == 11 then
                        notice_multiline("Bütün şeytanları yendiniz,",d.notice)
                        notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
                    else
                        notice_multiline("Bütün şeytanları yendiniz,",d.notice)
                        notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
                    end
                    d.setf("level",0)
                else
                    server_timer ("killed_A_1", 6, get_server_timer_arg())
                end
            end
        end
    end

    state run begin
   
    function setting()
        return
        {
        ["bossroom_entry_pos"] = {8109,6867},
        ["boss_pos"] = {686,637},
        ["doors_pos"] = {
            {320,394},
            {293,359},
            {333,321},
            {378,320},
            {400,355},
            {394,401}
        },
        ["idoors_pos"] = {
            {268,447},
            {234,359},
            {300,264},
            {454,217},
            {470,355},
            {467,469}
        },
        ["doors_dir"] = {135,90,210,152,90,223},
        ["idoors_dir"] = {135,90,210,135,90,239},
        ["dungeon_entry_pos"] = {7762, 6739},-- ??? ?? ???? ?
        ["20385_bpos"] = {690,722},
        ["20385_pos"] = {354,362},
        ["LEVEL2_STONE_pos"] = {195,352},
        ["LEVEL4_TARGET_pos"] = {470,175},
        ["LEVEL5_STONE_pos"] = {
                {486, 345},
                {511, 336},
                {525, 349},
                {521, 365},
                {503, 372},
                {486, 365},
                {500, 354}
        },
        ["LEVEL6_TARGET_pos"] = {511,480},
        ["outside_entry_pos"] = {6142,7068}, --??????? ??? ?
        ["YAK_pos"] = {376, 397} -- ?? ??
       
        }
    end

    function is_flamed(idx) -- ???? ??? ??
        return (idx >= 351 * 10000 and idx < (351 + 1) *10000) or idx==351
    end

    function make_dungeon() -- ?? ???
        local setting = flame_dungeon.setting()
        d.new_jump(351, setting.dungeon_entry_pos[1] * 100, setting.dungeon_entry_pos[2] * 100)

        d.regen_file("data/dungeon/flame_dungeon/npc.txt")
        d.setf("level",0)
        for i=1,6 do
            d.set_unique("door"..i, d.spawn_mob_ac_dir(20387, setting.doors_pos[i][1], setting.doors_pos[i][2],setting.doors_dir[i]))
            d.set_unique("idoor"..i, d.spawn_mob_ac_dir(20388, setting.idoors_pos[i][1], setting.idoors_pos[i][2],setting.idoors_dir[i]))
        end
        d.setf("clear_count",0)
        d.setf("started",0)
        pc.setf("flame_dungeon","dungeon_enter",0) -- ????? ?????? // ??? : 0 ?? : 1 // ??? ??????? ?? ??
    end

    function go_boss() -- ??? ??
        local setting = flame_dungeon.setting()
        if pc.get_level() < 90 then --????
            say("Sizin seviyeniz devam etmek için yeterli değil.[ENTER]90.Seviyeye ulaştığınız zaman tekrar gelin.")
            return
        else
            say("Kaderinle karşılaşmak için hazır mısın?")
            local warp = select("Devam Et","Daha Sonra")
            if warp == 1 then
            d.setf("level",17)
            d.jump_all(setting.bossroom_entry_pos[1],setting.bossroom_entry_pos[2])
            d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_fild_boss.txt")
            d.spawn_mob(6091,setting.boss_pos[1],setting.boss_pos[2])
        end
        end
    end

    function level_clear()
        d.setf("level",0)
        d.clear_regen()
        d.purge_area(750000,620000,817400,689400)
    end

    function clear_timer(inx)
        clear_server_timer ("flame_dungeon_0m_left_timer", inx)
        clear_server_timer ("flame_dungeon_1m_left_timer", inx)
        clear_server_timer ("flame_dungeon_5m_left_timer", inx)
        clear_server_timer ("flame_dungeon_10m_left_timer", inx)
        clear_server_timer ("flame_dungeon_15m_left_timer", inx)
        clear_server_timer ("flame_dungeon_30m_left_timer", inx)
        clear_server_timer ("flame_dungeon_45m_left_timer", inx)
        clear_server_timer ("killed_A_1", inx)
        clear_server_timer ("killed_A_2", inx)
    end

    function map_index_compare()
        if flame_dungeon.is_flamed(pc.getf("flame_dungeon","dungeon_index")) then
            return (pc.getf("flame_dungeon","dungeon_index") == pc.getf("flame_dungeon","dungeon_index"))
        end
    end

    function entry_setting()
        local idx = pc.get_map_index()
        local setting = flame_dungeon.setting()          
        if idx == 351 then
            pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
        elseif flame_dungeon.is_flamed(idx) then
            if not flame_dungeon.map_index_compare() and pc.getf("flame_dungeon","dungeon_enter") == 1 then
                pc.setf("flame_dungeon","dungeon_index", d.get_map_index())
            end
        ------------------------------------------------------------------------------------------------------------------------------------------------------
        --??? ??? ???? ???? ???? ?????? ?? ?? ??? ????. ???? ??? ?? ???? ???? ?? ?? ??? ??? ??.
        --???? ???? ?? ?? ?? ??? ??? ??, ???? ??? ??? ????? ?? ??? ????? ???? ??? ??? ??? ??.
        ------------------------------------------------------------------------------------------------------------------------------------------------------
            -- pc.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) -- ?? ??? ? ??? ????
        elseif not d.find(pc.getf("flame_dungeon","dungeon_index"))then
                pc.setf("flame_dungeon","dungeon_index",0)
        end
    end

        when login begin --
            flame_dungeon.entry_setting()
            local idx = pc.get_map_index()
            if flame_dungeon.is_flamed(idx) and flame_dungeon.map_index_compare() then
                pc.setf("flame_dungeon","exit_time",get_global_time()) -- ???? ???? ??? ??? ??, ?? ???? ??? or ?? ???? ???
            end
           
            if flame_dungeon.is_flamed(idx) then
                 pc.setf("flame_dungeon","exit_time",get_global_time())
            end
        end

        when logout begin
            local idx = pc.get_map_index()
            if flame_dungeon.is_flamed(idx) and flame_dungeon.map_index_compare() then
                pc.setf("flame_dungeon","exit_time",get_global_time()) -- ???? ???? ??? ??? ??, ?? ???? ??? or ?? ???? ???
            end
            if flame_dungeon.is_flamed(idx) then
                ------------ Dungeon Turn Back System ----------------------
                pc.setf("flame_dungeon","dungeon_turn",1)
                ------------------------------------------------------------
                pc.setf("flame_dungeon","exit_time",get_global_time())
            end
        end
        when 20394.chat."Razadör Kulesi (Bireysel)" begin
            addimage(35,35,'razador.tga')
            if party.is_leader() or party.is_party() then
                say("")
                say("")
                say("")
                say("")
                say("")
                say_reward("Bu zindana grup halinde giremezsin")
                say_reward("lütfen önce bulundugun grupdan ayril !")
                return
            end
            --sys_log(0,"flame_dungeon quest open")
            local setting = flame_dungeon.setting()
            if (game.get_event_flag("enable_time_flame") == 1 and  get_global_time() - pc.getf("flame_dungeon","exit_time") < 60 * 60) then
                addimage(35,35,'razador.tga')
                say("")
                say("")
                say("")
                say("")
                say("")
                say("Beta Server; süreyi sıfırlamak mı istiyorsun?")
                say("Kalan süre: "..dungeon_get_duration(pc.getf("flame_dungeon","exit_time") - get_global_time()).."")
                if select("Evet","Hayır") == 1 then
                    pc.setf("flame_dungeon","exit_time",0)
                    return
                end
            end
           
            if get_global_time() - pc.getf("flame_dungeon","exit_time") < 1 * 2 then
                say_title(mob_name(20394))
                addimage(35,35,'razador.tga')
                say("")
                say("")
                say("")
                say("")
                say("")
                say("Soguma sureniz henuz dolmadi!")
                say("Kalan süre: "..dungeon_get_duration(pc.getf("flame_dungeon","exit_time") - get_global_time()).."")
                return
            end

            if pc.level < 90 then
                say_title(mob_name(20394))
                addimage(35,35,'razador.tga')
                say("")
                say("")
                say("")
                say("")
                say("")
                say("Zindana giris icin seviyeniz yetersiz!")
                return
            end
           
           
            if pc.count_item(71175) < 1 then
                say_title(mob_name(20394))
                addimage(35,35,'razador.tga')
                say("")
                say("")
                say("")
                say("")
                say("")
                say("Envanterinde yeterli miktarda yok:")
                say(string.format("%s.", item_name(71175)))
                say("")
                return
            end
           
            say_title(mob_name(20394))
            addimage(35,35,'razador.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say("Kırmızı Ejderha Kulesi'ne girmek için emin misin?")
            local warp = select("Evet.","Belki daha sonra...")
            if warp == 1 then
                -- ------------ Dungeon Turn Back System ----------------------
                -- pc.remove_turn_back_dungeon()
                -- ------------------------------------------------------------
                pc.remove_item(71175, 1)
                flame_dungeon.make_dungeon()
            end
            pc.setf("flame_dungeon","flame_dungeon_boss_kill_count", 17)
        end

        when 20394.chat."TEST : Init time limit init" with is_test_server() begin -- ????
            pc.setf("flame_dungeon","exit_time",get_global_time()-1800)
            say("Done")
        end

        when 20385.chat."Test : Boss Room" with is_test_server() begin -- ????
            flame_dungeon.go_boss()
        end
       
                when 20385.chat."Am-heh Uyanış " with npc.lock() begin
            local setting = flame_dungeon.setting()
            if d.getf("started") == 17 then
                char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'STARTED')
                say("Am-heh Uyandı!")
                say("Kızıl Ejderha Kale'si bir saat boyunca[ENTER]başkalarına kapatıldı.")
                wait()
                d.setf("level",17)
                -- ???? ?????? ??? ??? exit timer? ???? ???? ????? ????? ????? ?
                server_timer ("flame_dungeon_45m_left_timer",15*60, d.get_map_index())
                notice_multiline("Kalan zaman: 60 Dakika(lar) ",d.notice)
                notice_multiline("Süre dolduğunda disariya gönderileceksiniz.",d.notice)

                pc.setf("flame_dungeon","dungeon_enter",1)
            end

            if d.getf("level") == 0 then --??? ??????
                if d.getf("clear_count") == 6 then -- ? ??? ??? ???
                    d.setf("level",7)
                else
                    local rand = number(1,6)--???? ????? ?? ???? ?? ?? ?????? ???
                    local setlev = 0
                    d.setf("level",7) -- ?? ?? ??? ?? ??? ?????? ??? ????? ????
                    for i=1,50 do
                        setlev = setlev + 1
                        if setlev > 6 then
                            setlev = 1
                        end
                        if not d.is_unique_dead("door"..setlev) then
                            rand = rand - 1
                            if rand == 0 then
                                d.setf("level",setlev)
                                d.setf("clear_count",d.getf("clear_count")+1)
                                break
                            end
                        end
                    end
                end
            end
            if d.getf("level") == 1 then
                say("Şeytanlar kilitli kapının arkasında[ENTER]gidin ve onları mağlup edin.")
                notice_multiline("Savaşçılar ve Ejderha kral arasındaki ayaklanma birazdan başlayacak.",d.notice)
                d.kill_unique("door1")
                d.kill_unique("idoor1")
                d.setf("level",11)
                d.regen_file ("data/dungeon/flame_dungeon/".."fd_a.txt")
               
                server_timer ("killed_A_1", 12, d.get_map_index())
            elseif d.getf("level") == 11 then
                say("Bütün şeytanlar yenilmedi.")
                say_title("Kalan: " .. d.count_monster())
            elseif d.getf("level") == 2 then
                    char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 2 started')
                    say("Altın Dişli Çarkı bul ve mührü aç.")
                    notice_multiline("Altın Dişli Çarkı ele geçirmek için yaratıkları öldür ve mührü aç.",d.notice)
                    d.spawn_mob(20386, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- ??? ??
                    d.kill_unique("door2")
                    d.kill_unique("idoor2")
                    d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_b.txt")
                    d.setf("level",12)
            elseif d.getf("level") == 12 then
                say("Altın dişli çark ile mührü açmadan ilerleyemezsin.")
            elseif d.getf("level") == 3 then
                char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 3 started')
                say("Tüm yaratıkları öldürün.[ENTER]Kaderinizi belirleyin.")
                notice_multiline("Tüm yaratıkları öldürün ve kaderinizi belirleyin.",d.notice)
                d.kill_unique("door3")
                d.kill_unique("idoor3")
                d.setf("level",13)
                d.regen_file ("data/dungeon/flame_dungeon/".."fd_c.txt")
                server_timer ("killed_A_1", 12, d.get_map_index())
            elseif d.getf("level") == 13 then
                say("Yaratıkların hepsi ölmedi.")
                say_title("Kalan: "..d.count_monster())
            elseif d.getf("level") == 4 then -- 474 178
                char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 4 started')  
                say("Devam edebilmek için, Ignator'u yok edin.")
                d.notice("Gidin ve Ignatoru mağlup edin.")
                d.setf("level",14)
                d.kill_unique("door4")
                d.kill_unique("idoor4")
                d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_d.txt")
                d.spawn_mob(6051,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- ????? ??
            elseif d.getf("level") == 14 then
                say("Ignator hala Yaşıyor.[ENTER]Kendinizi güclendirin ve tekrar deneyin.[ENTER]Ebedi lanetten temizlenin.")
            elseif d.getf("level") == 5 then -- 510 355
                char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 5 started')
                say("Maat Taş'larını bulunuz ve tek tek açın.")
                notice_multiline("Maat Taşlarını bulunuz ve[ENTER]7 Maat Taşını sırasıyla ve doğru şekilde açınız.",d.notice)
                d.kill_unique("door5")
                d.kill_unique("idoor5")
                d.setf("level",15)
                d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                local vis = { 0,0,0,0,0,0,0}
                for i=1,7 do
                    vis[i] = 0
                end
                for i = 1, 7 do -- ???? ???
                    local ran = number(1,7)
                    local st = 0
                    for j = 1, 50 do
                        st = st + 1
                        if st > 7 then
                            st = 1
                        end
                        if vis[st] == 0 then
                            ran = ran - 1
                            if ran == 0 then
                                vis[st] = 1
                                d.set_unique("stone5_"..st, d.spawn_mob(20386, setting.LEVEL5_STONE_pos[i][1], setting.LEVEL5_STONE_pos[i][2]))
                                break
                            end
                        end
                    end
                end
            elseif d.getf("level") == 15 then
                say("Ey Savaşcı! Gizemi Bulmak için [ENTER]doğru Secim yapın ve[ENTER]görev yerine gelin.")
            elseif d.getf("level") == 6 then -- 507 490
                say("Sıcak ve korku dolu [ENTER]Cehennem Ateşi Metin Taşı'nı bulun ve yok edin.")
                notice_multiline("Sıcak ve korku dolu [ENTER]Cehennem Ateşi Metin taşını bulun ve yok edin.",d.notice)
                d.setf("level",16)
                d.kill_unique("door6")
                d.kill_unique("idoor6")
                d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_f.txt")
                d.spawn_mob(8057, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- ?????? ??
            elseif d.getf("level") == 16 then
                char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 6 started')
                say("Cehennem Ateşi Metini Henuz yok edilmedi.[ENTER]Görev Tamamlanınca Tekrar Gel.")
            elseif d.getf("level") == 7 then
                flame_dungeon.go_boss()
            else
                say("Geçersiz Parametre Yöneticiye Bildirin!")
            end
            npc.unlock()
        end

        when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin
            local i = number(1, 80)
            if i == 1 then
                game.drop_item (30329, 1)
            end
        end

        when 20386.take with flame_dungeon.is_flamed(pc.get_map_index()) and item.vnum == 30329 and d.getf("level") == 12 begin
            local i = number(1, 3)
            if i == 1 then
                npc.purge()
                item.remove()
                notice_multiline("Maat mekanızmasını açıldı,",d.notice)
                notice_multiline("Am-heh ile görüşün...",d.notice)
                flame_dungeon.level_clear()
            else
                item.remove()
                say("Bu parça yanlış yok oldu.[ENTER]Doğru Altın Dişli Çarkı bul.")
            end
        end

        when 6051.kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin
            notice_multiline("Tebrikler!.. Ignator yok edildi.",d.notice)
            notice_multiline("Am-heh ile görüşün...",d.notice)
            flame_dungeon.level_clear()
        end

        when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 15 begin
            local i = number(1, 30) -- 30?? 1 ??? ????
            if i == 1 then
                game.drop_item (30330, 1)
            end
        end

        when 20386.take with flame_dungeon.is_flamed(d.get_map_index()) and item.vnum == 30330 and d.getf("level") == 15 begin
            local setting = flame_dungeon.setting()
            if npc.get_vid() == d.get_unique_vid("stone5_1") then -- ??? ?? ????? ? ?? ????? ???? ????
                npc.purge()
                item.remove()
                say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğerlerinide yok et.")
                d.setf("stonekill",2) -- 2? ?? ???
                if d.count_monster() < 100 then
                    d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                end
            elseif npc.get_vid() == d.get_unique_vid("stone5_2") then
                if d.getf("stonekill") == 2 then -- 2??? ?? ??? 2???? ??? ??? ?
                    npc.purge()
                    item.remove()
                say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğerlerinide yok et.")
                    d.setf("stonekill",3)
                    if d.count_monster() < 100 then
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                    end
                else
                    item.remove()
                    say("Yanlış seçim. Maat Taşı yok oldu.")
                    if is_test_server() then
                        say("2")
                    end
                end
            elseif npc.get_vid() == d.get_unique_vid("stone5_3") then
                if d.getf("stonekill") == 3 then
                    npc.purge()
                    item.remove()
                    say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
                    d.setf("stonekill",4)
                    if d.count_monster() < 100 then
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                    end
                else
                    item.remove()
                    say("Yanlış seçim. Maat Taşı Yok Oldu.")
                    if is_test_server() then
                        say("3")
                    end
                end
            elseif npc.get_vid() == d.get_unique_vid("stone5_4") then
                if d.getf("stonekill") == 4 then
                    npc.purge()
                    item.remove()
                    say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
                    d.setf("stonekill",5)
                    if d.count_monster() < 100 then
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                    end
                else
                    item.remove()
                    say("Yanlış seçim. Maat Taşı Yok Oldu.")
                    if is_test_server() then
                        say("4")
                    end
                end
            elseif npc.get_vid() == d.get_unique_vid("stone5_5") then
                if d.getf("stonekill") == 5 then
                    npc.purge()
                    item.remove()
                    say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
                    d.setf("stonekill",6)
                    if d.count_monster() < 100 then
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                    end
                else
                    item.remove()
                    say("Yanlış seçim. Maat Taşı Yok Oldu.")
                    if is_test_server() then
                        say("5")
                    end
                end
            elseif npc.get_vid() == d.get_unique_vid("stone5_6") then
                if d.getf("stonekill") == 6 then
                    npc.purge()
                    item.remove()
                    say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi son mührü yok et.")
                    d.setf("stonekill",7)
                    if d.count_monster() < 100 then
                        d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
                    end
                else
                    item.remove()
                    say("Yanlış seçim. Maat Taşı Yok Oldu.")
                    if is_test_server() then
                        say("6")
                    end
                end
            else
                if d.getf("stonekill") == 7 then
                    npc.purge()
                    item.remove()
                    notice_multiline("Maat taşları yok edildi!",d.notice)
                    notice_multiline("Am-heh ile görüşün...",d.notice)
                    flame_dungeon.level_clear()
                else
                    item.remove()
                    say("Yanlış seçim. Maat Taşı Yok Oldu.")
                    if is_test_server() then
                        say("7")
                    end
                end
            end
        end

        when 8057.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin
            char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', '8057 KILLED')      
            notice_multiline("Araf Metini Yok Edildi.",d.notice)
            notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
            flame_dungeon.level_clear()
        end

        when 6091.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin
            char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'BOSS KILLED')      
            notice_all("Razador "..pc.get_name().." tarafından yok edildi.")
            notice_multiline("Ejderha Tapınağı içindeki Tüm Savaşcılar [ENTER]Bir dakika içerisinde ışınlanacaktır.",d.notice)
            d.notice("Razadör yok edildi.")
            d.notice("Bütün savaşçılar 60 saniye içerisinde Ejderha")
            d.notice("Tapınağı'ndan dışarı ışınlanacak.")
            server_timer("dungeon_end_timer", 60,d.get_map_index())  
            flame_dungeon.level_clear()
            d.setf("level",8)
        end
    end
end
 
Geri
Üst