SetAnalogControlState: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(5 intermediate revisions by 3 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 Arguement===
===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.


===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