quest energy_system begin
    state start begin
      when 20001.chat."O nouă descoperire" with game.get_event_flag("energy") == 1 begin         
            say_title("Alchimist:")
            say("")
            say("Nu-mi vine să cred! Am reuşit!")
            say("În sfârsit am creat noul sistem de energie pură.")
            say("Am să îti spun cum, fii atent. Această energie stă ")
            say("în jurul fiecăruia. Am încercat să extrag această ")
            say("energie din arme şi armuri. A fost foarte dificil")
            say("dar am reuşit, în sfârsit!")
            say("")
            wait()               
            say_title("Alchimist:")
            say("")
            say("Dacă cumva eşti interesat de acest sistem, adu-mi")
            say("arme şi armuri pentru a le transforma în fragmente")
            say("de energie. Dacă vei avea noroc, voi face ca aceste")
            say("fragmente ce le-ai adunat să se unească între ele")
            say("şi se for transforma într-un cristal de energie.")
            say("Sper că acest sistem va ajuta multă lume.")   
            say("")
            set_state("make")         
         end
      end   
    state make begin
        when 20001.chat."Informaţii despre fragmentele de energie" with game.get_event_flag("energy") == 1 begin      
         say_title("Alchimist:")
         say("")
            say("Acum ştii cum funcţionează. Aceste obiecte pe")
         say("care mi le aduci le voi transforma în Fragmente")
         say("de Energie si nu le vei mai putea folosi.")
         say("Energia extrasă din ele îţi va oferi un bonus")
         say("aleatoriu timp de 2h. Ca să faci Fragmente de")
         say("Energie trebuie să ai minim nivelul 35.")         
         say("")
            wait()         
            if pc.get_level() < 35 then         
            say_title("Alchimist:")
            say("")
            say("Oh, îmi pare rău, dar trebuie să ai nivelul 35")
            say("pentru a putea crea Energie Pură.")   
            say("")
            else          
            say_title("Alchimist:")
            say("")
                say("Perfect! Se pare că ai nivelul necesar pentru a")
            say("crea energie pură.")         
            say("")
            end           
        end        
        when 20001.chat."Obţine fragmente de energie" with game.get_event_flag("energy") == 1 begin      
         say_title("Alchimist:")
         say("")
         say("Pentru a face energie pură ai nevoie de cel puţin")
         say("30 fragmente de energie.")
         say("")
         wait()
            if pc.get_level() < 35 then         
            say_title("Alchimist:")
            say("")
                say("Oh, ce păcat, nu ai nivelul 35 pentru a putea")
            say("crea energie pură.")    
            say("")
            else
                if pc.count_item(51001) >= 30 then            
               say_title("Alchimist:")
               say("")
                    say("Se pare că ai cele 30 de Fragmente de Energie.")
               say("Vrei să transform această energie în Energie Pură?")
               say("Pot încerca, dar nu garantez că voi reuşi.")
               say("")
                  wait()               
               say_title("Alchimist:")
               say("")
               say("Totodată, am nevoie şi de o sumă de bani.")
               say("Ştii, aş fi putut să îţi fac şi gratis")
               say("dar am nevoie pentru a întreţine proiectul...")
               say("Te va costa 500.000 Yang.")
               say("Eşti sigur că doreşti să creezi energie?")
               say("")
               
                    if select("Da","Nu") == 2 then
               
                        return
                    end
                    
                    pc.change_money(-500000)
                    pc.remove_item(51001,30)
                    
                    if number(0,1) == 1 then               
                  say_title("Alchimist:")
                  say("")
                        say("Am reuşit să creez Energie Pură.")
                  say("")
                  say_item("Ai primit un Cristal de Energie", 51002, "")    
                        pc.give_item2(51002,1)                  
                    else                
                  say_title("Alchimist:")
                  say("")
                        say("Oh, ce păcat. Fragmentele sunt sparte.")
                  say("Transformarea a eşuat.")
                  say("")
                        return
                    end                  
                else             
                  say_title("Alchimist:")
                  say("")
                        say("Se pare că nu ai la tine cele 30 de Fragmente")
                  say("de Energie. Mai adu-mi obiecte pentru a face")
                  say("mai multe Fragmente de Energie.")
                  say("")
                    return
                end               
            end
        end
        when 20001.take with game.get_event_flag("energy") == 1 begin
            if pc.get_level() < 35 then
                return
            end
            
            if item.get_type() == 1 or item.get_type() == 2 then
                local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;")
                test_chat(maxlvl[1][1])
                if tonumber(maxlvl[1][1]) < 35 then 
               say_title("Alchimist:")
               say("")
                    say("Din acest obiect nu se poate crea energie.")   
               say("")
                    return
                end
            
            say_title("Alchimist:")
            say("")
                say(string.trim(item.get_name()))
                say("Chiar doreşti să distrugi acest obiect?")
            say("")
                if select("Da","Nu") == 2 then
                    return
                else
                    local numar = number(0,15)
                    if numar > 0 then
                  say_title("Alchimist:")
                  say("")
                        say("Am reuşit să extrag energia din obiect!")      
                  say_item("Ai primit "..numar.." Fragment(e) de Energie", 51001, "")      
                        pc.give_item2(51001, numar)
                    else
                  say_title("Alchimist:")
                  say("")
                        say("Am eşuat. Din păcate nu am putut extrage energia")
                  say("din acest obiect.")
                  say("")
                        return
                    end
                    item.remove()
                end
                
            else
            say_title("Alchimist:")
            say("")
                say("Acest obiect nu are energie!")   
            say("")
            end
        end      
        when login begin
            if getenergytime() < 50000 then
                test_chat("[ENERGIE] Timp rămas: "..getenergytime())
                setenergytime(getenergytime() + get_time())
                cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())
            end
        end      
        when logout begin
            if getenergytime() > get_time() then
                local energy = getenergytime() - get_time()
                if energy > 0 then
                    setenergytime(energy)
                end
            end
        end       
        when 51002.use begin
            if getenergytime() > get_time() then
                chat("Foloseşti deja un Cristal de Energie!")

                return
            end          
            local bonus = number(1,10)
            lista_bonus = {}
            lista_bonus [1] = {apply.ATTBONUS_HUMAN,    15}
            lista_bonus [2] = {apply.ATTBONUS_MONSTER,    10}
            lista_bonus [3] = {apply.CRITICAL_PCT,    10}
            lista_bonus [4] = {apply.PENETRATE_PCT,    10}
            lista_bonus [5] = {apply.MAX_HP,    1000}
            lista_bonus [6] = {apply.MAX_SP,    2000}
            lista_bonus [7] = {apply.HP_REGEN,    30}
            lista_bonus [8] = {apply.STEAL_HP,    10}
            lista_bonus [9] = {apply.ATT_GRADE_BONUS,    75}
            lista_bonus [10] = {apply.ATT_GRADE_BONUS,    50}
            
            test_chat(bonus)
            test_chat(lista_bonus[bonus][1])
            test_chat(lista_bonus[bonus][2])

            affect.add_collect(lista_bonus[bonus][1],lista_bonus[bonus][2],7200)
            setenergy(bonus,lista_bonus[bonus][2],get_time() + 7200)

            cmdchat ("energysystem "..bonus.."|"..lista_bonus[bonus][2].."#"..(get_time() + 7200))
            
            setenergytime(get_time() + 7200)
            
            item.remove()
            chat("Simt energia cristalului cum curge prin venele mele.")           
        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.