4 mesaje
Administrator Administrator
  • Mesaje: 3543
  • Reacții: 59254
  • Mesaje utile: 37
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Crea_item/modare item direct din joc

    Cu acest quest vei putea creea obiecte modate direct din quest, din joc. Este testat & full!

    *Poze / Video:

    *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
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:




    See full signature

    🔥 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ț
  • Mesaje: 2
  • Reacții: 2
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Cine nu are functiile

    --Adauga in questlib.lua
    Code:
    function say_albastru(name) say(color256(0, 0, 255)..name..color256(0, 0, 255)) end
    function say_rosu(name) say(color256(255, 0, 0)..name..color256(255, 0, 0)) end
    function say_verde(name) say(color256(200, 255 , 200)..name..color256(196, 196, 196)) end
    function say_verde2(name) say(color256(0, 238, 0)..name..color256(0, 238, 0)) end
    function say_auriu(name) say(color256(255, 215, 0)..name..color256(255, 215, 0)) end
    function say_negru(name) say(color256(0, 0, 0)..name..color256(0, 0, 0)) end
    function say_alb(name) say(color256(255, 255, 255)..name..color256(255, 255, 255)) end
    function say_galben(name) say(color256(255, 255, 0)..name..color256(255, 255, 0)) end
    function say_albastru2(name) say(color256(147, 248, 255)..name..color256(147, 248, 255)) end
    
    function say_title_center(msg,r,g,b)
        local _color
        if (r and g and b) == nil then
            _color = color256(255, 230, 186)
        else
            _color = color256(r, g, b)
        end
        raw_script(string.format("[TEXT_HORIZONTAL_ALIGN_CENTER]%s%s%s[/TEXT_HORIZONTAL_ALIGN_CENTER][ENTER]", _color, msg, color256(196, 196, 196)))
    end

    --Adauga in quest_functions
    Code:
    say_albastru
    say_rosu
    say_verde
    say_verde2
    say_auriu
    say_negru
    say_alb
    say_galben
    say_albastru2
    say_title_center
  • Mesaje: 2
  • Reacții: 2
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Si am personalizat putin questul,

    Am setat sa poata doar jucatorul x si y sa isi activeze / foloseasca itemul.
    Acum va puteti seta cantitatea la iteme, (util daca il folositi pe conutl de player sa va dati iteme)
    Puteti alege sa nu adaugati bonusuri sau pietre si va da direct itemul x cu cantitatea y
    Puteti sa alegeti doar sa puneti pietre
    Doar bonusuri
    Si personalizare completa.

    SPOR sper ca o sa va ajute pe uni.
    Code:
    quest bonus_item begin
        state start begin
            when 40001.use with pc.get_name() == "[SA]OWNER" or pc.get_name() == "Tim" begin
                say_title_center(string.format("%s:", item_name(string.format("%d", item.get_vnum()))))
                say_albastru2("Fiind autorizat poti crea iteme in joc cu ajutorul acestui item. Sa incepem...")
                say("Introdu vnum-ul itemului:")
                local y2 = tonumber(input())
                if y2 == nil or y2 == 0 then
                    say_title_center(string.format("%s:[ENTER]", item_name(string.format("%d", item.get_vnum()))))
                    say_rosu("Nu pot bonusa un item inexistent. INTRODU UN VNUM!![ENTER]")
                    return
                end
                say("Introdu cantitatea itemului:")
                local qty = tonumber(input())
                if qty == nil or qty <= 0 then
                    say("Cantitate invalida. Introdu un numar pozitiv.")
                    return
                end
    
                say("Alege metoda de creare:")
                local opt = select("Fara pietre si bonusuri", "Cu pietre fara bonusuri", "Cu bonusuri fara pietre", "Personalizat complet", "Renunta")
                if opt == 5 then return end
    
                local l1, l2, l3 = 0, 0, 0
                local bonus = {}
    
                -- Pietre disponibile
                local r = {
                    {["p"] = 0, ["k"] = "Fara piatra"},
                    {["p"] = 28430, ["k"] = "Piatra Patrunzatoare"},
                    {["p"] = 28431, ["k"] = "Piatra Fatala"},
                    {["p"] = 28432, ["k"] = "Piatra Repetarii"},
                    {["p"] = 28433, ["k"] = "Piatra Anti-Razboinic"},
                    {["p"] = 28434, ["k"] = "Piatra Anti-Ninja"},
                    {["p"] = 28435, ["k"] = "Piatra Anti-Sura"},
                    {["p"] = 28436, ["k"] = "Piatra Anti-Saman"},
                    {["p"] = 28437, ["k"] = "Piatra Monstilor"},
                    {["p"] = 28438, ["k"] = "Piatra Eschivei"},
                    {["p"] = 28439, ["k"] = "Piatra Pitularii"},
                    {["p"] = 28440, ["k"] = "Piatra Magiei"},
                    {["p"] = 28441, ["k"] = "Piatra Vitalitatii"},
                    {["p"] = 28442, ["k"] = "Piatra Apararii"},
                    {["p"] = 28443, ["k"] = "Piatra Grabei"},
                }
    
                local g = {}
                for i = 1, table.getn(r) do
                    table.insert(g, r[i]["k"])
                end
                table.insert(g, "Renunta")
    
                -- Bonusuri disponibile
                local s = {
                    {["b"] = 0, ["d"] = "Fara bonus"},
                    {["b"] = 1, ["d"] = "Max PV"},
                    {["b"] = 3, ["d"] = "Vitalitate (Vit)"},
                    {["b"] = 4, ["d"] = "Inteligenta (Int)"},
                    {["b"] = 5, ["d"] = "Putere (STR)"},
                    {["b"] = 6, ["d"] = "Dexteritate(DEX)"},
                    {["b"] = 7, ["d"] = "Viteza de atac"},
                    {["b"] = 8, ["d"] = "Viteza de miscare"},
                    {["b"] = 9, ["d"] = "Viteza Farmecului"},
                    {["b"] = 15, ["d"] = "Critica"},
                    {["b"] = 16, ["d"] = "Patrunzatoare"},
                    {["b"] = 17, ["d"] = "Tare Semi-Oameni"},
                    {["b"] = 29, ["d"] = "Aparare Sabie"},
                    {["b"] = 30, ["d"] = "Aparere doua maini"},
                    {["b"] = 31, ["d"] = "Aparare Pumnal"},
                    {["b"] = 32, ["d"] = "Aparare Clopot"},
                    {["b"] = 33, ["d"] = "Aparare evantai"},
                    {["b"] = 34, ["d"] = "Rezistenta la sageti"},
                    {["b"] = 35, ["d"] = "Rezistenta la foc"},
                    {["b"] = 37, ["d"] = "Rezistenta la Magie"},
                    {["b"] = 48, ["d"] = "Imun la necunostinta"},
                    {["b"] = 49, ["d"] = "Imun la incetinire"},
                    {["b"] = 50, ["d"] = "Imun la cazatura"},
                    {["b"] = 53, ["d"] = "Valoarea atacului"},
                    {["b"] = 54, ["d"] = "Aparare"},
                    {["b"] = 55, ["d"] = "Valoarea atacului magic"},
                    {["b"] = 56, ["d"] = "Aparare Magica"},
                    {["b"] = 59, ["d"] = "Tare impotriva razboinicilor"},
                    {["b"] = 60, ["d"] = "Tare impotriva Ninja"},
                    {["b"] = 61, ["d"] = "Tare impotriva Sura"},
                    {["b"] = 62, ["d"] = "Tare impotriva Shaman"},
                    {["b"] = 63, ["d"] = "Tare Impotriva monstrilor"},
                    {["b"] = 71, ["d"] = "Paguba competentei"},
                    {["b"] = 72, ["d"] = "Paguba Medie"},
                    {["b"] = 73, ["d"] = "Rezistenta la paguba competentei"},
                    {["b"] = 74, ["d"] = "Rezistenta la paguba medie"},
                    {["b"] = 78, ["d"] = "Aparare contra Razboinic"},
                    {["b"] = 79, ["d"] = "Aparare contra Ninja"},
                    {["b"] = 80, ["d"] = "Aparare contra Sura"},
                    {["b"] = 81, ["d"] = "Aparare contra Samanilor"},
                }
    
                local t = {}
                for i = 1, table.getn(s) do
                    table.insert(t, s[i]["d"])
                end
                table.insert(t, "Renunta")
    
                if opt == 2 or opt == 4 then
                    say("Alege prima piatra:")
                    local u = select_table(g)
                    if u == table.getn(g) then return end
                    l1 = r[u]["p"]
    
                    say("Alege a doua piatra:")
                    u = select_table(g)
                    if u == table.getn(g) then return end
                    l2 = r[u]["p"]
    
                    say("Alege a treia piatra:")
                    u = select_table(g)
                    if u == table.getn(g) then return end
                    l3 = r[u]["p"]
                end
    
                if opt == 3 or opt == 4 then
                    for i = 0, 6 do
                        say(string.format("Alege bonusul %d:", i + 1))
                        local l = select_table(t)
                        if l == table.getn(t) then return end
                        local b = s[l]["b"]
                        local p = 0
                        if b ~= 0 then
                            say(string.format("Introdu valoarea bonusului %d:", i + 1))
                            p = tonumber(input())
                            if p == nil then p = 0 end
                        end
                        bonus[i] = {b = b, p = p}
                    end
                end
    
                pc.give_item2_select(y2, qty)
                for i = 0, 6 do
                    if bonus[i] ~= nil then
                        item.set_value(i, bonus[i].b, bonus[i].p)
                    end
                end
                item.set_socket(0, l1)
                item.set_socket(1, l2)
                item.set_socket(2, l3)
            end
        end
    end        
    
  • Mesaje: 7
  • Reacții: 7
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Server: Testam si invatam :D
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Mesaj de l3oogie »

    🔧 Modificarile aduse

    Preview complet al itemului – include itemul, pietrele, bonusurile si cantitatea.

    Confirmare finala inainte de creare.

    Daca alegi Renunta, iti afiseaza tot ce ai selectat pana in acel punct.

    Protectie suplimentara pentru setarea parolei.

    Initializare parola doar cu „cuvantul secret”.

    Schimbarea parolei necesita parola veche + cuvantul secret.

    Protectie pentru confirmarea parolei (nu necesita reset complet).

    La /reload q sau reboot, parola se sterge automat si trebuie reinitializata.



    Am adaugat o functie globala de stocare a parolei.

    Daca folositi aceasta functie in mai multe quest-uri, posibil ca parola va fi comuna pentru toate!

    Nu sunt expert in toate aceste functii globale, asa ca recomand ca fiecare sa testeze atent daca vrea sa extinda quest-ul in alte proiecte.

    ℹ️ Nota personala

    Functioneaza foarte bine in forma actuala 😄, insa daca doriti, puteti optimiza sau modifica dupa nevoi.

    Quest:
    Code:
    quest Boogie_Panou_Admin_Modate begin
        state start begin
            when 70010.use with pc.is_gm() begin
                -- =======================
                -- Numele jucatorului
                -- =======================
                local numec = pc.get_name()
    
                -- =======================
                -- Mesaje informative
                -- =======================
                local infointro = {
                    "[ENTER]In caz ca nu esti un membru fondator[ENTER]Nu vei putea accesa aceste comenzi speciale[ENTER][ENTER]", 
                    "Ce optiune doresti sa alegi?[ENTER]", 
                    "Introduce-ti parola corecta:"
                }
    
                -- =======================
                -- Mesaje pentru erori
                -- =======================
                local eroriinp = {
                    "Se pare ca ai gresit parola![ENTER]", 
                    "Ai introdus:", 
                    "[ENTER]Incearca iar."
                }
    
                -- =======================
                -- CUVANT SECRET
                -- =======================
                local secretWord = "Test!@#" -- << aici setezi cuvantul secret
    
                -- =======================
                -- INIȚIALIZARE PAROLA
                -- =======================
                if not ModateQuestCurrentPassword then
                    say_title_center("Quest-ul a fost reinitializat! Trebuie sa setezi o parola pentru prima utilizare.")
                    
                    -- verificam cuvantul secret
                    say_title_center("Introdu cuvantul secret pentru a putea seta parola:")
                    local inputSecret = input()
                    if inputSecret ~= secretWord then
                        say_title_center("Cuvantul secret este incorect! Nu poti seta parola.")
                        return
                    end
    
                    -- Daca cuvantul secret e corect, se poate seta parola initiala
                    say_title_center("Introdu parola initiala:")
                    local init_pw = input()
                    say_title_center("Confirma parola initiala:")
                    local confirm_init = input()
    
                    if init_pw == "" then
                        say_title_center("Parola nu poate fi goala! Quest-ul nu va functiona pana nu setezi o parola valida.")
                        return
                    end
    
                    if init_pw ~= confirm_init then
                        say_title_center("Parolele nu coincid! Quest-ul nu va functiona pana nu setezi corect parola.")
                        return
                    end
    
                    -- setare parola
                    ModateQuestCurrentPassword = init_pw
                    say_title_center("Parola a fost setata cu succes! Acum poti folosi quest-ul normal.")
                    return
                end
    
                -- =======================
                -- LOGICA PRINCIPALA
                -- =======================
                say_title_center("")
                say_verde2(numec)
                say_galben(infointro[1])
                say_rosu(infointro[3])
    
                local PwsModateBoogie = input() 
    
                if PwsModateBoogie == ModateQuestCurrentPassword then
                    local introducereModate = select("Continua", "Schimba parola", "Renunta")
                    
                    -- =======================
                    -- CREAȚIE ITEM
                    -- =======================
                    if introducereModate == 1 then
                        say_title_center("Fiind autorizat poti crea iteme in joc. Sa incepem...[ENTER]")
                        say_albastru2("Introdu vnum-ul itemului:[ENTER][ENTER]")
                        local y2 = tonumber(input())
                        if y2 == nil or y2 == 0 then
                            say_rosu("Nu pot bonusa un item inexistent. INTRODU UN VNUM!![ENTER][ENTER][ENTER]")
                            return
                        end
    
                        -- ==== ADĂUGARE CANTITATE ====
    					say_title_center("Atentie, cantitatea maxima pe care aveti voie sa o[ENTER] folositi este 200 pentru obiecte ce se pot face Stack![ENTER]")
                        say("Introdu cantitatea itemului pentru:[ENTER]")
    					say_item_vnum(y2)
    					local qty = tonumber(input())
    					if qty == nil or qty <= 0 then
    						say("Cantitate invalida. Introdu un numar pozitiv.")
    						return
    					end
    					if qty > 200 then
    						say_title_center("Cantitatea maxima permisa este 200!")
    						return
    					end
    
    
                        say_size(450, 480)
                        say_title_center("[CENTER]Alege metoda de creare pentru:")
                        say_item_vnum(y2)
    					say("Cantitate: "..qty)
                        say("[ENTER][ENTER]")
                        say_title_center("___________________________________________________________[ENTER][ENTER][ENTER][ENTER]")
    
                        local opt = select("Doar Item", "Cu pietre fara bonusuri", "Cu bonusuri fara pietre", "Personalizat complet", "Renunta") 
                        if opt == 5 then return end
    
                        local l1, l2, l3 = 0, 0, 0
                        local bonus = {}
    
                        -- =======================
                        -- LISTA PIETRE
                        -- =======================
                        local r = {
                            {["p"] = 0, ["k"] = "Fara piatra"},
                            {["p"] = 28430, ["k"] = "Piatra Patrunzatoare"},
                            {["p"] = 28431, ["k"] = "Piatra Fatala"},
                            {["p"] = 28432, ["k"] = "Piatra Repetarii"},
                            {["p"] = 28433, ["k"] = "Piatra Anti-Razboinic"},
                            {["p"] = 28434, ["k"] = "Piatra Anti-Ninja"},
                            {["p"] = 28435, ["k"] = "Piatra Anti-Sura"},
                            {["p"] = 28436, ["k"] = "Piatra Anti-Saman"},
                            {["p"] = 28437, ["k"] = "Piatra Monstilor"},
                            {["p"] = 28438, ["k"] = "Piatra Eschivei"},
                            {["p"] = 28439, ["k"] = "Piatra Pitularii"},
                            {["p"] = 28440, ["k"] = "Piatra Magiei"},
                            {["p"] = 28441, ["k"] = "Piatra Vitalitatii"},
                            {["p"] = 28442, ["k"] = "Piatra Apararii"},
                            {["p"] = 28443, ["k"] = "Piatra Grabei"},
                        }
    
                        local g = {}
                        for i = 1, table.getn(r) do
                            table.insert(g, r[i]["k"])
                        end
                        table.insert(g, "Renunta")
    
                        -- =======================
                        -- LISTA BONUSURI
                        -- =======================
                        local s = {
                            {["b"] = 0, ["d"] = "Fara bonus"},
                            {["b"] = 1, ["d"] = "Max PV"},
                            {["b"] = 3, ["d"] = "Vitalitate (Vit)"},
                            {["b"] = 4, ["d"] = "Inteligenta (Int)"},
                            {["b"] = 5, ["d"] = "Putere (STR)"},
                            {["b"] = 6, ["d"] = "Dexteritate(DEX)"},
                            {["b"] = 7, ["d"] = "Viteza de atac"},
                            {["b"] = 8, ["d"] = "Viteza de miscare"},
                            {["b"] = 9, ["d"] = "Viteza Farmecului"},
                            {["b"] = 15, ["d"] = "Critica"},
                            {["b"] = 16, ["d"] = "Patrunzatoare"},
                            {["b"] = 17, ["d"] = "Tare Semi-Oameni"},
                            {["b"] = 29, ["d"] = "Aparare Sabie"},
                            {["b"] = 30, ["d"] = "Aparere doua maini"},
                            {["b"] = 31, ["d"] = "Aparare Pumnal"},
                            {["b"] = 32, ["d"] = "Aparare Clopot"},
                            {["b"] = 33, ["d"] = "Aparere evantai"},
                            {["b"] = 34, ["d"] = "Rezistenta la sageti"},
                            {["b"] = 35, ["d"] = "Rezistenta la foc"},
                            {["b"] = 37, ["d"] = "Rezistenta la Magie"},
                            {["b"] = 48, ["d"] = "Imun la necunostinta"},
                            {["b"] = 49, ["d"] = "Imun la incetinire"},
                            {["b"] = 50, ["d"] = "Imun la cazatura"},
                            {["b"] = 53, ["d"] = "Valoarea atacului"},
                            {["b"] = 54, ["d"] = "Aparare"},
                            {["b"] = 55, ["d"] = "Valoarea atacului magic"},
                            {["b"] = 56, ["d"] = "Aparare Magica"},
                            {["b"] = 59, ["d"] = "Tare impotriva razboinicilor"},
                            {["b"] = 60, ["d"] = "Tare impotriva Ninja"},
                            {["b"] = 61, ["d"] = "Tare impotriva Sura"},
                            {["b"] = 62, ["d"] = "Tare impotriva Shaman"},
                            {["b"] = 63, ["d"] = "Tare Impotriva monstrilor"},
                            {["b"] = 71, ["d"] = "Paguba competentei"},
                            {["b"] = 72, ["d"] = "Paguba Medie"},
                            {["b"] = 73, ["d"] = "Rezistenta la paguba competentei"},
                            {["b"] = 74, ["d"] = "Rezistenta la paguba medie"},
                            {["b"] = 78, ["d"] = "Aparare contra Razboinic"},
                            {["b"] = 79, ["d"] = "Aparare contra Ninja"},
                            {["b"] = 80, ["d"] = "Aparare contra Sura"},
                            {["b"] = 81, ["d"] = "Aparere contra Samanilor"},
                        }
    
                        local t = {}
                        for i = 1, table.getn(s) do
                            table.insert(t, s[i]["d"])
                        end
                        table.insert(t, "Renunta")
    
                        -- =======================
                        -- ALEGERE PIETRE
                        -- =======================
                        if opt == 2 or opt == 4 then
                            say_title_center("Alege prima piatra:")
                            local u = select_table(g)
                            if u == table.getn(g) then return end
                            l1 = r[u]["p"]
    
                            say_title_center("Alege a doua piatra:")
                            u = select_table(g)
                            if u == table.getn(g) then return end
                            l2 = r[u]["p"]
    
                            say_title_center("Alege a treia piatra:")
                            u = select_table(g)
                            if u == table.getn(g) then return end
                            l3 = r[u]["p"]
                        end
    
                        -- =======================
                        -- ALEGERE BONUSURI
                        -- =======================
                        if opt == 3 or opt == 4 then
                            for i = 0, 6 do
                                say_title_center(string.format("Alege bonusul %d:", i + 1))
                                local l = select_table(t)
                                if l == table.getn(t) then return end
                                local b = s[l]["b"]
                                local p = 0
    							if b ~= 0 then
    								say_title_center(string.format("Introdu valoarea bonusului %d:", i + 1))
    								p = tonumber(input())
    								if p == nil then p = 0 end
    								if p > 20000 then
    									say_title_center("Valoarea maxima pentru bonus este 20.000!")
    									return
    								end
    							end
    							bonus[i] = {b = b, p = p}
                            end
                        end
    
    
    
    
    
                        -- =======================
                        -- PREVIEW FINAL CU ENTER-uri și SIZE
                        -- =======================
                        say_size(450, 480)
                        say_title_center("Vrei sa creezi acest obiect?")
                        say("Ai configurat urmatorul item:")
                        say_item_vnum(y2)
    					say("Cantitate: "..qty)
                        say_verde("Pietre introduse:")
                        say("Piatra 1: "..(l1 ~= 0 and item_name(l1) or "Nicio piatra"))
                        say("Piatra 2: "..(l2 ~= 0 and item_name(l2) or "Nicio piatra"))
                        say("Piatra 3: "..(l3 ~= 0 and item_name(l3) or "Nicio piatra"))
    
                        say_verde("Bonusuri introduse:")
                        show_bonus_list(bonus, s)
    
                        say("[ENTER][ENTER][ENTER]")
                        local conf = select("Da, doresc sa il creez", "Renunt")
                        
                        -- =======================
                        -- RENUNȚARE LA CREARE
                        -- =======================
                        if conf == 2 then
                            say_size(450, 480)
                            say_title_center("Ai renuntat la crearea obiectului.")
                            say_item_vnum(y2)
    						say("Cantitate: "..qty)
                            say_verde("Pietre introduse:")
                            say("Piatra 1: "..(l1 ~= 0 and item_name(l1) or "Nicio piatra"))
                            say("Piatra 2: "..(l2 ~= 0 and item_name(l2) or "Nicio piatra"))
                            say("Piatra 3: "..(l3 ~= 0 and item_name(l3) or "Nicio piatra"))
                            say_verde("Bonusuri introduse:")
                            show_bonus_list(bonus, s)
                            return
                        end
    
                        -- =======================
                        -- CREARE ITEM CU CANTITATE
                        -- =======================
                        pc.give_item2_select(y2, qty)
                        for i = 0, 6 do
                            if bonus[i] ~= nil then
                                item.set_value(i, bonus[i].b, bonus[i].p)
                            end
                        end
                        item.set_socket(0, l1)
                        item.set_socket(1, l2)
                        item.set_socket(2, l3)
    
                        say_size(450, 480)
                        say_title_center("Obiectul a fost creat cu succes!")
                        say_item_vnum(y2)
    					say("Cantitate: "..qty)
                        say_verde("Pietre introduse:")
                        say("Piatra 1: "..(l1 ~= 0 and item_name(l1) or "Nicio piatra"))
                        say("Piatra 2: "..(l2 ~= 0 and item_name(l2) or "Nicio piatra"))
                        say("Piatra 3: "..(l3 ~= 0 and item_name(l3) or "Nicio piatra"))
                        say_verde("Bonusuri introduse:")
                        show_bonus_list(bonus, s)
    
                    -- =======================
                    -- SCHIMBARE PAROLA
                    -- =======================
                    elseif introducereModate == 2 then
                        say_title_center("Introdu cuvantul secret pentru a schimba parola:")
                        local inputSecret = input()
                        if inputSecret ~= secretWord then
                            say_title_center("Cuvantul secret este incorect! Nu poti schimba parola.")
                            return
                        end
    
                        say_title_center("Schimbare parola Modate")
                        say("Introdu parola veche:")
                        local old_pw = input()
                        if old_pw ~= ModateQuestCurrentPassword then
                            say_title_center("Parola veche este incorecta!")
                            return
                        end
    
                        say_title_center("Introdu parola noua:")
                        local new_pw = input()
                        say_title_center("Confirma parola noua:")
                        local confirm_pw = input()
    
                        if new_pw == "" then
                            say_title_center("Parola nu poate fi goala!")
                            return
                        end
    
                        if new_pw ~= confirm_pw then
                            say_title_center("Parolele nu coincid. Incearca din nou!")
                            return
                        end
    
                        ModateQuestCurrentPassword = new_pw
                        say_title_center("Parola a fost schimbata cu succes!")
    
                    -- =======================
                    -- RENUNTA
                    -- =======================
                    elseif introducereModate == 3 then
                        say_title_center("Ai renuntat la panoul Modate.")
                        return
                    end
    
                -- =======================
                -- PAROLA GRESITA
                -- =======================
                else
                    say_title_center("")
                    say_rosu(eroriinp[1])
                    say_galben(eroriinp[2])
                    say_rosu(PwsModateBoogie)
                    say_verde2(eroriinp[3])
                end
            end
        end
    end
    
    
    Questlib.lua:
    Code:
    function show_bonus_list(bonus_table, s_table)
        for i = 0, 6 do
            if bonus_table[i] ~= nil and bonus_table[i].b ~= 0 then
                local name = "Unknown"
                for j = 1, table.getn(s_table) do
                    if s_table[j].b == bonus_table[i].b then
                        name = s_table[j].d
                        break
                    end
                end
                say_verde2(string.format("- %s: %d", name, bonus_table[i].p))
            else
                say("- Fara bonus")
            end
        end
    end
    
    
    
    
    -- Schimba Parola INPUT GLOBAL TINE MINTE PAROLA , Atentie caci se aplica la toate quest urile de o folositi, mare grija pentru ca poate schimba parola si la alte quest uri!
    function ModateQuestChangePassword()
        local current_password = ModateQuestPassword() -- ia parola actual? global?
        say("Introdu parola noua:")
        local new_pw = input()
        say("Confirma parola noua:")
        local confirm_pw = input()
    
        if new_pw == "" then
            say("Parola nu poate fi goala!")
            return
        end
    
        if new_pw ~= confirm_pw then
            say("Parolele nu coincid. Incearca din nou!")
            return
        end
    
        -- seteaza parola noua global
        ModateQuestPassword(new_pw)
        say("Parola a fost schimbata cu succes!")
    end
    
    Questfunctions:
    Code:
    show_bonus_list
    ModateQuestChangePassword
    

    🔥 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: