RU/GetPedBonePosition: Difference between revisions
Jump to navigation
Jump to search
(Created page with "__NOTOC__ {{Client function}} Returns the 3D world coordinates of a specific bone of a given ped. ==Syntax== <syntaxhighlight lang="lua"> float float float getPedBonePosition ( ped thePed, int b...") |
(→Пример) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Client function}} | {{Client function}} | ||
Функция возвращает координаты положения определённой части тела персонажа в формате 3D. | |||
== | ==Синтаксис== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
float float float getPedBonePosition ( ped thePed, int bone ) | float float float getPedBonePosition ( ped thePed, int bone ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | ===Обязательные атрибуты=== | ||
*'''thePed:''' | *'''thePed:''' Персонаж, положение части тела которого требуется определить. | ||
*'''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;"> | ||
*'''1:''' BONE_PELVIS1 | *'''1:''' BONE_PELVIS1 '''- тазобедренная часть (чуть ниже пупка)''' | ||
*'''2:''' BONE_PELVIS | *'''2:''' BONE_PELVIS '''- тазобедренная часть (чуть выше пупка)''' | ||
*'''3:''' BONE_SPINE1 | *'''3:''' BONE_SPINE1 '''- позвоночник''' | ||
*'''4:''' BONE_UPPERTORSO | *'''4:''' BONE_UPPERTORSO '''- верхня часть тела (начало шеи)''' | ||
*'''5:''' BONE_NECK | *'''5:''' BONE_NECK '''- шейная часть''' | ||
*'''6:''' BONE_HEAD2 | *'''6:''' BONE_HEAD2 '''- голова''' | ||
*'''7:''' BONE_HEAD1 | *'''7:''' BONE_HEAD1 '''- голова''' | ||
*'''8:''' BONE_HEAD | *'''8:''' BONE_HEAD '''- голова''' | ||
*'''21:''' BONE_RIGHTUPPERTORSO | *'''21:''' BONE_RIGHTUPPERTORSO '''- правая верхняя часть тела (чуть правее шеи)''' | ||
*'''22:''' BONE_RIGHTSHOULDER | *'''22:''' BONE_RIGHTSHOULDER '''- правое плечо''' | ||
*'''23:''' BONE_RIGHTELBOW | *'''23:''' BONE_RIGHTELBOW '''- локоть правой руки''' | ||
*'''24:''' BONE_RIGHTWRIST | *'''24:''' BONE_RIGHTWRIST '''- запястье правой руки''' | ||
*'''25:''' BONE_RIGHTHAND | *'''25:''' BONE_RIGHTHAND '''- кисть правой руки''' | ||
*'''26:''' BONE_RIGHTTHUMB | *'''26:''' BONE_RIGHTTHUMB '''- большой палец правой руки''' | ||
*'''31:''' BONE_LEFTUPPERTORSO | *'''31:''' BONE_LEFTUPPERTORSO '''- левая верхняя часть тела (чуть левее шеи)''' | ||
*'''32:''' BONE_LEFTSHOULDER | *'''32:''' BONE_LEFTSHOULDER '''- левое плечо''' | ||
*'''33:''' BONE_LEFTELBOW | *'''33:''' BONE_LEFTELBOW '''- локоть левой руки''' | ||
*'''34:''' BONE_LEFTWRIST | *'''34:''' BONE_LEFTWRIST '''- запястье левой руки''' | ||
*'''35:''' BONE_LEFTHAND | *'''35:''' BONE_LEFTHAND '''- кисть левой руки''' | ||
*'''36:''' BONE_LEFTTHUMB | *'''36:''' BONE_LEFTTHUMB '''- большой палец левой руки''' | ||
*'''41:''' BONE_LEFTHIP | *'''41:''' BONE_LEFTHIP '''- часть бедра левой ноги''' | ||
*'''42:''' BONE_LEFTKNEE | *'''42:''' BONE_LEFTKNEE '''- колено левой ноги''' | ||
*'''43:''' BONE_LEFTANKLE | *'''43:''' BONE_LEFTANKLE '''- лодыжка левой ноги''' | ||
*'''44:''' BONE_LEFTFOOT | *'''44:''' BONE_LEFTFOOT '''- ступня левой ноги''' | ||
*'''51:''' BONE_RIGHTHIP | *'''51:''' BONE_RIGHTHIP '''- часть бедра правой ноги''' | ||
*'''52:''' BONE_RIGHTKNEE | *'''52:''' BONE_RIGHTKNEE '''- колено правой ноги''' | ||
*'''53:''' BONE_RIGHTANKLE | *'''53:''' BONE_RIGHTANKLE '''- лодыжка правой ноги''' | ||
*'''54:''' BONE_RIGHTFOOT | *'''54:''' BONE_RIGHTFOOT '''- ступня правой ноги''' | ||
</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