mirror of
https://github.com/minetest-mods/technic.git
synced 2024-12-22 13:52:31 +01:00
a small fix to not create "empty" stargate files for each player and to clean up such files that already exist
This commit is contained in:
parent
df644d7f77
commit
97749578b0
@ -3,7 +3,13 @@ stargate.default_page = "main"
|
|||||||
stargate_network["players"]={}
|
stargate_network["players"]={}
|
||||||
stargate.current_page={}
|
stargate.current_page={}
|
||||||
|
|
||||||
|
local function table_empty(tab)
|
||||||
|
for key in pairs(tab) do return false end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
stargate.save_data = function(table_pointer)
|
stargate.save_data = function(table_pointer)
|
||||||
|
if table_empty(stargate_network[table_pointer]) then return end
|
||||||
local data = minetest.serialize( stargate_network[table_pointer] )
|
local data = minetest.serialize( stargate_network[table_pointer] )
|
||||||
local path = minetest.get_worldpath().."/stargate_"..table_pointer..".data"
|
local path = minetest.get_worldpath().."/stargate_"..table_pointer..".data"
|
||||||
local file = io.open( path, "w" )
|
local file = io.open( path, "w" )
|
||||||
@ -22,6 +28,7 @@ stargate.restore_data = function(table_pointer)
|
|||||||
local data = file:read("*all")
|
local data = file:read("*all")
|
||||||
stargate_network[table_pointer] = minetest.deserialize( data )
|
stargate_network[table_pointer] = minetest.deserialize( data )
|
||||||
file:close()
|
file:close()
|
||||||
|
if table_empty(stargate_network[table_pointer]) then os.remove(path) end
|
||||||
return true
|
return true
|
||||||
else return nil
|
else return nil
|
||||||
end
|
end
|
||||||
@ -31,7 +38,8 @@ end
|
|||||||
if stargate.restore_data("registered_players") ~= nil then
|
if stargate.restore_data("registered_players") ~= nil then
|
||||||
for __,tab in ipairs(stargate_network["registered_players"]) do
|
for __,tab in ipairs(stargate_network["registered_players"]) do
|
||||||
if stargate.restore_data(tab["player_name"]) == nil then
|
if stargate.restore_data(tab["player_name"]) == nil then
|
||||||
print ("[stargate] Error loading data!")
|
--print ("[stargate] Error loading data!")
|
||||||
|
stargate_network[tab["player_name"]] = {}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user