From 947f4c56e54046a4ea35e90aa9300048fe446399 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Mon, 31 Aug 2020 17:48:18 +0200 Subject: [PATCH] Add 'get_gametime' function --- doc/manual_DE.lua | 2 +- lua_controller/controller.lua | 14 +++++++++++--- manuals/ta4_lua_controller_EN.md | 3 ++- manuals/ta4_lua_controller_EN.pdf | Bin 352544 -> 353274 bytes 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 181aa19..6039266 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -1349,7 +1349,7 @@ techage.manual_DE.aText = { " - Über 'stacks = $read_data(\\, \"stacks\")' kann der Inhalt der Kiste ausgelesen werden. Siehe dazu: https://github.com/joe7575/techage/blob/master/manuals/ta4_lua_controller_EN.md#sensor-chest\n".. " - Über '$send_cmnd(\\, \"text\"\\, \"press both buttons andnput something into the chest\")' kann der Text im Menü der Sensor Kiste gesetzt werden.\n".. "\n".. - "Über die Checkbox \"Erlaube öffentlichen Zugriff\" kann eingestellt werden\\, ob die Kiste von jedem genutzt werden darf\\, oder nur vom Spielern die hier Zugriffsrechte haben.\n".. + "Über die Checkbox \"Erlaube öffentlichen Zugriff\" kann eingestellt werden\\, ob die Kiste von jedem genutzt werden darf\\, oder nur von Spielern die hier Zugriffsrechte haben.\n".. "\n".. "\n".. "\n", diff --git a/lua_controller/controller.lua b/lua_controller/controller.lua index c1f9b34..9673a3f 100644 --- a/lua_controller/controller.lua +++ b/lua_controller/controller.lua @@ -120,10 +120,18 @@ techage.lua_ctlr.register_function("get_ms_time", { cmnd = function(self) return math.floor(minetest.get_us_time() / 1000) end, - help = "$get_ms_time()\n".. + help = " ms = $get_ms_time()\n".. " returns time with millisecond precision." }) +techage.lua_ctlr.register_function("get_gametime", { + cmnd = function(self) + return minetest.get_gametime() + end, + help = " t = $get_gametime()\n".. + " returns the time, in seconds, since the world was created." +}) + techage.lua_ctlr.register_function("position", { cmnd = function(self, number) local info = techage.get_node_info(number) @@ -132,7 +140,7 @@ techage.lua_ctlr.register_function("position", { end return "(-,-,-)" end, - help = "$position(number)\n".. + help = " pos = $position(number)\n".. " returns the position '(x,y,z)' of the device\n with given number." }) @@ -144,7 +152,7 @@ techage.lua_ctlr.register_action("battery", { local val = (BATTERY_CAPA - math.min(batmeta:get_int("content") or 0, BATTERY_CAPA)) return 100 - math.floor((val * 100.0 / BATTERY_CAPA)) end, - help = " $battery()\n".. + help = " lvl = $battery()\n".. " Get charge level of battery connected to Controller.\n".. " Function returns percent number (0-100) where 100 means full.\n".. " example: battery_percent = $battery()" diff --git a/manuals/ta4_lua_controller_EN.md b/manuals/ta4_lua_controller_EN.md index 297989c..0d21868 100644 --- a/manuals/ta4_lua_controller_EN.md +++ b/manuals/ta4_lua_controller_EN.md @@ -330,7 +330,8 @@ In addition to Lua standard function the Lua Controller provides the following f E.g.: `$print("Hello "..name)` - `$loopcycle(seconds)` - This function allows to change the call frequency of the controller loop() function, witch is per default one second. For more info, see "Cyclic Task" - `$events(bool)` - Enable/disable event handling. For more info, see "Events" -- `$get_ms_time()` - Returns time with millisecond precision +- `$get_ms_time()` - Returns the time with millisecond precision +- `get_gametime()` - Returns the time, in seconds, since the world was created - `$time_as_str()` - Read the time of day (ingame) as text string in 24h format, like "18:45" - `$time_as_num()` - Read the time of day (ingame) as integer number in 24h format, like 1845 - `$get_input(num)` - Read an input value provided by an external block with the given number _num_. The block has to be configured with the number of the controller to be able to send status messages (on/off commands) to the controller. _num_ is the number of the remote block, like "1234". diff --git a/manuals/ta4_lua_controller_EN.pdf b/manuals/ta4_lua_controller_EN.pdf index 1273eb1ab8af0b91b3b730b1093679cc2bd39326..eeb974ff2acff079c756f0f0c91f294bb04da710 100644 GIT binary patch delta 15913 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 delta 15142 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