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 = {
|
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
|
||||||
|
|||||||
@@ -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
|
||||||
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