[QUEST-URI]Cateva quest-uri utile pentru server!

Avatar utilizator
MenDarK
Nivel 6

Nivel 6
Mesaje: 998
Membru din: 27 Iul 2013, 12:55
Server: Nu Mai JOC !
Regat: Shinsoo
Aprecieri: 0
Mulţumiri: 250  
 Contact:
Medalii

Salutare J4M , Astăzi o sa va prezint cîteva quest'uri pentru serverul dumnevoastră de metin2.
Good Lack :)

Camera de cristal 100% ro cu diacritice.

Cod: Selectaţi tot

quest camera_de_cristal begin
state start begin
        
        when 30123.chat."Templul Dragonului." with pc.get_map_index() == 73 begin
        if get_time() > game.get_event_flag("Grotte_time") then
        game.set_event_flag("Grotte_zugang",0)
        end
        if pc.is_gm() or pc.count_item(80041) >= 1 then
        say_title(""..mob_name(30123).."")
        say("Bun venit "..pc.get_name().."")
        say("Nu ai nevoie nici de chei nici de parola")
        say("esti GM poti intra cand vrei.")
        wait()
        pc.warp(843200, 1066900)
        return
        end
        if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) < 3 then
        say_title(""..mob_name(30123).."")
		say_reward("Pentru a intra în templul lui Beran,")
        say_reward("ai nevoie de "..item_name(30179).."")
        say_item_vnum(30179)
        say_reward("Aceastã cheie rãsucitã picã la Cãpitanul Setaou.")
		say_reward("Ai nevoie de trei Chei Rãsucite pentru a intra.")
        return
        end
        if game.get_event_flag("Grotte_zugang") == 1 then
        say_title(""..mob_name(30123).."")
        pc.setqf("grotte_passworto", 078954687921)
        if pc.getqf("abgabe") == 1 then
        pc.setqf("abgabe",0)
        say("Ai cele trei Chei Rãsucite.")
        say("Te voi teleporta imediat în camera de cristal.")
        pc.setqf("erlaubt",1)
        wait()
        pc.warp(843200, 1066900)
        return
        end
        say("Introdu codul ales de liderul grupului.")
        local passwort = tonumber(input(""))
        --pc.setqf("grotte_passworto", passwort) 
        if game.get_event_flag("Grotte_passwort") == passwort then
        say_title(""..mob_name(30123).."")
        say("Ai introdus codul corect.")
        if pc.count_item(30179) < 3 then
        say("Nu te pot teleporta deoarece nu ai")
        say(""..item_name(30179).."")
        say_item_vnum(30179)
        say("Ai nevoie de cele trei Chei Rãsucite.")
        return
        end
        say("Te voi teleporta imediat.")
        pc.setqf("erlaubt",1)
        wait()
        if pc.can_warp() then   
	 pc.remove_item("30179",3) end
        pc.warp(843200, 1066900)
        elseif passi != pc.getqf("grotte_passworto") then
        say_title(""..mob_name(30123).."")
        say("")
        return
        end
        end
        if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) >= 3 then
        say_title(""..mob_name(30123).."")
        say("Deþin în mine, ultima suflare a zeului dragon.")
		say("Aceastã suflare magicã te pot ajuta sã mergi în")
		say_reward("Camera de cristal.")
		say("")
        say("Ai nevoie de cele trei chei rãsucite.")
        local i = select("Da, Vreau", "Nu, Mulþumesc")
        if 1 == i then
        say_title(""..mob_name(30123).."")
        say("Ai nevoie de un cod pentru tine ºi grupul tãu.")
		say("Codul pe care îl vei introduce, va trebui sã ")
		say("conþinã maxim 2 cifre.")
        local passwort = tonumber(input(""))
        if passwort and passwort <= 999999999 and pc.count_item(30179)>=1 then
        game.set_event_flag("Grotte_zugang",1)
        game.set_event_flag("Grotte_passwort",passwort)
        local times = get_time() + 300 --Wartezeit
        game.set_event_flag("Grotte_time", times)
        say_title(""..mob_name(30123).."")
        pc.setqf("abgabe",1)
        say("Parola aleasa este: "..passwort.."")
        notice_in_map("[Pocal Magic]:Parola camerei alese este "..passwort.." ")
        pc.remove_item("30179",3)
        else 
        say_title(""..mob_name(30123).."")
        say("Nu ai scris codul corect.")
        end
        end
        end
        end
    when login with pc.get_map_index() == 189 and not pc.is_gm() begin
        if pc.count_item("80041") >= 1 then chat("") return end
        if pc.get_level() < 75 or pc.getqf("erlaubt") == 0 and pc.get_map_index() == 189 then
        chat("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ")
            warp_to_village()
        end
        notice_in_map("[Camera de cristal]:Bun venit în camera de cristal ! Începem prima sarcinã a voastrã.")
        notice_in_map("[Camera de cristal]:Spargeþi toate metinele, si aflaþi care este metinul corespunzãtor.")
        pc.set_warp_location(73 , 1825, 12207)
        end
    when 8031.kill with pc.get_map_index() == 189 begin
        timer("skipia_boss_goo", 10)
        notice_in_map("[Camera de cristal]:Aþi spart metinul corespunzãtor.")
	 notice_in_map("[Camera de cristal]:Îl veþi întâlni pe Beran-Setaou. Ce veþi face ?")
	 d.kill_all()
        end
    when skipia_boss_goo.timer begin
        game.set_event_flag("Grotte_zugang",0)
        d.new_jump_all(189, 8427, 10669)
        d.setf("grotte_boss", 1)
        d.spawn_mob(9012, 247, 173)
        end
    when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
    local n =d.getf("count") + 1
    d.setf("count", n) 
    notice_in_map("[Camera de cristal]:Aþi spart pânã acum "..n.." metine.")
    if n > 2 then
    local t = number(1,4)
    notice_in_map("[Camera de cristal]:Beran-Setaou este foarte furios.")
	notice_in_map("[Camera de cristal]:Cheama ºi mai multe metine.")
    if 1 == t then
    d.regen_file("data/dungeon/skia_boss1.txt")
    elseif 2 == t then
    d.regen_file("data/dungeon/skia_boss2.txt")
    elseif 3 == t then
    d.regen_file("data/dungeon/skia_boss3.txt")
    else
    d.regen_file("data/dungeon/skia_boss4.txt")
    end
    end
    end
    when 2493.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
        d.setf("grotte_boss", 3)
        notice_all("Cu o ultimã suflare de speranþã liderul "..pc.get_name().."")
        notice_all("Urmat de rãzboinici lui de încredere, au reuºit sã învingã Dragonul Albastru.")
        timer("skipia_boss_end", 60)
		d.spawn_mob(9012, 64, 142)
        d.kill_all()
        d.clear_regen()
        end

    when login with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
    pc.set_warp_location(73 , 1825, 12207)
    end
    when login with pc.in_dungeon() and d.getf("grotte_boss") == 1 begin
        timer("skipia_boss_end", 3600)    
        d.set_regen_file("data/dungeon/skia_boss.txt")
        local t = number(1,4)
        if 1 == t then
            d.regen_file("data/dungeon/skia_boss1.txt")
            elseif 2 == t then
            d.regen_file("data/dungeon/skia_boss2.txt")
            elseif 3 == t then
            d.regen_file("data/dungeon/skia_boss3.txt")
            else
            d.regen_file("data/dungeon/skia_boss4.txt")
        end
        local o = number(1,4)
        if 1 == o then
            d.regen_file("data/dungeon/skia_boss5.txt")
            elseif 2 == o then
            d.regen_file("data/dungeon/skia_boss6.txt")
            elseif 3 == o then
            d.regen_file("data/dungeon/skia_boss7.txt")
            else
            d.regen_file("data/dungeon/skia_boss8.txt")
            end    
        d.setf("grotte_boss", 2)
        d.notice("[Camera de cristal]:Aveþi la dispozitie 60 de minute sã îi capturaþi sufletul lui Beran.")
        d.setf("count", 0)
        pc.set_warp_location(73 , 1825, 12207)
        end

    when login with pc.in_dungeon() and d.getf("grotte_boss") == 3 begin -- begin
    --pc.warp(181700, 1220600)
    end
    when skipia_boss_end.timer begin
        d.exit_all()
        end
    when skipia_boss_ende.timer begin
        kill_all_in_map(189)
        game.set_event_flag("Grotte_zugang",0)
        d.setf("grotte_boss", 1)
        d.exit_all()
    end
    when login with pc.get_map_index() != 189 or not pc.in_dungeon() begin
    pc.setqf("erlaubt",0)
    end
    end
