mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 11:35:22 +09:00
Added /kill and /admin-chat
This commit is contained in:
@@ -16,7 +16,9 @@ require 'resources.version'
|
||||
|
||||
local files = {
|
||||
'modules.test',
|
||||
'modules.commands.me'
|
||||
'modules.commands.me',
|
||||
'modules.commands.kill',
|
||||
'modules.commands.admin-chat'
|
||||
}
|
||||
|
||||
-- Loads all files in array above and logs progress
|
||||
|
||||
@@ -541,7 +541,7 @@ function Commands.run_command(command_event)
|
||||
end
|
||||
|
||||
-- splits the arguments
|
||||
local input_string = command_event.parameter
|
||||
local input_string = command_event.parameter or ''
|
||||
local quote_params = {} -- stores any " " params
|
||||
input_string = input_string:gsub('"[^"]-"',function(w)
|
||||
-- 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)
|
||||
local success, err = pcall(command_data.callback,player,unpack(params))
|
||||
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
|
||||
|
||||
return Commands
|
||||
3
locale/en/commands-local.cfg
Normal file
3
locale/en/commands-local.cfg
Normal file
@@ -0,0 +1,3 @@
|
||||
[exp-commands]
|
||||
kill-already-dead=You are already dead.
|
||||
admin-chat-format=[Admin Chat] [color=__3__]__1__: __2__
|
||||
18
modules/commands/admin-chat.lua
Normal file
18
modules/commands/admin-chat.lua
Normal 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)
|
||||
3
modules/commands/commands-local.cfg
Normal file
3
modules/commands/commands-local.cfg
Normal 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
19
modules/commands/kill.lua
Normal 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)
|
||||
Reference in New Issue
Block a user