Migration for new helpers library

This commit is contained in:
Cooldude2606
2024-10-06 16:34:37 +01:00
parent 67a169ce0a
commit 377fb69152
10 changed files with 51 additions and 26 deletions

View File

@@ -154,6 +154,9 @@ local Datastore = {}
local Data = {}
local copy = table.deep_copy
local trace = debug.traceback
local table_to_json = helpers.table_to_json
local json_to_table = helpers.json_to_table
local write_file = helpers.write_file
--- Save datastores in the global table
Storage.register(Data, function(tbl)
@@ -242,11 +245,11 @@ function DatastoreManager.ingest(action, datastore_name, key, value_json)
if action == "remove" then
datastore:raw_set(key)
elseif action == "message" then
local success, value = pcall(game.json_to_table, value_json)
local success, value = pcall(json_to_table, value_json)
if not success or value == nil then value = tonumber(value_json) or value_json end
datastore:raise_event("on_message", key, value)
elseif action == "propagate" or action == "request" then
local success, value = pcall(game.json_to_table, value_json)
local success, value = pcall(json_to_table, value_json)
if not success or value == nil then value = tonumber(value_json) or value_json end
local old_value = datastore:raw_get(key)
value = datastore:raise_event("on_load", key, value, old_value)
@@ -389,9 +392,9 @@ self:write_action('save', 'TestKey', 'Foo')
function Datastore:write_action(action, key, value)
local data = { action, self.name, key }
if value ~= nil then
data[4] = type(value) == "table" and game.table_to_json(value) or value
data[4] = type(value) == "table" and table_to_json(value) or value
end
game.write_file("ext/datastore.out", table.concat(data, " ") .. "\n", true, 0)
write_file("ext/datastore.out", table.concat(data, " ") .. "\n", true, 0)
end
----- Datastore Local

View File

@@ -47,6 +47,9 @@ local Datastore = require("modules.exp_legacy.expcore.datastore") --- @dep expco
local Commands = require("modules.exp_legacy.expcore.commands") --- @dep expcore.commands
require("modules.exp_legacy.config.expcore.command_general_parse") --- @dep config.expcore.command_general_parse
local table_to_json = helpers.table_to_json
local write_file = helpers.write_file
--- Common player data that acts as the root store for player data
local PlayerData = Datastore.connect("PlayerData", true) -- saveToDisk
PlayerData:set_serializer(Datastore.name_serializer) -- use player name
@@ -83,7 +86,7 @@ Commands.new_command("preference", "Shows you what your current data saving pref
Commands.new_command("save-data", "Writes all your player data to a file on your computer")
:register(function(player)
player.print{ "expcore-data.get-data" }
game.write_file("expgaming_player_data.json", game.table_to_json(PlayerData:get(player, {})), false, player.index)
write_file("expgaming_player_data.json", table_to_json(PlayerData:get(player, {})), false, player.index)
end)
--- Async function called after 5 seconds with no player data loaded