end 
Eveniment cufere clar de luna cu panou activare/dezactivare la NPC 9004 + panou de setare drop.

Cod: Selectaţi tot

quest cufere_clar_luna begin
    state start begin
        when login begin
            if game.get_event_flag("mondlicht_event") == 1 then
                notice("[Eveniment]Cufãr Clar de Lunã: Activ")
            end
        end
        when kill begin
            local m_ind = pc.get_map_index()
            if npc.is_pc() then
            else
                if m_ind == 1 or m_ind == 3 or m_ind == 21 or m_ind == 23 or m_ind == 41 or m_ind == 43 and pc.get_level() <= 100 then
                    if game.get_event_flag("mondlicht_event") == 1 then
                        local chance = number(1, 100)
                        local chance_max = game.get_event_flag("mond_drop_chance")
                        if chance <= chance_max then
                            pc.give_item2(50011)								
                        else
                        end
                    else
                    end
                elseif m_ind == 63 or m_ind == 64 and pc.get_level() <= 100 then
                    if game.get_event_flag("mondlicht_event") == 1 then
                        local chance = number(1, 100)
                        local chance_max = game.get_event_flag("mond_drop_chance")
                        if chance <= chance_max then
                            pc.give_item2(50011)									
                        else
                        end
                    else
                    end
                elseif m_ind == 65 or m_ind == 61 or m_ind == 104 and pc.get_level() <= 100 then
                    if game.get_event_flag("mondlicht_event") == 1 then
                        local chance = number(1, 100)
                        local chance_max = game.get_event_flag("mond_drop_chance")
                        if chance <= chance_max then
                            pc.give_item2(50011)								
                        else
                        end
                    else
                    end
                elseif m_ind == 62 or m_ind == 71 or m_ind == 67 and pc.get_level() <= 100 then
                    if game.get_event_flag("mondlicht_event") == 1 then
                        local chance = number(1, 100)
                        local chance_max = game.get_event_flag("mond_drop_chance")
                        if chance <= chance_max then
                            pc.give_item2(50011)								
                        else
                        end
                    else
                    end
                elseif m_ind == 68 or m_ind == 72 or m_ind == 73 or m_ind == 66 and pc.get_level() <= 100 then
                    if game.get_event_flag("mondlicht_event") == 1 then
                        local chance = number(1, 100)
                        local chance_max = game.get_event_flag("mond_drop_chance")
                        if chance <= chance_max then
                            pc.give_item2(50011)								
                        else
                        end
                    else
                    end
                elseif m_ind == 103 or m_ind == 70 or m_imd == 69 and pc.get_level() <= 100 then
                    if game.get_event_flag("mondlicht_event") == 1 then
                        local chance = number(1, 100)
                        local chance_max = game.get_event_flag("mond_drop_chance")
                        if chance <= chance_max then
                            pc.give_item2(50011)								
                        else
                        end
                    else
                    end
                end
            end
        end
        when 9004.chat."<GM> Eveniment Cufere" with pc.is_gm() begin
            if game.get_event_flag("mondlicht_event") == 1 then
                say_title("Administrare Eveniment:")
                say("")
                say("[Eveniment]Cufãr Clar de Lunã: Activ")
                say("")
                say_reward("Event Beenden?")
                local s=select("Da", "Nu")
                if s==1 then
                    say_title("Administrare Eveniment:")
                    say("")
                    say("Evenimentul a luat sfârsit .")
                    say("~ Pe data viitoare !")
                    game.set_event_flag("mondlicht_event", 0)
                    char_log(0, "Mondlicht_event_end from" ..pc.get_name())
                    notice_all("[Eveniment]Cufãr Clar de Lunã: Terminat")
                elseif s==2 then
                    say_title("Administrare Eveniment:")
                    say("")
                    say("~ Pe curând !")
                end
            else
                say_title("Administrare Eveniment:")
                say("")
                say("Cufãr Com Clar De Lunã : ~ Închis ")
                say("")
                say_reward("Start Eveniment?")
                local s=select("Da", "Nu")
                if s==1 then
                    say_title("Administrare Eveniment:")
                    say("")
                    say("[Eveniment]Cufãr Clar de Lunã: A inceput")
                    game.set_event_flag("mondlicht_event", 1)
                    char_log(0, "Mondlicht_event_start from" ..pc.get_name())
                    notice_all("[Eveniment]Cufãr Clar de Lunã: A inceput!")
                elseif s==2 then
                    say_title("Administrare Eveniment:")
                    say("")
                    say("~ Pe curând !")
                end
            end
        end
        when 9004.chat."<GM> Dropul Cuferelor" with pc.is_gm() begin
            if pc.get_name() == "[SGA]Pinguu" or pc.get_name() == "[SGA]DnZ" or pc.get_name() == "[SGA]Pinguu" then
                say_title("Administrare Eveniment:")
                say("")
                say("Cat de mult sã fie dropul acestora ?")
                say("")
                say_reward("Între 1-100")
                say("")
                local new_chance = tonumber(input())
                if new_chance < 0 or new_chance > 100 then
                    say_title("Administrare Eveniment:")
                    say("")
                    say("Introducere incorectã ~")
                else
                    char_log(0, "Mondlicht_event_chance from" ..pc.get_name().. " to " ..new_chance.. "%")
                    game.set_event_flag("mond_drop_chance", new_chance)
                    say_title("Administrare Eveniment:")
                    say("")
                    say("Dropul actual " ..new_chance.. " setat.")
                    say("~ Pe curând !")
                end
            else
                say_title("Administrare Eveniment:")
                say("")
                say("Nu ai dreptul pentru a executa evenimentul .")
            end
        end
    end
