SetAnalogControlState: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 29: Line 29:
         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

Revision as of 18:02, 13 December 2020

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.
ADDED/UPDATED IN VERSION 1.5.8 r20756:
  • 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