@@ -82,7 +82,7 @@ core.register_chatcommand("me", {
82
82
core .register_chatcommand (" admin" , {
83
83
description = " Show the name of the server owner" ,
84
84
func = function (name )
85
- local admin = minetest .settings :get (" name" )
85
+ local admin = core .settings :get (" name" )
86
86
if admin then
87
87
return true , " The administrator of this server is " .. admin .. " ."
88
88
else
@@ -104,7 +104,7 @@ core.register_chatcommand("privs", {
104
104
})
105
105
106
106
local function handle_grant_command (caller , grantname , grantprivstr )
107
- local caller_privs = minetest .get_player_privs (caller )
107
+ local caller_privs = core .get_player_privs (caller )
108
108
if not (caller_privs .privs or caller_privs .basic_privs ) then
109
109
return false , " Your privileges are insufficient."
110
110
end
@@ -629,7 +629,7 @@ core.register_chatcommand("spawnentity", {
629
629
core .log (" error" , " Unable to spawn entity, player is nil" )
630
630
return false , " Unable to spawn entity, player is nil"
631
631
end
632
- if not minetest .registered_entities [entityname ] then
632
+ if not core .registered_entities [entityname ] then
633
633
return false , " Cannot spawn an unknown entity"
634
634
end
635
635
if p == " " then
@@ -966,7 +966,7 @@ core.register_chatcommand("clearinv", {
966
966
if param and param ~= " " and param ~= name then
967
967
if not core .check_player_privs (name , {server = true }) then
968
968
return false , " You don't have permission"
969
- .. " to run this command (missing privilege: server)"
969
+ .. " to clear another player's inventory (missing privilege: server)"
970
970
end
971
971
player = core .get_player_by_name (param )
972
972
core .chat_send_player (param , name .. " cleared your inventory." )
@@ -985,3 +985,34 @@ core.register_chatcommand("clearinv", {
985
985
end
986
986
end ,
987
987
})
988
+
989
+ local function handle_kill_command (killer , victim )
990
+ if core .settings :get_bool (" enable_damage" ) == false then
991
+ return false , " Players can't be killed, damage has been disabled."
992
+ end
993
+ local victimref = core .get_player_by_name (victim )
994
+ if victimref == nil then
995
+ return false , string.format (" Player %s is not online." , victim )
996
+ elseif victimref :get_hp () <= 0 then
997
+ if killer == victim then
998
+ return false , " You are already dead."
999
+ else
1000
+ return false , string.format (" %s is already dead." , victim )
1001
+ end
1002
+ end
1003
+ if not killer == victim then
1004
+ core .log (" action" , string.format (" %s killed %s" , killer , victim ))
1005
+ end
1006
+ -- Kill victim
1007
+ victimref :set_hp (0 )
1008
+ return true , string.format (" %s has been killed." , victim )
1009
+ end
1010
+
1011
+ core .register_chatcommand (" kill" , {
1012
+ params = " [<name>]" ,
1013
+ description = " Kill player or yourself" ,
1014
+ privs = {server = true },
1015
+ func = function (name , param )
1016
+ return handle_kill_command (name , param == " " and name or param )
1017
+ end ,
1018
+ })
0 commit comments