Yardım Map_warp questi kordinat kaldırma

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

KuqsalTRY

Üye
Üye
Mesaj
12
Beğeni
1
Puan
405
Ticaret Puanı
0
map_warp.quest:
Genişlet Daralt Kopyala
quest map_warp begin
    state start begin
        when 9012.chat.gameforge.map_warp._10_npcChat  begin
            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._30_say)

            local main_set =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
            if main_set == 2 then
                return
            end

            if pc.get_level() <= 10 then
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._40_say)
                return
            end

            local map = pc.get_map_index()
            local empire = pc.get_empire()
            local level = pc.get_level()
            local cost = math.floor(level / 5) * 1000

            if cost < 1000 then
                cost = 1000
            end

            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._50_say)
            say_reward(string.format(gameforge.map_warp._60_sayReward, cost))
            
            if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

                local guild_map_names = {
                    gameforge.map_warp._11_array,
                    gameforge.map_warp._12_array,
                    gameforge.map_warp._13_array,
                }

                guild_map_name = guild_map_names[empire]
                local added_guild_map = {
                    gameforge.map_warp._17_array,
                    gameforge.map_warp._18_array,
                    gameforge.map_warp._19_array,
                }

                added_guild_map = added_guild_map[empire]
                local empire_castle={
                    gameforge.map_warp._14_array,
                    gameforge.map_warp._15_array,
                    gameforge.map_warp._16_array,
                }
                empire_castle =empire_castle[empire]
                local sub_set = 0
                if level < 60 then -- weniger als 60 : die Privatkarte von Gild, das Drache, die Wuste Youngbi, Der Eisberg im Westen
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 6 then -- Schliessen
                            return
                        end
                    else
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 7 then -- Schliessen
                            return
                        end
                    end
                    

                else -- mehr als 61 :die Wuste Youngbi, der Eisberg im Westen, das Schlangengeistturm, die Pfirsischblumendorf
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
                    else
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                    end
                    if sub_set == 6 and pc.count_item(30180) == 0 then
                        sub_set = sub_set +1
                    end
                    if sub_set == 7 then -- weiter
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._70_say)
                        say_reward(string.format(gameforge.map_warp._80_sayReward, cost))
                        sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select,gameforge.map_warp._95_select, gameforge.map_warp._96_select, gameforge.arena_manager._200_tableInsert) + 6
                        if sub_set == 12 then
                            return
                        end
                        if sub_set == 11 then -- vorher
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._100_say)
                            ---                                                   l
                            say_reward(string.format(gameforge.map_warp._110_sayReward, cost))
                            say(gameforge.map_warp._120_sayReward)
                  if pc.count_item(30180) == 0 then
                  sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
                else
                sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                  end

                            if sub_set == 6 and pc.count_item(30180) == 0 then
                                sub_set = sub_set +1
                            end
                            if sub_set == 7 then -- weiter
                                say_title(gameforge.map_warp._20_sayTitle)
                                say(gameforge.map_warp._130_say)
                                say_reward(string.format(gameforge.map_warp._140_sayReward, cost))
                                sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select,  gameforge.map_warp._94_select, gameforge.map_warp._95_select, gameforge.arena_manager._200_tableInsert) + 6
                                if sub_set == 11 then
                                    return
                                end
                            end
                        end
                    end
                end

                if pc.gold < cost then
                    say_title(gameforge.map_warp._20_sayTitle)
                    say(gameforge.map_warp._150_say)
                    say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    return
                end

                pc.changegold(-cost)

                local warp = {
                    -- <<1>> guild_map
                    {
                        { 135600, 4300 },
                        { 179500, 1000 },
                        { 271800, 13000 },
                    },
                    -- <<2>> 64 Seungryong
                    {
                        { 402100, 673900 },
                        { 270400, 739900 },
                        { 321300, 808000 },
                    },
                    -- <<3>> 63 Yonbi-Desert
                    {
                        { 217800, 627200 },
                        { 221900, 502700 },
                        { 344000, 502500 },
                    },
                    -- <<4>> 61 Sohan Mountain
                    {
                        { 434200, 290600 },
                        { 375200, 174900 },
                        { 491800, 173600 },
                    },
                    {--added_guild_map
                    {204800, 204800},
                    {614400, 384000},
                    {256000, 819200},
                            
                   } ,
                    -- <<5>> 64 Seungryong - Heavens Cave entrance
                    {
                        { 287800, 799700 },
                        { 275500, 800000 },
                        { 277000, 788000 },
                    },
    --                {--empire_castle
    --                    {975200, 133000},
    --                    {977200, 185000},
    --                    {923900, 183600},
    --                } ,
                    -- <<6>> 62 metin2_map_n_flame_01
                    {
                        { 599400, 756300 },
                        { 597800, 622200 },
                        { 730700, 689800 },
                    },
                    -- <<7>> devil_tower
                    {
                        { 590500, 110500 },
                        { 590500, 110500 },
                        { 590500, 110500 },
                    },

                    -- <<8>> wood
                    {
                        { 290000, 5600 },
                        { 290000, 5600 },
                        { 290000, 5600 },
                    },
                    -- <<9>> red wood
                    {
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                    },
                }
                test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._170_say)
                
                
                wait()
                if pc.is_dead() == false then
                    pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
                else
                    return
                end


            else -- Falls jedes Dorf nicht 1,2 Dorf ist,ist es moglich zum 1,2 Dorf im Reich zuruckzukehren
                local sub_set2 = 4
                if pc.count_item(30180) == 0 then
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 3 then
                        return
                    end
                else
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 4 then
                        return
                    end
                end
                if sub_set2 != 4 then
                    if pc.gold < cost then
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._150_say)
                        say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    else
                        if sub_set2 == 1 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._240_say)
                            wait()
                            if  pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(474300,954800)
                                elseif empire == 2 then
                                    pc.warp(63800,166400)
                                elseif empire == 3 then
                                    pc.warp(959900,269200)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 2 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(353100,882900)
                                elseif empire == 2 then
                                    pc.warp(145500,240000)
                                elseif empire == 3 then
                                    pc.warp(863900,246000)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 3 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(287800, 799700)
                                elseif empire == 2 then
                                    pc.warp(275500, 800000)
                                elseif empire == 3 then
                                    pc.warp(277000, 788000)
                                end
                            else
                                return
                            end
                        end
                        pc.changegold(-cost)
                    end
                end
            end
        end -- end_of_chat
    end -- end_of_state
