master #10

Merged
AliasAlreadyTaken merged 2 commits from master into yl_stable 2025-04-27 18:06:02 +02:00
3 changed files with 15 additions and 14 deletions

View File

@ -27,7 +27,8 @@ function yl_ticker.set(message, frequency, runtime, owner, param)
-- Check frequency
if (type(frequency) ~= "number") then
return false, "frequency not a number"
frequency = yl_ticker.settings.frequency
--return false, "frequency not a number"
end
if (frequency <= 0) then
return false, "Frequency cannot be zero or negative"

View File

@ -17,6 +17,7 @@ local chatcommand_definition = {
"[yl_ticker] player " .. name .. " lists all tickers: " ..
param .. " unsuccessfully, message: " ..
dump(message))
if (next(message) == nil) then message = "No tickers active" end
return false, dump(message)
end
end

View File

@ -27,14 +27,12 @@ local function calculate_bucket(bucket, data) -- This is per bucket
ticker._next_runtime = os.time() + n * distance
n = n + 1
end
end
local delta = 1
local timer = 0
local gs = function(dtime)
timer = timer + dtime
if timer <= delta then return end
timer = timer - delta
@ -50,32 +48,33 @@ local gs = function(dtime)
-- Check if any ticker should be displayed
for _, ticker in pairs(data) do
-- Check if any ticker needs to be removed from the list due to runtime expired.
if ((type(ticker.runtime) == "number") and
(current_time >= ticker.runtime)) then
yl_ticker.delete(ticker.id)
table.insert(changed_buckets, ticker.frequency)
elseif current_time >= (ticker._next_runtime or 0) then
if current_time >= (ticker._next_runtime or 0) then
if (type(ticker._next_runtime) ~= "number") then
table.insert(changed_buckets, ticker.frequency)
else
yl_ticker.log(os.date("!%H:%M:%S", os.time()) .. " = " ..
tostring(ticker.id))
local a_success, message = yl_ticker.say(ticker.id, "*")
if (a_success == false) then
minetest.log("error",
"[yl_ticker] globalstep cannot send to target, message = " ..
dump(message) .. " : ticker = " ..
dump(ticker))
return
end
ticker._next_runtime = ticker._next_runtime +
(ticker.frequency or 3600)
(ticker.frequency or
yl_ticker.settings.frequency)
end
end
yl_ticker.log(os.date("!%H:%M:%S", os.time()) .. " = " ..
tostring(ticker.id))
-- Check if this ticker needs to be removed from the list due to runtime expired.
if ((type(ticker.runtime) == "number") and
(current_time > ticker.runtime)) then
yl_ticker.delete(ticker.id)
table.insert(changed_buckets, ticker.frequency)
end
end
-- If there were any tickers that had no _next_runtime, then we need to recalculate their bucket
if next(data) then
for _, bucket in ipairs(changed_buckets) do