Skip to content

Commit 7b2687f

Browse files
Wuzzy2SmallJoker
authored andcommitted
Add kill chat command (#6992)
Replace minetest.* with core.* in 1 file
1 parent 4f5090f commit 7b2687f

File tree

1 file changed

+35
-4
lines changed

1 file changed

+35
-4
lines changed

builtin/game/chatcommands.lua

+35-4
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ core.register_chatcommand("me", {
8282
core.register_chatcommand("admin", {
8383
description = "Show the name of the server owner",
8484
func = function(name)
85-
local admin = minetest.settings:get("name")
85+
local admin = core.settings:get("name")
8686
if admin then
8787
return true, "The administrator of this server is "..admin.."."
8888
else
@@ -104,7 +104,7 @@ core.register_chatcommand("privs", {
104104
})
105105

106106
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)
108108
if not (caller_privs.privs or caller_privs.basic_privs) then
109109
return false, "Your privileges are insufficient."
110110
end
@@ -629,7 +629,7 @@ core.register_chatcommand("spawnentity", {
629629
core.log("error", "Unable to spawn entity, player is nil")
630630
return false, "Unable to spawn entity, player is nil"
631631
end
632-
if not minetest.registered_entities[entityname] then
632+
if not core.registered_entities[entityname] then
633633
return false, "Cannot spawn an unknown entity"
634634
end
635635
if p == "" then
@@ -966,7 +966,7 @@ core.register_chatcommand("clearinv", {
966966
if param and param ~= "" and param ~= name then
967967
if not core.check_player_privs(name, {server=true}) then
968968
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)"
970970
end
971971
player = core.get_player_by_name(param)
972972
core.chat_send_player(param, name.." cleared your inventory.")
@@ -985,3 +985,34 @@ core.register_chatcommand("clearinv", {
985985
end
986986
end,
987987
})
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

Comments
 (0)