setElementBonePosition
Client
Moves a ped's or object's bone to a world position, keeping its orientation. The change applies on this client only.
bool setElementBonePosition(ped|object element, int|string bone, float x, y, z)
Parameters
| Name | Type | Description |
|---|---|---|
| element | ped|object | The ped, player or object. An object needs a model with a skeleton or a node tree. |
| bone | int|string | The bone. On a ped: an MTA bone id, a rig bone's tag or its name. On an object: a node's name or a bone's tag. |
| x, y, z | float | The world position, as three numbers or one vec3. |
Returns
true if it was moved, false if the element is streamed out.
A ped's pose and an animated object's pose are rebuilt every frame: change them in onClientPedsProcessed, which fires once the frame's poses are built. An object without an animation keeps what was set. Whatever is attached to the bone follows it.
Example
addEventHandler("onClientPedsProcessed", root, function()
local head = getElementBonePosition(localPlayer, 5)
if head then
setElementBonePosition(localPlayer, 5, head.x, head.y, head.z + 0.1)
end
end)Coming from MTAIn MTA it works on peds only. Here it also takes objects and rig bones by tag or name.
NoteRaises an error if the element has no such bone. While the element is streamed out, it returns
false.