end -- end_of_quest

İçerisinden imha şehri jungrang şehri gibi lonca haritalarını kaldırmak istiyorum ama pek düzeltemedim yardımcı olur musunuz
 
3 bayrağa ayrı ayrı yazılmış
Yorum satırına al veya sil:
Genişlet Daralt Kopyala
local guild_map_names = {
                    gameforge.map_warp._11_array,
                    gameforge.map_warp._12_array,
                    gameforge.map_warp._13_array,
                }

                guild_map_name = guild_map_names[empire]
                local added_guild_map = {
                    gameforge.map_warp._17_array,
                    gameforge.map_warp._18_array,
                    gameforge.map_warp._19_array,
                }

                added_guild_map = added_guild_map[empire]
                local empire_castle={
                    gameforge.map_warp._14_array,
                    gameforge.map_warp._15_array,
                    gameforge.map_warp._16_array,
                }
                empire_castle =empire_castle[empire]



Direk kaldıracakların

guild_map_name
added_guild_map

Ekstra bilgi:

Yukarda guild_map_name ve added_guild map'ı kaldırdığın için onlara bağlı olan subsetleri de 2 şer puan düşürmen gerekecek


Yukardaki bilgiye örnek:

Eski hali:

Örnek 1:
Genişlet Daralt Kopyala
sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 6 then -- Schliessen
                            return



Yeni hali:

Örnek Çözüm:
Genişlet Daralt Kopyala
sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 4 then -- Schliessen
                            return



Bu örneğe göre guild_map_name'leri sildiğin kısıma bağlı subsetlerin değerlerini -2 düşmeyi unutma (buton sayısı düşürüldüğü için yapman gerek yoksa hata alırsın)



Eklemeyi unutmuşum mesajı düzenledim

"local warp = {" kısmından da "guild_map, added_guild_map ve empire_castle" warplarını da yorum satırına almayı unutma
 
Son düzenleme:
3 bayrağa ayrı ayrı yazılmış
Yorum satırına al veya sil:
Genişlet Daralt Kopyala
local guild_map_names = {
                    gameforge.map_warp._11_array,
                    gameforge.map_warp._12_array,
                    gameforge.map_warp._13_array,
                }

                guild_map_name = guild_map_names[empire]
                local added_guild_map = {
                    gameforge.map_warp._17_array,
                    gameforge.map_warp._18_array,
                    gameforge.map_warp._19_array,
                }

                added_guild_map = added_guild_map[empire]
                local empire_castle={
                    gameforge.map_warp._14_array,
                    gameforge.map_warp._15_array,
                    gameforge.map_warp._16_array,
                }
                empire_castle =empire_castle[empire]



Direk kaldıracakların

guild_map_name
added_guild_map

Ekstra bilgi:

Yukarda guild_map_name ve added_guild map'ı kaldırdığın için onlara bağlı olan subsetleri de 2 şer puan düşürmen gerekecek


Yukardaki bilgiye örnek:

Eski hali:

Örnek 1:
Genişlet Daralt Kopyala
sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 6 then -- Schliessen
                            return



Yeni hali:

Örnek Çözüm:
Genişlet Daralt Kopyala
sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 4 then -- Schliessen
                            return



Bu örneğe göre guild_map_name'leri sildiğin kısıma bağlı subsetlerin değerlerini -2 düşmeyi unutma (buton sayısı düşürüldüğü için yapman gerek yoksa hata alırsın)



Eklemeyi unutmuşum mesajı düzenledim