end 
Switch Fix. Permite jucatorului sa ia schimba bonus de la un NPC 20094 introducand un cod PIN. Acesta nu poate lua alte bonusuri daca are deja in inventar.

Cod: Selectaţi tot

quest switch_fix begin
                state start begin                 
                        when 20094.chat."Cumpara Vrajeste obiectul" begin
                                local pcLevel = 10
                                local minItem = 1
                                local maxItem = 200
				    local itemValue = 71084
                                local singleCost = 5000
                                say_title("Hong-Hae:")
                                say_reward("Buna, eu sunt Hong-Hae.")
                                say_reward("Cu ajutorul meu, vei cumpara cate Vrajeste Obiectul")
                                say_reward("vrei, pentru a-ti schimba bonusurile de pe iteme.")
                                say_item_vnum(itemValue)
                                say_reward("Introduceti câte Vrajeste Obiectul doriti sa")
				    say_reward("cumparati. Totusi, puteti cumpara numai o suma")
                 		    say_reward(string.format("exacta, intre %d si %d de bucati.", minItem, maxItem))
                                local quant = math.floor(tonumber(input()))
                                if quant < minItem or quant> maxItem or quant == nil then
                                        say_title("Hong-Hae:")
                                        say_reward("Îmi pare rau, nu am asa de multe bonusuri.")
                                        say_reward(string.format("Suma trebuie sa fie între %d si %d", minItem, maxItem))
                                        return
                                end
                                say_title("Hong-Hae:")
                                say_reward("Ei bine, a?i facut decizia perfecta.[ENTER]")
                                say_reward(string.format("Numarul solicitat: %d", quant))
                                say_reward(string.format("Nivel necesar: %d", pcLevel))
                                say_reward(string.format("Nivelul tau: %d", pc.get_level()))
                                say_reward(string.format("Un singur Vrajeste obiectul costa: %d Yang", singleCost))
                                say_reward("")
                                local price = quant*singleCost
                                say_reward(string.format("Suma totala: %d Yang.", price))
                                say_reward("")
                                say_reward("Introduceti codul de mai jos, pentru cumparare.")
                                local psw = number(10000,99999)
                                say_reward("Cod de siguranta: "..psw)
                                local check = tonumber(input())
                                --controlli--
                                say_title("Hong-Hae:")
                                if check != psw or check == nil then
                                        say_reward("Codul introdus nu se potrive?te.")
                                        say_reward("Introduceti-l corect data viitoare.")
                                        return
                                end
                                if pc.count_item(itemValue) > 0 then
                                        say_reward("Nu poti primi alte Vrajeste Obiectul")
                                        say_reward("Prima data terminale pe cele din inventar.")
                                        return
                                end
                                if pc.get_gold() < price then
                                        say_reward("Nu aveti suficienti yang,")
                                        say_reward("revino când ai suma necesara.")
                                        return
                                end
                                if pc.get_level() < pcLevel then
                                        say_reward("Nu ai nivelul necesar pentru a continua.")
                                        say_reward("Reintoarcete înapoi când ai nivelul necesar.")
                                        return
                                end
                                -- end control--
                                say_reward("Multumesc ca ai cumparat, ai primit")
                                say_item_vnum(itemValue)
                                say_reward("Mai vino pe aici, cand ai nevoie!")
                                pc.changegold(-price)
                                pc.give_item2(itemValue, quant)
                        end
                end
        end
