BindKey: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 3: Line 3:


==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">bindKey ( player thePlayer, string key, bool keyState, string function, [ var aguments, ... ] ) </syntaxhighlight>  
<syntaxhighlight lang="lua">bindKey ( player thePlayer, string key, string keyState, string function, [ var aguments, ... ] ) </syntaxhighlight>  


===Required Arguments===  
===Required Arguments===  
*'''thePlayer:''' The player you wish to bind the key of.
*'''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.
*'''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 boolean value representing the "hit-state" of the key (whether it will be trigged when pressed or released)
*'''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
*'''function:''' The function that will be triggered when the player's key is pressed. This function should have the form:
*'''function:''' The function that will be triggered when the player's key is pressed. This function should have the form:
<syntaxhighlight lang="lua">function functionName ( source, key, keyState, [ var arguments, ... ] )</syntaxhighlight>
<syntaxhighlight lang="lua">function functionName ( source, key, keyState, [ var arguments, ... ] )</syntaxhighlight>

Revision as of 14:24, 10 October 2006

Binds a player's key to a console command, which will be triggered when the key is pressed.

Syntax

bindKey ( player thePlayer, string key, string keyState, string function, [ var aguments, ... ] ) 

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
  • function: The function that will be triggered when the player's key is pressed. This function should have the form:
function functionName ( source, key, keyState, [ var arguments, ... ] )

The values passed to this function are:

  • source: The player who pressed the key
  • key: The key that was pressed
  • keyState: The state of the key that was pressed, true if it was pressed, false if it was released.
  • arguments The optional arguments you specified when calling bindKey (see below).

Optional 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: This example will bind a player's 'F1' key and 'fire' control to 1 input function.

addCommandHandler ( "bindme", "bindthekeys" )
function bindthekeys ( source )
  bindKey ( source, "F1", true, "funcInput" ) -- bind the player's F1 down key
  bindKey ( source, "F1", false, "funcInput" ) -- bind the player's F1 up key
  bindKey ( source, "fire", true, "funcInput" ) -- bind the player's fire down control
  bindKey ( source, "fire", false, "funcInput" ) -- bind the player's fire up control
end
 
function funcInput ( source, key, keyState )
  local state = "let go of"
  if ( keyState ) then
    state = "pressed"
  end
  outputChatBox ( getClientName ( source ) .. " " .. state .. " the " .. key .. " key!" )
end

See Also