concommand/Add

From Garry's Mod
(Difference between revisions)
Jump to: navigation, search
m (Added information about blocking and updated bug description (For information about command block see: https://github.com/Facepunch/garrysmod-issues/issues/1183#issuecomment-415780217 ))
m (typo fix)
 
(One intermediate revision by one user not shown)
Line 2: Line 2:
 
|Description=Creates a console command that runs a function in lua with optional autocompletion function and help text.
 
|Description=Creates a console command that runs a function in lua with optional autocompletion function and help text.
  
{{Bug|Issue=1183|Didn't work if singleplayer is running and command was created in client realm.}}
+
{{Bug|Issue=1183|This will fail if the concommand was previously removed with {{LibraryFunction|concommand|Remove}} in a different realm (creating a command on the client that was removed from the server and vice-versa).}}
{{Warning|After removing by {{LibraryFunction|concommand|Remove}} command could be blocked. (For example: Created on client -> Removed on client -> Created on server -> Client can't call server command.)}}
+
 
|Realm=Shared and Menu
 
|Realm=Shared and Menu
 
|IsClass=No
 
|IsClass=No
|Name=Add
 
|Parent=concommand
 
 
|File=lua/includes/modules/concommand.lua
 
|File=lua/includes/modules/concommand.lua
 
|Line=28
 
|Line=28
Line 22: Line 19:
 
|name=callback
 
|name=callback
 
|desc=The function to run when the concommand is executed. Arguments passed are:
 
|desc=The function to run when the concommand is executed. Arguments passed are:
* {{FuncArg|Player|ply|The player the ran the concommand. NULL entity if command was entered with the dedicated server console.}}
+
* {{FuncArg|Player|ply|The player that ran the concommand. NULL entity if command was entered with the dedicated server console.}}
 
* {{FuncArg|string|cmd|The concommand string (if one callback is used for several concommands).}}
 
* {{FuncArg|string|cmd|The concommand string (if one callback is used for several concommands).}}
 
* {{FuncArg|table|args|A table of all string arguments.}}
 
* {{FuncArg|table|args|A table of all string arguments.}}

Latest revision as of 04:55, 22 February 2019

 concommand.Add( )

Contents

Description

Creates a console command that runs a function in lua with optional autocompletion function and help text.

BUG

This will fail if the concommand was previously removed with concommand.Remove in a different realm (creating a command on the client that was removed from the server and vice-versa).

Issue Tracker: #1183

Arguments

string name

The command name to be used in console.

This cannot be a name of existing console command or console variable. It will silently fail if it is.

Arguments

function callback

The function to run when the concommand is executed. Arguments passed are:

  • Player ply - The player that ran the concommand. NULL entity if command was entered with the dedicated server console.
  • string cmd - The concommand string (if one callback is used for several concommands).
  • table args - A table of all string arguments.
  • string argStr - The arguments as a string.

Arguments

function autoComplete=nil

The function to call which should return a table of options for autocompletion. (Autocompletion Tutorial)

This only properly works on the client since it is not networked. Arguments passed are:

  • string cmd - The concommand this autocompletion is for.
  • string args - The arguments typed so far.

Arguments

string helpText=nil

The text to display should a user run 'help cmdName'.

Arguments

number flags=0

Concommand modifier flags. See FCVAR_ Enums.

Examples

Example

Adds a concommand killyourself which will kill the user.

concommand.Add("killyourself",function( ply, cmd, args )
    ply:Kill()
    print("You killed yourself!")
end)


Examples

Example

A concommand that prints the SteamID and nickname of every player on the server.

concommand.Add( "retrieveplayers", function()  
	for _, ply in ipairs( player.GetAll() ) do
		print( ply:Nick() .. ", " .. ply:SteamID() .. "\n" )
	end
end)


Personal tools
Navigation