- Joined
- Mar 16, 2017
- Messages
- 1,416
- Solutions
- 155
- Reaction score
- 1,972
- Location
- London
- GitHub
- MillhioreBT
- Twitch
- millhiorebt
Hi everyone, this script I had done a long time ago, but it really needed an improvement and maybe move it to Revscript.
If you want to see the new version click here
data/scripts/gainpoinperhour.lua
If you want to see the new version click here
data/scripts/gainpoinperhour.lua
Lua:
local config = {
storage = 20000,
pointItemId = 2160,
pointsPerHour = 1,
checkDuplicateIps = false
}
local onlinePointsEvent = GlobalEvent("GainPointPerHour")
function onlinePointsEvent.onThink(interval)
local players = Game.getPlayers()
if #players == 0 then
return true
end
local checkIp = {}
for _, player in pairs(players) do
local ip = player:getIp()
if ip ~= 0 and (not config.checkDuplicateIps or not checkIp[ip]) then
checkIp[ip] = true
local seconds = math.max(0, player:getStorageValue(config.storage))
if seconds >= 3600 then
player:setStorageValue(config.storage, 0)
local item = player:addItem(config.pointItemId, config.pointsPerHour)
if item then
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, string.format("You have received %d %s for being online for an hour.", config.pointsPerHour, item:getName()))
end
return true
end
player:setStorageValue(config.storage, seconds +math.ceil(interval/1000))
end
end
return true
end
onlinePointsEvent:interval(10000)
onlinePointsEvent:register()
Last edited: