SetVehicleComponentRotation: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(8 intermediate revisions by 7 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Client function}}
{{Client function}}
{{New items|3.0151|1.4|
This function sets the component rotation of a [[vehicle]].
This function set component rotation for [[vehicle]].
{{Note|Before r6974 the component rotations went the wrong way (i.e. opposite to the vehicle rotations). This has been corrected, so you'll have to modify any scripts written before r6974 that use this function.}}
}}
 
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool setVehicleComponentRotation ( vehicle theVehicle, string theComponent, float rotX, float rotY, float rotZ )
bool setVehicleComponentRotation ( vehicle theVehicle, string theComponent, float rotX, float rotY, float rotZ [, string base = "parent"] )
</syntaxhighlight>
</syntaxhighlight>
{{OOP||[[vehicle]]:setComponentRotation||getVehicleComponentRotation}}


===Required Arguments===  
===Required Arguments===  
*'''theVehicle:''' The [[vehicle]] you wish to set component rotation.
*'''theVehicle:''' The [[vehicle]] you wish to set component rotation of.
*'''theComponent:''' A vehicle component (this is the frame name from the model file of the component you wish to modify)  
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)  
*'''rotX:''' The component's rotation around the x axis in degrees.
*'''rotX:''' The component's rotation around the x axis in degrees.
*'''rotY:''' The component's rotation around the y axis in degrees.
*'''rotY:''' The component's rotation around the y axis in degrees.
*'''rotZ:''' The component's rotation around the z axis in degrees.
*'''rotZ:''' The component's rotation around the z axis in degrees.
===Optional Arguments===
{{New feature/item|3.0141|1.4.0|7013|
*'''base:''' A string representing what the supplied rotation (''rotX'', ''rotY'', ''rotZ'') is relative to. It can be one of the following values:
**'''parent:''' The rotation is relative to the parent component.
**'''root:''' The rotation is relative to the root component.
**'''world:''' The rotation is a world rotation, relative to the world's coordinates axes.
}}


===Returns===  
===Returns===  
Return ''true'' if component rotation was set successfully, ''false'' otherwise.
Returns ''true'' if the component rotation was set successfully, ''false'' otherwise.


==Example==
==Example==  
TODO
'''Example 1:''' This example would change the roatation of the component when the player enters a vehicle. 
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--TODO
addEventHandler("onClientVehicleEnter", getRootElement(),
    function()
        local theVeh = getPedOccupiedVehicle(localPlayer)
        local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle
        if (theVeh) then
    for k in pairs (getComponent) do
        local rx, ry, rz = getVehicleComponentRotation(theVeh, k) --get the rotation of the component
                setVehicleComponentRotation(theVeh, k, rx+10, ry+10, rz+10) -- increases by 10 unit
    end
        end
    end
)
</syntaxhighlight>
</syntaxhighlight>
==Changelog==
{{ChangelogHeader}}
{{ChangelogItem|1.4.0-9.07013|Added '''base''' argument}}


==See Also==
==See Also==
{{Client_vehicle_functions}}
{{Client_vehicle_functions}}
[[Category:Needs Example]]

Latest revision as of 11:57, 4 September 2024

This function sets the component rotation of a vehicle.

[[{{{image}}}|link=|]] Note: Before r6974 the component rotations went the wrong way (i.e. opposite to the vehicle rotations). This has been corrected, so you'll have to modify any scripts written before r6974 that use this function.

Syntax

bool setVehicleComponentRotation ( vehicle theVehicle, string theComponent, float rotX, float rotY, float rotZ [, string base = "parent"] )

OOP Syntax Help! I don't understand this!

Method: vehicle:setComponentRotation(...)
Counterpart: getVehicleComponentRotation


Required Arguments

  • theVehicle: The vehicle you wish to set component rotation of.
  • theComponent: A vehicle component (this is the frame name from the model file of the component you wish to modify)
  • rotX: The component's rotation around the x axis in degrees.
  • rotY: The component's rotation around the y axis in degrees.
  • rotZ: The component's rotation around the z axis in degrees.

Optional Arguments

  • base: A string representing what the supplied rotation (rotX, rotY, rotZ) is relative to. It can be one of the following values:
    • parent: The rotation is relative to the parent component.
    • root: The rotation is relative to the root component.
    • world: The rotation is a world rotation, relative to the world's coordinates axes.

Returns

Returns true if the component rotation was set successfully, false otherwise.

Example

Example 1: This example would change the roatation of the component when the player enters a vehicle.

addEventHandler("onClientVehicleEnter", getRootElement(),
    function()
        local theVeh = getPedOccupiedVehicle(localPlayer)
        local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle
        if (theVeh) then
	    for k in pairs (getComponent) do
	        local rx, ry, rz = getVehicleComponentRotation(theVeh, k) --get the rotation of the component
                setVehicleComponentRotation(theVeh, k, rx+10, ry+10, rz+10) -- increases by 10 unit
	    end
        end
    end
)

Changelog

Version Description
1.4.0-9.07013 Added base argument

See Also