diff --git a/mods/track_players/init.lua b/mods/track_players/init.lua index e131134..29bef33 100644 --- a/mods/track_players/init.lua +++ b/mods/track_players/init.lua @@ -1,9 +1,27 @@ local time_interval = 1.0 +local fifo_path "/tmp/mt_players_fifo" + +function players_data() + ps = {} + for i, player in ipairs(minetest.get_connected_players()) do + local pos = player:getpos() + local name = player:get_player_name() + local data = { + name = pname, + x = pos.x, + y = pos.y, + z = pos.z } + table.insert(ps, data) + end + return minetest.write_json(ps) .. '\n' +end function time_interval_func() - for _, player in ipairs(minetest.get_connected_players()) do - local name = player:get_player_name() - minetest.chat_send_player(name, "Hello " .. name) + 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) end