SetAnalogControlState: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(12 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Client function}} | {{Client function}} | ||
This sets the analog control state of a control. | This sets the analog control state of a control for the local player. To change the analog controls for a [[ped]], please use [[setPedAnalogControlState]]. | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> bool setAnalogControlState ( string | <syntaxhighlight lang="lua">bool setAnalogControlState ( string control [, float state, bool forceOverrideNextFrame = false ] ) </syntaxhighlight> | ||
===Required | ===Required Arguments=== | ||
* ''' | *'''control:''' The control that you want to set the state of. See [[control names]] for a list of possible controls. | ||
===Optional Arguments=== | ===Optional Arguments=== | ||
*'''state:''' A float between 0 and 1 indicating the amount the control is pressed. If no value is provided, the analog control is removed. | *'''state:''' A [[float]] between 0 and 1 indicating the amount the control is pressed. If no value is provided, the analog control is removed. | ||
{{Added feature/item|1.5.9|1.5.8|20756| | |||
*'''forceOverrideNextFrame: ''' A [[bool]] indicating if the player input should force fully overriden for the next frame. | |||
}} | |||
===Returns=== | ===Returns=== | ||
Returns true, | Returns ''true'' if the control state was successfully set, ''false'' otherwise. | ||
==Example== | ==Example== | ||
This creates an ''/forwards'' command, which toggles your ''forwards'' control state between 0 and 1. | |||
/ | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function | addCommandHandler( "forwards", | ||
if (getAnalogControlState("forwards") == 0) then | function( ) | ||
setAnalogControlState ("forwards",1) | if ( getAnalogControlState( "forwards" ) == 0 ) then | ||
else | setAnalogControlState( "forwards", 1 ) | ||
setAnalogControlState ("forwards",0) | else | ||
end | setAnalogControlState( "forwards", 0 ) | ||
end | end | ||
end | |||
) | |||
</syntaxhighlight> | |||
This script invertes left and right vehicle steering for the player. | |||
<syntaxhighlight lang="lua"> | |||
addEventHandler("onClientPreRender", root, | |||
function() | |||
local right = getAnalogControlState("vehicle_right", true) | |||
local left = getAnalogControlState("vehicle_left", true) | |||
if right > left then | |||
setAnalogControlState("vehicle_left", right, true) | |||
else | |||
setAnalogControlState("vehicle_right", left, true) | |||
end | |||
end | |||
) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
{{Client input functions}} | {{Client input functions}} |
Latest revision as of 21:06, 23 September 2021
This sets the analog control state of a control for the local player. To change the analog controls for a ped, please use setPedAnalogControlState.
Syntax
bool setAnalogControlState ( string control [, float state, bool forceOverrideNextFrame = false ] )
Required Arguments
- control: The control that you want to set the state of. See control names for a list of possible controls.
Optional Arguments
- state: A float between 0 and 1 indicating the amount the control is pressed. If no value is provided, the analog control is removed.
- forceOverrideNextFrame: A bool indicating if the player input should force fully overriden for the next frame.
Returns
Returns true if the control state was successfully set, false otherwise.
Example
This creates an /forwards command, which toggles your forwards control state between 0 and 1.
addCommandHandler( "forwards", function( ) if ( getAnalogControlState( "forwards" ) == 0 ) then setAnalogControlState( "forwards", 1 ) else setAnalogControlState( "forwards", 0 ) end end )
This script invertes left and right vehicle steering for the player.
addEventHandler("onClientPreRender", root, function() local right = getAnalogControlState("vehicle_right", true) local left = getAnalogControlState("vehicle_left", true) if right > left then setAnalogControlState("vehicle_left", right, true) else setAnalogControlState("vehicle_right", left, true) end end )
See Also
- getAnalogControlState
- getBoundKeys
- getCommandsBoundToKey
- getKeyBoundToCommand
- getKeyState
- isCapsLockEnabled
- setAnalogControlState
- Shared
- addCommandHandler
- bindKey
- executeCommandHandler
- getCommandHandlers
- getFunctionsBoundToKey
- getKeyBoundToFunction
- isControlEnabled
- removeCommandHandler
- toggleAllControls
- toggleControl
- unbindKey