From cda8a7545bc4849ea7ae2e38515582077b200768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Teodor=20Sp=C3=A6ren?= Date: Sun, 14 Oct 2012 13:14:16 +0200 Subject: [PATCH] Added /kill and more options. --- conf.lua | 5 +++++ init.lua | 62 ++++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 52 insertions(+), 15 deletions(-) diff --git a/conf.lua b/conf.lua index 1f87b6c..dbac1dc 100644 --- a/conf.lua +++ b/conf.lua @@ -1,6 +1,11 @@ -- List command +useList = true listprivs = {shout=true} +-- Kill command +useKill = true +killprivs = {shout=true} + --MOTD useMOTD = true MOTD = "Welcome %s! This is the default MOTD." diff --git a/init.lua b/init.lua index 011b50c..d0a3fad 100644 --- a/init.lua +++ b/init.lua @@ -1,24 +1,56 @@ dofile(minetest.get_modpath("redsand").."/conf.lua") +-- !!! FUNCTIONS !!! -- + +-- Getting the player object. +function get_player_obj (name) + goodname = string.match(name, "^([^ ]+) *$") + if goodname == nil then + print("ERROR!") + return + end + + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + if name == goodname then + return player + end + end +end + -- !!! COMMANDS !!! --- --[[ List function. ]]-- -minetest.register_chatcommand("list", { - params = "", -- short parameter description - description = "List connected players", -- full description - privs = listprivs, -- require the "privs" privilege to run - func = function(name, param) - local namelist, count = "", 0 - for _,player in ipairs(minetest.get_connected_players()) do - local name = player:get_player_name() - namelist = namelist .. string.format("%s, ", name) - count = count + 1 - end - minetest.chat_send_player(name, string.format("Current players online: %d", count)) - minetest.chat_send_player(name, string.format("Names: \[%s\]", namelist)) - end, -}) +if useList then + minetest.register_chatcommand("list", { + params = "", -- short parameter description + description = "List connected players", -- full description + privs = listprivs, -- require the "privs" privilege to run + func = function(name, param) + local namelist, count = "", 0 + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + namelist = namelist .. string.format("%s, ", name) + count = count + 1 + end + minetest.chat_send_player(name, string.format("Current players online: %d", count)) + minetest.chat_send_player(name, string.format("Names: \[%s\]", namelist)) + end, + }) +end +--[[ Kill command ]]--- +if useKill then + minetest.register_chatcommand("kill", { + params = "", + description = "Kills you :(", + privs = killprivs, + func = function(name, param) + local player = get_player_obj(name) + player:set_hp(0.0) + end, + }) +end -- !!! EVENTS !!! -- --[[ What happens when a player joins? ]]--