BindKey: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Added string to the handler function prototypes for consistency and clarity.) |
||
Line 15: | Line 15: | ||
**'''"both":''' If the bound key should trigger the function when the key is pressed or released | **'''"both":''' If the bound key should trigger the function when the key is pressed or released | ||
*'''handlerFunction:''' The function that will be triggered when the player's key is pressed. This function should have the form: | *'''handlerFunction:''' The function that will be triggered when the player's key is pressed. This function should have the form: | ||
:<syntaxhighlight lang="lua">function functionName ( keyPresser, key, keyState, [ var arguments, ... ] )</syntaxhighlight> | :<syntaxhighlight lang="lua">function functionName ( player keyPresser, string key, string keyState, [ var arguments, ... ] )</syntaxhighlight> | ||
:The values passed to this function are: | :The values passed to this function are: | ||
:*'''keyPresser:''' The player who pressed the key | :*'''keyPresser:''' The player who pressed the key | ||
Line 52: | Line 52: | ||
<!--*'''bindName:''' The name for this key bind when it appears in the client's settings dialog.--> | <!--*'''bindName:''' The name for this key bind when it appears in the client's settings dialog.--> | ||
*'''handlerFunction:''' The function that will be triggered when the player's key is pressed. This function should have the form: | *'''handlerFunction:''' The function that will be triggered when the player's key is pressed. This function should have the form: | ||
:<syntaxhighlight lang="lua">function functionName ( key, keyState, [ var arguments, ... ] )</syntaxhighlight> | :<syntaxhighlight lang="lua">function functionName ( string key, string keyState, [ var arguments, ... ] )</syntaxhighlight> | ||
:The values passed to this function are: | :The values passed to this function are: | ||
:*'''key:''' The key that was pressed | :*'''key:''' The key that was pressed |
Revision as of 16:40, 21 July 2009
Binds a player's key to a handler function or command, which will be called when the key is pressed.
Syntax
Click to collapse [-]
Server - Syntax 1bindKey ( player thePlayer, string key, string keyState, function handlerFunction, [ var arguments, ... ] )
Required Arguments
- thePlayer: The player you wish to bind the key of.
- key: The key or control you wish to bind to the command. See key names for a list of possible keys and control names for a list of possible controls.
- keyState: A string that has one of the following values:
- "up": If the bound key should trigger the function when the key is released
- "down": If the bound key should trigger the function when the key is pressed
- "both": If the bound key should trigger the function when the key is pressed or released
- handlerFunction: The function that will be triggered when the player's key is pressed. This function should have the form:
function functionName ( player keyPresser, string key, string keyState, [ var arguments, ... ] )
- The values passed to this function are:
- keyPresser: The player who pressed the key
- key: The key that was pressed
- keyState: The state of the key that was pressed, down if it was pressed, up if it was released.
- arguments The optional arguments you specified when calling bindKey (see below).
Click to expand [+]
Server - Syntax 2Click to collapse [-]
Client - Syntax 1bindKey ( string key, string keyState, function handlerFunction, [ var arguments, ... ] )
Required Arguments
- key: The key or control you wish to bind to the command. See key names for a list of possible keys and control names for a list of possible controls.
- keyState: A string that has one of the following values:
- "up": If the bound key should trigger the function when the key is released
- "down": If the bound key should trigger the function when the key is pressed
- "both": If the bound key should trigger the function when the key is pressed or released
- handlerFunction: The function that will be triggered when the player's key is pressed. This function should have the form:
function functionName ( string key, string keyState, [ var arguments, ... ] )
- The values passed to this function are:
- key: The key that was pressed
- keyState: The state of the key that was pressed, down if it was pressed, up if it was released.
- arguments The optional arguments you specified when calling bindKey (see below).
Click to expand [+]
Client - Syntax 2Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- arguments: Any arguments you may want to pass to the function when the key is pressed by the user. Any number of arguments of can be specified, each being passed to the designated function.
Example
Example 1
Click to collapse [-]
ServerThis example will bind a player's 'F1' key and 'fire' control to 1 input function.
function funcInput ( player, key, keyState ) local state = "let go of" if ( keyState == "down" ) then state = "pressed" end outputChatBox ( getClientName ( player) .. " " .. state .. " the " .. key .. " key!" ) end function bindTheKeys ( player, commandName ) bindKey ( player, "F1", "down", funcInput ) -- bind the player's F1 down key bindKey ( player, "F1", "up", funcInput ) -- bind the player's F1 up key bindKey ( player, "fire", "both", funcInput ) -- bind the player's fire down and up control end addCommandHandler ( "bindme", bindTheKeys )
Example 2
Click to collapse [-]
ClientThis example will bind a player's 'F1' key and 'fire' control to 1 input function, clientside.
function funcInput ( key, keyState ) local state = "let go of" if ( keyState == "down" ) then state = "pressed" end outputChatBox ( "You " .. state .. " the " .. key .. " key!" ) end function bindTheKeys () bindKey ( "F1", "down", funcInput ) -- bind the player's F1 down key bindKey ( "F1", "up", funcInput ) -- bind the player's F1 up key bindKey ( "fire", "both", funcInput ) -- bind the player's fire down and up control end addCommandHandler ( "bindme", bindTheKeys )
See Also
- addCommandHandler
- bindKey
- executeCommandHandler
- getCommandHandlers
- getFunctionsBoundToKey
- getKeyBoundToFunction
- isControlEnabled
- removeCommandHandler
- toggleAllControls
- toggleControl
- unbindKey