AddCommandHandler: Difference between revisions
Jump to navigation
Jump to search
Line 28: | Line 28: | ||
addCommandHandler ( "createmarker", "consoleCreateMarker" ) | addCommandHandler ( "createmarker", "consoleCreateMarker" ) | ||
-- Define our function that will handle this command | -- Define our function that will handle this command | ||
function consoleCreateMarker ( playerSource, commandName | function consoleCreateMarker ( playerSource, commandName ) | ||
-- If a player triggered it (rather than the admin) then | -- If a player triggered it (rather than the admin) then | ||
if ( playerSource ) | if ( playerSource ) | ||
Line 63: | Line 63: | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
{{Server functions}} | {{Server functions}} |
Revision as of 02:13, 30 May 2006
This function will create a console command and attach it to a function, so that whenever a player or administrator uses the command the function is called.
Multiple command handlers can be attached to a single function, and they will be called in the order that the handlers were attached.
Syntax
bool addCommandHandler ( string commandName, string handlerFunction )
Required Arguments
- commandName: This is the name of the command you wish to add. This is what must be typed into the console to trigger the function.
- handlerFunction: This is the name of the function that you want the command to trigger. This function should take two parameters, playerSource and commandName followed by as many parameters you expect after your command.
player playerSource, string commandName, [string args ...]
- playerSource: The player who triggered the command. If not triggered by a player (e.g. by admin), this will be false.
- commandName: The name of the command triggered. This is useful if multiple commands go through one function.
- args: Each word after command name in the original command is passed here in seperate variables. If there is no value for an argument, the variable will contain nil.
Returns
Returns true if the command handler was added successfully, false otherwise.
Example
This example defines a command handler for the command createmarker. This will create a red marker at the player who uses it's position.
-- Register the command handler and attach it to the 'consoleCreateMarker' function addCommandHandler ( "createmarker", "consoleCreateMarker" ) -- Define our function that will handle this command function consoleCreateMarker ( playerSource, commandName ) -- If a player triggered it (rather than the admin) then if ( playerSource ) -- Get that player's position x, y, z = getEntityPosition ( playerSource ) -- Create a marker at their position createMarker ( x, y, z, 0, "checkpoint", 255, 0, 0, 255 ) -- Output it in the chat box outputChatBox ( "You got a red marker", playerSource ) end end
Example 2: This example implements a set_vehicle_color function.
-- Register the command handler and attach it to the 'consoleCreateMarker' function addCommandHandler ( "set_vehicle_color", "consoleSetVehicleColor" ) -- Define our function that will handle this command function consoleSetVehicleColor ( playerSource, commandName, col1, col2, col3, col4 ) -- If a player triggered this in-game if ( playerSource ) then -- Check we've got all 4 parameters if ( col1 and col2 and col3 and col4 ) then -- Get the player's vehicle playerVehicle = getPlayerOccupiedVehicle ( playerSource ) -- Set it's color setVehicleColor ( playerVehicle, col1, col2, col3, col4 ) else -- If we didn't get all 4 parameters, display some help text outputConsole ( "This function will set a vehicle's colors. A vehicle can have up to 4 colors.", playerSource ) outputConsole ( "Syntax: set_vehicle_color color1 color2 color color4", playerSource ) end end end
See Also
- getMaxPlayers
- getServerConfigSetting
- getServerHttpPort
- getServerName
- getServerPassword
- getServerPort
- isGlitchEnabled
- setGlitchEnabled
- setMaxPlayers
- setServerConfigSetting
- setServerPassword
- shutdown