From da1b69a520e1b9c602f2d58f04b3cfd78054d96d Mon Sep 17 00:00:00 2001 From: sys4-fr Date: Fri, 7 Sep 2018 19:46:30 +0200 Subject: [PATCH] =?UTF-8?q?Remplissage=20du=20d=C3=A9p=C3=B4t.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- depends.txt | 1 + init.lua | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 depends.txt create mode 100644 init.lua diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +default diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..ec2bd88 --- /dev/null +++ b/init.lua @@ -0,0 +1,53 @@ +minetest.register_globalstep(function(dtime) + local players = minetest.get_connected_players() + for i=1, #players do + local name = players[i]:get_player_name() + if default.player_attached[name] and not players[i]:get_attach() and + (players[i]:get_player_control().up == true or + players[i]:get_player_control().down == true or + players[i]:get_player_control().left == true or + players[i]:get_player_control().right == true or + players[i]:get_player_control().jump == true) then + players[i]:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0}) + players[i]:set_physics_override(1, 1, 1) + default.player_attached[name] = false + default.player_set_animation(players[i], "stand", 30) + end + end +end) + +minetest.register_chatcommand("sit", { + description = "Sit down", + func = function(name) + local player = minetest.get_player_by_name(name) + if default.player_attached[name] then + player:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0}) + player:set_physics_override(1, 1, 1) + default.player_attached[name] = false + default.player_set_animation(player, "stand", 30) + else + player:set_eye_offset({x=0, y=-7, z=2}, {x=0, y=0, z=0}) + player:set_physics_override(0, 0, 0) + default.player_attached[name] = true + default.player_set_animation(player, "sit", 30) + end + end +}) + +minetest.register_chatcommand("lay", { + description = "Lay down", + func = function(name) + local player = minetest.get_player_by_name(name) + if default.player_attached[name] then + player:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0}) + player:set_physics_override(1, 1, 1) + default.player_attached[name] = false + default.player_set_animation(player, "stand", 30) + else + player:set_eye_offset({x=0, y=-13, z=0}, {x=0, y=0, z=0}) + player:set_physics_override(0, 0, 0) + default.player_attached[name] = true + default.player_set_animation(player, "lay", 0) + end + end +})