RU/GetPedBonePosition: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→Пример) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
*'''bone:''' Часть тела, положение которой нужно определить. | *'''bone:''' Часть тела, положение которой нужно определить. | ||
[[Image:Bones.jpg|thumb| | [[Image:Bones.jpg|thumb|Номера частей тела]] | ||
<div style="border: 3px red solid; margin-bottom:3px; padding-left:5px;"> | <div style="border: 3px red solid; margin-bottom:3px; padding-left:5px;"> | ||
Line 45: | Line 45: | ||
</div> | </div> | ||
=== | ===Данные подлежащие возвращению=== | ||
Возвращаются координаты положения x, y, z определённой части тела персонажа. | |||
== | ==Пример== | ||
Этот пример скрипта показывает имена/ники над головами игроков. | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
addEventHandler("onClientRender",getRootElement(), | addEventHandler("onClientRender",getRootElement(), | ||
Line 62: | Line 62: | ||
local sx, sy, sz = getPedBonePosition(v, 5) | local sx, sy, sz = getPedBonePosition(v, 5) | ||
local x,y = getScreenFromWorldPosition(sx, sy, sz + 0.3) | local x,y = getScreenFromWorldPosition(sx, sy, sz + 0.3) | ||
if x then -- getScreenFromWorldPosition | if x then -- getScreenFromWorldPosition возвращает false(ложь), если персонаж (координата Х) не виден на экране | ||
dxDrawText(getPlayerName(v), x, y, x, y, tocolor(150, 50, 0), 0.85 + (15 - dist) * 0.02, "bankgothic") | dxDrawText(getPlayerName(v), x, y, x, y, tocolor(150, 50, 0), 0.85 + (15 - dist) * 0.02, "bankgothic") | ||
end | end | ||
Line 72: | Line 72: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==Другие функции== | ||
{{Client_ped_functions}} | {{Client_ped_functions}} | ||
[[en:GetPedBonePosition]] |
Latest revision as of 13:31, 2 December 2013
Функция возвращает координаты положения определённой части тела персонажа в формате 3D.
Синтаксис
float float float getPedBonePosition ( ped thePed, int bone )
Обязательные атрибуты
- thePed: Персонаж, положение части тела которого требуется определить.
- bone: Часть тела, положение которой нужно определить.
- 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 - ступня правой ноги
Данные подлежащие возвращению
Возвращаются координаты положения x, y, z определённой части тела персонажа.
Пример
Этот пример скрипта показывает имена/ники над головами игроков.
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 возвращает false(ложь), если персонаж (координата Х) не виден на экране dxDrawText(getPlayerName(v), x, y, x, y, tocolor(150, 50, 0), 0.85 + (15 - dist) * 0.02, "bankgothic") end end end end end )
Другие функции
- 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