"local warp = {" kısmından da "guild_map, added_guild_map ve empire_castle" warplarını da yorum satırına almayı unutma
Yeni map_warp:
Genişlet Daralt Kopyala
quest map_warp begin
    state start begin
        when 9012.chat.gameforge.map_warp._10_npcChat  begin
            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._30_say)

            local main_set =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
            if main_set == 2 then
                return
            end

            if pc.get_level() <= 10 then
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._40_say)
                return
            end

            local map = pc.get_map_index()
            local empire = pc.get_empire()
            local level = pc.get_level()
            local cost = math.floor(level / 5) * 1000

            if cost < 1000 then
                cost = 1000
            end

            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._50_say)
            say_reward(string.format(gameforge.map_warp._60_sayReward, cost))
            
            if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

                -- local guild_map_names = {
                    -- gameforge.map_warp._11_array,
                    -- gameforge.map_warp._12_array,
                    -- gameforge.map_warp._13_array,
                -- }

                -- guild_map_name = guild_map_names[empire]
                -- local added_guild_map = {
                    -- gameforge.map_warp._17_array,
                    -- gameforge.map_warp._18_array,
                    -- gameforge.map_warp._19_array,
                -- }

                -- added_guild_map = added_guild_map[empire]
                -- local empire_castle={
                    -- gameforge.map_warp._14_array,
                    -- gameforge.map_warp._15_array,
                    -- gameforge.map_warp._16_array,
                -- }
                -- empire_castle =empire_castle[empire]
                local sub_set = 0
                if level < 60 then -- weniger als 60 : die Privatkarte von Gild, das Drache, die Wuste Youngbi, Der Eisberg im Westen
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 4 then -- Schliessen
                            return
                        end
                    else
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 5 then -- Schliessen
                            return
                        end
                    end
                    

                else -- mehr als 61 :die Wuste Youngbi, der Eisberg im Westen, das Schlangengeistturm, die Pfirsischblumendorf
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
                    else
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                    end
                    if sub_set == 4 and pc.count_item(30180) == 0 then
                        sub_set = sub_set +1
                    end
                    if sub_set == 5 then -- weiter
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._70_say)
                        say_reward(string.format(gameforge.map_warp._80_sayReward, cost))
                        sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select,gameforge.map_warp._95_select, gameforge.map_warp._96_select, gameforge.arena_manager._200_tableInsert) + 6
                        if sub_set == 110 then
                            return
                        end
                        if sub_set == 9 then -- vorher
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._100_say)
                            ---                                                   l
                            say_reward(string.format(gameforge.map_warp._110_sayReward, cost))
                            say(gameforge.map_warp._120_sayReward)
                  if pc.count_item(30180) == 0 then
                  sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
                else
                sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                  end

                            if sub_set == 4 and pc.count_item(30180) == 0 then
                                sub_set = sub_set +1
                            end
                            if sub_set == 5 then -- weiter
                                say_title(gameforge.map_warp._20_sayTitle)
                                say(gameforge.map_warp._130_say)
                                say_reward(string.format(gameforge.map_warp._140_sayReward, cost))
                                sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select,  gameforge.map_warp._94_select, gameforge.map_warp._95_select, gameforge.arena_manager._200_tableInsert) + 6
                                if sub_set == 9 then
                                    return
                                end
                            end
                        end
                    end
                end

                if pc.gold < cost then
                    say_title(gameforge.map_warp._20_sayTitle)
                    say(gameforge.map_warp._150_say)
                    say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    return
                end

                pc.changegold(-cost)

                local warp = {
                    -- <<1>> guild_map
                    -- {
                        -- { 135600, 4300 },
                        -- { 179500, 1000 },
                        -- { 271800, 13000 },
                    -- },
                    -- <<2>> 64 Seungryong
                    {
                        { 402100, 673900 },
                        { 270400, 739900 },
                        { 321300, 808000 },
                    },
                    -- <<3>> 63 Yonbi-Desert
                    {
                        { 217800, 627200 },
                        { 221900, 502700 },
                        { 344000, 502500 },
                    },
                    -- <<4>> 61 Sohan Mountain
                    {
                        { 434200, 290600 },
                        { 375200, 174900 },
                        { 491800, 173600 },
                    },
                    --added_guild_map
                    -- {
                        -- {204800, 204800},
                        -- {614400, 384000},
                        -- {256000, 819200},
                    -- } ,
                    -- <<5>> 64 Seungryong - Heavens Cave entrance
                    {
                        { 287800, 799700 },
                        { 275500, 800000 },
                        { 277000, 788000 },
                    },
    --                {--empire_castle
    --                    {975200, 133000},
    --                    {977200, 185000},
    --                    {923900, 183600},
    --                } ,
                    -- <<6>> 62 metin2_map_n_flame_01
                    {
                        { 599400, 756300 },
                        { 597800, 622200 },
                        { 730700, 689800 },
                    },
                    -- <<7>> devil_tower
                    {
                        { 590500, 110500 },
                        { 590500, 110500 },
                        { 590500, 110500 },
                    },

                    -- <<8>> wood
                    {
                        { 290000, 5600 },
                        { 290000, 5600 },
                        { 290000, 5600 },
                    },
                    -- <<9>> red wood
                    {
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                    },
                }
                test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._170_say)
                
                
                wait()
                if pc.is_dead() == false then
                    pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
                else
                    return
                end


            else -- Falls jedes Dorf nicht 1,2 Dorf ist,ist es moglich zum 1,2 Dorf im Reich zuruckzukehren
                local sub_set2 = 4
                if pc.count_item(30180) == 0 then
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 3 then
                        return
                    end
                else
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 4 then
                        return
                    end
                end
                if sub_set2 != 4 then
                    if pc.gold < cost then
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._150_say)
                        say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    else
                        if sub_set2 == 1 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._240_say)
                            wait()
                            if  pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(474300,954800)
                                elseif empire == 2 then
                                    pc.warp(63800,166400)
                                elseif empire == 3 then
                                    pc.warp(959900,269200)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 2 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(353100,882900)
                                elseif empire == 2 then
                                    pc.warp(145500,240000)
                                elseif empire == 3 then
                                    pc.warp(863900,246000)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 3 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(287800, 799700)
                                elseif empire == 2 then
                                    pc.warp(275500, 800000)
                                elseif empire == 3 then
                                    pc.warp(277000, 788000)
                                end
                            else
                                return
                            end
                        end
                        pc.changegold(-cost)
                    end
                end
            end
        end -- end_of_chat
    end -- end_of_state
end -- end_of_quest
Yaptım ama olmadı
 
