Acesta este questul:
quest energy_system begin
state start begin
when 20001.chat."O noua descoperire" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist:")
say("")
say("Nu-mi vine sa cred! Am reusit!")
say("În sfârsit am creat noul sistem de energie pura.")
say("Am sa îti spun cum, fii atent. Aceasta energie sta ")
say("în jurul fiecaruia. Am încercat sa extrag aceasta ")
say("energie din arme si armuri. A fost foarte dificil")
say("dar am reusit, în sfârsit!")
say("")
wait()
say_title("Alchimist:")
say("")
say("Daca cumva esti interesat de acest sistem, adu-mi")
say("arme si armuri pentru a le transforma în fragmente")
say("de energie. Daca vei avea noroc, voi face ca aceste")
say("fragmente ce le-ai adunat sa se uneasca între ele")
say("si se for transforma într-un cristal de energie.")
say("Sper ca acest sistem va ajuta multa lume.")
say("")
set_state("make")
end
end
state make begin
when 20001.chat."Informatii despre fragmentele de energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist:")
say("")
say("Acum stii cum functioneaza. 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 extrasa din ele îti va oferi un bonus")
say("aleatoriu timp de 2h. Ca sa faci Fragmente de")
say("Energie trebuie sa ai minim nivelul 35.")
say("")
wait()
if pc.get_level() < 35 then
say_title("Alchimist:")
say("")
say("Oh, îmi pare rau, dar trebuie sa ai nivelul 35")
say("pentru a putea crea Energie Pura.")
say("")
else
say_title("Alchimist:")
say("")
say("Perfect! Se pare ca ai nivelul necesar pentru a")
say("crea energie pura.")
say("")
end
end
when 20001.chat."Obtine fragmente de energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist:")
say("")
say("Pentru a face energie pura ai nevoie de cel putin")
say("30 fragmente de energie.")
say("")
wait()
if pc.get_level() < 35 then
say_title("Alchimist:")
say("")
say("Oh, ce pacat, nu ai nivelul 35 pentru a putea")
say("crea energie pura.")
say("")
else
if pc.count_item(51001) >= 30 then
say_title("Alchimist:")
say("")
say("Se pare ca ai cele 30 de Fragmente de Energie.")
say("Vrei sa transform aceasta energie în Energie Pura?")
say("Pot încerca, dar nu garantez ca voi reusi.")
say("")
wait()
say_title("Alchimist:")
say("")
say("Totodata, am nevoie si de o suma de bani.")
say("Stii, as fi putut sa îti fac si gratis")
say("dar am nevoie pentru a întretine proiectul...")
say("Te va costa 500.000 Yang.")
say("Esti sigur ca doresti sa 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 reusit sa creez Energie Pura.")
say("")
say_item("Ai primit un Cristal de Energie", 51002, "")
pc.give_item2(51002,1)
else
say_title("Alchimist:")
say("")
say("Oh, ce pacat. Fragmentele sunt sparte.")
say("Transformarea a esuat.")
say("")
return
end
else
say_title("Alchimist:")
say("")
say("Se pare ca 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 doresti sa 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 reusit sa 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 esuat. Din pacate 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 ramas: "..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("Folosesti 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
state start begin
when 20001.chat."O noua descoperire" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist:")
say("")
say("Nu-mi vine sa cred! Am reusit!")
say("În sfârsit am creat noul sistem de energie pura.")
say("Am sa îti spun cum, fii atent. Aceasta energie sta ")
say("în jurul fiecaruia. Am încercat sa extrag aceasta ")
say("energie din arme si armuri. A fost foarte dificil")
say("dar am reusit, în sfârsit!")
say("")
wait()
say_title("Alchimist:")
say("")
say("Daca cumva esti interesat de acest sistem, adu-mi")
say("arme si armuri pentru a le transforma în fragmente")
say("de energie. Daca vei avea noroc, voi face ca aceste")
say("fragmente ce le-ai adunat sa se uneasca între ele")
say("si se for transforma într-un cristal de energie.")
say("Sper ca acest sistem va ajuta multa lume.")
say("")
set_state("make")
end
end
state make begin
when 20001.chat."Informatii despre fragmentele de energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist:")
say("")
say("Acum stii cum functioneaza. 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 extrasa din ele îti va oferi un bonus")
say("aleatoriu timp de 2h. Ca sa faci Fragmente de")
say("Energie trebuie sa ai minim nivelul 35.")
say("")
wait()
if pc.get_level() < 35 then
say_title("Alchimist:")
say("")
say("Oh, îmi pare rau, dar trebuie sa ai nivelul 35")
say("pentru a putea crea Energie Pura.")
say("")
else
say_title("Alchimist:")
say("")
say("Perfect! Se pare ca ai nivelul necesar pentru a")
say("crea energie pura.")
say("")
end
end
when 20001.chat."Obtine fragmente de energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist:")
say("")
say("Pentru a face energie pura ai nevoie de cel putin")
say("30 fragmente de energie.")
say("")
wait()
if pc.get_level() < 35 then
say_title("Alchimist:")
say("")
say("Oh, ce pacat, nu ai nivelul 35 pentru a putea")
say("crea energie pura.")
say("")
else
if pc.count_item(51001) >= 30 then
say_title("Alchimist:")
say("")
say("Se pare ca ai cele 30 de Fragmente de Energie.")
say("Vrei sa transform aceasta energie în Energie Pura?")
say("Pot încerca, dar nu garantez ca voi reusi.")
say("")
wait()
say_title("Alchimist:")
say("")
say("Totodata, am nevoie si de o suma de bani.")
say("Stii, as fi putut sa îti fac si gratis")
say("dar am nevoie pentru a întretine proiectul...")
say("Te va costa 500.000 Yang.")
say("Esti sigur ca doresti sa 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 reusit sa creez Energie Pura.")
say("")
say_item("Ai primit un Cristal de Energie", 51002, "")
pc.give_item2(51002,1)
else
say_title("Alchimist:")
say("")
say("Oh, ce pacat. Fragmentele sunt sparte.")
say("Transformarea a esuat.")
say("")
return
end
else
say_title("Alchimist:")
say("")
say("Se pare ca 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 doresti sa 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 reusit sa 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 esuat. Din pacate 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 ramas: "..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("Folosesti 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






