SetElementBoneRotation: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(14 intermediate revisions by the same user not shown)
Line 25: Line 25:


'''Note:''' [[updateElementRpHAnim]] must be called after this function to apply bone rotation.
'''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'.
<syntaxhighlight lang="lua">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(getLocalPlayer(), 2)
    setElementBoneRotation(getLocalPlayer(), 2, custom_yaw, pitch, roll)
    for key, value in ipairs(shoulders) do
      setElementBoneRotation(getLocalPlayer(), value, 0, 0, 0)
    end
end
addEventHandler("onClientPreRender", getRootElement(), changeBoneRotation)
updateElementRpHAnim(getLocalPlayer())</syntaxhighlight>


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

Revision as of 11:31, 25 December 2020

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(getLocalPlayer(), 2)
    setElementBoneRotation(getLocalPlayer(), 2, custom_yaw, pitch, roll)
    for key, value in ipairs(shoulders) do
       setElementBoneRotation(getLocalPlayer(), value, 0, 0, 0)
    end
end
addEventHandler("onClientPreRender", getRootElement(), changeBoneRotation)

updateElementRpHAnim(getLocalPlayer())

See Also