Code:
quest oxevent_manager begin
    state start begin
      when login with pc.get_map_index()==113 begin
         pc.polymorph(34014, 1800)
         command("unmount")
      end
      when letter with pc.get_map_index()==113 begin
         send_letter("Paraseste OX")
      end
      when button or info begin
         say_title("Evenimentul OX")
         say("Dai startul la evenimentul OX?")
         local s=select("Da", "Nu")
         if s==2 then
            send_letter("Paraseste OX")
            return
         end
         local empire = pc.get_empire()
         if empire== 1 then
            pc.warp(433300, 219600)
         elseif  empire == 2 then  
            pc.warp(431500, 209200)
         elseif  empire == 3 then 
            pc.warp(439800, 211000)
         end
      end
        when 20011.chat."Evenimentul OX - 2Metin" begin
            say_title("Uriel")
            say("Hei,salut!Acesta este evenimentul OX")
            say("pe Serverul Metin22Metin!")
            say("Intrebarile vor fi de cultura generala ,si Metin")
            say("Atentie!Toate intrebarile sunt doar")
            say("cu o varianta de raspuns!!")
            wait()      
         if pc.get_level() < 31 then      
            say_title("Uriel :")
            say("")
            say("Îmi pare rau, dar nu ai nivelul necesar pentru")
            say("a participa.")
            say("")
            say_reward("Nivelul minim pentru participare: 30")
            say("")
            return
            elseif game.get_event_flag("oxevent_status") == 0 then
                say_title("Uriel")
                say("GM-ii inca nu au dat startul,dar probabil")
                say("daca vorbesti cu mine acum este gata sa")
                say("inceapa!Fii pe faza.")
            elseif game.get_event_flag("oxevent_status") == 1 then
                say_title("Uriel")
                say("Concursul OX a inceput")
                say("Eu te pot duce acolo..sau nu?")
                local s = select("Particip la OX", "Spectator", "Inapoi")
            if s == 1 then
               say_title("Uriel")
               say("Atunci eu te voi duce in harta unde se")
                    say("tine concursul.Fii pe faza.")
                    wait()
               pc.polymorph(34027, 1800)
               pc.warp(896500, 24600)
                elseif s == 2 then
                    say_title("Uriel")
                    say("Spectator?Pai si premiile?Nu ii inteleg")
                    say("pe tinerii din ziua de azi..Fie cum doresti")
                    say("Am plecat!")
                    wait()
               pc.polymorph(34027, 1800)
                    pc.warp(896300, 28900)
                end
            elseif game.get_event_flag("oxevent_status") == 2 then
                say_title("Uriel")
                say("Concursul a inceput deja,numai poti.")
                say("participa.Data viitoare fi mai rapid.")
                say("Injurile la adresa staff-ului. duc la ban permanent")
                say("Nu iti risca contul pentru ca ai pierdut.")
                say("o amarata de runda OX!")
                local s = select("Macar spectator...", "Inapoi")
                if s == 1 then
                    say_title("Uriel")
                    say("Bine,spectator te pot baga.")
                    say("Dar daca injuri GMul ai ban")
                    say("Sunt cu ochii pe tine!")
               say_reward("Cu ochii pe tine am zis!")
                    wait()
                    pc.warp(896300, 28900)
                end
            end
        end
      when 20358.chat."GM: OX-Panel" with pc.is_gm() begin         
         local stat = oxevent.get_status()
         if stat == 0 then
            say_title("Concursul OX")
            say_reward("Porneste OX?")
            local s = select("Da", "Nu")
            if s==2 then return end
            local v = oxevent.open()
            if v == 0 then
               say_title("Concursul OX")
               say("Eroare!Nu a putut fii incarcat oxquiz.lua.")
               say_reward("Verifica daca nu ai gresit vreo intrebare")
               say_reward("Mai exact,lipsa unui apostrof sau unei paranteze")
               return
            elseif v == 1 then
               say_title("Concursul OX")
               say("Concursul OX a inceput cu succes")
               server_timer("automatic1", 10*60, 113)
               notice_all("Metin2 2Metin a pornit Evenimentul OX!")
               notice_all("Vorbeste cu Uriel pentru a participa!")
               notice_all("Premiile Va asteaptam  !")
            else
               say("A aparut o eroare : Error1")
               return
            end
         elseif stat == 1 then
            say_title("Concursul OX")
            say("Portile sunt inca deschise.")
            say("In mapa sunt "..oxevent.get_attender().." jucatori activi.")
            say("")
            local s = select("Inchide portile", "Inapoi")
            if s == 1 then
               notice_all("Portile OX-ului au fost inchise!")
               notice_all("Data viitoare fiti mai rapizi!")
               oxevent.close()               
            end
         elseif stat == 2 then
            say_title("Concursul OX")
            say("Alege ce doresti sa faci:")
            local s = select("Intrebare OX", "Premiu OX", "Sfarseste aceasta runda", "Inchide OX de urgenta", "Inapoi")
            if s == 1 then
               local v = oxevent.quiz(1, 30)
               if v == 0 then
                  say_title("Concursul OX")
                  say("A aparut o eroare : Error2 !")
                  return                  
               else
                  say_title("Concursul OX")
                  say("Intrebare adresata cu succes!")
                  return
               end
            elseif s == 2 then
               say_title("Concursul OX")
               say("Introdu codul itemului care doresti sa il.")
               say("oferi jucatorilor.")
               say_reward("De exemplu : 50011 este Cufar Lumina Lunii")
               local item_vnum = input()
               say_title("Concursul OX")
               say("Introdu cantitatea de iteme primite de jucatori.")
               say("asupra itemului tastat mai sus.")
               say_reward("De exemplu ,daca mai sus ai scris 50011")
               say_reward("si aici scrii 200,jucatorii vor primii 200 cufere")
               local item_count = input()
               oxevent.give_item(item_vnum, item_count)
               say_title("Concursul OX")
               say("Au fost recompensati "..oxevent.get_attender().." jucatori,si au primit  "..item_count.."x")               
               say(item_name(item_vnum).." oferite.")
               notice_all("Au venit premiile!Ati primit "..item_count.." de "..item_name(item_vnum))
            elseif s == 3 then               
               oxevent.end_event()
               notice_all("Concursul OX a luat sfarsit.")
               notice_all("Concurentii vor fii teleportati in map1 ")
               notice_all("Sper ca v-ati distrat!")
               setskin(0)
            elseif s == 4 then
               say_title("Concursul OX")
               say("Inchiderea de urgenta a concursului OX")
               say("poate duce la probleme la questul oxului")
               say("Folositi aceasta optiune doar cand e neaparata")
               say("nevoie!")
               say_reward("Vrei sa inchizi de urgenta Concursul OX?!")
               local s = select("Da,este o urgenta", "Nu.")
               if s == 1 then
                  oxevent.end_event_force()
               end
            elseif s == 5 then
               return
            end
         elseif stat == 3 then
            say_title("Concursul OX")
            say("In acest moment este deja pusa o intrebare")
            say("Deobicei dupa ce zice ca jucatorii trebuie sa")
            say("astepte 5 secunde,poti acorda premiul.")
            say_reward("Ai rabdare.Cu graba nu rezolvi nimic.")
         else
            say_title("Concursul OX")
            say("A aparut o eroare : Error4")
            return
         end
      end         
    end
end
Tutorial instalare quest:
1. Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.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 nume_quest.quest
5. Intraţi pe server şi scrieţi /reload q .
6. Testaţi quest-ul .