Yeni map_warp:
Genişlet Daralt Kopyala
quest map_warp begin
    state start begin
        when 9012.chat.gameforge.map_warp._10_npcChat  begin
            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._30_say)

            local main_set =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
            if main_set == 2 then
                return
            end

            if pc.get_level() <= 10 then
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._40_say)
                return
            end

            local map = pc.get_map_index()
            local empire = pc.get_empire()
            local level = pc.get_level()
            local cost = math.floor(level / 5) * 1000

            if cost < 1000 then
                cost = 1000
            end

            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._50_say)
            say_reward(string.format(gameforge.map_warp._60_sayReward, cost))
          
            if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

                -- local guild_map_names = {
                    -- gameforge.map_warp._11_array,
                    -- gameforge.map_warp._12_array,
                    -- gameforge.map_warp._13_array,
                -- }

                -- guild_map_name = guild_map_names[empire]
                -- local added_guild_map = {
                    -- gameforge.map_warp._17_array,
                    -- gameforge.map_warp._18_array,
                    -- gameforge.map_warp._19_array,
                -- }

                -- added_guild_map = added_guild_map[empire]
                -- local empire_castle={
                    -- gameforge.map_warp._14_array,
                    -- gameforge.map_warp._15_array,
                    -- gameforge.map_warp._16_array,
                -- }
                -- empire_castle =empire_castle[empire]
                local sub_set = 0
                if level < 60 then -- weniger als 60 : die Privatkarte von Gild, das Drache, die Wuste Youngbi, Der Eisberg im Westen
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 4 then -- Schliessen
                            return
                        end
                    else
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 5 then -- Schliessen
                            return
                        end
                    end
                  

                else -- mehr als 61 :die Wuste Youngbi, der Eisberg im Westen, das Schlangengeistturm, die Pfirsischblumendorf
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
                    else
                        sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                    end
                    if sub_set == 4 and pc.count_item(30180) == 0 then
                        sub_set = sub_set +1
                    end
                    if sub_set == 5 then -- weiter
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._70_say)
                        say_reward(string.format(gameforge.map_warp._80_sayReward, cost))
                        sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select,gameforge.map_warp._95_select, gameforge.map_warp._96_select, gameforge.arena_manager._200_tableInsert) + 6
                        if sub_set == 110 then
                            return
                        end
                        if sub_set == 9 then -- vorher
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._100_say)
                            ---                                                   l
                            say_reward(string.format(gameforge.map_warp._110_sayReward, cost))
                            say(gameforge.map_warp._120_sayReward)
                  if pc.count_item(30180) == 0 then
                  sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
                else
                sub_set =  select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                  end

                            if sub_set == 4 and pc.count_item(30180) == 0 then
                                sub_set = sub_set +1
                            end
                            if sub_set == 5 then -- weiter
                                say_title(gameforge.map_warp._20_sayTitle)
                                say(gameforge.map_warp._130_say)
                                say_reward(string.format(gameforge.map_warp._140_sayReward, cost))
                                sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select,  gameforge.map_warp._94_select, gameforge.map_warp._95_select, gameforge.arena_manager._200_tableInsert) + 6
                                if sub_set == 9 then
                                    return
                                end
                            end
                        end
                    end
                end

                if pc.gold < cost then
                    say_title(gameforge.map_warp._20_sayTitle)
                    say(gameforge.map_warp._150_say)
                    say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    return
                end

                pc.changegold(-cost)

                local warp = {
                    -- <<1>> guild_map
                    -- {
                        -- { 135600, 4300 },
                        -- { 179500, 1000 },
                        -- { 271800, 13000 },
                    -- },
                    -- <<2>> 64 Seungryong
                    {
                        { 402100, 673900 },
                        { 270400, 739900 },
                        { 321300, 808000 },
                    },
                    -- <<3>> 63 Yonbi-Desert
                    {
                        { 217800, 627200 },
                        { 221900, 502700 },
                        { 344000, 502500 },
                    },
                    -- <<4>> 61 Sohan Mountain
                    {
                        { 434200, 290600 },
                        { 375200, 174900 },
                        { 491800, 173600 },
                    },
                    --added_guild_map
                    -- {
                        -- {204800, 204800},
                        -- {614400, 384000},
                        -- {256000, 819200},
                    -- } ,
                    -- <<5>> 64 Seungryong - Heavens Cave entrance
                    {
                        { 287800, 799700 },
                        { 275500, 800000 },
                        { 277000, 788000 },
                    },
    --                {--empire_castle
    --                    {975200, 133000},
    --                    {977200, 185000},
    --                    {923900, 183600},
    --                } ,
                    -- <<6>> 62 metin2_map_n_flame_01
                    {
                        { 599400, 756300 },
                        { 597800, 622200 },
                        { 730700, 689800 },
                    },
                    -- <<7>> devil_tower
                    {
                        { 590500, 110500 },
                        { 590500, 110500 },
                        { 590500, 110500 },
                    },

                    -- <<8>> wood
                    {
                        { 290000, 5600 },
                        { 290000, 5600 },
                        { 290000, 5600 },
                    },
                    -- <<9>> red wood
                    {
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                    },
                }
                test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._170_say)
              
              
                wait()
                if pc.is_dead() == false then
                    pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
                else
                    return
                end


            else -- Falls jedes Dorf nicht 1,2 Dorf ist,ist es moglich zum 1,2 Dorf im Reich zuruckzukehren
                local sub_set2 = 4
                if pc.count_item(30180) == 0 then
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 3 then
                        return
                    end
                else
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 4 then
                        return
                    end
                end
                if sub_set2 != 4 then
                    if pc.gold < cost then
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._150_say)
                        say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    else
                        if sub_set2 == 1 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._240_say)
                            wait()
                            if  pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(474300,954800)
                                elseif empire == 2 then
                                    pc.warp(63800,166400)
                                elseif empire == 3 then
                                    pc.warp(959900,269200)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 2 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(353100,882900)
                                elseif empire == 2 then
                                    pc.warp(145500,240000)
                                elseif empire == 3 then
                                    pc.warp(863900,246000)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 3 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(287800, 799700)
                                elseif empire == 2 then
                                    pc.warp(275500, 800000)
                                elseif empire == 3 then
                                    pc.warp(277000, 788000)
                                end
                            else
                                return
                            end
                        end
                        pc.changegold(-cost)
                    end
                end
            end
        end -- end_of_chat
    end -- end_of_state
