3 mesaje
Membru Începător Membru Începător
  • Mesaje: 13
  • Reacții: 83
  • Mesaje utile: 1
  • Status: Pe aici X.X
  • Server: Metin2 RO
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    *Descriere:
    Ma-m chinuit toata ziua sa bag si eu un quest de inel pe server si in cele din urma mi-am facut eu unul, ca sa aflu ca de fapt era din cauza la item-ul care il foloseam...
    Oricum am zis sa il impartasesc cu voi poate are cineva nevoie sau ii place cuiva.
    Daca intampinati voi vreo problema cu el puteti lasa reply, mie imi functioneaza perfect.


    *Poze / Video:
    [Quest] Inel de teleportare pe categorii - Mesaj 1 - Imagine 1
    [Quest] Inel de teleportare pe categorii - Mesaj 1 - Imagine 2
    [Quest] Inel de teleportare pe categorii - Mesaj 1 - Imagine 3
    [Quest] Inel de teleportare pe categorii - Mesaj 1 - Imagine 4
    [Quest] Inel de teleportare pe categorii - Mesaj 1 - Imagine 5

    *Link download / Code:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Cum instalăm un Quest?

    Afișează tutorial Ascunde tutorial
    • Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu "test.quest".
    • Vă conectaţi la server cu WinSCP sau alt client FTP.
    • Mergem în /usr/home/game/share/locale/romania/quest (poate să difere in funcţie de serverfiles)
    • Punem fisierul.quest in folderul "quest" şi ii dam permisiuni 777.
    • Ne logam la "putty" si scriem: cd /usr/home/game/share/locale/romania/quest (sau ce locatie avem noi)
    • Aici scriem: ./qc test.quest
    • Intrăm pe server si scriem /reload q sau dam reboot la server.
    • Nota 1: Puteţi folosi și extensia .lua.
    • Nota 2: Unele servere folosesc sh make.sh sau sh make în loc de ./qc.
    • Nota 3: Pentru ca /reload q să funcţioneze corect, aplicaţi acest fix + acesta.
    Quest logo

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    Suntem aproape: 
    Robot Discord
    Roboțelu'
    Anunț
    Membru Începător Membru Începător
  • Mesaje: 3
  • Reacții: 3
  • Mesaje utile: 0
  • Medalii

    Avatar utilizator
    Membru Începător
    Membru Începător

    Mesaj de Metin2 Old »

    nu ai pus muntele , tara de gheata , sohan :-B
    Membru Începător Membru Începător
  • Mesaje: 6
  • Reacții: 5
  • Mesaje utile: 0
  • Medalii

    Avatar utilizator
    Membru Începător
    Membru Începător

    Mesaj de prody5714 »

    Code:
    quest teleport_ring begin
        state start begin
            when 40003.use begin
                if pc.count_item(40003) <= 0 then
                    return
                end
    
                -------------------------------------------------
                -- LEVEL RANGES (EDIT HERE)
                -------------------------------------------------
                local LVL = {
                    -- KINGDOMS
                    red_map1     = { 1, 30 },
                    red_map2     = { 15, 45 },
                    yellow_map1  = { 1, 30 },
                    yellow_map2  = { 15, 45 },
                    blue_map1    = { 1, 30 },
                    blue_map2    = { 15, 45 },
    
                    -- OFFICIAL MAPS
                    orc_start    = { 30, 55 },
                    orc_center   = { 35, 60 },
                    orc_arahan   = { 40, 65 },
    
                    desert_start = { 45, 75 },
                    desert_oasis = { 50, 80 },
    
                    fire_start   = { 60, 90 },
                    fire_farm    = { 65, 95 },
    
                    demon_tower  = { 35, 75 },
    
                    spider_v1    = { 50, 80 },
                    spider_v2    = { 60, 90 },
    
                    ghost_forest = { 70, 100 },
    
                    red_forest_start = { 60, 90 },
                    red_forest_end   = { 70, 100 },
    
                    giants      = { 75, 105 },
    
                    exile_v3    = { 75, 105 },
                    exile_v4    = { 90, 120 },
    
                    -- FARM ZONE (SET YOUR REAL RANGES)
                    farm1       = { 1, 120 },
                    farm2       = { 1, 120 },
    
                    -- MAP EVENTS (SET YOUR REAL RANGES)
                    event1      = { 1, 120 },
                    event2      = { 1, 120 },
                    event3      = { 1, 120 },
                }
    
                -------------------------------------------------
                -- HELPERS (EN) + LOCKED
                -------------------------------------------------
                local function level_ok(min_lvl, max_lvl)
                    local lvl = pc.get_level()
                    return (lvl >= min_lvl and lvl <= max_lvl)
                end
    
                local function option_label(name, min_lvl, max_lvl)
                    if level_ok(min_lvl, max_lvl) then
                        return string.format("%s (%d-%d)", name, min_lvl, max_lvl)
                    end
                    return string.format("%s (%d-%d) [LOCKED]", name, min_lvl, max_lvl)
                end
    
                local function show_level_error(min_lvl, max_lvl)
                    say_title("Teleport Ring")
                    say("")
                    say("This location is locked for your level.")
                    say(string.format("Required level: %d - %d", min_lvl, max_lvl))
                end
    
                local function warp_if_ok(min_lvl, max_lvl, x, y, success_msg)
                    if not level_ok(min_lvl, max_lvl) then
                        show_level_error(min_lvl, max_lvl)
                        return false
                    end
                    pc.warp(x, y)
                    say_title("Teleport")
                    say(success_msg)
                    return true
                end
    
                -------------------------------------------------
                -- MAIN MENU
                -------------------------------------------------
                while true do
                    say_title("Teleport Ring")
                    say("")
                    say("Where do you want to teleport?")
                    say("")
    
                    local main_menu = select(
                        "Kingdoms",
                        "Official Maps",
                        "Farm Zone",
                        "Map Events",
                        "Cancel"
                    )
    
                    -- CANCEL (5)
                    if main_menu == 5 then
                        say_title("Cancelled")
                        say("Teleportation has been cancelled.")
                        return
                    end
    
                    -------------------------------------------------
                    -- KINGDOMS
                    -------------------------------------------------
                    if main_menu == 1 then
                        while true do
                            say_title("Kingdoms")
                            say("")
                            say("Choose a kingdom:")
                            say("")
    
                            local kingdom_menu = select(
                                "Red Kingdom",
                                "Yellow Kingdom",
                                "Blue Kingdom",
                                "Back"
                            )
    
                            if kingdom_menu == 4 then break end
    
                            -- RED KINGDOM
                            if kingdom_menu == 1 then
                                while true do
                                    local mn1, mx1 = LVL.red_map1[1], LVL.red_map1[2]
                                    local mn2, mx2 = LVL.red_map2[1], LVL.red_map2[2]
    
                                    say_title("Red Kingdom")
                                    say("")
                                    say("Choose a location:")
                                    say("")
    
                                    local red_menu = select(
                                        option_label("Map 1", mn1, mx1),
                                        option_label("Map 2", mn2, mx2),
                                        "Back"
                                    )
                                    if red_menu == 3 then break end
    
                                    if red_menu == 1 then
                                        if warp_if_ok(mn1, mx1, 473900, 954600, "Teleported to Red Kingdom - Map 1!") then return end
                                    elseif red_menu == 2 then
                                        if warp_if_ok(mn2, mx2, 352300, 882700, "Teleported to Red Kingdom - Map 2!") then return end
                                    end
                                end
                            end
    
                            -- YELLOW KINGDOM
                            if kingdom_menu == 2 then
                                while true do
                                    local mn1, mx1 = LVL.yellow_map1[1], LVL.yellow_map1[2]
                                    local mn2, mx2 = LVL.yellow_map2[1], LVL.yellow_map2[2]
    
                                    say_title("Yellow Kingdom")
                                    say("")
                                    say("Choose a location:")
                                    say("")
    
                                    local yellow_menu = select(
                                        option_label("Map 1", mn1, mx1),
                                        option_label("Map 2", mn2, mx2),
                                        "Back"
                                    )
                                    if yellow_menu == 3 then break end
    
                                    if yellow_menu == 1 then
                                        if warp_if_ok(mn1, mx1, 63200, 166700, "Teleported to Yellow Kingdom - Map 1!") then return end
                                    elseif yellow_menu == 2 then
                                        if warp_if_ok(mn2, mx2, 145700, 239800, "Teleported to Yellow Kingdom - Map 2!") then return end
                                    end
                                end
                            end
    
                            -- BLUE KINGDOM
                            if kingdom_menu == 3 then
                                while true do
                                    local mn1, mx1 = LVL.blue_map1[1], LVL.blue_map1[2]
                                    local mn2, mx2 = LVL.blue_map2[1], LVL.blue_map2[2]
    
                                    say_title("Blue Kingdom")
                                    say("")
                                    say("Choose a location:")
                                    say("")
    
                                    local blue_menu = select(
                                        option_label("Map 1", mn1, mx1),
                                        option_label("Map 2", mn2, mx2),
                                        "Back"
                                    )
                                    if blue_menu == 3 then break end
    
                                    if blue_menu == 1 then
                                        if warp_if_ok(mn1, mx1, 959600, 269700, "Teleported to Blue Kingdom - Map 1!") then return end
                                    elseif blue_menu == 2 then
                                        if warp_if_ok(mn2, mx2, 863800, 246000, "Teleported to Blue Kingdom - Map 2!") then return end
                                    end
                                end
                            end
                        end
                    end
    
                    -------------------------------------------------
                    -- OFFICIAL MAPS
                    -------------------------------------------------
                    if main_menu == 2 then
                        while true do
                            local dt_min, dt_max = LVL.demon_tower[1], LVL.demon_tower[2]
    
                            say_title("Official Maps")
                            say("")
                            say("Choose a location:")
                            say("")
    
                            local map_menu = select(
                                "Orc Valley",
                                "Desert",
                                "Fire Land",
                                option_label("Demon Tower", dt_min, dt_max),
                                "Page 2",
                                "Back"
                            )
    
                            if map_menu == 6 then break end
    
                            -- ORC VALLEY
                            if map_menu == 1 then
                                while true do
                                    local mn1, mx1 = LVL.orc_start[1], LVL.orc_start[2]
                                    local mn2, mx2 = LVL.orc_center[1], LVL.orc_center[2]
                                    local mn3, mx3 = LVL.orc_arahan[1], LVL.orc_arahan[2]
    
                                    say_title("Orc Valley")
                                    say("")
                                    say("Choose a location:")
                                    say("")
    
                                    local orc_menu = select(
                                        option_label("Entrance", mn1, mx1),
                                        option_label("Center / Farm Zone", mn2, mx2),
                                        option_label("Arahani", mn3, mx3),
                                        "Back"
                                    )
                                    if orc_menu == 4 then break end
    
                                    local empire = pc.get_empire()
    
                                    if orc_menu == 1 then
                                        local x, y = 0, 0
                                        if empire == 1 then x, y = 402100, 673900
                                        elseif empire == 2 then x, y = 270400, 739900
                                        elseif empire == 3 then x, y = 321300, 808000
                                        end
                                        if warp_if_ok(mn1, mx1, x, y, "Teleported to Orc Valley - Entrance!") then return end
    
                                    elseif orc_menu == 2 then
                                        if warp_if_ok(mn2, mx2, 332700, 745600, "Teleported to Orc Valley - Center / Farm Zone!") then return end
    
                                    elseif orc_menu == 3 then
                                        if warp_if_ok(mn3, mx3, 282800, 792800, "Teleported to Orc Valley - Arahani!") then return end
                                    end
                                end
                            end
    
                            -- DESERT
                            if map_menu == 2 then
                                while true do
                                    local mn1, mx1 = LVL.desert_start[1], LVL.desert_start[2]
                                    local mn2, mx2 = LVL.desert_oasis[1], LVL.desert_oasis[2]
    
                                    say_title("Desert")
                                    say("")
                                    say("Choose a location:")
                                    say("")
    
                                    local desert_menu = select(
                                        option_label("Entrance", mn1, mx1),
                                        option_label("Oasis", mn2, mx2),
                                        "Back"
                                    )
                                    if desert_menu == 3 then break end
    
                                    local empire = pc.get_empire()
    
                                    if desert_menu == 1 then
                                        local x, y = 0, 0
                                        if empire == 1 then x, y = 217800, 627200
                                        elseif empire == 2 then x, y = 221900, 502700
                                        elseif empire == 3 then x, y = 344000, 502500
                                        end
                                        if warp_if_ok(mn1, mx1, x, y, "Teleported to Desert - Entrance!") then return end
    
                                    elseif desert_menu == 2 then
                                        if warp_if_ok(mn2, mx2, 296300, 547500, "Teleported to Desert - Oasis!") then return end
                                    end
                                end
                            end
    
                            -- FIRE LAND
                            if map_menu == 3 then
                                while true do
                                    local mn1, mx1 = LVL.fire_start[1], LVL.fire_start[2]
                                    local mn2, mx2 = LVL.fire_farm[1], LVL.fire_farm[2]
    
                                    say_title("Fire Land")
                                    say("")
                                    say("Choose a location:")
                                    say("")
    
                                    local fire_menu = select(
                                        option_label("Entrance", mn1, mx1),
                                        option_label("Farm Zone", mn2, mx2),
                                        "Back"
                                    )
                                    if fire_menu == 3 then break end
    
                                    local empire = pc.get_empire()
    
                                    if fire_menu == 1 then
                                        local x, y = 0, 0
                                        if empire == 1 then x, y = 599400, 756300
                                        elseif empire == 2 then x, y = 597800, 622200
                                        elseif empire == 3 then x, y = 730700, 689800
                                        end
                                        if warp_if_ok(mn1, mx1, x, y, "Teleported to Fire Land - Entrance!") then return end
    
                                    elseif fire_menu == 2 then
                                        if warp_if_ok(mn2, mx2, 605100, 685900, "Teleported to Fire Land - Farm Zone!") then return end
                                    end
                                end
                            end
    
                            -- DEMON TOWER
                            if map_menu == 4 then
                                if warp_if_ok(dt_min, dt_max, 590400, 110500, "Teleported to Demon Tower!") then
                                    return
                                end
                            end
    
                            -- PAGE 2
                            if map_menu == 5 then
                                while true do
                                    local mn_sp1, mx_sp1 = LVL.spider_v1[1], LVL.spider_v1[2]
                                    local mn_sp2, mx_sp2 = LVL.spider_v2[1], LVL.spider_v2[2]
                                    local mn_gf,  mx_gf  = LVL.ghost_forest[1], LVL.ghost_forest[2]
                                    local mn_rf1, mx_rf1 = LVL.red_forest_start[1], LVL.red_forest_start[2]
                                    local mn_rf2, mx_rf2 = LVL.red_forest_end[1], LVL.red_forest_end[2]
                                    local mn_gi,  mx_gi  = LVL.giants[1], LVL.giants[2]
                                    local mn_ex3, mx_ex3 = LVL.exile_v3[1], LVL.exile_v3[2]
                                    local mn_ex4, mx_ex4 = LVL.exile_v4[1], LVL.exile_v4[2]
    
                                    say_title("Official Maps - Page 2")
                                    say("")
                                    say("Choose a location:")
                                    say("")
    
                                    local map_menu2 = select(
                                        "Spider Dungeon",
                                        option_label("Ghost Forest", mn_gf, mx_gf),
                                        "Red Forest",
                                        option_label("Land of Giants", mn_gi, mx_gi),
                                        "Exile Valley",
                                        "Back"
                                    )
    
                                    if map_menu2 == 6 then break end
    
                                    -- SPIDER DUNGEON
                                    if map_menu2 == 1 then
                                        while true do
                                            say_title("Spider Dungeon")
                                            say("")
                                            say("Choose a floor:")
                                            say("")
    
                                            local spider_menu = select(
                                                option_label("V1", mn_sp1, mx_sp1),
                                                option_label("V2", mn_sp2, mx_sp2),
                                                "Back"
                                            )
                                            if spider_menu == 3 then break end
    
                                            if spider_menu == 1 then
                                                if warp_if_ok(mn_sp1, mx_sp1, 60000, 496400, "Teleported to Spider Dungeon - V1!") then return end
                                            elseif spider_menu == 2 then
                                                if warp_if_ok(mn_sp2, mx_sp2, 704100, 464100, "Teleported to Spider Dungeon - V2!") then return end
                                            end
                                        end
                                    end
    
                                    -- GHOST FOREST
                                    if map_menu2 == 2 then
                                        if warp_if_ok(mn_gf, mx_gf, 289000, 5800, "Teleported to Ghost Forest!") then
                                            return
                                        end
                                    end
    
                                    -- RED FOREST
                                    if map_menu2 == 3 then
                                        while true do
                                            say_title("Red Forest")
                                            say("")
                                            say("Choose a location:")
                                            say("")
    
                                            local red_forest_menu = select(
                                                option_label("Entrance", mn_rf1, mx_rf1),
                                                option_label("End", mn_rf2, mx_rf2),
                                                "Back"
                                            )
                                            if red_forest_menu == 3 then break end
    
                                            if red_forest_menu == 1 then
                                                if warp_if_ok(mn_rf1, mx_rf1, 1119900, 70800, "Teleported to Red Forest - Entrance!") then return end
                                            elseif red_forest_menu == 2 then
                                                if warp_if_ok(mn_rf2, mx_rf2, 1119200, 7000, "Teleported to Red Forest - End!") then return end
                                            end
                                        end
                                    end
    
                                    -- LAND OF GIANTS
                                    if map_menu2 == 4 then
                                        if warp_if_ok(mn_gi, mx_gi, 828100, 763400, "Teleported to Land of Giants!") then
                                            return
                                        end
                                    end
    
                                    -- EXILE VALLEY
                                    if map_menu2 == 5 then
                                        while true do
                                            say_title("Exile Valley")
                                            say("")
                                            say("Choose a floor:")
                                            say("")
    
                                            local exile_menu = select(
                                                option_label("V3", mn_ex3, mx_ex3),
                                                option_label("V4", mn_ex4, mx_ex4),
                                                "Back"
                                            )
                                            if exile_menu == 3 then break end
    
                                            if exile_menu == 1 then
                                                if warp_if_ok(mn_ex3, mx_ex3, 10000, 1214200, "Teleported to Exile Valley - V3!") then return end
                                            elseif exile_menu == 2 then
                                                if warp_if_ok(mn_ex4, mx_ex4, 241700, 1274900, "Teleported to Exile Valley - V4!") then return end
                                            end
                                        end
                                    end
                                end
                            end
                        end
                    end
    
                    -------------------------------------------------
                    -- FARM ZONE
                    -------------------------------------------------
                    if main_menu == 3 then
                        while true do
                            local mn1, mx1 = LVL.farm1[1], LVL.farm1[2]
                            local mn2, mx2 = LVL.farm2[1], LVL.farm2[2]
    
                            say_title("Farm Zone")
                            say("")
                            say("Choose a zone:")
                            say("")
    
                            local farm_menu = select(
                                option_label("Farm 1", mn1, mx1),
                                option_label("Farm 2", mn2, mx2),
                                "Back"
                            )
    
                            if farm_menu == 3 then break end
    
                            if farm_menu == 1 then
                                -- TODO: set real coordinates
                                if warp_if_ok(mn1, mx1, 0, 0, "Teleported to Farm Zone 1!") then return end
                            elseif farm_menu == 2 then
                                -- TODO: set real coordinates
                                if warp_if_ok(mn2, mx2, 0, 0, "Teleported to Farm Zone 2!") then return end
                            end
                        end
                    end
    
                    -------------------------------------------------
                    -- MAP EVENTS
                    -------------------------------------------------
                    if main_menu == 4 then
                        while true do
                            local mn1, mx1 = LVL.event1[1], LVL.event1[2]
                            local mn2, mx2 = LVL.event2[1], LVL.event2[2]
                            local mn3, mx3 = LVL.event3[1], LVL.event3[2]
    
                            say_title("Map Events")
                            say("")
                            say("Choose an event map:")
                            say("")
    
                            local ev_menu = select(
                                option_label("Event 1", mn1, mx1),
                                option_label("Event 2", mn2, mx2),
                                option_label("Event 3", mn3, mx3),
                                "Back"
                            )
    
                            if ev_menu == 4 then break end
    
                            if ev_menu == 1 then
                                -- TODO: set real coordinates
                                if warp_if_ok(mn1, mx1, 0, 0, "Teleported to Event Map 1!") then return end
                            elseif ev_menu == 2 then
                                -- TODO: set real coordinates
                                if warp_if_ok(mn2, mx2, 0, 0, "Teleported to Event Map 2!") then return end
                            elseif ev_menu == 3 then
                                -- TODO: set real coordinates
                                if warp_if_ok(mn3, mx3, 0, 0, "Teleported to Event Map 3!") then return end
                            end
                        end
                    end
                end
            end
        end
    end
    ceva mai avansat

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    Suntem aproape: 
    Robot Discord
    Roboțelu'
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Quest-uri”

    Informații

    Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator

    Discord ID copiat: