-- ###################################################
-- ## Created by: Piotr Nowak (Matem) ##
-- ## Date: 06.04.2013 ##
-- ## Exclusive for RonIT.pl ##
-- ## Support for this script: ##
-- ## http://forum.ronit.pl/forumdisplay.php?fid=22 ##
-- ###################################################
function onTrigger(cid, thing1, frompos, thing2, topos, trigger, text)
-- ########################
-- ## INSTRUKCJA OBSLUGI ##
-- ########################
-- Nalezy edytowac wylacznie pojedyncze linie konfiguracji
-- Przykładowa linika z nagrodą:
-- local config = {days = 7, reward = {{id = 2981, count = 100},{id = 2981, count = 50},}, text = "Here is your reward for being online 7 days in row."}
-- days - dzien, w ktorym gracz otrzyma nagrode
-- reward - definicja nagrody na - dla mniej doswiadczonych uzytkownikow zalecana jest jedynie zmiana ID przedmiotu
-- - bardziej zaawansowani gracze moga umieszczac tutaj cale zestawy nagrod (w plecakach)
-- - nagrody sa losowe - wpisanie jednej oznacza brak losowosci
-- text - wiadomosc wyswietlona graczowi w chwili otrzymania nagrody
-- ################################################
-- ## PONIZSZE LINIE NALEZY WKLEIC DO GLOBAL.LUA ##
-- ################################################
-- SV_TRIGGERS = {
-- ["DAILY_LOGIN_LAST"] = 16001, -- nalezy sprawdzic, czy SV jest wolny
-- ["DAILY_LOGIN_DAYS"] = 16002, -- nalezy sprawdzic, czy SV jest wolny
-- }
-- #######################################################
-- ## PONIZSZY KOD EDYTUJESZ NA WLASNA ODPOWIEDZIALNOSC ##
-- #######################################################
local config = {days = 7, text = "Oto Twoja nagroda za codzienne logowanie przez 7 dni.",
reward = {
-- dodajemy plecak, w ktorym znajduje sie 400 crystal coins
{id = 2792, contain = {{id = 2981, count = 100},{id = 2981, count = 100},{id = 2981, count = 100},{id = 2981, count = 100},}},
-- dodajemy 100x crystal coins
{id = 2981, count = 100},
}
}
-- ###############################
-- ## NIE ZMIENIAC NIC PONIZEJ! ##
-- ###############################
if getPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"]) < 0 then setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"], 1) end
if getPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_LAST"]) < 0 then setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_LAST"], os.time()) end
local day, lastLogin, curTime = getPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"]), getPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_LAST"]), os.time()
local oneDay = 24*60*60
local day1 = (lastLogin - (lastLogin % oneDay))/oneDay
local day2 = (curTime - (curTime % oneDay))/oneDay
local daysBetween = day2 - day1
if daysBetween == -1 then
setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"], -1)
elseif daysBetween == 0 then
elseif daysBetween == 1 then
setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"], day+1)
setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_LAST"], curTime)
elseif daysBetween > 1 then
setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"], 0)
setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_LAST"], os.time())
end
-- odswiezamy dane
day, lastLogin = getPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"]), getPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_LAST"])
if day == config.days then
local rewardNum = 1
if #config.reward > 1 then rewardNum = math.random(1, #config.reward) end
if (doPlayerAddItemTable(cid, config.reward[rewardNum]) ~= 0) then
doPlayerSendTextMessage(cid, 22, config.text)
setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_DAYS"], -1)
setPlayerStorageValue(cid, SV_TRIGGERS["DAILY_LOGIN_LAST"], os.time()+oneDay)
end
end
return 1
end