2021-08-12 16:58:04 +02:00
|
|
|
local get_connected_players = minetest.get_connected_players
|
|
|
|
local abs = math.abs
|
|
|
|
local deg = math.deg
|
|
|
|
local basepos = vector.new(0, 6.35, 0)
|
|
|
|
local lastdir = {}
|
|
|
|
|
2020-06-12 05:17:28 +02:00
|
|
|
minetest.register_globalstep(function(dtime)
|
2021-08-12 16:58:04 +02:00
|
|
|
for _, player in pairs(get_connected_players()) do
|
|
|
|
local pname = player:get_player_name()
|
|
|
|
local ldeg = -deg(player:get_look_vertical())
|
|
|
|
|
|
|
|
if abs((lastdir[pname] or 0) - ldeg) > 4 then
|
|
|
|
lastdir[pname] = ldeg
|
|
|
|
player:set_bone_position("Head", basepos, {x = ldeg, y = 0, z = 0})
|
|
|
|
end
|
2020-06-12 05:17:28 +02:00
|
|
|
end
|
|
|
|
end)
|
2021-08-12 16:58:04 +02:00
|
|
|
|
|
|
|
minetest.register_on_leaveplayer(function(player)
|
|
|
|
lastdir[player:get_player_name()] = nil
|
|
|
|
end)
|