Piatra spirit 100% RO cu diacritice.

Cod: Selectaţi tot

quest training_gRangmaster_skill begin
    state start begin
	when 50513.use begin
	    say_title("Piatra Spiritului")

	    if pc.get_skill_group() == 0 then
		say("Nu ai nicio aptitudine"..pc.get_skill_group())
		return
	    end

	    if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
		if pc.is_skill_book_no_delay() then
		    say("Aceast lucru vă permite")
		    say("perfecţionarea competenţelor.")
		    say("")
		    wait()
		    say_title("Piatra Spiritului")
		else
		    say("Trebuie să aşteptaţi.")
		    return
		end
	    end

	    local result = training_gRangmaster_skill.BuildGRangMasterSkillList(pc.get_job(), pc.get_skill_group())

	    local vnum_list = result[1]
	    local name_list = result[2]

	    if table.getn(vnum_list) == 0 then
		say("Nu iti poti perfectiona competentele!")
		return
	    end

	    say("Alegeti o competenta din urmatoarele.")
	    say("")

	    local menu_list = {}
	    table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
	    table.insert(menu_list, "Renunta") 

	    local s=select_table(menu_list)
	    if table.getn(menu_list) == s then
		return
	    end

	    local skill_name=name_list[s]
	    local skill_vnum=vnum_list[s]
	    local skill_level = pc.get_skill_level(skill_vnum)
	    local -cenzurat-_alignment = pc.get_real_alignment()
	    local need_alignment = 1000+500*(skill_level-30)

	    test_chat("Punctre rang:"..-cenzurat-_alignment)
	    test_chat("Rang negativ prea mare:"..need_alignment)

	    local title=string.format("%s a reuşit", skill_name, skill_level-30+1)

	    say_title(title)
	    say("Atunci când citiţi piatra spiritului")
	    say("pierzi punctaj din grad!")
	    say("")

	    if -cenzurat-_alignment<-19000+need_alignment then
		say_reward("Puncte insuficiente.")
		return
	    end

	    if -cenzurat-_alignment<0 then
		say_reward(string.format("Puncte necesare: %d -> %d", need_alignment, need_alignment*2))
		say_reward("pentru a mari competenta")
		need_alignment=need_alignment*2
	    elseif -cenzurat-_alignment<need_alignment then
		say_reward(string.format("Puncte necesare: %d", need_alignment))
		say_reward("Rang negativ prea mare")
	    else
		say_reward(string.format("Puncte necesare: %d", need_alignment))
	    end
	    say("")

	    local s=select("Mai mult", "Renunta")	
	    if s==2 then
		return
	    end


	    if -cenzurat-_alignment>=0 and -cenzurat-_alignment<need_alignment then
		say_title(string.format("Piatra Spiritului", title))
		say("A venit timpul!!")
		say("Pentru antrenament,")
		say("Va rugam sa scrieti : Antrenament")
		say("")
		say("")
		say_reward("Antrenament")
		say("")
		say("")
		local s=input()
		if s!="Antrenament" then
		    return
		end
	    end

	    if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
		if pc.is_skill_book_no_delay() then
		    pc.remove_skill_book_no_delay()
		else
		    say("Sa vedeam ce-ai reusit")
		    return
		end
	    end

	    pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))

	    if need_alignment>0 then
		if pc.learn_gRang_master_skill(skill_vnum) then
		    pc.change_alignment(-need_alignment)


		    say_title(string.format("%s ", title))
		    if 40 == pc.get_skill_level(skill_vnum) then
			say(string.format("%s este deja Perfect", skill_name))
		    else
			say(string.format("%s Succes", skill_name, skill_level-30+1+1))
		    end
		    say("")
		    say_reward("Succes!")
		    say_reward(string.format("Puncte luate %d ", need_alignment))
		    say("")
		else
		    say_title(string.format("%s ", title))
		    say("Acest lucru nu este elaborat ,din pacate.")
		    say("")
		    say_reward("Ai esuat!")
		    say("Mai Incearca")
		    pc.change_alignment(-number(need_alignment/3, need_alignment/2))
		end
	    end

	    item.remove()
	end
	function BuildGRangMasterSkillList(job, group)
	    GRang_MASTER_SKILL_LEVEL = 30
	    PERFECT_MASTER_SKILL_LEVEL = 40

	    local skill_list = special.active_skill_list[job+1][group]
	    local ret_vnum_list = {}
	    local ret_name_list = {}

	    -- test_chat(string.format("job=%d, group=%d", job, group))

	    table.foreach(skill_list, 
	    function(i, skill_vnum) 
		local skill_level = pc.get_skill_level(skill_vnum)

		-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
		if skill_level >= GRang_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then

		    table.insert(ret_vnum_list, skill_vnum)
		    local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
		    if name == nil then name=skill_vnum end
		    table.insert(ret_name_list, name)
		end
	    end)
	    return {ret_vnum_list, ret_name_list}


	    --return {ret_vnum_list, ret_name_list}
	end
    end
