SetElementBoneRotation: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 27: Line 27:


==Example==
==Example==
Этот пример показывает как можно превратить местного игрока в так называемый 'Вертолёт'.
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


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


Line 37: Line 37:


function changeBoneRotation()
function changeBoneRotation()
local yaw, pitch, roll = getElementBoneRotation(getLocalPlayer(), 2)
    local yaw, pitch, roll = getElementBoneRotation(getLocalPlayer(), 2)
setElementBoneRotation(getLocalPlayer(), 2, custom_yaw, pitch, roll)
    setElementBoneRotation(getLocalPlayer(), 2, custom_yaw, pitch, roll)
for key, value in ipairs(shoulders) do
    for key, value in ipairs(shoulders) do
  setElementBoneRotation(getLocalPlayer(), value, 0, 0, 0)
      setElementBoneRotation(getLocalPlayer(), value, 0, 0, 0)
end
    end
end
end
addEventHandler("onClientPreRender", getRootElement(), changeBoneRotation)
addEventHandler("onClientPreRender", getRootElement(), changeBoneRotation)

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