SetAnalogControlState: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| No edit summary | |||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| __NOTOC__ | __NOTOC__ | ||
| {{Client function}} | {{Client function}} | ||
| This sets the analog control state of a control for the local player. | This sets the analog control state of a control for the local player. To change the analog controls for a [[ped]], please use [[setPedAnalogControlState]]. | ||
| To change the analog controls for a [[ped]], please use [[setPedAnalogControlState]]. | |||
| ==Syntax== | ==Syntax== | ||
| <syntaxhighlight lang="lua">bool setAnalogControlState ( string control [, float state ] ) </syntaxhighlight> | <syntaxhighlight lang="lua">bool setAnalogControlState ( string control [, float state, bool forceOverrideNextFrame = false ] ) </syntaxhighlight> | ||
| ===Required Arguments=== | ===Required Arguments=== | ||
| *'''control:''' The control that you want to set the state of. See [[control names]] for a list of possible controls. | *'''control:''' The control that you want to set the state of. See [[control names]] for a list of possible controls. | ||
| Line 12: | Line 10: | ||
| ===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=== | ||
| Line 25: | Line 26: | ||
|          else |          else | ||
|              setAnalogControlState( "forwards", 0 ) |              setAnalogControlState( "forwards", 0 ) | ||
|         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 | ||
|      end |      end | ||
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