GetPedBonePosition: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Zangomangu (talk | contribs) No edit summary |
||
Line 17: | Line 17: | ||
<div style="border: 3px red solid; margin-bottom:3px; padding-left:5px;"> | <div style="border: 3px red solid; margin-bottom:3px; padding-left:5px;"> | ||
*'''0:''' BONE_ROOT | |||
*'''1:''' BONE_PELVIS1 | *'''1:''' BONE_PELVIS1 | ||
*'''2:''' BONE_PELVIS | *'''2:''' BONE_PELVIS | ||
Line 45: | Line 46: | ||
*'''53:''' BONE_RIGHTANKLE | *'''53:''' BONE_RIGHTANKLE | ||
*'''54:''' BONE_RIGHTFOOT | *'''54:''' BONE_RIGHTFOOT | ||
*'''201:''' BONE_BELLY | |||
*'''301:''' BONE_RIGHTBREAST | |||
*'''302:''' BONE_LEFTBREAST | |||
</div> | </div> | ||
Revision as of 22:30, 28 November 2020
Returns the 3D world coordinates of a specific bone of a given ped.
Tip: If you want attach element to ped bone, use [bone_attach] resource |
Syntax
float, float, float getPedBonePosition ( ped thePed, int bone )
OOP Syntax Help! I don't understand this!
- Method: ped:getBonePosition(...)
Required Arguments
- thePed: the ped you want to inspect.
- bone: the number of the bone to get the position of.
- 0: BONE_ROOT
- 1: BONE_PELVIS1
- 2: BONE_PELVIS
- 3: BONE_SPINE1
- 4: BONE_UPPERTORSO
- 5: BONE_NECK
- 6: BONE_HEAD2
- 7: BONE_HEAD1
- 8: BONE_HEAD
- 21: BONE_RIGHTUPPERTORSO
- 22: BONE_RIGHTSHOULDER
- 23: BONE_RIGHTELBOW
- 24: BONE_RIGHTWRIST
- 25: BONE_RIGHTHAND
- 26: BONE_RIGHTTHUMB
- 31: BONE_LEFTUPPERTORSO
- 32: BONE_LEFTSHOULDER
- 33: BONE_LEFTELBOW
- 34: BONE_LEFTWRIST
- 35: BONE_LEFTHAND
- 36: BONE_LEFTTHUMB
- 41: BONE_LEFTHIP
- 42: BONE_LEFTKNEE
- 43: BONE_LEFTANKLE
- 44: BONE_LEFTFOOT
- 51: BONE_RIGHTHIP
- 52: BONE_RIGHTKNEE
- 53: BONE_RIGHTANKLE
- 54: BONE_RIGHTFOOT
- 201: BONE_BELLY
- 301: BONE_RIGHTBREAST
- 302: BONE_LEFTBREAST
Returns
Returns the x, y, z world position of the bone.
Example
This example renders name tags above a player's head bone.
addEventHandler( "onClientRender",root, function( ) local px, py, pz, tx, ty, tz, dist px, py, pz = getCameraMatrix( ) for _, v in ipairs( getElementsByType 'player' ) do tx, ty, tz = getElementPosition( v ) dist = math.sqrt( ( px - tx ) ^ 2 + ( py - ty ) ^ 2 + ( pz - tz ) ^ 2 ) if dist < 30.0 then if isLineOfSightClear( px, py, pz, tx, ty, tz, true, false, false, true, false, false, false,localPlayer ) then local sx, sy, sz = getPedBonePosition( v, 5 ) local x,y = getScreenFromWorldPosition( sx, sy, sz + 0.3 ) if x then -- getScreenFromWorldPosition returns false if the point isn't on screen dxDrawText( getPlayerName( v ), x, y, x, y, tocolor(150, 50, 0), 0.85 + ( 15 - dist ) * 0.02, "bankgothic" ) end end end end end )
Example 2
This one draw all local player's bones
addEventHandler('onClientRender', root, function() for bone = 1, 54 do local bonePos = {getPedBonePosition(localPlayer, bone)} if bonePos[1] then local screen = {getScreenFromWorldPosition(unpack(bonePos))} if screen[1] then dxDrawText(''..bone, screen[1], screen[2]) end end end end)
See Also
- canPedBeKnockedOffBike
- getPedAnalogControlState
- getPedAnimation
- getPedBonePosition
- getPedCameraRotation
- getPedControlState
- getPedMoveState
- getPedOxygenLevel
- getPedSimplestTask
- getPedTargetCollision
- getPedTargetEnd
- getPedTargetStart
- getPedTask
- getPedVoice
- getPedWeaponMuzzlePosition
- givePedWeapon
- isPedBleeding
- isPedDoingTask
- isPedReloadingWeapon
- isPedTargetingMarkerEnabled
- setAnalogControlState
- setPedAimTarget
- setPedAnalogControlState
- setPedBleeding
- setPedCameraRotation
- setPedCanBeKnockedOffBike
- setPedControlState
- setPedEnterVehicle
- setPedExitVehicle
- IsPedFootBloodEnabled
- setPedFootBloodEnabled
- setPedLookAt
- setPedOxygenLevel
- setPedTargetingMarkerEnabled
- setPedVoice
- Shared
- addPedClothes
- getPedClothes
- removePedClothes
- createPed
- getPedAmmoInClip
- getPedArmor
- getPedFightingStyle
- getPedOccupiedVehicle
- getPedOccupiedVehicleSeat
- getPedStat
- getPedTarget
- getPedTotalAmmo
- getPedWalkingStyle
- getPedWeapon
- getPedWeaponSlot
- getPedContactElement
- getValidPedModels
- isPedChoking
- isPedDead
- isPedDoingGangDriveby
- isPedDucked
- isPedHeadless
- isPedInVehicle
- isPedOnFire
- isPedOnGround
- isPedWearingJetpack
- killPed
- removePedFromVehicle
- setPedAnimation
- setPedAnimationProgress
- setPedAnimationSpeed
- setPedArmor
- setPedDoingGangDriveby
- setPedFightingStyle
- setPedHeadless
- setPedOnFire
- setPedStat
- setPedWalkingStyle
- setPedWeaponSlot
- warpPedIntoVehicle