end
Clasament TOP 10 direct in joc la un NPC. Eu il am la fierar.

Cod: Selectaţi tot

quest rank_list begin
    state start begin
       when 20016.chat."Top 10" begin
            local jucator = mysql_query("SELECT * FROM player.player WHERE player.name NOT LIKE '[%]%' ORDER BY player.level DESC, player.exp DESC","root","rootpw","player","rootip")
            say_title("Top 10 al jucatorilor:")
            say("Locul 1:     Name: "..jucator.name[1].."    Level: "..jucator.level[1].." ")
            say("Locul 2:     Name: "..jucator.name[2].."    Level: "..jucator.level[2].." ")
            say("Locul 3:     Name: "..jucator.name[3].."    Level: "..jucator.level[3].." ")
            say("Locul 4:     Name: "..jucator.name[4].."    Level: "..jucator.level[4].." ")
            say("Locul 5:     Name: "..jucator.name[5].."    Level: "..jucator.level[5].." ")
            say("Locul 6:     Name: "..jucator.name[6].."    Level: "..jucator.level[6].." ")
            say("Locul 7:     Name: "..jucator.name[7].."    Level: "..jucator.level[7].." ")
            say("Locul 8:     Name: "..jucator.name[8].."    Level: "..jucator.level[8].." ")
            say("Locul 9:     Name: "..jucator.name[9].."    Level: "..jucator.level[9].." ")
            say("Locul 10:     Name: "..jucator.name[10].."    Level: "..jucator.level[10].." ")
        end
    end
end
Intrarea in grota la Koe-Pung. Cere 1 piatra insangerata si nivel 75.

Cod: Selectaţi tot

uest intrare_v3 begin
	state start begin
		when login or levelup with pc.level >74 begin
			set_state(v3transport)
		end
	end
		
	state v3transport begin
		when 20092.chat."Intra in Grota Exilului" begin
			say(""..mob_name(20092).."")
			say("Locatia grotei este cunoscuta de foarte putini")
			say("si cei care cunosc locatia o tin secreta.Dragonul")
			say("Negru conduce lumea de jos si tot ce apartine de")
			say("aceasta lume.El este inca plin de ura fata de")
			say("toate lucrurile vii.Si toti care ii trec calea")
			say("vor simti furia sa.")
			wait()
			if pc.get_premium_remain_sec(PREMIUM_EXP) > 0 then
				say("Esti pregatit sa treci de pragul lumii")
				say("civilizate?Daca ai peste nivelu 75 si")
				say("pasajul de trecere te voi teleporta in")
				say("Grota Exilului!")
				say("")
				wait()
			end
			if pc.count_item(30191) >0 and pc.level >74 then				
				say(""..mob_name(20092).."")
				say("Pregatestete!Te voi duce unde doar marii")
				say("eroi au acces!Ai grija!")
				pc.remove_item(30191)
				char_log(0,"GO_SPIDER2","USE_ITEM(30191)")
				wait()
			elseif pc.count_item(30191) >0 and pc.level >74 then
				say(""..mob_name(20092).."")
				say("Nu ai permisul de trecere, sau")
				say("nivelu necesar.Intoarcete doar")
				say("cand indeplinesti cerintele.")				
				char_log(0,"GO_SPIDER2","USE_ITEM(3217321)")
				wait()
				return
			else
				say(""..mob_name(20092).."")
				say("Nu ai permisul de trecere, sau")
				say("nivelu necesar.Intoarcete doar")
				say("cand indeplinesti cerintele.")
				wait()
				return
			end
				
			say("Pregatestete!Te voi duce unde doar marii")	
			say("eroi au acces!Ai grija!")	
			wait()
			pc.warp(9900,1207900)
			return
		end

	end

