Yardım Zindanları tek kat yapmak?

  • Konuyu açan Konuyu açan twinslyvio
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 13
  • Gösterim Gösterim 2K
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

twinslyvio

Üye
Üye
Mesaj
53
Çözümler
3
Beğeni
18
Puan
454
Ticaret Puanı
0
Arkadaşlar merhaba ,geliştirdiğim filesi 55-120 olarak tasarlıyordum fakat bir konuda takıldım. Zindanlar offical metin2 nin aynısı. Ben bunları tek kat yapmak istiyorum. Zindana girdiği gibi karşısında boss gelsin gibisinden. İnternette araştırma yaptım mantığını anlatan yok sadece hazır questleri derleyip paylaşıyorlar ve ayrıca hazırladıkları questleride bir türlü kendi filesime uyduramadım. Bana zindanları tek kat yapmanın mantığını anlatabilecek var mı acaba ? Örnek olarak şeytan kulesini tek kat yapmak istiyorum.
Şeytan kulesinin quest kodları:
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
            -- deviltower_zone.unregister_player(pc.get_vid())       
            ------------ Dungeon Turn Back System ----------------------
            pc.setf("devil_tower","dungeon_turn",1)
            ------------------------------------------------------------
        end
    end
    when 20348.chat."Şeytan Kulesi " 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:")
            addimage(35,35,'kule.tga')
            say("")
            say("")
            say("")
            say("")
            say(locale.deviltower_man_say)
            local secim = select(locale.kulesecim,locale.kulesecimiki,locale.kulesecimuc,"Vazgeçtim")
            if secim == 1 then
                ------------ Dungeon Turn Back System ----------------------
                --pc.remove_turn_back_dungeon()
                ------------------------------------------------------------
                pc.warp(216500,727000)
            elseif secim == 2 then
            
                say_npc()
                say("Eğer 50.000.000 yang verirsen seni hiçbir")
                say("şeyle uğraştırmadan 2.Kat'a gönderebilirim.")
                say("ister misin?")
                local icsecimiki = select("Girmek istiyorum","Girmek istemiyorum.")
                if icsecimiki ==1 then
                    if pc.get_money() < 50000000 then
                        say_npc()
                        say_reward("Hay aksi!")
                        say("Seni içeri alamam envanterinde yeterli")
                        say("yang bulamadım bana 50.000.000 yang getirmelisin.")
                        return
                    end
                    --[[if pc.is_busy() then
                        say_npc()
                        say_reward("Hay aksi!")                           
                        say("Diğer penceleri kapatmadan buraya giremezsin.")
                        say("Ticaret, NPC, Depo gibi.")
                        say("Ek olarak 10 saniye beklemen gerekebilir.")
                        return
                    end        --]]
                    pc.change_money(-50000000)
                    --d.new_jump(66, special.devil_tower[1][1], special.devil_tower[1][2])
                    ------------ Dungeon Turn Back System ----------------------
                    --pc.remove_turn_back_dungeon()
                    ------------------------------------------------------------
                    d.new_jump(66, special.devil_tower[1][1] * 100, special.devil_tower[1][2] * 100)
                    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
            elseif secim == 3 then
                say_npc()
                say("Eğer 75.000.000 yang verirsen seni ve grubunu hiçbir")
                say("şeyle uğraştırmadan 2.Kat'a gönderebilirim.")
                say("İster misin?")
                local icsecimgrup = select("Girmek İstiyorum","Girmek İstemiyorum.")
                if icsecimgrup ==1 then
                    if pc.get_money() < 75000000 then
                        say_npc()
                        say_reward("Hay aksi!")
                        say("Seni içeri alamam envanterinde yeterli")
                        say("yang bulamadım bana 75.000.000 yang getirmelisin.")
                        return
                    end
                    if not party.is_party() then
                        say_npc()
                        say_reward("Heey "..pc.get_name().."")
                        say("Bu işlemi yapmak istiyorsan önce grup olmalısın")
                        say("unutma kulede insanlar değişebilir kendine")
                        say("güvenilir bir grup kurmanı tavsiye ederim")
                        return
                    end
                    if not party.is_leader() then
                        say_npc()
                        say_reward("Heey "..pc.get_name().."")
                        say("Cesaretini takdir ediyorum ama")
                        say("yalnızca grup lideri giriş talebi yapabilir.")
                        return
                    end
                    --[[if pc.is_busy() then
                        say_npc()
                        say_reward("Hay aksi!")                           
                        say("Diğer penceleri kapatmadan buraya giremezsin.")
                        say("Ticaret, NPC, Depo gibi.")
                        say("Ek olarak 10 saniye beklemen gerekebilir.")
                        return
                    end        --]]
                    ------------ Dungeon Turn Back System ----------------------
                    --pc.remove_turn_back_dungeon()
                    ------------------------------------------------------------
                    pc.change_money(-75000000)
                    d.new_jump_party(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
            end
        end
    end
        when kill with npc.get_race() == 8015  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 npc.get_race() == 8023 begin
            game.drop_item(50084, 1)
        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()
            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.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
        game.drop_item(30300, 1)
    end

    when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        pc.remove_item("30300", 1)

        local pct = number(1,8)

        if pct == 1 then
            game.drop_item(30302, 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
        -- 8ÃşÀ¸·Î ¿öÇÁ

            if d.getf( "level" ) != 7 then
                pc.remove_item( "30302", 1)
                return
            end
            
        say("Bu haritayla bir sonraki kata çıkabilirim!")
        pc.remove_item("30302", 1)
        timer("devil_jump_8", 6)
        d.clear_regen()
    end
                        
    --------------------------------------------
    -- 8Ãş ÁøÀÔºÎÅÍ 9Ãş ±îÁö
    --------------------------------------------
    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
        -- ºÀÀÎ ÇØü 9Ãş ¤¡¤¡
        npc.purge()
        item.remove()
        timer("devil_jump_9", 8)
    end

    ---------------------------------------------
    -- 9Ãş ÁøÀÔºÎÅÍ ¿Ï·á±îÁö
    ---------------------------------------------
    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.setqf("dcenter", 1)
        pc.setf("deviltower_zone", "dcenter", 1)
        pc.select(self)
    end
end
end
 
Tek kat yapmak pekde zorlayıcı birşey değil sadece Mapin index kodunu ve Işınlanma kodunu bilmen gerekiyor.

Piyasadaki quest'lerden 1 tanesini örnek alaraktan ışınlanma kodlarını ve index kodlarını değiştiriyorsun ve'de cıkıcak boss'un kodunu.

Eğerki hala yapamıyorum dersen bana Işınlanmasını istediğin mapin ışınlanma kodu ve index'ini ve çıkıcak olan bossun kodunu atabilirsin.

Şeytan kulesi deafult zindan olduğundan piyasadakilerin çalışması gerekiyor. Ne gibi bir hatası var? ( Basınca ışınlanmıyor, okutulmuyor, npc'ye hiç gelmiyor.) gibi gibi.


Kule Örneği:
Genişlet Daralt Kopyala
quest kule_dungeon begin
    state start begin

    function setting()
        return
        {

        ["base"]={["x"] = 3072  , ["y"]= 12032 ,},
        ["floor1_s"] = { ["x"] = 20, ["y"] = 20, },
        ["floor1_e"] = { ["x"] = 500, ["y"] = 470,},
        ["floor2_s"] = { ["x"] = 510, ["y"] = 18, },
        ["floor2_e"] = { ["x"] = 978, ["y"] = 470,},
        ["floor1_entry"] = {["x"] = 73, ["y"] = 63,},
        ["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
        ["floor3_entry"] = {["x"] = 1378, ["y"] = 249,},
        ["floor4_entry"] = {["x"] = 70, ["y"] = 592,},
        ["floor5_entry"] = {["x"] = 846, ["y"] = 898},
        ["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
        ["water_entry"] = {["x"] = 73, ["y"] = 1156},

        ["map_idx"] = 215,
        ["rag"] = 30311,

        ["devil_king"] = 2591,

        ["reapers_credit1"] = 31324,
        ["reapers_credit2"] = 30320,
        ["reapers_credit3"] = 76002,
        ["reapers_credit4"] = 79001,

        ["floor3_stone"] = 8038, 
        ["floor3_stone_pos"] = {
                {1366,    150},
                {1366,    351},
                {1234,    365},
                {1234,    140},
                {1150,    135},
                {1130,    365},
                {1135,    253}
        },

        ["mob_regen_file_path"] = "data/dungeon/devilwater/",
        ["floor4_regen_file"] = {"devilwater_floor4_regen1.txt",
                               "devilwater_floor4_regen2.txt",
                               "devilwater_floor4_regen3.txt",
                               "devilwater_floor4_regen4.txt",
                               "devilwater_floor4_regen5.txt"} ,

        ["credit_stone"] = 30101,
        ["credit_stone_pos"] = {307,323},
        ["floor2_stone"] = 30103,
        ["floor2_stone_pos"] = {741,217},
        ["floor2_merchant_npc"] = 20368,
        ["floor2_merchant_npc_pos"] = {734,214},
        
        ["floor4_npc"] = 30104,
        ["floor4_npc_pos"] = {75, 592},

        ["devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}},

        ["unlock_stone"] = 30312,
        ["floor5_stone"] = 30102,
        ["floor5_stone_pos"] = {848, 735},

        ["devil_great_king"] = 2597 ,
        ["devil_great_king_pos"] = {1303,704},
        ["devil_emperor"] = 3964,
        ["devil_emperor_pos"] = {74,1103},

        ["dc2_door_set_size"] = {4,2,3,2},
        ["dc2_door_set1"] = {
                                {{30111,    566,    117,    5},{30112,  562,    311,    5,},{30118, 663,    434,    7},{30119,  881,    434,    7}},
                                {{30116,    743,    390,    3},{30119,  612,    251,    1,}},
                                {{30113,    654,    211,    5},{30111,  707,    338,    7,},{30112, 775,    336,    7}},
                                {{30117,    733,    294,    3},{30113,  694,    271,    1,}}
                            },
        ["dc2_door_set2"] = {
                                {{30115,    942,    141,    5},{30116,  942,    245,    5},{30117,  942,    321,    5},{30115,  763,    64, 7}},
                                {{30118,    643,    116,    3},{30114,  900,    167,    1}},
                                {{30114,    850,    293,    5},{30113,  715,    164,    7},{30114,  817,    162,    7}},
                                {{30111,    802,    277,    1},{30112,  800,    241,    1}}
                            },
        }
    end
        when logout begin
            local idx = 66
            local map = pc.get_map_index()
            if map >= (idx * 10000) and map < (idx * 10000 + 9000) then
                pc.setf("kule","dungeon_time",get_global_time() + 60*30*1)
            end
        end

        when 20348.chat."Şeytan Kulesi Tek Kat (55.Seviye)" begin
            local setting = kule_dungeon.setting()
            if pc.get_level() < 55 then
                say_title("Bekci:")
                say("")
                say("55. seviyenin altinda oldugun icin ")
                say("zindana giremezsin...")
                return
            end
            if party.is_party() then
                say("Grubun varken giris yapamazsin.")
                return
            end
            if pc.getf("kule","dungeon_time") > get_time() and not pc.is_gm() then
                say_npc()
                say("")
                say("Henüz odaya giremezsin.")
                say("Bekleme süren dolunca tekrar gel.")
                say("")
                say_reward("Kalan Süre : "..LIB_duration(pc.getf("kule","dungeon_time")-get_time()))
                return
            end
            say_title("Bekci:")
            say("")
            say("zindana girmek istiyor musun?")
            local s = select("Evet!","Hayir,girmek istemiyorum.")
            if s == 1 then
                timer("kule_sologiris",2)
            else
                return
            end
        end
        
        when kule_sologiris.timer begin
            d.new_jump(66, 2048 * 100, 6656 * 100)
            d.spawn_mob_dir(1093,620,191,1)
            --d.set_regen_file("data/dungeon/water_dungeon_regens/boss.txt")
            --d.jump_all (setting.water_entry.x + setting.base.x, setting.water_entry.y + setting.base.y )
            --water.Temizle()
            
            server_timer("kule_timeup",60*60*1,d.get_map_index())
        end
        
        -- 6Ãş°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(3964)ÀÌ Á×À¸¸é
        -- 7ÃşÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
        when kill with npc.get_race() == 1093 begin
            d.setf("kule_dead",1)
            --notice_all(pc.get_name().."'s party has defeated Lord Gahnasel!")
            notice_all("|cff00ff00 Patron Avcısı "..pc.get_name().." grubu, Lusiferi Mağlup etti!")
            server_timer ("kule_eli_check_timer_1", 5, d.get_map_index())
        end
        
        -- 7ÃşÀÇ Å¸À̸Ӵ 6Ãş ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
        -- ¸ó½ºÅÍ ¼ıÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ı½ÃŲ´Ù.
        -- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§ÇؼÀÌ´Ù.
        when kule_eli_check_timer_1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.set_warp_location (65, 5905,1105 )
                --say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
                server_timer ("kule_eli_check_timer_2", 5, get_server_timer_arg())
            end
        end

        when kule_eli_check_timer_2.server_timer begin
            if d.select(get_server_timer_arg()) then
                    d.set_warp_location (65, 5905, 1105)
                    --say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
                    server_timer("kule_exit_timer", 30, get_server_timer_arg())
            else
                    server_timer ("kule_eli_check_timer_1", 5, get_server_timer_arg())
            end
        end
        
        when kule_timeup.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Zaman doldu.")
                d.setf("sure_doldu",1)
                d.exit_all()
            end
        end

        when kule_exit_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                clear_server_timer("kule_eli_check_timer_1", get_server_timer_arg())
                clear_server_timer("kule_eli_check_timer_2", get_server_timer_arg())
                clear_server_timer("kule_sologiris", get_server_timer_arg())
                d.clear_regen()
                d.exit_all()
            end
        end
    end  --state
end   --quest

Mesela varsayılan olarak paylaşılmış olan kule questi. Kule deafult olduğundan direkt locale/turkey/quest kısmına atıp okutabilirsin.
 
Tek kat yapmak pekde zorlayıcı birşey değil sadece Mapin index kodunu ve Işınlanma kodunu bilmen gerekiyor.

Piyasadaki quest'lerden 1 tanesini örnek alaraktan ışınlanma kodlarını ve index kodlarını değiştiriyorsun ve'de cıkıcak boss'un kodunu.

Eğerki hala yapamıyorum dersen bana Işınlanmasını istediğin mapin ışınlanma kodu ve index'ini ve çıkıcak olan bossun kodunu atabilirsin.

Şeytan kulesi deafult zindan olduğundan piyasadakilerin çalışması gerekiyor. Ne gibi bir hatası var? ( Basınca ışınlanmıyor, okutulmuyor, npc'ye hiç gelmiyor.) gibi gibi.


Kule Örneği:
Genişlet Daralt Kopyala
quest kule_dungeon begin
    state start begin

    function setting()
        return
        {

        ["base"]={["x"] = 3072  , ["y"]= 12032 ,},
        ["floor1_s"] = { ["x"] = 20, ["y"] = 20, },
        ["floor1_e"] = { ["x"] = 500, ["y"] = 470,},
        ["floor2_s"] = { ["x"] = 510, ["y"] = 18, },
        ["floor2_e"] = { ["x"] = 978, ["y"] = 470,},
        ["floor1_entry"] = {["x"] = 73, ["y"] = 63,},
        ["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
        ["floor3_entry"] = {["x"] = 1378, ["y"] = 249,},
        ["floor4_entry"] = {["x"] = 70, ["y"] = 592,},
        ["floor5_entry"] = {["x"] = 846, ["y"] = 898},
        ["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
        ["water_entry"] = {["x"] = 73, ["y"] = 1156},

        ["map_idx"] = 215,
        ["rag"] = 30311,

        ["devil_king"] = 2591,

        ["reapers_credit1"] = 31324,
        ["reapers_credit2"] = 30320,
        ["reapers_credit3"] = 76002,
        ["reapers_credit4"] = 79001,

        ["floor3_stone"] = 8038,
        ["floor3_stone_pos"] = {
                {1366,    150},
                {1366,    351},
                {1234,    365},
                {1234,    140},
                {1150,    135},
                {1130,    365},
                {1135,    253}
        },

        ["mob_regen_file_path"] = "data/dungeon/devilwater/",
        ["floor4_regen_file"] = {"devilwater_floor4_regen1.txt",
                               "devilwater_floor4_regen2.txt",
                               "devilwater_floor4_regen3.txt",
                               "devilwater_floor4_regen4.txt",
                               "devilwater_floor4_regen5.txt"} ,

        ["credit_stone"] = 30101,
        ["credit_stone_pos"] = {307,323},
        ["floor2_stone"] = 30103,
        ["floor2_stone_pos"] = {741,217},
        ["floor2_merchant_npc"] = 20368,
        ["floor2_merchant_npc_pos"] = {734,214},
    
        ["floor4_npc"] = 30104,
        ["floor4_npc_pos"] = {75, 592},

        ["devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}},

        ["unlock_stone"] = 30312,
        ["floor5_stone"] = 30102,
        ["floor5_stone_pos"] = {848, 735},

        ["devil_great_king"] = 2597 ,
        ["devil_great_king_pos"] = {1303,704},
        ["devil_emperor"] = 3964,
        ["devil_emperor_pos"] = {74,1103},

        ["dc2_door_set_size"] = {4,2,3,2},
        ["dc2_door_set1"] = {
                                {{30111,    566,    117,    5},{30112,  562,    311,    5,},{30118, 663,    434,    7},{30119,  881,    434,    7}},
                                {{30116,    743,    390,    3},{30119,  612,    251,    1,}},
                                {{30113,    654,    211,    5},{30111,  707,    338,    7,},{30112, 775,    336,    7}},
                                {{30117,    733,    294,    3},{30113,  694,    271,    1,}}
                            },
        ["dc2_door_set2"] = {
                                {{30115,    942,    141,    5},{30116,  942,    245,    5},{30117,  942,    321,    5},{30115,  763,    64, 7}},
                                {{30118,    643,    116,    3},{30114,  900,    167,    1}},
                                {{30114,    850,    293,    5},{30113,  715,    164,    7},{30114,  817,    162,    7}},
                                {{30111,    802,    277,    1},{30112,  800,    241,    1}}
                            },
        }
    end
        when logout begin
            local idx = 66
            local map = pc.get_map_index()
            if map >= (idx * 10000) and map < (idx * 10000 + 9000) then
                pc.setf("kule","dungeon_time",get_global_time() + 60*30*1)
            end
        end

        when 20348.chat."Şeytan Kulesi Tek Kat (55.Seviye)" begin
            local setting = kule_dungeon.setting()
            if pc.get_level() < 55 then
                say_title("Bekci:")
                say("")
                say("55. seviyenin altinda oldugun icin ")
                say("zindana giremezsin...")
                return
            end
            if party.is_party() then
                say("Grubun varken giris yapamazsin.")
                return
            end
            if pc.getf("kule","dungeon_time") > get_time() and not pc.is_gm() then
                say_npc()
                say("")
                say("Henüz odaya giremezsin.")
                say("Bekleme süren dolunca tekrar gel.")
                say("")
                say_reward("Kalan Süre : "..LIB_duration(pc.getf("kule","dungeon_time")-get_time()))
                return
            end
            say_title("Bekci:")
            say("")
            say("zindana girmek istiyor musun?")
            local s = select("Evet!","Hayir,girmek istemiyorum.")
            if s == 1 then
                timer("kule_sologiris",2)
            else
                return
            end
        end
    
        when kule_sologiris.timer begin
            d.new_jump(66, 2048 * 100, 6656 * 100)
            d.spawn_mob_dir(1093,620,191,1)
            --d.set_regen_file("data/dungeon/water_dungeon_regens/boss.txt")
            --d.jump_all (setting.water_entry.x + setting.base.x, setting.water_entry.y + setting.base.y )
            --water.Temizle()
        
            server_timer("kule_timeup",60*60*1,d.get_map_index())
        end
    
        -- 6Ãş°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(3964)ÀÌ Á×À¸¸é
        -- 7ÃşÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
        when kill with npc.get_race() == 1093 begin
            d.setf("kule_dead",1)
            --notice_all(pc.get_name().."'s party has defeated Lord Gahnasel!")
            notice_all("|cff00ff00 Patron Avcısı "..pc.get_name().." grubu, Lusiferi Mağlup etti!")
            server_timer ("kule_eli_check_timer_1", 5, d.get_map_index())
        end
    
        -- 7ÃşÀÇ Å¸À̸Ӵ 6Ãş ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
        -- ¸ó½ºÅÍ ¼ıÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ı½ÃŲ´Ù.
        -- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§ÇؼÀÌ´Ù.
        when kule_eli_check_timer_1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.set_warp_location (65, 5905,1105 )
                --say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
                server_timer ("kule_eli_check_timer_2", 5, get_server_timer_arg())
            end
        end

        when kule_eli_check_timer_2.server_timer begin
            if d.select(get_server_timer_arg()) then
                    d.set_warp_location (65, 5905, 1105)
                    --say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
                    server_timer("kule_exit_timer", 30, get_server_timer_arg())
            else
                    server_timer ("kule_eli_check_timer_1", 5, get_server_timer_arg())
            end
        end
    
        when kule_timeup.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Zaman doldu.")
                d.setf("sure_doldu",1)
                d.exit_all()
            end
        end

        when kule_exit_timer.server_timer begin
            if d.select(get_server_timer_arg()) then
                clear_server_timer("kule_eli_check_timer_1", get_server_timer_arg())
                clear_server_timer("kule_eli_check_timer_2", get_server_timer_arg())
                clear_server_timer("kule_sologiris", get_server_timer_arg())
                d.clear_regen()
                d.exit_all()
            end
        end
    end  --state
end   --quest

Mesela varsayılan olarak paylaşılmış olan kule questi. Kule deafult olduğundan direkt locale/turkey/quest kısmına atıp okutabilirsin.
mapin indexi bu şekilde fakat settings.lua nın içinde bu indexe ait map bulamadım bu yüzden ışınlanma kodlarına erişemedim. Bizim ch yapımız 3 core yapısı şeklinde core 2 nin içinde 66 indexi yazılı ama settings.lua da bulamadım bu foto şeytan kulesi 1. kata girdiğimizde karakterin bulunduğu yer

settings lua:
Genişlet Daralt Kopyala
add_goto_info("k1", 0, 1, 4693, 9642)
add_goto_info("k2", 0, 3, 3608, 8776)

add_goto_info("zehirliada", 0, 4, 1626, 172)

add_goto_info("s1", 0, 21, 557, 1579)
add_goto_info("s2", 0, 23, 1385, 2349)

add_goto_info("volkanikada", 0, 26, 2217, 100)

add_goto_info("wonderland", 0, 39, 3411, 3727)
add_goto_info("l1", 0, 40, 99114, 90006)

add_goto_info("m1", 0, 41, 9696, 2784)
add_goto_info("m2", 0, 43, 8731, 2426)

add_goto_info("c4", 0, 46, 2560, 8192)

add_goto_info("snow", 0, 61, 4342, 2906)

add_goto_info("flame", 0, 62, 5994, 7563)

add_goto_info("desert", 0, 63, 2178, 6272)

add_goto_info("three", 0, 64, 4021, 6739)

add_goto_info("milgyo", 0, 65, 5536, 1436)
add_goto_info("skel", 0, 65, 5905, 1108)
add_goto_info("milgyomid", 0 , 65, 5905,1106 )

add_goto_info("trent", 0 , 67, 2887 , 57 )
add_goto_info("trent2",0 , 68, 11199 , 708 )

add_goto_info("wedding", 0, 81, 8250, 25)

add_goto_info("sd3", 0, 193, 959, 5710)

add_goto_info("dc1", 0, 216, 3153 , 12095)
add_goto_info("dc2", 0, 216, 3624 , 12078)
add_goto_info("dc3", 0, 216, 4444 , 12281)
add_goto_info("dc4", 0, 216, 3142 , 12611)
add_goto_info("dc5", 0, 216, 3917 , 12927)
add_goto_info("dc6", 0, 216, 4375 , 12736)
add_goto_info("dc7", 0, 216, 3145 , 13188)

add_goto_info("cape", 0, 301, 11043, 17885)
add_goto_info("dawn", 0, 302, 12263, 16811)
add_goto_info("bay", 0, 303, 10869, 16558)
add_goto_info("thunder", 0, 304, 11345, 16546)

add_goto_info("신밀교", 0, 78, 1536, 10496)
add_goto_info("신도염", 0, 75, 4608, 10496)
add_goto_info("신서한", 0, 74, 0 , 10496)
add_goto_info("신승룡", 0, 77, 6144, 10496)

add_goto_info("길드내부", 0, 150, 7936, 0)

add_goto_info("heaven", 0, 64, 2842, 8105)
add_goto_info("heaven2", 0, 73, 2418, 12750)
add_goto_info("heaven3", 0, 208, 8192, 10496)

arena.add_map(112, 8534, 101, 8564, 101)
arena.add_map(112, 8584, 101, 8614, 101)
arena.add_map(112, 8534, 155, 8564, 155)
arena.add_map(112, 8584, 155, 8614, 155)

add_goto_info("ox", 0, 113, 8964, 215)

add_goto_info("GZyellow", 0, 24, 2215, 103)
add_goto_info("GZblue", 0, 44, 2715, 131)
add_goto_info("sneak", 0, 69, 10590, 7262)
add_goto_info("giant", 0, 70, 8192, 7168)
add_goto_info("sd1", 0, 104, 600, 4970)
add_goto_info("sd2", 0, 71, 7038, 4625)

add_goto_info("flamed|적룡성", 0, 351, 7777, 6504)
add_goto_info("ochoa", 0, 354, 8537, 14164)
add_goto_info("eforest", 0, 353, 8167, 15050)
add_goto_info("gm_area", 0, 405, 1030, 96)

add_bgm_info( 1, "login_window.mp3", 0.5);
add_bgm_info(21, "login_window.mp3", 0.5);
add_bgm_info(41, "login_window.mp3", 0.5);
add_bgm_info( 3, "enter_the_east.mp3", 0.5);
add_bgm_info(23, "enter_the_east.mp3", 0.5);
add_bgm_info(43, "enter_the_east.mp3", 0.5);
add_bgm_info(63, "open_the_gate.mp3", 0.5);
add_bgm_info(69, "open_the_gate.mp3", 0.5);
add_bgm_info(70, "open_the_gate.mp3", 0.5);
add_bgm_info(67, "a_rhapsody_of_war.mp3", 0.5);
add_bgm_info(68, "lost_my_name.mp3", 0.5);
add_bgm_info(65, "wonderland.mp3", 0.5);
add_bgm_info(61, "mountain_of_death.mp3", 0.5);
add_bgm_info(64, "save_me.mp3", 0.5);
add_bgm_info(74, "mountain_of_death.mp3", 0.5);
add_bgm_info(75, "follow_war_god.mp3", 0.5);
add_bgm_info(76, "mountain_of_death.mp3", 0.5);
add_bgm_info(77, "save_me.mp3", 0.5);
add_bgm_info(78, "wonderland.mp3", 0.5);
add_bgm_info(104, "Only_my_battle.mp3", 0.5);
add_bgm_info(62, "follow_war_god.mp3", 0.5);
add_bgm_info(66, "death_of_landmark.mp3", 0.5);
add_bgm_info(107, "monkey_temple.mp3", 0.5);
add_bgm_info(108, "monkey_temple.mp3", 0.5);
add_bgm_info(109, "monkey_temple.mp3", 0.5);
add_bgm_info(114, "last-war2.mp3", 0.5);
add_bgm_info(115, "last-war2.mp3", 0.5);
add_bgm_info(116, "last-war2.mp3", 0.5);
add_bgm_info(117, "last-war2.mp3", 0.5);
add_bgm_info(118, "last-war2.mp3", 0.5);
add_bgm_info(119, "last-war2.mp3", 0.5);
add_bgm_info(120, "last-war2.mp3", 0.5);
add_bgm_info(121, "last-war2.mp3", 0.5);
add_bgm_info(122, "last-war2.mp3", 0.5);
add_bgm_info(123, "last-war2.mp3", 0.5);
add_bgm_info(124, "last-war2.mp3", 0.5);
add_bgm_info(125, "last-war2.mp3", 0.5);
add_bgm_info(126, "last-war2.mp3", 0.5);
add_bgm_info(127, "last-war2.mp3", 0.5);
add_bgm_info(128, "last-war2.mp3", 0.5);
add_bgm_info(181, "last-war2.mp3", 0.5);
add_bgm_info(182, "last-war2.mp3", 0.5);
add_bgm_info(183, "last-war2.mp3", 0.5);
add_bgm_info(216, "catacomb_of_devil.mp3", 0.5);
add_bgm_info(71, "Only_my_battle.mp3", 0.5);
add_bgm_info(217, "Only_my_battle.mp3", 0.5);
add_bgm_info(301, "another_way.mp3", 0.5);
add_bgm_info(302, "misty_forest.mp3", 0.5);
add_bgm_info(303, "blacksea.mp3", 0.5);
add_bgm_info(304, "mt.mp3", 0.5);
add_bgm_info(354, "enter_the_east.mp3", 0.5);
add_bgm_info(353, "enter_the_east.mp3", 0.5);
add_goto_info("212", 0, 212, 3200, 15290)     
add_bgm_info(212, "dungeon_fire.mp3", 0.5);            -- metin2_map_n_flame_dragon
set_bgm_volume_enable();

dofile(get_locale_base_path().."/BlueDragon.lua")
dofile(get_locale_base_path().."/restart_city_pos.lua")

Ekran görüntüsü 2022-01-12 193952.png
 
Bunun cozumunu benımlede paylasırsanız cok ıyı olur aradığım bir konu ben daha once denedım aynı mantıkla dırek mapa ısınlanmasını sagladım ama suan kullandıgım fılese uyarlamak ıstıyorum ....
 
mapin indexi bu şekilde fakat settings.lua nın içinde bu indexe ait map bulamadım bu yüzden ışınlanma kodlarına erişemedim. Bizim ch yapımız 3 core yapısı şeklinde core 2 nin içinde 66 indexi yazılı ama settings.lua da bulamadım bu foto şeytan kulesi 1. kata girdiğimizde karakterin bulunduğu yer

settings lua:
Genişlet Daralt Kopyala
add_goto_info("k1", 0, 1, 4693, 9642)
add_goto_info("k2", 0, 3, 3608, 8776)

add_goto_info("zehirliada", 0, 4, 1626, 172)

add_goto_info("s1", 0, 21, 557, 1579)
add_goto_info("s2", 0, 23, 1385, 2349)

add_goto_info("volkanikada", 0, 26, 2217, 100)

add_goto_info("wonderland", 0, 39, 3411, 3727)
add_goto_info("l1", 0, 40, 99114, 90006)

add_goto_info("m1", 0, 41, 9696, 2784)
add_goto_info("m2", 0, 43, 8731, 2426)

add_goto_info("c4", 0, 46, 2560, 8192)

add_goto_info("snow", 0, 61, 4342, 2906)

add_goto_info("flame", 0, 62, 5994, 7563)

add_goto_info("desert", 0, 63, 2178, 6272)

add_goto_info("three", 0, 64, 4021, 6739)

add_goto_info("milgyo", 0, 65, 5536, 1436)
add_goto_info("skel", 0, 65, 5905, 1108)
add_goto_info("milgyomid", 0 , 65, 5905,1106 )

add_goto_info("trent", 0 , 67, 2887 , 57 )
add_goto_info("trent2",0 , 68, 11199 , 708 )

add_goto_info("wedding", 0, 81, 8250, 25)

add_goto_info("sd3", 0, 193, 959, 5710)

add_goto_info("dc1", 0, 216, 3153 , 12095)
add_goto_info("dc2", 0, 216, 3624 , 12078)
add_goto_info("dc3", 0, 216, 4444 , 12281)
add_goto_info("dc4", 0, 216, 3142 , 12611)
add_goto_info("dc5", 0, 216, 3917 , 12927)
add_goto_info("dc6", 0, 216, 4375 , 12736)
add_goto_info("dc7", 0, 216, 3145 , 13188)

add_goto_info("cape", 0, 301, 11043, 17885)
add_goto_info("dawn", 0, 302, 12263, 16811)
add_goto_info("bay", 0, 303, 10869, 16558)
add_goto_info("thunder", 0, 304, 11345, 16546)

add_goto_info("신밀교", 0, 78, 1536, 10496)
add_goto_info("신도염", 0, 75, 4608, 10496)
add_goto_info("신서한", 0, 74, 0 , 10496)
add_goto_info("신승룡", 0, 77, 6144, 10496)

add_goto_info("길드내부", 0, 150, 7936, 0)

add_goto_info("heaven", 0, 64, 2842, 8105)
add_goto_info("heaven2", 0, 73, 2418, 12750)
add_goto_info("heaven3", 0, 208, 8192, 10496)

arena.add_map(112, 8534, 101, 8564, 101)
arena.add_map(112, 8584, 101, 8614, 101)
arena.add_map(112, 8534, 155, 8564, 155)
arena.add_map(112, 8584, 155, 8614, 155)

add_goto_info("ox", 0, 113, 8964, 215)

add_goto_info("GZyellow", 0, 24, 2215, 103)
add_goto_info("GZblue", 0, 44, 2715, 131)
add_goto_info("sneak", 0, 69, 10590, 7262)
add_goto_info("giant", 0, 70, 8192, 7168)
add_goto_info("sd1", 0, 104, 600, 4970)
add_goto_info("sd2", 0, 71, 7038, 4625)

add_goto_info("flamed|적룡성", 0, 351, 7777, 6504)
add_goto_info("ochoa", 0, 354, 8537, 14164)
add_goto_info("eforest", 0, 353, 8167, 15050)
add_goto_info("gm_area", 0, 405, 1030, 96)

add_bgm_info( 1, "login_window.mp3", 0.5);
add_bgm_info(21, "login_window.mp3", 0.5);
add_bgm_info(41, "login_window.mp3", 0.5);
add_bgm_info( 3, "enter_the_east.mp3", 0.5);
add_bgm_info(23, "enter_the_east.mp3", 0.5);
add_bgm_info(43, "enter_the_east.mp3", 0.5);
add_bgm_info(63, "open_the_gate.mp3", 0.5);
add_bgm_info(69, "open_the_gate.mp3", 0.5);
add_bgm_info(70, "open_the_gate.mp3", 0.5);
add_bgm_info(67, "a_rhapsody_of_war.mp3", 0.5);
add_bgm_info(68, "lost_my_name.mp3", 0.5);
add_bgm_info(65, "wonderland.mp3", 0.5);
add_bgm_info(61, "mountain_of_death.mp3", 0.5);
add_bgm_info(64, "save_me.mp3", 0.5);
add_bgm_info(74, "mountain_of_death.mp3", 0.5);
add_bgm_info(75, "follow_war_god.mp3", 0.5);
add_bgm_info(76, "mountain_of_death.mp3", 0.5);
add_bgm_info(77, "save_me.mp3", 0.5);
add_bgm_info(78, "wonderland.mp3", 0.5);
add_bgm_info(104, "Only_my_battle.mp3", 0.5);
add_bgm_info(62, "follow_war_god.mp3", 0.5);
add_bgm_info(66, "death_of_landmark.mp3", 0.5);
add_bgm_info(107, "monkey_temple.mp3", 0.5);
add_bgm_info(108, "monkey_temple.mp3", 0.5);
add_bgm_info(109, "monkey_temple.mp3", 0.5);
add_bgm_info(114, "last-war2.mp3", 0.5);
add_bgm_info(115, "last-war2.mp3", 0.5);
add_bgm_info(116, "last-war2.mp3", 0.5);
add_bgm_info(117, "last-war2.mp3", 0.5);
add_bgm_info(118, "last-war2.mp3", 0.5);
add_bgm_info(119, "last-war2.mp3", 0.5);
add_bgm_info(120, "last-war2.mp3", 0.5);
add_bgm_info(121, "last-war2.mp3", 0.5);
add_bgm_info(122, "last-war2.mp3", 0.5);
add_bgm_info(123, "last-war2.mp3", 0.5);
add_bgm_info(124, "last-war2.mp3", 0.5);
add_bgm_info(125, "last-war2.mp3", 0.5);
add_bgm_info(126, "last-war2.mp3", 0.5);
add_bgm_info(127, "last-war2.mp3", 0.5);
add_bgm_info(128, "last-war2.mp3", 0.5);
add_bgm_info(181, "last-war2.mp3", 0.5);
add_bgm_info(182, "last-war2.mp3", 0.5);
add_bgm_info(183, "last-war2.mp3", 0.5);
add_bgm_info(216, "catacomb_of_devil.mp3", 0.5);
add_bgm_info(71, "Only_my_battle.mp3", 0.5);
add_bgm_info(217, "Only_my_battle.mp3", 0.5);
add_bgm_info(301, "another_way.mp3", 0.5);
add_bgm_info(302, "misty_forest.mp3", 0.5);
add_bgm_info(303, "blacksea.mp3", 0.5);
add_bgm_info(304, "mt.mp3", 0.5);
add_bgm_info(354, "enter_the_east.mp3", 0.5);
add_bgm_info(353, "enter_the_east.mp3", 0.5);
add_goto_info("212", 0, 212, 3200, 15290)    
add_bgm_info(212, "dungeon_fire.mp3", 0.5);            -- metin2_map_n_flame_dragon
set_bgm_volume_enable();

dofile(get_locale_base_path().."/BlueDragon.lua")
dofile(get_locale_base_path().."/restart_city_pos.lua")
settings.lua'dan bakmanıza gerek yok.. locale/turkey/map klasörünün içerisindeki index dosyasından bakabilirsiniz. Settings.lua istediğiniz bir map'e müzik eklemenize yarayacaktır. Olmaması normal bir durum.
 
Son düzenleme:
settings.lua'dan bakmanıza gerek yok.. locale/turkey/map klasörünün içerisindeki index dosyasından bakabilirsiniz. Settings.lua sadece istediğiniz bir map'e müzik eklemenize yarayacaktır. Olmaması normal bir durum.
buyrun map klasorünün içindeki devil_tower mapinin settings' dosyası
devil tower settings:
Genişlet Daralt Kopyala
ScriptType    MapSetting

CellScale    200
HeightScale    0.500000

ViewRadius    128

MapSize    3    3
BasePosition    2100000    2200000
TextureSet    textureset\devil_tower2.txt
Environment    devil_tower2.msenv

Ekran görüntüsü 2022-01-12 215536.png
 
buyrun map klasorünün içindeki devil_tower mapinin settings' dosyası
devil tower settings:
Genişlet Daralt Kopyala
ScriptType    MapSetting

CellScale    200
HeightScale    0.500000

ViewRadius    128

MapSize    3    3
BasePosition    2100000    2200000
TextureSet    textureset\devil_tower2.txt
Environment    devil_tower2.msenv
Burayı kastetmemiştim. /usr/game/share/locale/turkey/map ( sizin filesinize göre değişiklik gösterebilir ) bu yolda maplarin isimleri mevcut. En altta index dosyası var onu sağ tıkla görüntüle ve düzenle yap. İstediğin map indexlerini oradan görebilirsin. Kule warp kodu için /warp 2048 6656 yapabilirsin. Gittiğinde seni büyük ihtimalle geri atıcaktır. Quest'i npc'ye okutursan atmaz. Atarsa corelerden birine daha eklemen gerekicek idx numarasını. Onun için yardımcı olurum tekrardan.

Genelde map klasörünün içerisindeki setting.txt dosyasının içerisindeki warp kodu mapin en köşesinin kodudur. Mini mapa tıklayınca ışınlama sistemi var ise daha rahat istediğin warp kodlarına ulaşabilirsin.

Settings lua sadece müzik için değil yanlış bilgi vermeyelim

Uyardığınız için teşekkürler gözümden kaçmış :D
 
Burayı kastetmemiştim. /usr/game/share/locale/turkey/map ( sizin filesinize göre değişiklik gösterebilir ) bu yolda maplarin isimleri mevcut. En altta index dosyası var onu sağ tıkla görüntüle ve düzenle yap. İstediğin map indexlerini oradan görebilirsin. Kule warp kodu için /warp 2048 6656 yapabilirsin. Gittiğinde seni büyük ihtimalle geri atıcaktır. Quest'i npc'ye okutursan atmaz. Atarsa corelerden birine daha eklemen gerekicek idx numarasını. Onun için yardımcı olurum tekrardan.
index dosyasında 66 numara [ 66 metin2_map_deviltower1 ] var ve 18 numara [18 devil_tower2] var . Yani indexi 66 ve 18 olan 2 adet şeytan kulesi var. satırladı vurguladım daha net gözüksün diye

locale/map/index:
Genişlet Daralt Kopyala
1 metin2_map_a1
3 metin2_map_a3
4 metin2_map_guild_01
5 metin2_map_monkey_dungeon_11
21 metin2_map_b1
23 metin2_map_b3
24 metin2_map_guild_02
25 metin2_map_monkey_dungeon_12
39 wonderland
40 metin2_map_m1
41 metin2_map_c1
43 metin2_map_c3
44 metin2_map_guild_03
45 metin2_map_monkey_dungeon_13
61 map_n_snowm_01
62 metin2_map_n_flame_01
63 metin2_map_n_desert_01
64 map_n_threeway
65 metin2_map_milgyo
66 metin2_map_deviltower1
67 metin2_map_trent
68 metin2_map_trent02
69 metin2_map_WL_01
70 metin2_map_nusluck01
71 metin2_map_spiderdungeon_02
72 metin2_map_skipia_dungeon_01
73 metin2_map_skipia_dungeon_02
81 metin2_map_wedding_01
100 metin2_map_fielddungeon
101 metin2_map_resources_zon
103 metin2_map_t1
104 metin2_map_spiderdungeon
105 metin2_map_t2
107    metin2_map_monkey_dungeon
108    metin2_map_monkey_dungeon_02
109    metin2_map_monkey_dungeon_03
110 metin2_map_t3
111 metin2_map_t4
113 metin2_map_oxevent
181 metin2_map_empirewar01
182 metin2_map_empirewar02
183 metin2_map_empirewar03
207 metin2_map_skipia_dungeon_boss
216 metin2_map_devilcatacomb
217 metin2_map_spiderdungeon_03
301 Metin2_map_CapeDragonHead
302 metin2_map_dawnmistwood
303 metin2_map_BayBlackSand
304 metin2_map_Mt_Thunder
351 metin2_map_n_flame_dungeon_01
352 metin2_map_n_snow_dungeon_01
353    metin2_map_dawnmist_dungeon_01
355    metin2_map_dawnmist_dungeon_02
212 metin2_map_n_flame_dragon
358 metin2_12zi_stage
246 metin2_map_battlefied
305 metin2_map_defensewave
306 metin2_map_defensewave_port
405 gm_guild_build
500 metin2_map_duel2
9 crystal_dungeon
18 devil_tower2
248 water_dungeon
249 nephrite_cave
251 owl_dungeon
507 demon_dungeon
244 metin2_map_mushroom_dungeon
245 metin2_map_orclabyrinth_2
220 metin2_map_lanetli_orman
 
index dosyasında 66 numara [ 66 metin2_map_deviltower1 ] var ve 18 numara [18 devil_tower2] var . Yani indexi 66 ve 18 olan 2 adet şeytan kulesi var. satırladı vurguladım daha net gözüksün diye

locale/map/index:
Genişlet Daralt Kopyala
1 metin2_map_a1
3 metin2_map_a3
4 metin2_map_guild_01
5 metin2_map_monkey_dungeon_11
21 metin2_map_b1
23 metin2_map_b3
24 metin2_map_guild_02
25 metin2_map_monkey_dungeon_12
39 wonderland
40 metin2_map_m1
41 metin2_map_c1
43 metin2_map_c3
44 metin2_map_guild_03
45 metin2_map_monkey_dungeon_13
61 map_n_snowm_01
62 metin2_map_n_flame_01
63 metin2_map_n_desert_01
64 map_n_threeway
65 metin2_map_milgyo
66 metin2_map_deviltower1
67 metin2_map_trent
68 metin2_map_trent02
69 metin2_map_WL_01
70 metin2_map_nusluck01
71 metin2_map_spiderdungeon_02
72 metin2_map_skipia_dungeon_01
73 metin2_map_skipia_dungeon_02
81 metin2_map_wedding_01
100 metin2_map_fielddungeon
101 metin2_map_resources_zon
103 metin2_map_t1
104 metin2_map_spiderdungeon
105 metin2_map_t2
107    metin2_map_monkey_dungeon
108    metin2_map_monkey_dungeon_02
109    metin2_map_monkey_dungeon_03
110 metin2_map_t3
111 metin2_map_t4
113 metin2_map_oxevent
181 metin2_map_empirewar01
182 metin2_map_empirewar02
183 metin2_map_empirewar03
207 metin2_map_skipia_dungeon_boss
216 metin2_map_devilcatacomb
217 metin2_map_spiderdungeon_03
301 Metin2_map_CapeDragonHead
302 metin2_map_dawnmistwood
303 metin2_map_BayBlackSand
304 metin2_map_Mt_Thunder
351 metin2_map_n_flame_dungeon_01
352 metin2_map_n_snow_dungeon_01
353    metin2_map_dawnmist_dungeon_01
355    metin2_map_dawnmist_dungeon_02
212 metin2_map_n_flame_dragon
358 metin2_12zi_stage
246 metin2_map_battlefied
305 metin2_map_defensewave
306 metin2_map_defensewave_port
405 gm_guild_build
500 metin2_map_duel2
9 crystal_dungeon
18 devil_tower2
248 water_dungeon
249 nephrite_cave
251 owl_dungeon
507 demon_dungeon
244 metin2_map_mushroom_dungeon
245 metin2_map_orclabyrinth_2
220 metin2_map_lanetli_orman
Özelden ulaşın bir bakayım :3
 
Settings lua sadece müzik için değil yanlış bilgi vermeyelim

index dosyasında 66 numara [ 66 metin2_map_deviltower1 ] var ve 18 numara [18 devil_tower2] var . Yani indexi 66 ve 18 olan 2 adet şeytan kulesi var. satırladı vurguladım daha net gözüksün diye

locale/map/index:
Genişlet Daralt Kopyala
1 metin2_map_a1
3 metin2_map_a3
4 metin2_map_guild_01
5 metin2_map_monkey_dungeon_11
21 metin2_map_b1
23 metin2_map_b3
24 metin2_map_guild_02
25 metin2_map_monkey_dungeon_12
39 wonderland
40 metin2_map_m1
41 metin2_map_c1
43 metin2_map_c3
44 metin2_map_guild_03
45 metin2_map_monkey_dungeon_13
61 map_n_snowm_01
62 metin2_map_n_flame_01
63 metin2_map_n_desert_01
64 map_n_threeway
65 metin2_map_milgyo
66 metin2_map_deviltower1
67 metin2_map_trent
68 metin2_map_trent02
69 metin2_map_WL_01
70 metin2_map_nusluck01
71 metin2_map_spiderdungeon_02
72 metin2_map_skipia_dungeon_01
73 metin2_map_skipia_dungeon_02
81 metin2_map_wedding_01
100 metin2_map_fielddungeon
101 metin2_map_resources_zon
103 metin2_map_t1
104 metin2_map_spiderdungeon
105 metin2_map_t2
107    metin2_map_monkey_dungeon
108    metin2_map_monkey_dungeon_02
109    metin2_map_monkey_dungeon_03
110 metin2_map_t3
111 metin2_map_t4
113 metin2_map_oxevent
181 metin2_map_empirewar01
182 metin2_map_empirewar02
183 metin2_map_empirewar03
207 metin2_map_skipia_dungeon_boss
216 metin2_map_devilcatacomb
217 metin2_map_spiderdungeon_03
301 Metin2_map_CapeDragonHead
302 metin2_map_dawnmistwood
303 metin2_map_BayBlackSand
304 metin2_map_Mt_Thunder
351 metin2_map_n_flame_dungeon_01
352 metin2_map_n_snow_dungeon_01
353    metin2_map_dawnmist_dungeon_01
355    metin2_map_dawnmist_dungeon_02
212 metin2_map_n_flame_dragon
358 metin2_12zi_stage
246 metin2_map_battlefied
305 metin2_map_defensewave
306 metin2_map_defensewave_port
405 gm_guild_build
500 metin2_map_duel2
9 crystal_dungeon
18 devil_tower2
248 water_dungeon
249 nephrite_cave
251 owl_dungeon
507 demon_dungeon
244 metin2_map_mushroom_dungeon
245 metin2_map_orclabyrinth_2
220 metin2_map_lanetli_orman
Senin aradığın ; 66 metin2_map_deviltower1 büyük ihtimalle. Size attığım quest'i direkt /usr/game/share/locale/turkey/quest kısmına atın.

Putty gelip sırasıyla ;
cd /usr/game/share/locale/turkey/map/quest
./qc questadi.lua ( enter ) sonra oyun içine gelip reload q attıktan sonra 20348 kodlu npc'den girişini yapabilirsin.
 
işte benim işin içinden çıkamadığım kısım da tam bu noktada başlıyor. Konunun en başında şeytan kulesinin questini paylaşmıştım ve şeytan kulesine girip mapin indexini paylaşmıştım. Quest üzerinde kontrol ederseniz datayı devil_tower2 den çekiyor. Devil tower2 nin indexi 18 ?
indexi 66 olan bir mapin questi neden indexi 18 olan bir mapten alıyor. Bu yüzden hata yaşıyorum zaten :p
 
işte benim işin içinden çıkamadığım kısım da tam bu noktada başlıyor. Konunun en başında şeytan kulesinin questini paylaşmıştım ve şeytan kulesine girip mapin indexini paylaşmıştım. Quest üzerinde kontrol ederseniz datayı devil_tower2 den çekiyor. Devil tower2 nin indexi 18 ?
indexi 66 olan bir mapin questi neden indexi 18 olan bir mapten alıyor. Bu yüzden hata yaşıyorum zaten :p
Senin yapmak istediğin bildiğimiz şeytan kulesi ise 66 indexini kullanman gerekiyor. 18 idx numarası ya şeytan kulesinin 1-1 aynısının ayrı zindanı yada mavi kule gibi değişik renkli zindan.. Onu pek bilmiyorum fakat bildiğimiz tr'dede bulunanan şeytan kulesi 66 idx numarasına sahip olan. Senin işin içinden çıkamamana gerek yok sadece questi okutucaksın herhangi bir ayar yapmana gerek yok map deafult zaten. Ayriyetten kendin bir harita eklersen onun idx, warp kodlarına sahip olman gerekiyor.

İstersen discord adresinizi bırakayın buraya oradan anlaşıp çözmek istediğin meseleyi çözelim.
 
Üst