Tipologie server:
*Resursă folosită:
*ServerFiles utilizat:
*Syserr:
Poză:
*Detalii suplimentare:
Stie cineva de ce cand activez evenimentele automate de ce nu se activeaza ? Server time este la zi corect ..
Cod: Selectaţi tot
quest akira_event_sys begin
state start begin
when letter with pc.is_gm() begin
send_letter("Event Panel")
end
when button or info begin
say_white("Event Panel")
local event_name = akira_event_sys.AkiraEventList(0)
local event_flag = akira_event_sys.AkiraEventList(1)
local confirm = select("Evenimente ", "Anulare ")
if confirm == 2 then
return
send_letter("Event Panel")
end
if confirm == 1 then
say_white("Event Panel -> Evenimente: ")
say_reward("Ce vrei sa faci? ")
local confirm = select("Evenimente active ", "Start Event ", "Event automat", "Anuleaza ")
if confirm == 4 then
return
send_letter("Event Panel")
end
if confirm == 1 then
say_size(350,350)
say_white("Event Panel -> Evenimente Active: ")
local event_name_list = {}
local event_flag_list = {}
for i=1, table.getn(event_flag) do
if event_flag[i] == "auto_event" then
break
end
if game.get_event_flag(event_flag[i]) == 1 then
table.insert(event_name_list, event_name[i])
table.insert(event_flag_list, event_flag[i])
end
end
if table.getn(event_name_list) == 0 then
say_reward("Niciun eveniment activ.")
return
end
say_reward("Selecteaza evenimentul pe care doresti sa il terminati.")
table.insert(event_name_list, "Anulare")
local list = select_table(event_name_list)
if list == table.getn(event_name_list)then
return
send_letter("Event Panel")
end
say_white("Event Panel -> Evenimente Active: ")
say_white(event_name_list[list].." activ.")
say_reward("Doresti sa inchizi evenimentul ? ")
local confirm = select("Da ", "Nu ")
if confirm == 2 then
return
send_letter("Event Panel")
end
akira_event_sys.AkiraEventSys(0, event_name_list[list], event_flag_list[list])
send_letter("Event Panel")
elseif confirm == 2 then
say_size(350,350)
say_white("Event Panel -> Start Event: ")
local event_name_list = {}
local event_flag_list = {}
for i=1, table.getn(event_flag) do
if event_flag[i] == "auto_event" then
break
end
if game.get_event_flag(event_flag[i]) == 0 then
table.insert(event_name_list, event_name[i])
table.insert(event_flag_list, event_flag[i])
end
end
if table.getn(event_name_list) == 0 then
say_reward("Toate evenimentele sunt active.")
return
end
say_reward("Selectati evenimentul pe care doriti sa il incepeti.")
table.insert(event_name_list, "Anulare")
local list = select_table(event_name_list)
if list == table.getn(event_name_list)then
return
send_letter("Event Panel")
end
say_white("Event Panel -> Start Event: ")
say_white(event_name_list[list].." va fi activat.")
say_reward("Doriti sa continuati? ")
local confirm = select("Da ", "Nu ")
if confirm == 2 then
return
send_letter("Event Panel")
end
akira_event_sys.AkiraEventSys(1, event_name_list[list], event_flag_list[list])
send_letter("Event Panel")
elseif confirm == 3 then
say_white("Event Panel -> Auto Event: ")
say_reward("Ce vrei sa faci? ")
local confirm = select("Activeaza Evenimente ", "Dezactiveaza Evenimente ", "Iesire")
if confirm == 3 then
return
send_letter("Event Panel")
end
if confirm == 1 then
if game.get_event_flag("auto_event") == 1 then
say_white("Event Panel -> Auto Event: ")
say_reward("Evenimentele automate sunt deja active.")
return
send_letter("Event Panel")
end
say_white("Veti activa evenimentele automate ")
say_reward("Doriti sa continuati? ")
local confirm = select("Da ", "Nu ")
if confirm == 2 then
return
send_letter("Event Panel")
end
game.set_event_flag("auto_event",1)
server_loop_timer("auto_event",1)
elseif confirm == 2 then
say_white("Veti dezactiva evenimentele automate. ")
say_reward("Doriti sa continuati? ")
local confirm = select("Da ", "Nu ")
if confirm == 2 then
return
send_letter("Event Panel")
end
game.set_event_flag("auto_event",0)
clear_server_timer("auto_event")
end
send_letter("Event Panel")
end
end
end
-- Server To Client
when login begin
event_flag = akira_event_sys.AkiraEventList(1)
event_name = akira_event_sys.AkiraEventList(0)
for i=1, table.getn(event_flag) do
if event_flag[i] == "auto_event" then
if game.get_event_flag("auto_event") == 1 then
for j=1, 7 do
auto_event_setting = akira_event_sys.AkiraEventList(2)
if j == 7 then
cmdchat("AkiraEventSys auto_event|"..tostring(j-1).."|"..auto_event_setting[0][5].."|"..auto_event_setting[0][6].."|"..auto_event_setting[0][3].."|")
else
cmdchat("AkiraEventSys auto_event|"..tostring(j-1).."|"..auto_event_setting[j][5].."|"..auto_event_setting[j][6].."|"..auto_event_setting[j][3].."|")
end
end
end
end
if event_flag[i] != "auto_event" and game.get_event_flag(event_flag[i]) == 1 then
notice(event_name[i].."este activ!")
cmdchat("AkiraEventSys event|"..event_flag[i].."|")
end
end
end
-- Server To Client End
-- Event Timer
when auto_event.server_timer begin
auto_event_setting = akira_event_sys.AkiraEventList(2)
local day = tonumber(os.date("%w"))
local time = tostring(os.date("%X"))
if auto_event_setting[day][1] == time then
akira_event_sys.AkiraEventSys(1, auto_event_setting[day][4], auto_event_setting[day][3])
elseif auto_event_setting[day][2] == time then
akira_event_sys.AkiraEventSys(0, auto_event_setting[day][4], auto_event_setting[day][3])
end
end
-- Event Timer End
-- Item Drop
when kill with not npc.is_pc() begin
event_flag = akira_event_sys.AkiraEventList(1)
event_setting = akira_event_sys.AkiraEventList(3)
for i=1, table.getn(event_flag) do
if event_flag[i] != "eventcostum" and event_flag[i] != "auto_event" and "autorizatii" != event_flag[i] and "eventspecial" != event_flag[i] and game.get_event_flag(event_flag[i]) == 1 then
if npc.get_level() >= pc.get_level() - 10 then
if event_setting[event_flag[i]][1] >= number(80, 1) then --sansa drop cl,fotbal,paste,okey
game.drop_item_with_ownership(number(event_setting[event_flag[i]][2],event_setting[event_flag[i]][3]), 1)
end
end
end
end
end
--Eveniment Fotbal
when 20017.chat."Febra Fotbalului" with game.get_event_flag("eventfotbal") == 1 begin
say_title("Yu-Hwan:")
say("Salut! Sunt un mare fan al fotbalului. Daca")
say("tot a inceput campionatul de fotbal din Romania")
say("a inceput sa imi placa si mie acest sport de moarte.")
say("Un om intelept a spus odata, In fotbal este vorba de")
say("cele doua M's - miscare si pozitionare. Cat de adevarat,")
say("foarte adevarat...")
say("Mai devreme loveam niste mingi pe aici, dar acum nu le mai gasesc!")
say("Poti sa le gasesti pentru mine? Am nevoie de 10.")
local menu = select ("Am 10 mingi!","Mai caut!")
if menu == 2 then
say("Revino te rog cu cele 10 mingi de fotbal,")
say("Iti voi oferi un premiu pe masura!")
return
elseif menu == 1 then
local items = pc.count_item(50096)
if items >= 10 then
say("Ooo !")
say("Iti multumesc tare mult pentru aceste 10 mingi,")
say("Poftim premiul tau bine meritat!")
say_item( "Balon de Aur",50265,"Mingea este rotunda si din aur.");
pc.remove_item(50096, 10 )
pc.give_item2(50265, 1 )
return
elseif items < 10 then
say("Nu ai 10 mingi de fotbal.")
say_item( "Fotbal",50096,"Loveste ca si Baljit-Elvedin!");
return
end
end
end
--Eveniment Fotbal
--Eveniment Costume
when 8006.kill or 8007.kill or 8008.kill or 8009.kill or
8010.kill or 8011.kill or 8012.kill or 8013.kill or
8014.kill or 8024.kill or 8025.kill or 8026.kill or
8027.kill or 8051.kill or 8052.kill or 8053.kill or
8054.kill or 8055.kill or 8056.kill or 8057.kill or
8058.kill with game.get_event_flag("eventcostum") == 1 begin
local plvl = pc.get_level()
local mlvl
local chance = number(70,1) --sansa drop costume
local vnumlist_m = {41041,41043,41045,41049,41051,41053,41095,41097,41099,41101,41103,41105,41107,41109,41111,41113} --lista drop costume barbati
local vnumlist_w = {41042,41044,41046,41050,41052,41054,41096,41098,41100,41102,41104,41106,41108,41110,41112,41114} --lista drop costume femei
local drop = number(1,16) -- (1, x nr costume de mai sus)
if npc.get_race() < 8015 then
mlvl = (npc.get_race()-8000)*5
else
mlvl = (npc.get_race()-8009)*5
end
if mlvl-plvl >= -10 then
if chance*10 == 100 then
if pc.get_sex() == 1 then
game.drop_item_with_ownership(vnumlist_w[drop],1)
else
game.drop_item_with_ownership(vnumlist_m[drop],1)
end
end
end
end
--Eveniment Costume
--Autorizatii
when 691.kill or 791.kill or 792.kill or 1192.kill or 1304.kill or
1901.kill or 2091.kill or 2191.kill or 2206.kill or 2306.kill or
2595.kill or 2596.kill or 3090.kill or 3091.kill or 3190.kill or
3191.kill or 3290.kill or 3291.kill or 3390.kill or 3391.kill or
3490.kill or 3491.kill or 3590.kill or 3591.kill or 3595.kill or
3596.kill or 3690.kill or 3691.kill or 3790.kill or 3791.kill or
3890.kill or 3891.kill or 3901.kill or 3902.kill or 3903.kill or
3904.kill or 3905.kill or 3906.kill or 8001.kill or 8002.kill or
8003.kill or 8004.kill or 8005.kill or 8006.kill or 8007.kill or
8008.kill or 8009.kill or 8010.kill or 8011.kill or 8012.kill or
8013.kill or 8014.kill or 8024.kill or 8025.kill or 8026.kill or
8027.kill or 8051.kill or 8052.kill or 8053.kill or 8054.kill or
8055.kill or 8056.kill with game.get_event_flag("autorizatii") == 1 and not npc.is_pc() begin
local event_setting = akira_event_sys.AkiraEventList(3)
if npc.get_level() >= pc.get_level() - 10 then
if event_setting["autorizatii"][1] >= number(90, 1) then -- sansa drop auto
local random_ = number(event_setting["autorizatii"][2],event_setting["autorizatii"][3])
notice("Felicitari! Ai dropat "..item_name(random_)..". Du-te la Grajdar.")
game.drop_item_with_ownership(random_, 1)
end
end
end
--Autorizatii
-- ## ## ## Eveniment Special
when 691.kill or 791.kill or 792.kill or 1192.kill or 1304.kill or
1901.kill or 2091.kill or 2191.kill or 2206.kill or 2306.kill or
2595.kill or 2596.kill or 3090.kill or 3091.kill or 3190.kill or
3191.kill or 3290.kill or 3291.kill or 3390.kill or 3391.kill or
3490.kill or 3491.kill or 3590.kill or 3591.kill or 3595.kill or
3596.kill or 3690.kill or 3691.kill or 3790.kill or 3791.kill or
3890.kill or 3891.kill or 3901.kill or 3902.kill or 3903.kill or
3904.kill or 3905.kill or 3906.kill or 8001.kill or 8002.kill or
8003.kill or 8004.kill or 8005.kill or 8006.kill or 8007.kill or
8008.kill or 8009.kill or 8010.kill or 8011.kill or 8012.kill or
8013.kill or 8014.kill or 8024.kill or 8025.kill or 8026.kill or
8027.kill or 8051.kill or 8052.kill or 8053.kill or 8054.kill or
8055.kill or 8056.kill with game.get_event_flag("eventspecial") == 1 and not npc.is_pc() begin
local event_setting = akira_event_sys.AkiraEventList(3)
if npc.get_level() >= pc.get_level() - 10 then
if event_setting["eventspecial"][1] >= number(90, 1) then --sansa drop special
local random_ = number(event_setting["eventspecial"][2],event_setting["eventspecial"][3])
notice("Felicitari! Ai dropat "..item_name(random_).."!")
game.drop_item_with_ownership(random_, 1)
end
end
end
-- ## ## ##Eveniment Special
-- Sterge functia asta + functia de la Item Drop daca vrei drop la toti mobii, nu doar la metinele si bosii de mai sus^
-- Item Drop End
--Function
-- Adauga dupa ora evenimentul dorit din lista [1]
function AkiraEventList(type)
event_list = {
[0] = {"Evenimentul Clar de Luna ", "Evenimentul Fotbal ", " Evenimentul Cufar Hexagonal ", " Evenimentul Costume ", "Okey ", "Drop-ul la Autorizatii ", "Evenimentul Special "},
[1] = {"eventcl", "eventfotbal", "eventhexagonal", "eventcostum", "okey", "autorizatii", "eventspecial", "auto_event"},
[2] = { [0] = {"15:35:00", "16:05:00", "eventcl", "Evenimentul Clar de Luna ", "15:35", "16:05"}, --Duminica
[1] = {"17:00:00", "17:35:00", "eventcl", "Evenimentul Clar de Luna ", "17:00", "17:35"}, --Luni
[2] = {"22:00:00", "22:30:00", "eventfotbal", "Eveniment cu mingi", "22:00", "22:30"}, --Marti
[3] = {"00:05:00", "00:15:00", "eventhexagonal", "Evenimentul Hexagonal ", "00:05", "00:15"}, --Miercuri
[4] = {"20:30:00", "21:00:00", "eventcl", "Evenimentul Clar de Luna ", "20:30", "21:00"}, --Joi
[5] = {"21:00:00", "21:15:00", "eventcostum", "Evenimentul Costume", "21:00", "21:15"}, --Vineri
[6] = {"15:10:00", "15:40:00", "eventcl", "Evenimentul Clar de Luna", "15:10", "15:40"}, }, --Sambata
[3] = { ["eventcl"] = {1, 50011, 50011}, --drop clar de luna
["eventfotbal"] = {1, 50096, 50096}, --drop event fotbal
["eventhexagonal"] = {1, 50037, 50037}, --drop event hexagonal
["okey"] = {1, 79505, 79505}, --drop event
["autorizatii"] = {1, 52701, 52705}, --drop auto
["eventspecial"] = {1, 50160, 50179},}, } --drop special -> modifica:
--Paste: {1, 50160, 50179}
--Vara: {1, 50160, 50179}
--Halloween: {1, 50160, 50179}
--Craciun: {1, 50160, 50179}
return event_list[type]
end
function AkiraEventSys(type_, event_name, event_flag)
if type_ == 1 then
notice_all(event_name.."a inceput.")
notice_all("Pentru mai multe informatii acceseaza pagina de evenimente.")
game.set_event_flag(event_flag,1)
else
notice_all(event_name.."s-a terminat!")
notice_all("Echipa nume va ureaza un joc placut.")
game.set_event_flag(event_flag,0)
end
end
--Function End
end
end