mirror of
https://bitbucket.org/s_l_teichmann/mtsatellite
synced 2024-11-16 15:20:20 +01:00
Merged in HybridDog/mtsatellite/HybridDog/optimize-track_playersinitlua-1471082645973 (pull request #1)
optimize track_players/init.lua
This commit is contained in:
commit
40142e193e
|
@ -2,31 +2,27 @@ local time_interval = 1.0
|
|||
local fifo_path = "/tmp/mt_players_fifo"
|
||||
|
||||
function players_data()
|
||||
local ps = {}
|
||||
for _, player in ipairs(minetest.get_connected_players()) do
|
||||
local pos = player:getpos()
|
||||
local pname = player:get_player_name()
|
||||
local data = {
|
||||
name = pname,
|
||||
x = pos.x,
|
||||
y = pos.y,
|
||||
z = pos.z }
|
||||
table.insert(ps, data)
|
||||
end
|
||||
if table.getn(ps) == 0 then
|
||||
return '[]\n'
|
||||
end
|
||||
return minetest.write_json(ps) .. '\n'
|
||||
local ps = minetest.get_connected_players()
|
||||
local pcount = #ps
|
||||
if pcount == 0 then
|
||||
return "[]\n"
|
||||
end
|
||||
for i = 1,pcount do
|
||||
local player = ps[i]
|
||||
local data = player:getpos()
|
||||
data.name = player:get_player_name()
|
||||
ps[i] = data
|
||||
end
|
||||
return minetest.write_json(ps) .. "\n"
|
||||
end
|
||||
|
||||
function time_interval_func()
|
||||
local players = players_data()
|
||||
local fifo = io.open(fifo_path, 'w')
|
||||
if (fifo ~= nil) then
|
||||
fifo:write(players)
|
||||
fifo:close()
|
||||
end
|
||||
minetest.after(time_interval, time_interval_func)
|
||||
local fifo = io.open(fifo_path, "w")
|
||||
if fifo then
|
||||
fifo:write(players_data())
|
||||
fifo:close()
|
||||
end
|
||||
minetest.after(time_interval, time_interval_func)
|
||||
end
|
||||
|
||||
minetest.after(time_interval, time_interval_func)
|
||||
|
|
Loading…
Reference in New Issue
Block a user