Added /kill and /admin-chat

This commit is contained in:
Cooldude2606
2019-03-03 16:47:37 +00:00
parent f1ecaff4a5
commit d6aa2e0225
6 changed files with 48 additions and 3 deletions

View File

@@ -16,7 +16,9 @@ require 'resources.version'
local files = { local files = {
'modules.test', 'modules.test',
'modules.commands.me' 'modules.commands.me',
'modules.commands.kill',
'modules.commands.admin-chat'
} }
-- Loads all files in array above and logs progress -- Loads all files in array above and logs progress

View File

@@ -541,7 +541,7 @@ function Commands.run_command(command_event)
end end
-- splits the arguments -- splits the arguments
local input_string = command_event.parameter local input_string = command_event.parameter or ''
local quote_params = {} -- stores any " " params local quote_params = {} -- stores any " " params
input_string = input_string:gsub('"[^"]-"',function(w) input_string = input_string:gsub('"[^"]-"',function(w)
-- finds all " " params are removes spaces for the next part -- finds all " " params are removes spaces for the next part
@@ -642,7 +642,7 @@ function Commands.run_command(command_event)
table.insert(params,input_string) table.insert(params,input_string)
local success, err = pcall(command_data.callback,player,unpack(params)) local success, err = pcall(command_data.callback,player,unpack(params))
if Commands.internal_error(success,command_data.name,err) then return end if Commands.internal_error(success,command_data.name,err) then return end
if err ~= Commands.defines.error and err ~= Commands.defines.success then Commands.success(err) end if err ~= Commands.defines.error and err ~= Commands.defines.success and err ~= Commands.error and err ~= Commands.success then Commands.success(err) end
end end
return Commands return Commands

View File

@@ -0,0 +1,3 @@
[exp-commands]
kill-already-dead=You are already dead.
admin-chat-format=[Admin Chat] [color=__3__]__1__: __2__

View File

@@ -0,0 +1,18 @@
local Commands = require 'expcore.commands'
require 'expcore.common_parse'
Commands.new_command('admin-chat','Sends a message in chat that only admins can see.')
:add_param('message',false)
:enable_auto_concat()
:add_tag('admin_only',true)
:add_alias('ac')
:register(function(player,message,raw)
local pcc = player.chat_color
local colour = string.format('%s,%s,%s',pcc.r,pcc.g,pcc.b)
for _,return_player in pairs(game.connected_players) do
if return_player.admin then
return_player.print{'exp-commands.admin-chat-format',player.name,message,colour}
end
end
return Commands.success -- prevents command complete message from showing
end)

View File

@@ -0,0 +1,3 @@
[exp-commands]
kill-already-dead=You are already dead.
admin-chat-format=[Admin Chat] [color=__3__]__1__: __2__

19
modules/commands/kill.lua Normal file
View File

@@ -0,0 +1,19 @@
local Commands = require 'expcore.commands'
require 'expcore.common_parse'
Commands.new_command('kill','Kills yourself or another player.')
:add_param('player',true,'player-alive')
:add_defaults{player=function(player)
-- default is the player unless they are dead
if player.character and player.character.health > 0 then
return player
end
end}
:add_tag('admin_only',true)
:register(function(player,action_player,raw)
if not action_player then
-- can only be nil if no player given and the user is dead
return Commands.error{'exp-commands.kill-already-dead'}
end
action_player.character.die()
end)