end -- end_of_quest
Yaptım ama olmadı
Ya questi derlemeyi yada reloadını unutmuşsundur veya hepsini editlememişsindir olmama şansı yok. Son halini paylaş kontrol edeyim
 
Son düzenleme:
Ya questi derlemeyi yada reloadını unutmuşsundur veya hepsini editlememişsindir olmama şansı yok. Son halini paylaş kontrol edeyim
Yeni map_warp:
Genişlet Daralt Kopyala
quest map_warp begin
    state start begin
        when 9012.chat.gameforge.map_warp._10_npcChat  begin
            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._30_say)

            local main_set =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
            if main_set == 2 then
                return
            end

            if pc.get_level() <= 10 then
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._40_say)
                return
            end

            local map = pc.get_map_index()
            local empire = pc.get_empire()
            local level = pc.get_level()
            local cost = math.floor(level / 5) * 1000

            if cost < 1000 then
                cost = 1000
            end

            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._50_say)
            say_reward(string.format(gameforge.map_warp._60_sayReward, cost))
            
            if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

                -- local guild_map_names = {
                    -- gameforge.map_warp._11_array,
                    -- gameforge.map_warp._12_array,
                    -- gameforge.map_warp._13_array,
                -- }

                -- guild_map_name = guild_map_names[empire]
                -- local added_guild_map = {
                    -- gameforge.map_warp._17_array,
                    -- gameforge.map_warp._18_array,
                    -- gameforge.map_warp._19_array,
                -- }

                -- added_guild_map = added_guild_map[empire]
                -- local empire_castle={
                    -- gameforge.map_warp._14_array,
                    -- gameforge.map_warp._15_array,
                    -- gameforge.map_warp._16_array,
                -- }
                -- empire_castle =empire_castle[empire]
                local sub_set = 0
                if level < 60 then -- weniger als 60 : die Privatkarte von Gild, das Drache, die Wuste Youngbi, Der Eisberg im Westen
                    if pc.count_item(30180) == 0 then
                        sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 4 then -- Schliessen
                            return
                        end
                    else
                        sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,  gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 5 then -- Schliessen
                            return
                        end
                    end
                    

                else -- mehr als 61 :die Wuste Youngbi, der Eisberg im Westen, das Schlangengeistturm, die Pfirsischblumendorf
                    if pc.count_item(30180) == 0 then
                        sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.locale.levelup.prev_quest_go)
                    else
                        sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                    end
                    if sub_set == 4 and pc.count_item(30180) == 0 then
                        sub_set = sub_set +1
                    end
                    if sub_set == 7 then -- weiter
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._70_say)
                        say_reward(string.format(gameforge.map_warp._80_sayReward, cost))
                        sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select,gameforge.map_warp._95_select, gameforge.map_warp._96_select, gameforge.arena_manager._200_tableInsert) + 6
                        if sub_set == 10 then
                            return
                        end
                        if sub_set == 9 then -- vorher
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._100_say)
                            ---                                                   l
                            say_reward(string.format(gameforge.map_warp._110_sayReward, cost))
                            say(gameforge.map_warp._120_sayReward)
                  if pc.count_item(30180) == 0 then
                  sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.locale.levelup.prev_quest_go)
                else
                sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,  gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                  end

                            if sub_set == 4 and pc.count_item(30180) == 0 then
                                sub_set = sub_set +1
                            end
                            if sub_set == 5 then -- weiter
                                say_title(gameforge.map_warp._20_sayTitle)
                                say(gameforge.map_warp._130_say)
                                say_reward(string.format(gameforge.map_warp._140_sayReward, cost))
                                sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select,  gameforge.map_warp._94_select, gameforge.map_warp._95_select, gameforge.arena_manager._200_tableInsert) + 6
                                if sub_set == 11 then
                                    return
                                end
                            end
                        end
                    end
                end

                if pc.gold < cost then
                    say_title(gameforge.map_warp._20_sayTitle)
                    say(gameforge.map_warp._150_say)
                    say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    return
                end

                pc.changegold(-cost)

                local warp = {
                    -- <<1>> guild_map
                    -- {
                        -- { 135600, 4300 },
                        -- { 179500, 1000 },
                        -- { 271800, 13000 },
                    -- },
                    -- <<2>> 64 Seungryong
                    {
                        { 402100, 673900 },
                        { 270400, 739900 },
                        { 321300, 808000 },
                    },
                    -- <<3>> 63 Yonbi-Desert
                    {
                        { 217800, 627200 },
                        { 221900, 502700 },
                        { 344000, 502500 },
                    },
                    -- <<4>> 61 Sohan Mountain
                    {
                        { 434200, 290600 },
                        { 375200, 174900 },
                        { 491800, 173600 },
                    },
                    --added_guild_map
                        {
                            {204800, 204800},
                            {614400, 384000},
                            {256000, 819200},
                        },
                    -- <<5>> 64 Seungryong - Heavens Cave entrance
                    {
                        { 287800, 799700 },
                        { 275500, 800000 },
                        { 277000, 788000 },
                    },
    --                {--empire_castle
    --                    {975200, 133000},
    --                    {977200, 185000},
    --                    {923900, 183600},
    --                } ,
                    -- <<6>> 62 metin2_map_n_flame_01
                    {
                        { 599400, 756300 },
                        { 597800, 622200 },
                        { 730700, 689800 },
                    },
                    -- <<7>> devil_tower
                    {
                        { 590500, 110500 },
                        { 590500, 110500 },
                        { 590500, 110500 },
                    },

                    -- <<8>> wood
                    {
                        { 290000, 5600 },
                        { 290000, 5600 },
                        { 290000, 5600 },
                    },
                    -- <<9>> red wood
                    {
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                    },
                }
                test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._170_say)
                
                
                wait()
                if pc.is_dead() == false then
                    pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
                else
                    return
                end


            else -- Falls jedes Dorf nicht 1,2 Dorf ist,ist es moglich zum 1,2 Dorf im Reich zuruckzukehren
                local sub_set2 = 4
                if pc.count_item(30180) == 0 then
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 3 then
                        return
                    end
                else
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 4 then
                        return
                    end
                end
                if sub_set2 != 4 then
                    if pc.gold < cost then
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._150_say)
                        say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    else
                        if sub_set2 == 1 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._240_say)
                            wait()
                            if  pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(474300,954800)
                                elseif empire == 2 then
                                    pc.warp(63800,166400)
                                elseif empire == 3 then
                                    pc.warp(959900,269200)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 2 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(353100,882900)
                                elseif empire == 2 then
                                    pc.warp(145500,240000)
                                elseif empire == 3 then
                                    pc.warp(863900,246000)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 3 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(287800, 799700)
                                elseif empire == 2 then
                                    pc.warp(275500, 800000)
                                elseif empire == 3 then
                                    pc.warp(277000, 788000)
                                end
                            else
                                return
                            end
                        end
                        pc.changegold(-cost)
                    end
                end
            end
        end -- end_of_chat
    end -- end_of_state
