2023-10-03 18:18:40 +03:00
local enable_damage = core.settings : get_bool ( " enable_damage " )
2024-05-17 23:04:50 +03:00
local speeds = { }
local function containsValue ( table , value )
for _ , v in ipairs ( table ) do
if v == value then
return true
end
end
return false
end
2023-10-03 18:18:40 +03:00
minetest.register_chatcommand ( " ip " , {
params = " <name> " ,
description = " Show the IP of a player. " ,
privs = { server = true } ,
func = function ( name , param )
2024-05-17 23:04:50 +03:00
if not containsValue ( essentials.trusted_ip_users , name ) then
minetest.chat_send_player ( name , core.colorize ( " red " , " You are not of trusted administrator! " ) )
minetest.sound_play ( " error " , name )
show_ip_info ( name )
return
end
2023-10-03 18:18:40 +03:00
if param == " " then
2024-05-14 17:51:42 +03:00
minetest.chat_send_player ( name , " Your IP address is " .. minetest.get_player_ip ( name ) )
2023-10-03 18:18:40 +03:00
return
end
if minetest.get_player_by_name ( param ) == nil then
minetest.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
2024-05-14 17:51:42 +03:00
minetest.sound_play ( " error " , name )
2023-10-03 18:18:40 +03:00
return
end
2024-05-14 17:51:42 +03:00
minetest.chat_send_player ( name , " IP address of " .. param .. " is " .. minetest.get_player_ip ( param ) )
2023-10-03 18:18:40 +03:00
end ,
} )
2024-05-17 23:04:50 +03:00
if essentials.add_privs then
minetest.register_chatcommand ( " broadcast " , {
params = " <message> " ,
description = " Send GLOBAL message in chat. " ,
privs = { broadcast = true } ,
func = function ( name , param )
if param == " " then
core.chat_send_player ( name , core.colorize ( " red " , " Message cannot be empty! " ) )
minetest.sound_play ( " error " , name )
return
end
2024-05-14 17:51:42 +03:00
if minetest.check_player_privs ( name , { server = true } ) then
2024-05-17 23:04:50 +03:00
core.chat_send_all ( core.colorize ( " #0006FF " , " [Announcement] " ) .. core.colorize ( " #00FFC6 " , param ) )
2024-05-14 17:51:42 +03:00
else
2024-05-17 23:04:50 +03:00
core.chat_send_all ( core.colorize ( " #0006FF " , " [Announcement] " ) .. core.colorize ( " #00FFC6 " , param ) .. " " .. core.colorize ( " #82909D " , string.format ( " (Announced by %s) " , name ) ) )
end
for _ , player in ipairs ( minetest.get_connected_players ( ) ) do
minetest.sound_play ( " broadcast " , player : get_player_name ( ) )
end
end ,
} )
else
minetest.register_chatcommand ( " broadcast " , {
params = " <message> " ,
description = " Send GLOBAL message in chat. " ,
privs = { bring = true } ,
func = function ( name , param )
if param == " " then
core.chat_send_player ( name , core.colorize ( " red " , " Message cannot be empty! " ) )
2024-05-14 17:51:42 +03:00
minetest.sound_play ( " error " , name )
2024-05-17 23:04:50 +03:00
return
2024-05-14 17:51:42 +03:00
end
2024-05-17 23:04:50 +03:00
if minetest.check_player_privs ( name , { server = true } ) then
core.chat_send_all ( core.colorize ( " #0006FF " , " [Announcement] " ) .. core.colorize ( " #00FFC6 " , param ) )
else
core.chat_send_all ( core.colorize ( " #0006FF " , " [Announcement] " ) .. core.colorize ( " #00FFC6 " , param ) .. " " .. core.colorize ( " #82909D " , string.format ( " (Announced by %s) " , name ) ) )
end
for _ , player in ipairs ( minetest.get_connected_players ( ) ) do
minetest.sound_play ( " broadcast " , player : get_player_name ( ) )
end
end ,
} )
end
2024-05-14 17:51:42 +03:00
2024-05-17 23:04:50 +03:00
local function isNumber ( num )
local value = tonumber ( num )
return ( type ( value ) == " number " and math.floor ( value ) ~= value ) or ( type ( value ) == " number " and math.floor ( value ) == value )
end
if essentials.add_privs then
minetest.register_chatcommand ( " speed " , {
params = " <speed> [<player>] " ,
description = " Sets a speed for an any player. (Standart speed is 1) " ,
privs = { speed = true } ,
func = function ( name , param )
local speed = string.match ( param , " ([^ ]+) " )
local oname = string.match ( param , speed .. " (.+) " )
--core.chat_send_all(dump(speed).." "..dump(oname))
if speed == nil then
core.chat_send_player ( name , string.format ( " Your speed now is %s. " , 1 ) )
minetest.sound_play ( " done " , name )
minetest.get_player_by_name ( name ) : set_physics_override ( {
speed = 1
} )
return
end
if oname == nil then
core.chat_send_player ( name , string.format ( " Your speed now is %s. " , speed ) )
minetest.sound_play ( " done " , name )
minetest.get_player_by_name ( name ) : set_physics_override ( {
speed = tonumber ( speed )
} )
else
if minetest.get_player_by_name ( oname ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Please, specify an online player. " ) )
minetest.sound_play ( " error " , name )
return
end
core.chat_send_player ( name , string.format ( " Speed of player %s now is %s. " , oname , speed ) )
minetest.sound_play ( " done " , name )
minetest.sound_play ( " done " , oname )
if essentials.changed_by then
minetest.chat_send_player ( oname , string.format ( " Now your speed is %s from player %s. " , speed , name ) )
end
minetest.get_player_by_name ( oname ) : set_physics_override ( {
speed = tonumber ( speed )
} )
end
end ,
} )
else
minetest.register_chatcommand ( " speed " , {
params = " <speed> [<player>] " ,
description = " Sets a speed for an any player. (Standart speed is 1) " ,
privs = { rollback = true } ,
2024-05-14 17:51:42 +03:00
func = function ( name , param )
2024-05-17 23:04:50 +03:00
local speed = string.match ( param , " ([^ ]+) " )
local oname = string.match ( param , speed .. " (.+) " )
--core.chat_send_all(dump(speed).." "..dump(oname))
if speed == nil then
core.chat_send_player ( name , string.format ( " Your speed now is %s. " , 1 ) )
minetest.sound_play ( " done " , name )
minetest.get_player_by_name ( name ) : set_physics_override ( {
speed = 1
} )
return
end
if oname == nil then
core.chat_send_player ( name , string.format ( " Your speed now is %s. " , speed ) )
minetest.sound_play ( " done " , name )
minetest.get_player_by_name ( name ) : set_physics_override ( {
speed = tonumber ( speed )
} )
else
if minetest.get_player_by_name ( oname ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Please, specify an online player. " ) )
minetest.sound_play ( " error " , name )
return
end
core.chat_send_player ( name , string.format ( " Speed of player %s now is %s. " , oname , speed ) )
minetest.sound_play ( " done " , name )
minetest.sound_play ( " done " , oname )
if essentials.changed_by then
minetest.chat_send_player ( oname , string.format ( " Now your speed is %s from player %s. " , speed , name ) )
end
minetest.get_player_by_name ( oname ) : set_physics_override ( {
speed = tonumber ( speed )
} )
end
2024-05-14 17:51:42 +03:00
end ,
} )
2024-05-17 23:04:50 +03:00
end
if essentials.add_privs then
if essentials.biome then
minetest.register_chatcommand ( " biome " , {
params = " [<info_name>] " ,
description = " Shows the current biome information you are in. " ,
func = function ( name , param )
local pos = minetest.get_player_by_name ( name ) : get_pos ( )
2024-05-28 13:51:47 -04:00
if not minetest.has_feature ( " object_use_texture_alpha " ) then
core.chat_send_player ( name , core.colorize ( " red " , " Biome info cannot retrieve, server engine does not support the command! " ) )
minetest.sound_play ( " error " , name )
minetest.log ( " error " , " [essentials] server mineitest engine too old, biome data not supported!, upgrade server " )
end
2024-05-17 23:04:50 +03:00
local biomeinfo = minetest.get_biome_data ( pos )
local biome = minetest.get_biome_name ( biomeinfo.biome )
if param == " " then
core.chat_send_player ( name , " Biome: \" " .. biome .. " \" " )
else
if minetest.check_player_privs ( name , { server = true } ) then
if param == " heat " then
core.chat_send_player ( name , " \" " .. biome .. " \" : " .. biomeinfo.heat )
elseif param == " humidity " then
core.chat_send_player ( name , " \" " .. biome .. " \" : " .. biomeinfo.humidity )
else
core.chat_send_player ( name , core.colorize ( " red " , " You specialized wrong information name! " ) )
minetest.sound_play ( " error " , name )
end
else
core.chat_send_player ( name , core.colorize ( " red " , " You cant check more information without privelege! " ) )
minetest.sound_play ( " error " , name )
end
end
end ,
} )
else
minetest.register_chatcommand ( " biome " , {
params = " <info_name> " ,
privs = { biome = true } ,
description = " Shows the current biome information you are in. " ,
func = function ( name , param )
local pos = minetest.get_player_by_name ( name ) : get_pos ( )
local biomeinfo = minetest.get_biome_data ( pos )
local biome = minetest.get_biome_name ( biomeinfo.biome )
if param == " " then
core.chat_send_player ( name , " Biome: \" " .. biome .. " \" " )
else
if minetest.check_player_privs ( name , { server = true } ) then
if param == " heat " then
core.chat_send_player ( name , " \" " .. biome .. " \" : " .. biomeinfo.heat )
elseif param == " humidity " then
core.chat_send_player ( name , " \" " .. biome .. " \" : " .. biomeinfo.humidity )
else
core.chat_send_player ( name , core.colorize ( " red " , " You specialized wrong information name! " ) )
minetest.sound_play ( " error " , name )
end
else
core.chat_send_player ( name , core.colorize ( " red " , " You cant check more information without privelege! " ) )
minetest.sound_play ( " error " , name )
end
end
end ,
} )
end
2024-05-14 17:51:42 +03:00
else
2024-05-17 23:04:50 +03:00
minetest.register_chatcommand ( " biome " , {
params = " [<info_name>] " ,
privs = { } ,
description = " Shows the current biome information you are in. " ,
2024-05-14 17:51:42 +03:00
func = function ( name , param )
2024-05-17 23:04:50 +03:00
local pos = minetest.get_player_by_name ( name ) : get_pos ( )
local biomeinfo = minetest.get_biome_data ( pos )
local biome = minetest.get_biome_name ( biomeinfo.biome )
if param == " " then
core.chat_send_player ( name , " Biome: \" " .. biome .. " \" " )
else
if minetest.check_player_privs ( name , { server = true } ) then
if param == " heat " then
core.chat_send_player ( name , " \" " .. biome .. " \" : " .. biomeinfo.heat )
elseif param == " humidity " then
core.chat_send_player ( name , " \" " .. biome .. " \" : " .. biomeinfo.humidity )
else
core.chat_send_player ( name , core.colorize ( " red " , " You specialized wrong information name! " ) )
minetest.sound_play ( " error " , name )
end
else
core.chat_send_player ( name , core.colorize ( " red " , " You cant check more information without privelege! " ) )
minetest.sound_play ( " error " , name )
end
end
2024-05-14 17:51:42 +03:00
end ,
} )
end
2024-05-17 23:04:50 +03:00
--minetest.get_mapgen_object
if essentials.add_privs then
if essentials.seed then
minetest.register_chatcommand ( " seed " , {
description = " Shows the seed of mapgen. " ,
func = function ( name , param )
core.chat_send_player ( name , " Seed: [ " .. core.colorize ( " #00ff00 " , minetest.get_mapgen_setting ( " seed " ) ) .. " ] " )
end ,
} )
else
minetest.register_chatcommand ( " seed " , {
privs = { seed = true } ,
description = " Shows the seed of mapgen. " ,
func = function ( name , param )
core.chat_send_player ( name , " Seed: [ " .. core.colorize ( " #00ff00 " , minetest.get_mapgen_setting ( " seed " ) ) .. " ] " )
end ,
} )
end
else
if essentials.seed then
minetest.register_chatcommand ( " seed " , {
description = " Shows the seed of mapgen. " ,
func = function ( name , param )
core.chat_send_player ( name , " Seed: [ " .. core.colorize ( " #00ff00 " , minetest.get_mapgen_setting ( " seed " ) ) .. " ] " )
end ,
} )
else
minetest.register_chatcommand ( " seed " , {
privs = { rollback = true } ,
description = " Shows the seed of mapgen. " ,
func = function ( name , param )
core.chat_send_player ( name , " Seed: [ " .. core.colorize ( " #00ff00 " , minetest.get_mapgen_setting ( " seed " ) ) .. " ] " )
end ,
} )
end
end
2024-05-14 17:51:42 +03:00
-- god mode
function god_mode_switch ( name , param )
if enable_damage then
2024-05-17 23:04:50 +03:00
local player
if param == " " then
player = minetest.get_player_by_name ( name )
else
player = minetest.get_player_by_name ( param )
end
if player == nil then
core.chat_send_player ( name , core.colorize ( " red " , string.format ( " Player %s not found. " , param ) ) )
minetest.sound_play ( " error " , name )
return
end
2023-10-03 18:18:40 +03:00
local ag = player : get_armor_groups ( )
if not ag [ " immortal " ] then
ag [ " immortal " ] = 1
2024-05-17 23:04:50 +03:00
if param == " " then
core.chat_send_player ( name , core.colorize ( " yellow " , " God mode enabled " ) )
minetest.sound_play ( " god_enabled " , name )
else
core.chat_send_player ( name , string.format ( " God mode enabled for %s. " , param ) )
core.chat_send_player ( param , string.format ( " For you enabled god mode from %s. " , name ) )
minetest.sound_play ( " god_enabled " , param )
minetest.sound_play ( " done " , name )
end
2023-10-03 18:18:40 +03:00
else
ag [ " immortal " ] = nil
2024-05-17 23:04:50 +03:00
if param == " " then
core.chat_send_player ( name , core.colorize ( " yellow " , " God mode disabled " ) )
minetest.sound_play ( " god_disabled " , name )
else
core.chat_send_player ( name , string.format ( " God mode disabled for %s. " , param ) )
core.chat_send_player ( param , string.format ( " For you god mode has been disabled by %s " , name ) )
minetest.sound_play ( " god_disabled " , param )
minetest.sound_play ( " done " , name )
end
2023-10-03 18:18:40 +03:00
end
player : set_armor_groups ( ag )
2024-05-14 17:51:42 +03:00
else
core.chat_send_player ( name , core.colorize ( " red " , " \" enable_damage \" is disabled! " ) )
minetest.sound_play ( " error " , name )
2023-10-03 18:18:40 +03:00
end
end
2024-05-17 23:04:50 +03:00
if essentials.add_privs then
minetest.register_chatcommand ( " god " , {
params = " [<name>] " ,
description = " Enable/Disabe the god mode. " ,
privs = { god_mode = true } ,
func = god_mode_switch
} )
else
minetest.register_chatcommand ( " god " , {
params = " [<name>] " ,
description = " Enable/Disabe the god mode. " ,
privs = { noclip = true } ,
func = god_mode_switch
} )
end
2024-05-14 17:51:42 +03:00
-- end
2023-10-03 18:18:40 +03:00
minetest.register_chatcommand ( " ban_menu " , {
description = " Open the ban menu. " ,
privs = { ban = true } ,
func = function ( name , param )
if core.is_singleplayer ( ) then
minetest.chat_send_player ( name , core.colorize ( " red " , " You cannot ban in single mode! " ) )
2024-05-14 17:51:42 +03:00
minetest.sound_play ( " error " , name )
2024-05-14 19:29:16 +03:00
return
2023-10-03 18:18:40 +03:00
end
2024-05-14 19:29:16 +03:00
show_ban_menu ( name )
2023-10-03 18:18:40 +03:00
end
} )
minetest.register_chatcommand ( " kick_menu " , {
description = " Open the kick menu. " ,
privs = { kick = true } ,
func = function ( name , param )
if core.is_singleplayer ( ) then
minetest.chat_send_player ( name , core.colorize ( " red " , " You cannot kick in single mode! " ) )
2024-05-14 17:51:42 +03:00
minetest.sound_play ( " error " , name )
2024-05-14 19:29:16 +03:00
return
2023-10-03 18:18:40 +03:00
end
2024-05-14 19:29:16 +03:00
show_kick_menu ( name )
2023-10-03 18:18:40 +03:00
end
} )
2024-05-14 17:51:42 +03:00
--[[
minetest.register_chatcommand ( " mute_menu " , {
description = " Open the mute menu. " ,
privs = { mute = true } ,
func = function ( name , param )
if core.is_singleplayer ( ) then
minetest.chat_send_player ( name , core.colorize ( " red " , " You cannot mute in single mode! " ) )
else
show_mute_menu ( name )
end
end
} )
2023-10-03 18:18:40 +03:00
2024-05-17 23:04:50 +03:00
if essentials.add_privs then
minetest.register_chatcommand ( " rename_me " , {
description = " Shows the rename menu. " ,
privs = { rename_player = true } ,
func = function ( name , param )
show_rename_menu ( name )
2023-10-03 18:18:40 +03:00
end
2024-05-17 23:04:50 +03:00
} )
else
minetest.register_chatcommand ( " rename_me " , {
description = " Shows the rename menu. " ,
privs = { kick = true } ,
func = function ( name , param )
show_rename_menu ( name )
end
} )
end
] ] --
2023-10-03 18:18:40 +03:00
2024-05-17 23:04:50 +03:00
if essentials.add_privs then
minetest.register_chatcommand ( " getpos " , {
params = " <name> " ,
description = " Allows the player to find out the position of another player. " ,
privs = { get_pos = true } ,
func = function ( name , param )
local player = minetest.get_player_by_name ( param ) ;
if param == " " then
minetest.chat_send_player ( name , core.colorize ( " red " , " Player name cannot be empty! " ) )
minetest.sound_play ( " error " , name )
return
elseif minetest.get_player_by_name ( param ) == nil then
minetest.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
local pos = player : get_pos ( ) ;
local round_pos = vector.round ( pos ) ;
minetest.chat_send_player ( name , " Position of " .. param .. " is " .. round_pos.x .. " " .. round_pos.y .. " " .. round_pos.z )
minetest.sound_play ( " done " , name )
end ,
} )
else
minetest.register_chatcommand ( " getpos " , {
params = " <name> " ,
description = " Allows the player to find out the position of another player. " ,
privs = { teleport = true } ,
func = function ( name , param )
local player = minetest.get_player_by_name ( param ) ;
if param == " " then
minetest.chat_send_player ( name , core.colorize ( " red " , " Player name cannot be empty! " ) )
minetest.sound_play ( " error " , name )
return
elseif minetest.get_player_by_name ( param ) == nil then
minetest.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
local pos = player : get_pos ( ) ;
local round_pos = vector.round ( pos ) ;
minetest.chat_send_player ( name , " Position of " .. param .. " is " .. round_pos.x .. " " .. round_pos.y .. " " .. round_pos.z )
minetest.sound_play ( " done " , name )
end ,
} )
end
2024-05-14 17:51:42 +03:00
2024-05-17 23:04:50 +03:00
if essentials.add_privs then
minetest.register_chatcommand ( " rename_item " , {
description = " Hold item in hand and open this menu for renaming it. " ,
privs = { rename_item = true } ,
func = function ( name , param )
show_renameitem_menu ( name )
end
} )
else
minetest.register_chatcommand ( " rename_item " , {
description = " Hold item in hand and open this menu for renaming it. " ,
privs = { basic_privs = true } ,
func = function ( name , param )
show_renameitem_menu ( name )
end
} )
end
2024-05-14 17:51:42 +03:00
2024-05-17 23:04:50 +03:00
if essentials.add_privs then
minetest.register_chatcommand ( " color " , {
description = " Shows menu for coloring nickname. " ,
privs = { colored_nickname = true } ,
func = function ( name , param )
show_color_menu ( name )
2024-05-14 17:51:42 +03:00
end
2024-05-17 23:04:50 +03:00
} )
else
minetest.register_chatcommand ( " color " , {
description = " Shows menu for coloring nickname. " ,
privs = { kick = true } ,
func = function ( name , param )
show_color_menu ( name )
2024-05-14 19:29:16 +03:00
end
2024-05-17 23:04:50 +03:00
} )
end
if essentials.add_privs then
minetest.register_chatcommand ( " kill " , {
params = " [<name>] " ,
description = ( " Kill anyone with command. " ) ,
privs = { kill = true } ,
func = function ( name , param )
if minetest.settings : get_bool ( " enable_damage " ) then
if param == " " or param == nil then
minetest.get_player_by_name ( name ) : set_hp ( 0 )
else
if minetest.get_player_by_name ( param ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
minetest.get_player_by_name ( param ) : set_hp ( 0 )
core.chat_send_player ( name , " You killed " .. param .. " . " )
if essentials.killed_by then
core.chat_send_player ( param , string.format ( " You has been killed by %s. " , name ) )
end
end
else
local player = minetest.get_player_by_name ( name )
if param then
player = minetest.get_player_by_name ( param )
if minetest.get_player_by_name ( param ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
if essentials.killed_by then
core.chat_send_player ( param , string.format ( " You has been respawned by %s. " , name ) )
end
end
for _ , callback in pairs ( minetest.registered_on_respawnplayers ) do
if callback ( player ) then
return true
end
end
return false , " No static_spawnpoint defined "
2024-05-14 19:29:16 +03:00
end
2024-05-17 23:04:50 +03:00
end ,
} )
else
minetest.register_chatcommand ( " kill " , {
params = " [<name>] " ,
description = ( " Kill anyone with command. " ) ,
privs = { protection_bypass = true } ,
func = function ( name , param )
if minetest.settings : get_bool ( " enable_damage " ) then
if param == " " or param == nil then
minetest.get_player_by_name ( name ) : set_hp ( 0 )
else
if minetest.get_player_by_name ( param ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
minetest.get_player_by_name ( param ) : set_hp ( 0 )
core.chat_send_player ( name , " You killed " .. param .. " . " )
if essentials.killed_by then
core.chat_send_player ( param , string.format ( " You has been killed by %s. " , name ) )
end
end
else
local player = minetest.get_player_by_name ( name )
if param then
player = minetest.get_player_by_name ( param )
if minetest.get_player_by_name ( param ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
if essentials.killed_by then
core.chat_send_player ( param , string.format ( " You has been respawned by %s. " , name ) )
end
end
for _ , callback in pairs ( minetest.registered_on_respawnplayers ) do
if callback ( player ) then
return true
end
end
return false , " No static_spawnpoint defined "
end
end ,
} )
end
2024-05-14 17:51:42 +03:00
2024-05-17 23:04:50 +03:00
if essentials.add_privs then
minetest.register_chatcommand ( " heal " , {
params = " [<name>] " ,
description = ( " Heals full health for a player. " ) ,
privs = { heal = true } ,
func = function ( name , param )
2024-05-14 17:51:42 +03:00
if param == " " or param == nil then
2024-05-17 23:04:50 +03:00
minetest.get_player_by_name ( name ) : set_hp ( minetest.PLAYER_MAX_HP_DEFAULT )
core.chat_send_player ( name , " Healed to the possible max health. " )
2024-05-14 17:51:42 +03:00
else
if minetest.get_player_by_name ( param ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
2024-05-17 23:04:50 +03:00
minetest.get_player_by_name ( param ) : set_hp ( minetest.PLAYER_MAX_HP_DEFAULT )
core.chat_send_player ( name , string.format ( " Player %s healed to the %s health. " , param , minetest.get_player_by_name ( param ) : get_hp ( ) ) )
if essentials.changed_by then
core.chat_send_player ( param , string.format ( " You has been fully healed by %s. " , name ) )
2024-05-14 17:51:42 +03:00
end
end
2024-05-17 23:04:50 +03:00
end ,
} )
else
minetest.register_chatcommand ( " heal " , {
params = " [<name>] " ,
description = ( " Heals full health for a player. " ) ,
privs = { rollback = true } ,
func = function ( name , param )
if param == " " or param == nil then
minetest.get_player_by_name ( name ) : set_hp ( minetest.PLAYER_MAX_HP_DEFAULT )
core.chat_send_player ( name , " Healed to the possible max health. " )
else
2024-05-14 17:51:42 +03:00
if minetest.get_player_by_name ( param ) == nil then
core.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
return
end
2024-05-17 23:04:50 +03:00
minetest.get_player_by_name ( param ) : set_hp ( minetest.PLAYER_MAX_HP_DEFAULT )
core.chat_send_player ( name , string.format ( " Player %s healed to the %s health. " , param , minetest.get_player_by_name ( param ) : get_hp ( ) ) )
if essentials.changed_by then
core.chat_send_player ( param , string.format ( " You has been fully healed by %s. " , name ) )
2024-05-14 17:51:42 +03:00
end
end
2024-05-17 23:04:50 +03:00
end ,
} )
end
2024-05-14 17:51:42 +03:00
--[[
minetest.register_chatcommand ( " v " , {
params = " <name> " ,
description = " Make player invisible " ,
privs = { server = true } ,
func = function ( name , param )
local player = minetest.get_player_by_name ( param )
if param == " " then
if invisibility [ name ] then
invisible ( name , false )
minetest.chat_send_player ( name , " Now you are visible! " )
elseif not invisibility [ name ] then
invisible ( name , true )
minetest.chat_send_player ( name , core.colorize ( " #AAAAAA " , " Now you are invisible! " ) )
end
elseif not player then
minetest.chat_send_player ( name , core.colorize ( " red " , " Player " .. param .. " not found! " ) )
minetest.sound_play ( " error " , name )
else
if invisibility [ param ] then
invisible ( param , false )
minetest.chat_send_player ( name , " Now player " .. param .. " are visible! " )
minetest.chat_send_player ( player , " Now you visible from " .. name .. " ! " )
minetest.sound_play ( " done " , player )
elseif not invisibility [ param ] then
invisible ( param , true )
minetest.chat_send_player ( name , core.colorize ( " #AAAAAA " , " Now player " .. param .. " are invisible! " ) )
minetest.chat_send_player ( name , core.colorize ( " #AAAAAA " , " Now you are invisible from " .. name .. " ! " ) )
minetest.sound_play ( " done " , player )
end
end
end
} )
] ] --