diff options
| -rw-r--r-- | init.lua | 16 | 
1 files changed, 13 insertions, 3 deletions
| @@ -1,6 +1,7 @@  atm = {}  atm.balance = {}  atm.pth = minetest.get_worldpath().."/atm_accounts" +atm.linecount = 0  function atm.showform (player)     atm.readaccounts() @@ -34,8 +35,10 @@ end  function atm.readaccounts ()      local file = io.open(atm.pth, "r") +   local l = 0     if file then        repeat +	 l = l + 1  	 local balance = file:read("*n")  	 if x == nil then  	    break @@ -44,6 +47,7 @@ function atm.readaccounts ()  	 atm.balance[name:sub(2)] = balance        until file:read(0) == nil        io.close(file) +      atm.linecount = l     else        atm.balance = {}     end @@ -54,12 +58,18 @@ function atm.saveaccounts()        return     end     local data = {} -   local output = io.open(atm.pth, "w") + +   local l     for k, v in pairs(atm.balance) do        table.insert(data, string.format("%d %s\n", v, k)) +      l = l+1 +   end +   if not l < atm.linecount then +      local output = io.open(atm.pth, "w") +      output:write(table.concat(data)) +      io.close(output)     end -   output:write(table.concat(data)) -   io.close(output) +  end  minetest.register_on_joinplayer(function(player) | 
