*Quest :
Cod: Selectaţi tot
quest event_craciun begin
state __FUNC__ begin
function return_status_event(event_flag)
if event_flag == 1 then return_status = "Activ"
elseif event_flag == 0 then return_status = "Inactiv"
else return_status = event_flag
end
return return_status
end
end
state start begin
when 20094.chat."GM: Eveniment Crăciun" with pc.is_gm() begin
say_title(mob_name(npc.get_race())..":[ENTER]")
say("Ce vrei să vezi?")
say("")
local alege = select("Status","Rată drop","Închide")
if alege == 1 then
say_title("Hong-Hae:")
say("")
local eveniment_status = event_craciun.return_status_event(game.get_event_flag("event_craciun_status"))
say("Evenimentul este: "..eveniment_status.."[ENTER]")
if game.get_event_flag("event_craciun_status") == 0 then
say_reward("Vrei să activezi evenimentul?")
say("")
local activeaza = select("Da","Nu")
if activeaza == 1 then
say_title("Hong-Hae:")
say("")
say_reward("Evenimentul a fost activat!")
say("")
say("Notă: În caz că doriţi să resetaţi flagul,")
say("folosiţi comanda /e event_craciun_status 0")
notice_all("[OrientalMT2] > Evenimentul de Crăciun este deschis.")
game.set_event_flag("event_craciun_status", 1)
end
else
say_reward("Vrei să dezactivezi flagul?")
say("")
local dezactiveaza = select("Da","Nu")
if dezactiveaza == 1 then
say_title("Hong-Hae:")
say("")
say_reward("Evenimentul a fost dezactivat!")
say("")
notice_all("[OrientalMT2] > Evenimentul de Crăciun este închis.")
game.set_event_flag("event_craciun_status", 0)
end
say("Notă: În caz că doriţi să resetaţi flagul,")
say("folosiţi comanda /e event_craciun_status 0")
end -- if
elseif alege == 2 then
say_title("Hong-Hae:")
say("")
say("Rată actuală: "..game.get_event_flag("event_craciun_rata").."")
say_reward("Rată recomandată: 1 cel mult 2")
local schimba_rata = tonumber(input())
if schimba_rata > 0 and schimba_rata < 101 then
game.set_event_flag("event_craciun_rata", schimba_rata)
say_title("Hong-Hae:")
say("")
say("Dropul actual " ..schimba_rata.. " setat.")
else
say_title("Hong-Hae:")
say("")
say_reward("Ai introdus o valoare neacceptată!")
end
end
end -- w
when 20031.chat."Salvează Crăciunul" with pc.getf("event_craciun","prima_data_la_mos") == 0 begin
say_title("Moş Crăciun:")
say("")
say("În timp ce veneam din Laponia, renii mei")
say("s-au speriat de ceva şi sania mea, s-a")
say("înclinat şi astfel am pierdut toate şosetele,")
say("pe care trebuia să le umplu cu dulciuri pentru")
say("a le da copiilor de Crăciun. Acestea au căzut")
say("[ENTER]şi probabil că acum sunt la monştrii.")
say_reward("Ajută-mă să le strâng şi te voi răsplăti cu un cadou")
say("")
local teajut = select("Poţi conta pe mine","Scuze Moşule, nu pot")
if teajut == 1 then
say_title("Moş Crăciun:")
say("")
say("Oh, îţi mulţumesc foarte mult!")
pc.setf("event_craciun","prima_data_la_mos", 1)
end
end
when 20031.chat."Şosete" with pc.getf("event_craciun","prima_data_la_mos") == 1 begin
local cate_sosete_cere = 5
say_title("Moş Crăciun:")
say("")
if get_time() < pc.getf("event_craciun","timp_sosete") then
say("Ho Ho Ho! Trebuie să duc şosetele copiilor")
say("aşa că aşteapta te rog.")
say("Revino în "..pc.getf("event_craciun","timp_sosete").." secunde!")
else
if pc.count_item(50010) < 1 then
say("Nu mai pierde vremea, fugi şi fă rost de şosete[ENTER]de la monştrii pentru a salva Crăciunul!")
elseif pc.count_item(50010) < cate_sosete_cere then
if pc.count_item(50010) == 1 then
say("Ai doar o singură şoseta, fă-mi rost de "..cate_sosete_cere.."!")
else
say("Ai doar "..(pc.count_item(50010)).." şosete, fă-mi rost de "..cate_sosete_cere.."!")
end
elseif pc.count_item(50010) >= cate_sosete_cere then
say("Ho Ho Ho ai făcut rost de şosete, foarte bine!")
say("")
local poftim = select("Poftim şosetele","Închide")
if poftim == 1 then
if not pc.can_warp() then
say("Aşteaptă 10 secunde iar apoi încearcă din nou.")
return
end
if pc.count_item(50010) >= cate_sosete_cere then
say_title("Moş Crăciun:")
say("")
say("Acum trebuie doar să le umplu cu dulciuri şi să[ENTER]le dau copiilor, vor fi foarte fericiţi.[ENTER]")
say_reward("Poftim cadoul tău:")
say_item_vnum(71144)
pc.remove_item(50010,cate_sosete_cere)
wait()
pc.setf("event_craciun","timp_sosete", 30) -- 30*60
pc.give_item2(71144, 1)
else
say("Hopa se pare că nu ai şosetele, încearcă din nou!")
end
elseif poftim == 2 then
return
end
end
end
end
when kill with not npc.is_pc() and game.get_event_flag("event_craciun_status") == 1 begin
if game.get_event_flag("event_craciun_rata") or game.get_event_flag("event_craciun_rata") != 0 then
local random = math.random(1, 100)
if random <= game.get_event_flag("event_craciun_rata") then
local activare_esuare_drop = 1
if activare_esuare_drop == 1 then
local r_esuare = math.random(1, 5)
if r_esuare < 5 then
pc.give_item2(50010)
end
else
pc.give_item2(50010)
end
end
end
end
end
end*Resursă folosită:
*ServerFiles utilizat:oriental 40 k
*Syserr:




