Difference between revisions of "GetAnalogControlState"

From Multi Theft Auto: Wiki
m (Required Arguments)
(Function arguments updated as pull #1165 was merged)
Line 6: Line 6:
  
 
==Syntax==
 
==Syntax==
<syntaxhighlight lang="lua">float getAnalogControlState ( string control )</syntaxhighlight>
+
<syntaxhighlight lang="lua">float getAnalogControlState ( string control [, bool rawValue ] )</syntaxhighlight>
  
 
===Required Arguments===
 
===Required Arguments===
 
*'''control:''' The control that you want to get the state of. See [[control names]] for a list of possible controls.
 
*'''control:''' The control that you want to get the state of. See [[control names]] for a list of possible controls.
 +
 +
===Optional Arguments===
 +
{{New feature/item|3.0157|1.5.7|20383|
 +
*'''rawValue:''' A bool indicating whether to poll for raw controller state, which ignores keyboard input and any overrides from [[setAnalogControlState]] and others. When set to true, and a controller is not used, the function will always return 0.
 +
}}
  
 
===Returns===
 
===Returns===

Revision as of 12:45, 16 January 2020

This retrieves the analog control state of a control. This is useful for detecting sensitive controls, such as those used on a joypad.

To get the analog control state for a ped, please use getPedAnalogControlState.

Syntax

float getAnalogControlState ( string control [, bool rawValue ] )

Required Arguments

  • control: The control that you want to get the state of. See control names for a list of possible controls.

Optional Arguments

  • rawValue: A bool indicating whether to poll for raw controller state, which ignores keyboard input and any overrides from setAnalogControlState and others. When set to true, and a controller is not used, the function will always return 0.

Returns

Returns a float between 0 and 1 indicating the amount the control is pressed.

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
)

See Also