end
Informatii server

Cod: Selectaţi tot

quest game_info begin
    state start begin
        when login begin
            send_letter("Informaþii Server")
        end
        when button or info begin
            say_title("Informaþii Server")
            say("")
            say_title("Echipa Metin2M5:")
            say("Super Game Admin: [SGA]Pinguu")
            say("Game Admin: [SGA]DnZ")
            say("Game Master: [GM] -")
            say("Trial Game Master:[TGM]Irina")            
            say_title("Ratele serverului:")
            say("Yang: 350%")
            say("Exp: 200%")
            say("Drop: 250%")
            say_title("Pentru mai multe multe informaþii vizitaþi:")
            say("www.metin2m5.ro")
            say_reward("Þine minte .. joacã corect!")
            say_title("Sã ai un joc plãcut "..pc.get_name())
        end
    end
end  
Pescar-Imbunatatire undita,deschidere shop, etc.

Cod: Selectaţi tot

uest fisher begin
    state start begin
		when 9009.chat."Magazin"  begin
		    npc.open_shop()
			setskin(NOWINDOW)
		end
	
		when 9009.chat."Îmbunătăţire Undiţă" begin
			say("Pescar:")
			say("Eu sunt marele pescar din acest sat")
			say("Şi stiu un mare secret de îmbunătăţire a undiţelor")
			say("Vino la mine cu undiţa cand ai facut punctele")
			say("maxime iar eu prin puterea mea o voi face")
			say("si mai bună pentru a prinde mai mulţi peşti cu ea.")
			say("")
			say("")
			say("")
			say("")
			say("")
			say("")
			say("")
		end

		when 9009.take with item.vnum < 27400 or item.vnum > 27590 begin
			say("Pot să îmbunătăţesc doar undiţe")
			say("")
		end

		when 9009.take with item.vnum == 27590 begin
			say("Undiţa nu poate fi îmbunătăţită.")
			say("")
		end

		when 9009.take with item.vnum >= 27400 and item.vnum < 27590 and item.get_socket(0) != item.get_value(2) begin
			say("Prea puţine puncte pe undiţă")
			say("De aceea nu pot să o îmbunătăţesc.")
			say("")
		end

		when 9009.take with item.vnum >= 27400 and item.vnum < 27590 and item.get_socket(0) == item.get_value(2) begin
			say("Vrei să îmbunătăţesti undiţa?")
			say("Arata-mi undiţa să vad ce pot face ...")
			say(string.format("Puncte pe undiţă: %d .", item.get_value(0) / 10))
			say("Ştii, eu nu sunt chiar aşa de bun în îmbunătăţirea")
			say("undiţelor!")
			say(string.format("100  %d Îmbunătăţirea poate totuşi eşua.", 100 - item.get_value(3)))
			say("Vrei să îmbunătăţesti cu adevărat undiţa?")
			say("")

			local s = select("Da", "Nu")

			if s == 1 then
				local f = __fish_real_refine_rod(item.get_cell())
				if f == 2 then
					say("Nu pot să o îmbunătăţesc acum")
					say("Vino data viitoare dacă vrei")
					say("să o îmbunătăţesti.")
					say("")
				elseif f == 1 then
					say("A fost îmbunătăţită cu succes")
					say("")
				else
					say("îmbunătăţirea nu a reusit.")
					say("Inapoi")
					say("")
				end
			else
				say("")
				say("")
			end
		end
    end
end
Depozit portabil

Cod: Selectaţi tot

quest depozit begin
   state start begin
      when login begin
         send_letter("Depozit Portabil:")
      end
      when info or button begin
         say_title("Depozit Portabil:")
            say("Vrei sa deschizi depozitul?")
            say("")
            local a= select("Da","Nu")
        if 1==a then
            game.open_safebox()
         send_letter("Depozit Portabil:")
        elseif 2==a then
         send_letter("Depozit Portabil")
      end
   end
end
end
Secretul Ierburilor,NPC unde poti face ape/roua din flori.

Cod: Selectaţi tot

