Better kits databases step one

master
Lejo1 2018-11-10 14:31:33 +01:00
parent a9da4576ad
commit 62c3d2afd8
5 changed files with 13 additions and 53 deletions

View File

@ -13,6 +13,8 @@ function hiddenseeker.save_kits(name)
else table_to_modstorage(storage, hiddenseeker_kits[name], name)
end
end
storage:from_table(nil)
hiddenseeker.save_kits()
-- Creates player's account, if the player doesn't have it.
subgames.register_on_joinplayer(function(player, lobby)

View File

@ -44,6 +44,8 @@ function mesewars.save_kits(name)
else table_to_modstorage(storage, kits[name], name)
end
end
storage:from_table(nil)
mesewars.save_kits()
-- Creates player's account, if the player doesn't have it.
subgames.register_on_joinplayer(function(player, lobby)

View File

@ -15,6 +15,8 @@ function skywars.save_kits(name)
else table_to_modstorage(storage, skywars_kits[name], name)
end
end
storage:from_table(nil)
skywars.save_kits()
-- Creates player's account, if the player doesn't have it.
subgames.register_on_joinplayer(function(player, lobby)

View File

@ -156,62 +156,14 @@ function subgames.drop_inv(name, pos)
player:set_hp(20)
end
--max 5 stages
function table_to_keyvalues(t)
local toreturn = {}
for k, v in pairs(t) do
local kstr = tostring(k)
if type(v) ~= "table" then
table.insert(toreturn, {k=kstr, v=v})
else
for k, v1 in pairs(v) do
local kstr1 = kstr..""..k
if type(v1) ~= "table" then
table.insert(toreturn, {k=kstr1, v=v1})
else
for k, v2 in pairs(v1) do
local kstr2 = kstr1..""..k
if type(v2) ~= "table" then
table.insert(toreturn, {k=kstr2, v=v2})
else
for k, v3 in pairs(v2) do
local kstr3 = kstr2..""..k
if type(v3) ~= "table" then
table.insert(toreturn, {k=kstr3, v=v3})
else
for k, v4 in pairs(v3) do
local kstr4 = kstr3..""..k
if type(v4) ~= "table" then
table.insert(toreturn, {k=kstr4, v=v4})
end
end
end
end
end
end
end
end
end
end
return toreturn
end
function table_to_modstorage(s, data, key)
if key then
key = key..""
else key = ""
s:set_string(key, minetest.serialize(data))
else
for k, v in pairs(data) do
s:set_string(k, minetest.serialize(v))
end
end
if type(data) == "table" then
for _, table in pairs(table_to_keyvalues(data)) do
if type(table.v) == "number" then
if table.v == round(table.v) then
s:set_int(key..table.k, table.v)
else s:set_float(key..table.k, table.v)
end
else s:set_string(key..table.k, tostring(table.v))
end
end
end
end
function modstorage_to_table(s)

View File

@ -13,6 +13,8 @@ function survivalgames.save_kits(name)
else table_to_modstorage(storage, survivalgames_kits[name], name)
end
end
storage:from_table(nil)
survivalgames.save_kits()
-- Creates player's account, if the player doesn't have it.
subgames.register_on_joinplayer(function(player, lobby)