classroom/actions.lua

84 lines
2.0 KiB
Lua

local S = classroom.S
classroom.register_action("bring", {
title = S"Bring",
description = S"Teleport players to your location",
online_required = true,
func = function(runner, players)
local pos = runner:get_pos()
for _, name in pairs(players) do
local player = minetest.get_player_by_name(name)
player:set_pos(pos)
end
end,
})
classroom.register_action("look", {
title = S"Look",
description = S"Make players look at you",
online_required = true,
func = function(runner, players)
local pos = runner:get_pos()
for _, name in pairs(players) do
local player = minetest.get_player_by_name(name)
local pos2 = player:get_pos()
player:set_look_horizontal(vector.angle(pos, pos2))
end
end,
})
classroom.register_action("mute", {
title = S"Mute",
description = S"Revoke shout from players",
online_required = false,
func = function(runner, players)
for _, name in pairs(players) do
print("Muting " .. name)
local privs = minetest.get_player_privs(name)
privs.shout = nil
minetest.set_player_privs(name, privs)
end
end,
})
classroom.register_action("unmute", {
title = S"Unmute",
description = S"Grant shout to players",
online_required = false,
func = function(runner, players)
for _, name in pairs(players) do
local privs = minetest.get_player_privs(name)
privs.shout = true
minetest.set_player_privs(name, privs)
end
end,
})
classroom.register_action("fly", {
title = S"Fly",
description = S"Grant fly to players",
online_required = false,
func = function(runner, players)
for _, name in pairs(players) do
local privs = minetest.get_player_privs(name)
privs.fly = true
minetest.set_player_privs(name, privs)
end
end,
})
classroom.register_action("nofly", {
title = S"NoFly",
description = S"Revoke fly from players",
online_required = false,
func = function(runner, players)
for _, name in pairs(players) do
local privs = minetest.get_player_privs(name)
privs.fly = nil
minetest.set_player_privs(name, privs)
end
end,
})