206 lines
7.1 KiB
Lua
Executable File
206 lines
7.1 KiB
Lua
Executable File
-- chat commands
|
|
-- uses extras.crash
|
|
-- extras.nospawn
|
|
|
|
if extras.rollback~=0 then
|
|
print("[extras] rollback commands - ACTIVE")
|
|
minetest.register_chatcommand("rbc", {
|
|
description = "who built it?",
|
|
privs = {ismod = true},
|
|
func = function( name, param)
|
|
local cmd_def = minetest.chatcommands["rollback_check"]
|
|
if cmd_def then
|
|
minetest.chat_send_player(name, "Punch a node to ID builder...")
|
|
cmd_def.func(name, "rollback_check 1 100000000")
|
|
end
|
|
return false
|
|
end,
|
|
})
|
|
|
|
minetest.register_chatcommand("roll", {
|
|
description = "Demote & rollback Player",
|
|
privs = {ismod = true},
|
|
func = function( name, param)
|
|
minetest.chat_send_all("Player "..param.." has privs removed, and all their work is being removed from the game.")
|
|
local privs = {}
|
|
--minetest.get_player_privs(param)
|
|
privs.shout = 1
|
|
minetest.set_player_privs(param, privs)
|
|
minetest.rollback_revert_actions_by("player:"..param, 100000000)
|
|
return false
|
|
end,
|
|
})
|
|
end
|
|
|
|
-- minetest.register_chatcommand("priv0", {
|
|
-- description = "Clear privs, ADD shout.",
|
|
-- privs = {server = true},
|
|
-- func = function( name, param)
|
|
-- if param=="" or name=="" then
|
|
-- minetest.chat_send_player(name, "I need a name...")
|
|
-- return false
|
|
-- end
|
|
-- extras.setprivs_jailed( param)
|
|
-- end,
|
|
-- })
|
|
--
|
|
-- minetest.register_chatcommand("priv1", {
|
|
-- description = "Clear privs, ADD default_privs",
|
|
-- privs = {server = true},
|
|
-- func = function( name, param)
|
|
-- if param=="" or name=="" then
|
|
-- minetest.chat_send_player(name, "I need a name...")
|
|
-- return false
|
|
-- end
|
|
-- extras.setprivs_released( param)
|
|
-- end,
|
|
-- })
|
|
--
|
|
-- minetest.register_chatcommand("p", {
|
|
-- description = "Promote to Player",
|
|
-- privs = {ismod = true},
|
|
-- func = function( name, param)
|
|
-- minetest.chat_send_all("Player "..param.." is promoted to PLAYER, They can now build beyond the wall.")
|
|
-- local privs = minetest.get_player_privs(param)
|
|
-- privs.spill = true
|
|
-- privs.outlander = true
|
|
-- privs.noclip = true
|
|
-- minetest.set_player_privs(param, privs)
|
|
-- return false
|
|
-- end,
|
|
-- })
|
|
|
|
if extras.nospawn==0 then
|
|
|
|
minetest.register_chatcommand("spawn", {
|
|
description = "Teleport player to spawn point.",
|
|
privs = {interact=true},
|
|
func = function ( name, param )
|
|
local spawnpoint = extras.spawnpoint
|
|
-- local spawnpoint = {x=13,y=138,z=0}
|
|
local player = minetest.get_player_by_name(name)
|
|
if minetest.get_modpath("xp_redo") then
|
|
if xp_redo.get_xp(player:get_player_name()) < 50 then
|
|
minetest.chat_send_player(player:get_player_name(), "Not enough XP to Teleport to spawn... DO THE MISSION!!!")
|
|
return false
|
|
end
|
|
end
|
|
minetest.chat_send_player(player:get_player_name(), "Teleporting to spawn...")
|
|
extras.setpos( spawnpoint , player)
|
|
return true
|
|
end,
|
|
})
|
|
end
|
|
|
|
minetest.register_chatcommand("afk", {
|
|
description = "Tell everyone you are afk.",
|
|
privs = {interact=true},
|
|
func = function ( name, param )
|
|
local player = minetest.get_player_by_name(name)
|
|
minetest.chat_send_all(name.." is AFK! "..param)
|
|
return true
|
|
end,
|
|
})
|
|
|
|
minetest.register_chatcommand("ping", {
|
|
privs = {server = true},
|
|
params = "",
|
|
description = "Get ip & ping of players",
|
|
func = function(player_name, param)
|
|
for i, player in pairs(minetest.get_connected_players()) do
|
|
local name = player:get_player_name()
|
|
if name then
|
|
local ping = minetest.get_player_information(name).avg_rtt / 2
|
|
ping = math.floor(ping * 1000)
|
|
minetest.chat_send_player(player_name, " "..name.." IP:"..minetest.get_player_information(name).address.." Ping: "..ping.."ms")
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
minetest.register_chatcommand("wit", {
|
|
privs = {server = true},
|
|
params = "",
|
|
description = "Get itemstring of wielded item",
|
|
func = function(player_name, param)
|
|
local player = minetest.get_player_by_name(player_name)
|
|
minetest.chat_send_player(player_name, player:get_wielded_item():to_string())
|
|
return
|
|
end
|
|
})
|
|
|
|
minetest.register_chatcommand("eday", {
|
|
privs = {settime = true},
|
|
params = "<player_name>",
|
|
description = "Eternal Day (It never gets dark.)",
|
|
func = function(player_name, param)
|
|
minetest.set_timeofday(0.5)
|
|
minetest.setting_set("time_speed","0")
|
|
end
|
|
})
|
|
|
|
if extras.adminreset~=0 then
|
|
minetest.register_chatcommand("r", {
|
|
description = "Reset the server.",
|
|
privs = {server=true},
|
|
func = function ( name, param )
|
|
--boop.boom(bob)
|
|
minetest.request_shutdown(" !!!!! SERVER RESTART... COUNT TO 10 THEN PRESS RECONNECT !!!", true)
|
|
end,
|
|
})
|
|
end
|
|
|
|
if extras.jail~=0 then
|
|
minetest.register_chatcommand("setjail", {
|
|
description = "Set the position of the Jail to where you are now.",
|
|
privs = {setjail=true},
|
|
func = function ( name, param )
|
|
extras.jail_data.jailpos = vector.round(minetest.get_player_by_name(name):getpos())
|
|
extras.save_jail(extras.jail_data)
|
|
return true, "Jail position set."
|
|
end,
|
|
})
|
|
|
|
minetest.register_chatcommand("setrelease", {
|
|
description = "Set the release position to where you are now.",
|
|
privs = {setjail=true},
|
|
func = function ( name, param )
|
|
extras.jail_data.releasepos = vector.round(minetest.get_player_by_name(name):getpos())
|
|
extras.save_jail(extras.jail_data)
|
|
return true, "Release position Set."
|
|
end,
|
|
})
|
|
|
|
minetest.register_chatcommand("jail", {
|
|
params = "<player>",
|
|
description = "Sends a player to Jail",
|
|
privs = {jail=true},
|
|
func = function ( name, param )
|
|
local player = minetest.get_player_by_name(param)
|
|
if (player) then
|
|
-- print("go for jailing "..param)
|
|
extras.players_in_jail[param] = player;
|
|
player:setpos(vector.round(extras.jail_data.jailpos))
|
|
minetest.chat_send_all(""..param.." has been sent to jail by "..name.."")
|
|
extras.setprivs_jailed(param)
|
|
end
|
|
end,
|
|
})
|
|
|
|
minetest.register_chatcommand("release", {
|
|
params = "<player>",
|
|
description = "Releases a player from Jail",
|
|
privs = {jail=true},
|
|
func = function ( name, param )
|
|
if (param == "") then return end
|
|
local player = minetest.get_player_by_name(param)
|
|
extras.players_in_jail[param] = nil;
|
|
if (player) then
|
|
extras.setpos(extras.jail_data.releasepos,player)
|
|
minetest.chat_send_all(""..param.." has been released from jail by "..name.."")
|
|
extras.setprivs_released(param)
|
|
end
|
|
end,
|
|
})
|
|
end
|