quest cube begin
	state start begin
		when 20018.chat."Secretul Ierburilor" with pc.level >= 15 begin
		     say("Bună străine")
            say("Ştii, eu am darul de a")
            say("amesteca ierburi împreună")
            say("şi din ele rezultă anumite poţiuni")
            say("Pot să îţi ofer şi ţie acest serviciu,")
            say("Doar adu-mi plantele!")
			wait()
			setskin(NOWINDOW)
			command("cube open")
			-- say("Succes")
		end


		when 20017.chat."Secretul Ierburilor" with pc.level >= 30 begin
			 say("Bună străine")
            say("Ştii, eu am darul de a")
            say("amesteca ierburi împreună")
            say("şi din ele rezultă anumite poţiuni")
            say("Pot să îţi ofer şi ţie acest serviciu,")
            say("Doar adu-mi plantele!")
			wait()
			setskin(NOWINDOW)
			command("cube open")

		end


		when 20022.chat."Secretul Ierburilor" with pc.level >=45 begin
			say("Bună străine")
            say("Ştii, eu am darul de a")
            say("amesteca ierburi împreună")
            say("şi din ele rezultă anumite poţiuni")
            say("Pot să îţi ofer şi ţie acest serviciu,")
            say("Doar adu-mi plantele!")
			say("Ştii tu ...din mâna mea ies")
			say("cele mai bune poţiuni de")
			say("pe acest tărâm.")
			say("Ce zici, vrei să încerci şi tu?")
			wait()
			setskin(NOWINDOW)
			command("cube open")
		end		
end
end
Tinctura regatelor 100% ro cu diacritice.

Cod: Selectaţi tot

quest change_empire_item begin
	state start begin
		when login with pc.getqf("special_func") == 0 begin
			if pc.get_empire() == 1 then
				affect.add_collect(apply.GOLD_DOUBLE_BONUS,10,60*60*24*365*4)
				affect.add_collect(apply.ITEM_DROP_BONUS,10,60*60*24*365*4)
				affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10,60*60*24*365*4)
				pc.setqf("special_func", 1)
			elseif pc.get_empire() == 2 then
				affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*4)
				affect.add_collect(apply.MAX_HP,1000,60*60*24*365*4)
				affect.add_collect(apply.EXP_DOUBLE_BONUS,10,60*60*24*365*4)
				pc.setqf("special_func", 2)
			elseif pc.get_empire() == 3 then
				affect.add_collect(apply.STR,10,60*60*24*365*4)
				affect.add_collect(apply.CON,10,60*60*24*365*4)
				affect.add_collect(apply.INT,10,60*60*24*365*4)
				affect.add_collect(apply.DEX,10,60*60*24*365*4)
				affect.add_collect(apply.GOLD_DOUBLE_BONUS,10,60*60*24*365*4)
				pc.setqf("special_func", 3)
			end			
		end		
		when 71054.use begin
			say_title("Tinctura Regatului")
			say("Cu aceastã tincturã poþi sã")
			say("îþi schimbi regatul cu unul nou")
			say("pe care tu îl doreºti.")
			say("")
			if get_time() < pc.getqf("next_use_time") then
				say_reward("Nu puteþi schimba regatul.")
				if pc.is_gm() then
					pc.setqf("next_use_time", 0)
				end
				return
			end
			if change_empire_item.move_pc() == true then
				if pc.getqf("special_func")==1 then
					affect.remove_collect(apply.GOLD_DOUBLE_BONUS,10)
					affect.remove_collect(apply.ITEM_DROP_BONUS,10)
					affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,10)
				elseif pc.getqf("special_func")==2 then
					affect.remove_collect(apply.ATT_GRADE_BONUS)
					affect.remove_collect(apply.MAX_HP,1000)
					affect.remove_collect(apply.EXP_DOUBLE_BONUS,10)
				elseif pc.getqf("special_func")==3 then	
					affect.remove_collect(apply.STR,10)
					affect.remove_collect(apply.CON,10)
					affect.remove_collect(apply.INT,10)
					affect.remove_collect(apply.DEX,10)
					affect.remove_collect(apply.GOLD_DOUBLE_BONUS,10)
				end
				pc.setqf("special_func", 0)
				pc.setqf("next_use_time", get_time() + time_hour_to_sec(24*7))
			end
		end
		function move_pc()
			if pc.is_engaged() then
				say_reward("Eºti cãsãtorit/ã.")
				say_reward("Nu poþi schimba regatul.")
				return false
			end
			if pc.is_married() then
				say_reward("Eºti cãsãtorit/ã.")
				say_reward("Nu poþi schimba regatul.")
				return false
			end
			if pc.is_polymorphed() then
				say_reward("Eºti transformat.")
				say_reward("Nu poþi schimba regatul.")
				return false
			end
			if pc.has_guild() then
				say_reward("Eºti într-o breaslã.")
				say_reward("Nu poþi schimba regatul.")
				return false
			end
			if pc.money < 500000 then
				say_reward("Nu ai suficient Yang.")
				say_reward("Pentru a schimba regatul ai nevoie de 500.000 Yang.")
				return false
			end
			say_reward("In ce regat vrei sa te muti?")
			local s = select("Regatul Roºu", "Regatul Galben", "Regatul Albastru", "Nu mai vreau")
			if 4==s then
				return false 
			end
			say_title("Tinctura Regatelor")
			say("Vrei sã pãrãseºti acest regat?")
			say("Pentru trãdare nu existã scuze!")
			local a = select("Schimb Regatul", "Nu mai vreau")
			if 2== a then
				return false
			end
			local ret = pc.change_empire(s)
			local oldempire = pc.get_empire()
			if ret == 999 then
				say_title("Tinctura Regatelor")
				say("Ai schimbat regatul cu succes.")
				say("Dacã vei dori sã schimbi din nou regatul")
				say("va trebui sã aºtepþi o sãptãmânã.")
				say("Vã rugãm relogaþi-vã.")
				pc.change_gold(-500000)			
				pc.remove_item(71054)			
				return  true
			elseif ret == 1 then
				say("Eºti deja în acest regat.")
				say("Te rog sã selectezi alt regat.")
			elseif ret == 2 then
				say("Încã nu poþi schimba regatul.")
				say("Nu poþi schimba regatul,")
				say("deoarece ai fost într-o breslã recent.")
			elseif ret == 3 then
				say("Nu poþi schimba regatul.")
				say("Nu poþi schimba regatul,")
				say("deoarece ai fost casatorit recent.")
			end
			return false
		end
	end