end -- end_of_quest
 
Yeni map_warp:
Genişlet Daralt Kopyala
quest map_warp begin
    state start begin
        when 9012.chat.gameforge.map_warp._10_npcChat  begin
            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._30_say)

            local main_set =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
            if main_set == 2 then
                return
            end

            if pc.get_level() <= 10 then
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._40_say)
                return
            end

            local map = pc.get_map_index()
            local empire = pc.get_empire()
            local level = pc.get_level()
            local cost = math.floor(level / 5) * 1000

            if cost < 1000 then
                cost = 1000
            end

            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._50_say)
            say_reward(string.format(gameforge.map_warp._60_sayReward, cost))
          
            if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

                -- local guild_map_names = {
                    -- gameforge.map_warp._11_array,
                    -- gameforge.map_warp._12_array,
                    -- gameforge.map_warp._13_array,
                -- }

                -- guild_map_name = guild_map_names[empire]
                -- local added_guild_map = {
                    -- gameforge.map_warp._17_array,
                    -- gameforge.map_warp._18_array,
                    -- gameforge.map_warp._19_array,
                -- }

                -- added_guild_map = added_guild_map[empire]
                -- local empire_castle={
                    -- gameforge.map_warp._14_array,
                    -- gameforge.map_warp._15_array,
                    -- gameforge.map_warp._16_array,
                -- }
                -- empire_castle =empire_castle[empire]
                local sub_set = 0
                if level < 60 then -- weniger als 60 : die Privatkarte von Gild, das Drache, die Wuste Youngbi, Der Eisberg im Westen
                    if pc.count_item(30180) == 0 then
                        sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 4 then -- Schliessen
                            return
                        end
                    else
                        sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,  gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 5 then -- Schliessen
                            return
                        end
                    end
                  

                else -- mehr als 61 :die Wuste Youngbi, der Eisberg im Westen, das Schlangengeistturm, die Pfirsischblumendorf
                    if pc.count_item(30180) == 0 then
                        sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.locale.levelup.prev_quest_go)
                    else
                        sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                    end
                    if sub_set == 4 and pc.count_item(30180) == 0 then
                        sub_set = sub_set +1
                    end
                    if sub_set == 7 then -- weiter
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._70_say)
                        say_reward(string.format(gameforge.map_warp._80_sayReward, cost))
                        sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select,gameforge.map_warp._95_select, gameforge.map_warp._96_select, gameforge.arena_manager._200_tableInsert) + 6
                        if sub_set == 10 then
                            return
                        end
                        if sub_set == 9 then -- vorher
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._100_say)
                            ---                                                   l
                            say_reward(string.format(gameforge.map_warp._110_sayReward, cost))
                            say(gameforge.map_warp._120_sayReward)
                  if pc.count_item(30180) == 0 then
                  sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.locale.levelup.prev_quest_go)
                else
                sub_set =  select( gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,  gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                  end

                            if sub_set == 4 and pc.count_item(30180) == 0 then
                                sub_set = sub_set +1
                            end
                            if sub_set == 5 then -- weiter
                                say_title(gameforge.map_warp._20_sayTitle)
                                say(gameforge.map_warp._130_say)
                                say_reward(string.format(gameforge.map_warp._140_sayReward, cost))
                                sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select,  gameforge.map_warp._94_select, gameforge.map_warp._95_select, gameforge.arena_manager._200_tableInsert) + 6
                                if sub_set == 11 then
                                    return
                                end
                            end
                        end
                    end
                end

                if pc.gold < cost then
                    say_title(gameforge.map_warp._20_sayTitle)
                    say(gameforge.map_warp._150_say)
                    say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    return
                end

                pc.changegold(-cost)

                local warp = {
                    -- <<1>> guild_map
                    -- {
                        -- { 135600, 4300 },
                        -- { 179500, 1000 },
                        -- { 271800, 13000 },
                    -- },
                    -- <<2>> 64 Seungryong
                    {
                        { 402100, 673900 },
                        { 270400, 739900 },
                        { 321300, 808000 },
                    },
                    -- <<3>> 63 Yonbi-Desert
                    {
                        { 217800, 627200 },
                        { 221900, 502700 },
                        { 344000, 502500 },
                    },
                    -- <<4>> 61 Sohan Mountain
                    {
                        { 434200, 290600 },
                        { 375200, 174900 },
                        { 491800, 173600 },
                    },
                    --added_guild_map
                        {
                            {204800, 204800},
                            {614400, 384000},
                            {256000, 819200},
                        },
                    -- <<5>> 64 Seungryong - Heavens Cave entrance
                    {
                        { 287800, 799700 },
                        { 275500, 800000 },
                        { 277000, 788000 },
                    },
    --                {--empire_castle
    --                    {975200, 133000},
    --                    {977200, 185000},
    --                    {923900, 183600},
    --                } ,
                    -- <<6>> 62 metin2_map_n_flame_01
                    {
                        { 599400, 756300 },
                        { 597800, 622200 },
                        { 730700, 689800 },
                    },
                    -- <<7>> devil_tower
                    {
                        { 590500, 110500 },
                        { 590500, 110500 },
                        { 590500, 110500 },
                    },

                    -- <<8>> wood
                    {
                        { 290000, 5600 },
                        { 290000, 5600 },
                        { 290000, 5600 },
                    },
                    -- <<9>> red wood
                    {
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                    },
                }
                test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._170_say)
              
              
                wait()
                if pc.is_dead() == false then
                    pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
                else
                    return
                end


            else -- Falls jedes Dorf nicht 1,2 Dorf ist,ist es moglich zum 1,2 Dorf im Reich zuruckzukehren
                local sub_set2 = 4
                if pc.count_item(30180) == 0 then
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 3 then
                        return
                    end
                else
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 4 then
                        return
                    end
                end
                if sub_set2 != 4 then
                    if pc.gold < cost then
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._150_say)
                        say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    else
                        if sub_set2 == 1 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._240_say)
                            wait()
                            if  pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(474300,954800)
                                elseif empire == 2 then
                                    pc.warp(63800,166400)
                                elseif empire == 3 then
                                    pc.warp(959900,269200)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 2 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(353100,882900)
                                elseif empire == 2 then
                                    pc.warp(145500,240000)
                                elseif empire == 3 then
                                    pc.warp(863900,246000)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 3 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(287800, 799700)
                                elseif empire == 2 then
                                    pc.warp(275500, 800000)
                                elseif empire == 3 then
                                    pc.warp(277000, 788000)
                                end
                            else
                                return
                            end
                        end
                        pc.changegold(-cost)
                    end
                end
            end
        end -- end_of_chat
    end -- end_of_state
