illuna/commands.lua

117 lines
4.1 KiB
Lua
Raw Normal View History

2016-06-05 09:55:27 -07:00
minetest.register_on_chat_message(function(name, message, playername, player)
local cmd ="/spawn"
2016-06-05 09:55:27 -07:00
if message:sub(0, #cmd) == cmd then
if message == '/spawn' then
local player = minetest.env:get_player_by_name(name)
local spawnPoint = minetest.setting_get("static_spawnpoint")
minetest.get_player_by_name(name):setpos(minetest.string_to_pos(spawnPoint))
minetest.chat_send_player(name, "Teleported to spawn!")
return true
2016-06-05 09:55:27 -07:00
end
end
2016-06-05 09:55:27 -07:00
local cmd ="/away"
if message:sub(0, #cmd) == cmd then
if message == '/away' then
local player = minetest.env:get_player_by_name(name)
2016-06-05 10:01:58 -07:00
minetest.chat_send_all(name.." is now away from keyboard!")
irc:say(string.format('*** %s is now away from keyboard.', player:get_player_name()))
2016-06-05 09:55:27 -07:00
return true --deds to sfan5
end
end
local cmd ="/re"
if message:sub(0, #cmd) == cmd then
if message == '/re' then
local player = minetest.env:get_player_by_name(name)
2016-06-05 10:01:58 -07:00
minetest.chat_send_all(name.." is no longer away from keyboard!")
irc:say(string.format('*** %s is no longer away from keyboard.', player:get_player_name()))
return true
2016-06-05 09:55:27 -07:00
end
end
local cmd ="/hacmd"
if message:sub(0, #cmd) == cmd then
if message == '/hacmd' then
--local player = minetest.env:get_player_by_name(name)
minetest.chat_send_all("additional Commands")
minetest.chat_send_all("===================")
minetest.chat_send_all("use /away for afk note from server.")
minetest.chat_send_all("use /re for no-longer-afk note from server.")
minetest.chat_send_all("use /spawn to teleporting you to the spawnpoint.")
minetest.chat_send_all("use /helpcmdplus to show this helpmessage.")
return true
end
end
local cmd ="/helpcmdplus"
if message:sub(0, #cmd) == cmd then
if message == '/helpcmdplus' then
local player = minetest.env:get_player_by_name(name)
minetest.chat_send_all("additional Comands")
minetest.chat_send_all("==================")
minetest.chat_send_player(player:get_player_name(),"use /away for afk note from server.")
minetest.chat_send_player(player:get_player_name(),"use /re for no-longer-afk note from server.")
minetest.chat_send_player(player:get_player_name(),"use /spawn to teleporting you to the Spawnpoint.")
return true
end
end
end)
--Deds to Kahrl
minetest.register_on_newplayer(function(player)
player:setpos(spawn)
return true
end)
--Deds to Kahrl
minetest.register_on_respawnplayer(function(player, pos)
player:setpos(spawn)
return true
end)
2016-06-08 08:15:10 -07:00
-- Commands, originally by Grailtest @0-afflatus
command = {}
function command.send_notice(target, text)
local player = minetest.get_player_by_name(target)
if not player then
return false, ("There's no player named '%s'."):format(target)
end
local fs = { }
local lines = { }
for i, line in ipairs(text:split("|")) do
local lt = { }
for j = 1, #line, 40 do
table.insert(lt, line:sub(j, j+39))
end
lines[i] = table.concat(lt, "\n")
end
text = table.concat(lines, "\n")
text = minetest.formspec_escape(text)
table.insert(fs, "size[8,4]")
--table.insert(fs, "background[0,0;8,4;ui_form_bg.png]")
table.insert(fs, "label[1,.2;"..text.."]")
table.insert(fs, "button_exit[3,3.2;2,0.5;ok;OK]")
fs = table.concat(fs)
minetest.after(0.5, function()
minetest.show_formspec(target, "notice:notice", fs)
end)
return true
end
minetest.register_privilege("notice", "Send notices to players.")
minetest.register_chatcommand("notice", {
params = "<player> <text>",
privs = { notice=true, },
description = "Show a notice to a player.",
func = function(name, params)
local target, text = params:match("(%S+)%s+(.+)")
if not (target and text) then
return false, "Usage: /notice <player> <text>"
end
local ok, err = command.send_notice(target, text)
if not ok then
return false, err
end
return true, "Notice sent!"
end,
})