init.lua 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. if not minetest.global_exists("kill") then kill = {} end
  2. kill.modpath = minetest.get_modpath("kill")
  3. minetest.register_privilege("kill", {
  4. description = "Player can kill other players via command.",
  5. give_to_singleplayer = false,
  6. })
  7. minetest.register_privilege("killme", {
  8. description = "Player can ask the server to kill them.",
  9. give_to_singleplayer = false,
  10. })
  11. minetest.register_chatcommand("kill", {
  12. params = "<player>",
  13. description = "Kill specified player.",
  14. privs = {kill=true},
  15. func = function(name, param)
  16. if param == nil or param == "" then
  17. minetest.chat_send_player(name, "# Server: You must supply a player's name.")
  18. easyvend.sound_error(name)
  19. return false
  20. end
  21. assert(type(param) == "string")
  22. local player = minetest.get_player_by_name(param)
  23. if not player then
  24. minetest.chat_send_player(name, "# Server: Player <" .. rename.gpn(param) .. "> not found.")
  25. easyvend.sound_error(name)
  26. return false
  27. end
  28. player:set_hp(0, {reason="kill"})
  29. return true
  30. end
  31. })
  32. minetest.register_chatcommand("killme", {
  33. params = "",
  34. description = "Kill yourself.",
  35. privs = {killme=true},
  36. func = function(name, param)
  37. minetest.chat_send_player(name, "# Server: Killing player <" .. rename.gpn(name) ..">.")
  38. minetest.get_player_by_name(name):set_hp(0, {reason="kill"})
  39. return true
  40. end
  41. })