GetPedBonePosition: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Added example by The_Ex from forum: http://forum.mtasa.com/viewtopic.php?f=91&t=28836) |
||
Line 47: | Line 47: | ||
===Returns=== | ===Returns=== | ||
Returns the x, y, z world position of the bone. | Returns the x, y, z world position of the bone. | ||
==Examples== | |||
This example renders name tags above a player's head bone. | |||
<syntaxhighlight lang="lua"> | |||
addEventHandler("onClientRender",getRootElement(), | |||
function() | |||
local px, py, pz, tx, ty, tz, dist | |||
px, py, pz = getCameraMatrix() | |||
for k, 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, getLocalPlayer()) 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 | |||
) | |||
</syntaxhighlight> | |||
==See Also== | ==See Also== | ||
{{Client_ped_functions}} | {{Client_ped_functions}} |
Revision as of 09:49, 31 August 2010
Returns the 3D world coordinates of a specific bone of a given ped.
Syntax
float float float getPedBonePosition ( ped thePed, int bone )
Required Arguments
- thePed: the ped you want to inspect.
- bone: the number of the bone to get the position of.
- 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
Returns
Returns the x, y, z world position of the bone.
Examples
This example renders name tags above a player's head bone.
addEventHandler("onClientRender",getRootElement(), function() local px, py, pz, tx, ty, tz, dist px, py, pz = getCameraMatrix() for k, 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, getLocalPlayer()) 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 )
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