end
]
Atenţie: Aceste questuri au fost postate special pentru comunitatea Just4Metin.ro .

Tutorial instalare quest:
1. Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu rasplata.quest .
2. Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
3. Îl puneţi acolo (să fie .quest) şi da-ţi permisiuni 777.
4. Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest apoi ./qc rasplata.quest
5. Intraţi pe server şi scrieţi /reload q .
6. Testaţi quest-ul .
Pentru acest mesaj, MenDarK a primit 4 (de) mulţumiri
marsavu123 • skristy96 • [Reizo] • gustyn
Afișează semnătura
Avatar utilizator
Wji
Nivel 2

Nivel 2
Mesaje: 215
Membru din: 11 Aug 2013, 11:22
Regat: Jinno
Aprecieri: 0
Mulţumiri: 30  
 Contact:
Medalii

foarte bune, mersi.
You want the best tutorials for your Metin2 server ?
You can find here: http://www.4metin2.com
Highlight in contest your Metin2 server !
Afișează semnătura
Avatar utilizator
tudorel1
Utilizator interzis !

Utilizator interzis !
Mesaje: 11
Membru din: 23 Aug 2013, 08:35
Server: Mt2.KaraMora.Com
Aprecieri: 0
Mulţumiri: 0
Medalii

Merg toate?!
Avatar utilizator
.Dănuţ™
Nou Venit

Nou Venit
Mesaje: 31
Membru din: 27 Iul 2013, 14:03
Server: Metin2 XPC
Regat: Shinsoo
Aprecieri: 0
Mulţumiri: 0
Medalii

Folositor questu` ;)
Tine-o tot asa :d
Avatar utilizator
Metin2CD
Nou Venit

Nou Venit
Mesaje: 15
Membru din: 13 Noi 2013, 22:55
Server: Metin2CD.info
Aprecieri: 0
Mulţumiri: 0
Medalii

Le-a verificat cineva?
Avatar utilizator
Corsay
Fost Ad Moderator

Fost Ad Moderator
Mesaje: 1088
Membru din: 14 Dec 2013, 22:29
Server: Ymir
Regat: Jinno
Aprecieri: 0
Mulţumiri: 19  
 Contact:
Medalii

foarte folositor
Imagine
Afișează semnătura
Avatar utilizator
darkempireforest
Utilizator interzis !

Utilizator interzis !
Mesaje: 85
Membru din: 15 Aug 2013, 20:21
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Foarte bune, și chiar practice...
Ultima oară modificat 14 Iun 2018, 19:29 de către [Brahma], modificat 1 dată în total.
Motiv: Corect gramatical
Server PVM cu lycan : http://metin2antique.ro
Afișează semnătura
Avatar utilizator
[GA]Norry
Nivel 1

Nivel 1
Mesaje: 78
Membru din: 25 Ian 2014, 14:15
Server: Metin2Sanchez
Regat: Jinno
Aprecieri: 0
Mulţumiri: 2  
Medalii

Frumos ca l-ai postat si aici.
Norry aka Achile
Imagine
Afișează semnătura
Avatar utilizator
ElFoxina
Nou Venit

Nou Venit
Mesaje: 32
Membru din: 22 Aug 2013, 14:54
Server: Metin2ZNM.COM
Regat: Shinsoo
Aprecieri: 30  
Mulţumiri: 0
 Contact:
Medalii

Testate de mine.Merg toate.Bravo
Imagine
Afișează semnătura
Avatar utilizator
WoM2Ania
Nivel 1

Nivel 1
Mesaje: 88
Membru din: 14 Feb 2014, 11:13
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
 Contact:
Medalii

Foarte bune. Practice dar numai pe serverele cu levele max 250 up.
Afișează semnătura
Răspunde
Răspunsuri
4
Vizualizări
3378
Răspunsuri
10
Vizualizări
9687

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 3 vizitatori