Skip to content
Snippets Groups Projects
Commit fa24e6b9 authored by Perttu Ahola's avatar Perttu Ahola
Browse files

Fix and extend minetest.after(time, func, param)

parent 37b64ff6
Branches
Tags
No related merge requests found
......@@ -802,21 +802,21 @@ minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = make
minetest.timers_to_add = {}
minetest.timers = {}
minetest.register_globalstep(function(dtime)
for indes, timer in ipairs(minetest.timers_to_add) do
table.insert(minetest.timers, timer)
end
minetest.timers_to_add = {}
for index, timer in ipairs(minetest.timers) do
timer.time = timer.time - dtime
if timer.time <= 0 then
timer.func()
minetest.timers[index] = nil
end
end
for _, timer in ipairs(minetest.timers_to_add) do
table.insert(minetest.timers, timer)
end
minetest.timers_to_add = {}
for index, timer in ipairs(minetest.timers) do
timer.time = timer.time - dtime
if timer.time <= 0 then
timer.func(timer.param)
table.remove(minetest.timers,index)
end
end
end)
function minetest.after(time, func)
table.insert(minetest.timers_to_add, {time=time, func=func})
function minetest.after(time, func, param)
table.insert(minetest.timers_to_add, {time=time, func=func, param=param})
end
--
......
......@@ -467,8 +467,9 @@ minetest.sound_play(spec, parameters) -> handle
^ parameters = sound parameter table
minetest.sound_stop(handle)
minetest.after(time, func)
minetest.after(time, func, param)
^ Call function after time seconds
^ param is optional; to pass multiple parameters, pass a table.
Global objects:
minetest.env - environment reference
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment