SetElementBoneRotation

From Multi Theft Auto: Wiki
Revision as of 14:55, 19 September 2021 by Lvrent (talk | contribs)
Jump to navigation Jump to search

This function sets the rotation of a specific bone relative to the element. Currently the Player and Ped element types are accepted.


[[{{{image}}}|link=|]] Tip: If you want to attach an element to a bone, see attachElementToBone.
[[{{{image}}}|link=|]] Note: updateElementRpHAnim must be called after this function to apply bone rotation.

Syntax

bool setElementBoneRotation ( element theElement, int boneId, float yaw, float pitch, float roll )
Rotation axes

Required Arguments

  • theElement: The element to set the bone rotation on.
  • boneId: The ID of the bone to set the rotation of. See Bone IDs.
  • yaw: The yaw rotation value.
  • pitch: The pitch rotation value.
  • roll: The roll rotation value.

Returns

Returns true if the function was successful, false otherwise.

Example

This example shows how you can turn a local player into a so-called 'Helicopter':

local customYaw = 0
local shoulders = {22, 32}

setTimer (function ()
    customYaw = customYaw + 20
end, 10, 0)

function changeBoneRotation ()
    local yaw, pitch, roll = getElementBoneRotation (localPlayer, 2) -- Get the element's bone rotation
    setElementBoneRotation(localPlayer, 2, customYaw, pitch, roll) -- Set the elements' bone rotation with custom yaw

    for key, value in pairs (shoulders) do
       setElementBoneRotation(localPlayer, value, 0, 0, 0) -- Update the ped's shoulders rotation
    end
    updateElementRpHAnim(localPlayer) -- Update the ped's bone animations
end

addEventHandler ("onClientPedsProcessed", getRootElement(), changeBoneRotation)

Requirements

Minimum server version n/a
Minimum client version 1.5.8-9.20704

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version client="1.5.8-9.20704" />

See Also