From cb734e191e846424b5ac175653a3e0c1098e01f9 Mon Sep 17 00:00:00 2001 From: Ben Robinson Date: Wed, 2 Jan 2019 15:55:47 -0500 Subject: [PATCH] Initial Commit --- init.lua | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 init.lua diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..d215a0d --- /dev/null +++ b/init.lua @@ -0,0 +1,38 @@ +local update_interval = 0.5 +local sprint_length = 6 +local timer = 0 + +minetest.register_globalstep(function(dtime) + timer = timer + dtime + if timer >= update_interval then + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local breath = player:get_breath() + local privs = minetest.get_player_privs(name) + local old_breath = player:get_attribute("old_breath") or 11 + local sprint_time = player:get_attribute("sprint_time") or 0 + + minetest.chat_send_player(name, tostring(name) .. "\n" .. tostring(old_breath) .. "\n" .. tostring(sprint_time)) + + + if player:get_player_control()["aux1"] and player:get_player_control()["up"] and privs.fast then + sprint_time = sprint_time + timer + + breath = old_breath - ( sprint_time * (11 / sprint_length) ) + else + player:set_attribute("old_breath", breath) + sprint_time = 0 + end + + if breath == 11 then + privs.fast = true + elseif breath < 1 then + privs.fast = nil + end + minetest.set_player_privs(name, privs) + player:set_attribute("sprint_time", sprint_time) + player:set_breath(breath) + end + timer = 0 + end +end)