SetElementBoneRotation: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Improve example)
Line 27: Line 27:


==Example==
==Example==
This example shows how you can turn a local player into a so called 'Helicopter'.
This example shows how you can turn a local player into a so-called 'Helicopter'.
<syntaxhighlight lang="lua">local custom_yaw = 0
<syntaxhighlight lang="lua">local custom_yaw = 0


Line 37: Line 37:


function changeBoneRotation()
function changeBoneRotation()
     local yaw, pitch, roll = getElementBoneRotation(getLocalPlayer(), 2)
     local yaw, pitch, roll = getElementBoneRotation(localPlayer, 2)
     setElementBoneRotation(getLocalPlayer(), 2, custom_yaw, pitch, roll)
     setElementBoneRotation(localPlayer, 2, custom_yaw, pitch, roll)
     for key, value in ipairs(shoulders) do
     for key, value in pairs(shoulders) do
       setElementBoneRotation(getLocalPlayer(), value, 0, 0, 0)
       setElementBoneRotation(localPlayer, value, 0, 0, 0)
     end
     end
    updateElementRpHAnim(localPlayer)
end
end
addEventHandler("onClientPreRender", getRootElement(), changeBoneRotation)
addEventHandler("onClientPedsProcessed", getRootElement(), changeBoneRotation)
 
</syntaxhighlight>
updateElementRpHAnim(getLocalPlayer())</syntaxhighlight>


==See Also==
==See Also==
{{Client_element_functions}}
{{Client_element_functions}}

Revision as of 21:32, 21 January 2021

This function sets the rotation of a specific bone relative to the element. Currently the following element types are accepted:

[[{{{image}}}|link=|]] Tip: If you want to attach an element to a bone, see attachElementToBone

Syntax

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

Required Arguments

  • theElement: the element to set the bone rotation on.
  • bone: 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.

Note: updateElementRpHAnim must be called after this function to apply bone rotation.

Example

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

local custom_yaw = 0

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

local shoulders = {22, 32}

function changeBoneRotation()
    local yaw, pitch, roll = getElementBoneRotation(localPlayer, 2)
    setElementBoneRotation(localPlayer, 2, custom_yaw, pitch, roll)
    for key, value in pairs(shoulders) do
       setElementBoneRotation(localPlayer, value, 0, 0, 0)
    end
    updateElementRpHAnim(localPlayer)
end
addEventHandler("onClientPedsProcessed", getRootElement(), changeBoneRotation)

See Also