end -- end_of_quest

Böyle dene

.:
Genişlet Daralt Kopyala
quest map_warp begin
    state start begin
        when 9012.chat.gameforge.map_warp._10_npcChat  begin
            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._30_say)

            local main_set =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
            if main_set == 2 then
                return
            end

            if pc.get_level() <= 10 then
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._40_say)
                return
            end

            local map = pc.get_map_index()
            local empire = pc.get_empire()
            local level = pc.get_level()
            local cost = math.floor(level / 5) * 1000

            if cost < 1000 then
                cost = 1000
            end

            say_title(gameforge.map_warp._20_sayTitle)
            say(gameforge.map_warp._50_say)
            say_reward(string.format(gameforge.map_warp._60_sayReward, cost))
           
            if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

                -- local guild_map_names = {
                    -- gameforge.map_warp._11_array,
                    -- gameforge.map_warp._12_array,
                    -- gameforge.map_warp._13_array,
                -- }

                -- guild_map_name = guild_map_names[empire]
                -- local added_guild_map = {
                    -- gameforge.map_warp._17_array,
                    -- gameforge.map_warp._18_array,
                    -- gameforge.map_warp._19_array,
                -- }

                -- added_guild_map = added_guild_map[empire]
                -- local empire_castle={
                    -- gameforge.map_warp._14_array,
                    -- gameforge.map_warp._15_array,
                    -- gameforge.map_warp._16_array,
                -- }
                -- empire_castle =empire_castle[empire]
                local sub_set = 0
                if level < 60 then -- weniger als 60 : die Privatkarte von Gild, das Drache, die Wuste Youngbi, Der Eisberg im Westen
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 4 then -- Schliessen
                            return
                        end
                    else
                        sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                        if sub_set == 5 then -- Schliessen
                            return
                        end
                    end
                   

                else -- mehr als 61 :die Wuste Youngbi, der Eisberg im Westen, das Schlangengeistturm, die Pfirsischblumendorf
                    if pc.count_item(30180) == 0 then
                        sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.locale.levelup.prev_quest_go)
                    else
                        sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                    end
                    if sub_set == 4 and pc.count_item(30180) == 0 then
                        sub_set = sub_set +1
                    end
                    if sub_set == 5 then -- weiter
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._70_say)
                        say_reward(string.format(gameforge.map_warp._80_sayReward, cost))
                        sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select,gameforge.map_warp._95_select, gameforge.map_warp._96_select, gameforge.arena_manager._200_tableInsert) + 6
                        if sub_set == 12 then
                            return
                        end
                        if sub_set == 11 then -- vorher
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._100_say)
                            ---                                                   l
                            say_reward(string.format(gameforge.map_warp._110_sayReward, cost))
                            say(gameforge.map_warp._120_sayReward)
                  if pc.count_item(30180) == 0 then
                  sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.locale.levelup.prev_quest_go)
                else
                sub_set =  select(gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
                  end

                            if sub_set == 4 and pc.count_item(30180) == 0 then
                                sub_set = sub_set +1
                            end
                            if sub_set == 5 then -- weiter
                                say_title(gameforge.map_warp._20_sayTitle)
                                say(gameforge.map_warp._130_say)
                                say_reward(string.format(gameforge.map_warp._140_sayReward, cost))
                                sub_set =  select(gameforge.locale.map_name_2, gameforge.map_warp._90_select,  gameforge.map_warp._94_select, gameforge.map_warp._95_select, gameforge.arena_manager._200_tableInsert) + 6
                                if sub_set == 11 then
                                    return
                                end
                            end
                        end
                    end
                end

                if pc.gold < cost then
                    say_title(gameforge.map_warp._20_sayTitle)
                    say(gameforge.map_warp._150_say)
                    say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    return
                end

                pc.changegold(-cost)

                local warp = {
                    -- -- <<1>> guild_map
                    -- {
                        -- { 135600, 4300 },
                        -- { 179500, 1000 },
                        -- { 271800, 13000 },
                    -- },
                    -- <<2>> 64 Seungryong
                    {
                        { 402100, 673900 },
                        { 270400, 739900 },
                        { 321300, 808000 },
                    },
                    -- <<3>> 63 Yonbi-Desert
                    {
                        { 217800, 627200 },
                        { 221900, 502700 },
                        { 344000, 502500 },
                    },
                    -- <<4>> 61 Sohan Mountain
                    {
                        { 434200, 290600 },
                        { 375200, 174900 },
                        { 491800, 173600 },
                    },
                    -- {--added_guild_map
                    -- {204800, 204800},
                    -- {614400, 384000},
                    -- {256000, 819200},
                           
                   -- } ,
                    -- <<5>> 64 Seungryong - Heavens Cave entrance
                    {
                        { 287800, 799700 },
                        { 275500, 800000 },
                        { 277000, 788000 },
                    },
    --                {--empire_castle
    --                    {975200, 133000},
    --                    {977200, 185000},
    --                    {923900, 183600},
    --                } ,
                    -- <<6>> 62 metin2_map_n_flame_01
                    {
                        { 599400, 756300 },
                        { 597800, 622200 },
                        { 730700, 689800 },
                    },
                    -- <<7>> devil_tower
                    {
                        { 590500, 110500 },
                        { 590500, 110500 },
                        { 590500, 110500 },
                    },

                    -- <<8>> wood
                    {
                        { 290000, 5600 },
                        { 290000, 5600 },
                        { 290000, 5600 },
                    },
                    -- <<9>> red wood
                    {
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                        { 1119500, 70200 },
                    },
                }
                test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                say_title(gameforge.map_warp._20_sayTitle)
                say(gameforge.map_warp._170_say)
               
               
                wait()
                if pc.is_dead() == false then
                    pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
                else
                    return
                end


            else -- Falls jedes Dorf nicht 1,2 Dorf ist,ist es moglich zum 1,2 Dorf im Reich zuruckzukehren
                local sub_set2 = 4
                if pc.count_item(30180) == 0 then
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 3 then
                        return
                    end
                else
                    if empire==1 then
                        sub_set2 =  select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==2 then
                        sub_set2 =  select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    elseif  empire ==3 then
                        sub_set2 =  select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
                    end
                    if sub_set2 == 4 then
                        return
                    end
                end
                if sub_set2 != 4 then
                    if pc.gold < cost then
                        say_title(gameforge.map_warp._20_sayTitle)
                        say(gameforge.map_warp._150_say)
                        say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
                    else
                        if sub_set2 == 1 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._240_say)
                            wait()
                            if  pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(474300,954800)
                                elseif empire == 2 then
                                    pc.warp(63800,166400)
                                elseif empire == 3 then
                                    pc.warp(959900,269200)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 2 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(353100,882900)
                                elseif empire == 2 then
                                    pc.warp(145500,240000)
                                elseif empire == 3 then
                                    pc.warp(863900,246000)
                                end
                            else
                                return
                            end
                        elseif sub_set2 == 3 then
                            say_title(gameforge.map_warp._20_sayTitle)
                            say(gameforge.map_warp._250_say)
                            wait()
                            if pc.is_dead() == false then
                                if empire == 1 then
                                    pc.warp(287800, 799700)
                                elseif empire == 2 then
                                    pc.warp(275500, 800000)
                                elseif empire == 3 then
                                    pc.warp(277000, 788000)
                                end
                            else
                                return
                            end
                        end
                        pc.changegold(-cost)
                    end
                end
            end
        end -- end_of_chat
    end -- end_of_state
end -- end_of_quest
 
Geri
Üst