GTA San Andreas and MTA:SA
Bone IDs
32 bones
Body 14
- 0Root
BONE_ROOT - 1Pelvis 1
BONE_PELVIS1 - 2Pelvis
BONE_PELVIS - 3Spine 1
BONE_SPINE1 - 4Upper torso
BONE_UPPERTORSO - 5Neck
BONE_NECK - 6Head 2
BONE_HEAD2 - 7Head 1
BONE_HEAD1 - 8Head
BONE_HEAD - 21Right upper torso
BONE_RIGHTUPPERTORSO - 31Left upper torso
BONE_LEFTUPPERTORSO - 201Belly
BONE_BELLYOnly getElementBonePosition - 301Right breast
BONE_RIGHTBREASTOnly getElementBonePosition - 302Left breast
BONE_LEFTBREASTOnly getElementBonePosition
Right arm 5
- 22Right shoulder
BONE_RIGHTSHOULDER - 23Right elbow
BONE_RIGHTELBOW - 24Right wrist
BONE_RIGHTWRIST - 25Right hand
BONE_RIGHTHAND - 26Right thumb
BONE_RIGHTTHUMB
Left arm 5
- 32Left shoulder
BONE_LEFTSHOULDER - 33Left elbow
BONE_LEFTELBOW - 34Left wrist
BONE_LEFTWRIST - 35Left hand
BONE_LEFTHAND - 36Left thumb
BONE_LEFTTHUMB
Left leg 4
- 41Left hip
BONE_LEFTHIP - 42Left knee
BONE_LEFTKNEE - 43Left ankle
BONE_LEFTANKLE - 44Left foot
BONE_LEFTFOOT
Right leg 4
- 51Right hip
BONE_RIGHTHIP - 52Right knee
BONE_RIGHTKNEE - 53Right ankle
BONE_RIGHTANKLE - 54Right foot
BONE_RIGHTFOOT
MTA code
Client only. Both give the x, y, z position of the bone in the world. Put the bone ID in place of 8:
local x, y, z = getPedBonePosition(ped, 8)local x, y, z = getElementBonePosition(ped, 8)getElementBonePosition works on players and peds.
Our test: getElementBonePosition gave a position for all 32 IDs. getPedBonePosition gave the same positions, except for 201, 301 and 302: there it gave no real position. Use getElementBonePosition for those.
Other numbers (we tried 0 to 310): getElementBonePosition gave false. getPedBonePosition still gave a position, but not of a bone: the same spot for every such number. For 256 to 310 it gave the bone of the number minus 256.
Where this comes from
- MTA wiki: Bone IDs (the IDs and the BONE_ codes; the plain names are made from the codes)
- MTA wiki: getPedBonePosition
- MTA wiki: getElementBonePosition
- Pictures: real screenshots taken in MTA:SA on a private test server, 15 October 2026. Each number is drawn at the spot the game gave for that bone (getElementBonePosition).
- Tested in MTA:SA on 15 October 2026: both functions were called for every ID from 0 to 310 on a ped.
Checked on 15 October 2026.

