GetAnalogControlState: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (→‎Example: No point of the section as it's already a client function.)
 
(9 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{Client function}}
{{Client function}}
This retrieves the analog control state of a control.  This is useful for detecting sensitive controls, such as those used on a joypad.
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==
==Syntax==
<syntaxhighlight lang="lua">float getAnalogControlState ( string controlName )</syntaxhighlight>
<syntaxhighlight lang="lua">float getAnalogControlState ( string control [, bool rawValue ] )</syntaxhighlight>


===Required Arguments===
===Required Arguments===
*'''controlName :''' the name of the control you wish to get the analog state of. Possible values are:
*'''control:''' The control that you want to get the state of. See [[control names]] for a list of possible controls.
**'''left'''
 
**'''right'''
===Optional Arguments===
**'''forwards'''
{{New feature/item|3.0157|1.5.7|20383|
**'''backwards'''
*'''rawValue:''' A bool indicating if it should return the raw player input value.
**'''vehicle_left'''
}}
**'''vehicle_right'''
**'''steer_forward'''
**'''steer_back'''
**'''accelerate'''
**'''brake_reverse'''
**'''special_control_left'''
**'''special_control_right'''
**'''special_control_up'''
**'''special_control_down'''


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


==Example==
==Example==
/analog command starts to go forward control state if you are not, if you are going forward by control state then you will stop.
This creates an ''/forwards'' command, which toggles your ''forwards'' control state between 0 and 1.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function analog()
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
addCommandHandler("analog",analog)
    end
)
</syntaxhighlight>
</syntaxhighlight>
This example written by '''Samurai'''


==See Also==
==See Also==
{{Client input functions}}
{{Client input functions}}

Latest revision as of 11:56, 21 November 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 if it should return the raw player input value.

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