From 4e0f30db176ca8dbb109428b055b0ad880e09d02 Mon Sep 17 00:00:00 2001 From: grilledham Date: Sun, 25 Nov 2018 11:52:50 +0000 Subject: [PATCH] updates --- server.lua | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/server.lua b/server.lua index 25de18ca..beab6e51 100644 --- a/server.lua +++ b/server.lua @@ -135,15 +135,20 @@ function Public.set_data(data_set, key, value) message = table.concat({data_set_tag, '{data_set:"', data_set, '",key:"', key, '"}'}) elseif vt == 'string' then message = table.concat({data_set_tag, '{data_set:"', data_set, '",key:"', key, '",value:"\\"', value, '\\""}'}) - elseif vt == 'number' or vt == 'boolean' then + elseif vt == 'number' then message = table.concat({data_set_tag, '{data_set:"', data_set, '",key:"', key, '",value:"', value, '"}'}) + elseif vt == 'boolean' then + message = + table.concat({data_set_tag, '{data_set:"', data_set, '",key:"', key, '",value:"', tostring(value), '"}'}) elseif vt == 'function' then error('value cannot be a function') else value = serpent.line(value) - message = table.concat({data_set_tag, '{data_set:"', data_set, '",key:"', key, '",value:"', value, '"}'}) + value = value:gsub("'", "\\'") + message = table.concat({data_set_tag, '{data_set:"', data_set, '",key:"', key, "\",value:'", value, "'}"}) end + game.print(message) raw_print(message) end @@ -208,4 +213,31 @@ function Public.get_tracked_data_sets() game.print(message) end +function Public.try_get_data(data_set, key, callback_token) + if type(data_set) ~= 'string' then + error('data_set must be a string') + end + if type(key) ~= 'string' then + error('key must be a string') + end + if type(callback_token) ~= 'number' then + error('callback_token must be a number') + end + + local message = table.concat {data_get_tag, callback_token, ' {', 'data_set:"', data_set, '",key:"', key, '"}'} + raw_print(message) +end + +function Public.try_get_all_data(data_set, callback_token) + if type(data_set) ~= 'string' then + error('data_set must be a string') + end + if type(callback_token) ~= 'number' then + error('callback_token must be a number') + end + + local message = table.concat {data_get_all_tag, callback_token, ' {', 'data_set:"', data_set, '"}'} + raw_print(message) +end + return Public