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

Deconectat
Avatar utilizator
MenDarK
Mister Just4Metin
Mister Just4Metin
Mesaje: 988
Membru din: 27 Iul 2013
Localitate: Bucureşti .
Reputație: Moderator [1.55/3.0]
Fost Trial Moderator
Fost Super Moderator
Tehnician
Status: Nu Mai JOC !
Server Metin2: Nu Mai JOC !
Regat: Shinsoo
Mulțumiri acordate: 0
Mulțumiri primite: 2
Contact:

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

Mesajde MenDarK » 27 Iul 2013, 23:52

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 cur_alignment = pc.get_real_alignment()
       local need_alignment = 1000+500*(skill_level-30)

       test_chat("Punctre rang:"..cur_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 cur_alignment<-19000+need_alignment then
      say_reward("Puncte insuficiente.")
      return
       end

       if cur_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 cur_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 cur_alignment>=0 and cur_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


][center]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 .

Deconectat
Avatar utilizator
Wji
Nivel 2
Nivel 2
Mesaje: 229
Membru din: 11 Aug 2013
Status: Bine Mersi :D
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0
Contact:

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

Mesajde Wji » 11 Aug 2013, 11:28

foarte bune, mersi.

Deconectat
Avatar utilizator
tudorel1
Utilizator interzis !
Utilizator interzis !
Mesaje: 17
Membru din: 23 Aug 2013
Status: Sunt bine mersi ^.^
Server Metin2: Mt2.KaraMora.Com
Mulțumiri acordate: 0
Mulțumiri primite: 0

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

Mesajde tudorel1 » 23 Aug 2013, 08:45

Merg toate?!

Deconectat
Avatar utilizator
.Dănuţ™
Nou Venit
Nou Venit
Mesaje: 32
Membru din: 27 Iul 2013
Status: Sunt bine mersi ^.^
Server Metin2: Metin2 XPC
Regat: Shinsoo
Mulțumiri acordate: 0
Mulțumiri primite: 0

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

Mesajde .Dănuţ™ » 08 Dec 2013, 10:33

Folositor questu` ;)
Tine-o tot asa :d

Deconectat
Avatar utilizator
Metin2CD
Nou Venit
Nou Venit
Mesaje: 22
Membru din: 13 Noi 2013
Status: Sunt bine mersi ^.^
Server Metin2: Metin2CD.info
Mulțumiri acordate: 0
Mulțumiri primite: 0

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

Mesajde Metin2CD » 08 Dec 2013, 12:35

Le-a verificat cineva?

Deconectat
Avatar utilizator
Corsay
Fost Ad Moderator
Fost Ad Moderator
Mesaje: 1105
Membru din: 14 Dec 2013
Localitate: Bucuresti
Status: Ce trebuie sa scriu aici
Server Metin2: Ymir
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 6
Contact:

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

Mesajde Corsay » 15 Dec 2013, 16:21

foarte folositor
Imagine

Deconectat
Avatar utilizator
darkempireforest
Nivel 1
Nivel 1
Mesaje: 84
Membru din: 15 Aug 2013
Localitate: metin2antique.ro
Status: Sunt bine mersi ^.^
Server Metin2: metin2antique.ro
Regat: Chunjo
Mulțumiri acordate: 0
Mulțumiri primite: 0
Contact:

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

Mesajde darkempireforest » 06 Ian 2014, 08:52

Foarte bune .... Si chiar practice...

Deconectat
Avatar utilizator
[GA]Norry
Nivel 1
Nivel 1
Mesaje: 84
Membru din: 25 Ian 2014
Status: Owner Metin2sz
Server Metin2: Metin2Sanchez
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

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

Mesajde [GA]Norry » 25 Ian 2014, 14:38

Frumos ca l-ai postat si aici.

Deconectat
Avatar utilizator
ElFoxina
Nou Venit
Nou Venit
Mesaje: 33
Membru din: 22 Aug 2013
Localitate: Drobeta Turnu Severin
Status: Sunt bine mersi ^.^
Server Metin2: Metin2-Drobeta
Regat: Shinsoo
Mulțumiri acordate: 0
Mulțumiri primite: 0
Contact:

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

Mesajde ElFoxina » 04 Apr 2014, 08:04

Testate de mine.Merg toate.Bravo

Deconectat
Avatar utilizator
WoM2Ania
Nivel 1
Nivel 1
Mesaje: 88
Membru din: 14 Feb 2014
Status: Sunt bine mersi ^.^
Regat: Chunjo
Mulțumiri acordate: 0
Mulțumiri primite: 0
Contact:

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

Mesajde WoM2Ania » 05 Apr 2014, 19:15

Foarte bune. Practice dar numai pe serverele cu levele max 250 up.


Înapoi la “Quest-uri”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: andrea1212, CatoiAlexandru, CulitaStefan2, darscorpion, dumitru95 și 12 vizitatori