DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
humanitems.c
Go to the documentation of this file.
2// *************************************************************************************
3// ! HumanItemBehaviorCfg - per item config of stances / movements
4// *************************************************************************************
7
8 // static int DEFMOVEMENT = MOVEMENT_IDLE | MOVEMENT_WALK | MOVEMENT_RUN | SPRINT;
9
11 static int IKSETTING_AIMING = 0x1;
12 static int IKSETTING_RHAND = 0x2;
13 static int IKSETTING_LHAND = 0x4;
16
20 int m_IKSettings[24];
23
33
40
41 private bool m_bPlaceholder;
42
43
44 void SetIK(int pStance, int pMovement, bool pAim, bool pRArm, bool pLArm)
45 {
46 int val = 0;
47 if (pAim) val |= IKSETTING_AIMING;
48 if (pRArm) val |= IKSETTING_RHAND;
49 if (pLArm) val |= IKSETTING_LHAND;
50
51 // Print("Setting ik " + pStance.ToString() + "," + pMovement.ToString() );
52 pStance = pStance * 4;
53 pStance = pStance + pMovement;
54
55 // Print("Setting ik " + pStance.ToString() + " to value " + val.ToString() );
56 m_IKSettings[pStance] = val;
57 }
58
59 void SetIKStance(int pStance, bool pAim, bool pRArm, bool pLArm)
60 {
61 int val = 0;
62 if (pAim) val |= IKSETTING_AIMING;
63 if (pRArm) val |= IKSETTING_RHAND;
64 if (pLArm) val |= IKSETTING_LHAND;
65
66 int bo = pStance * 4;
68 for (int i = 0; i < 4; i++)
69 {
70 m_IKSettings[bo+i] = val;
71 }
72 }
73
74 void SetIKMelee(int pHitType, bool pAim, bool pRArm, bool pLArm)
75 {
76 int val = 0;
77 if (pAim) val |= IKSETTING_AIMING;
78 if (pRArm) val |= IKSETTING_RHAND;
79 if (pLArm) val |= IKSETTING_LHAND;
80
81 m_IKSettingsMelee[pHitType] = val;
82 }
83
84 void SetIKAll(bool pAim, bool pRArm, bool pLArm)
85 {
86 int val = 0;
87 if (pAim) val |= IKSETTING_AIMING;
88 if (pRArm) val |= IKSETTING_RHAND;
89 if (pLArm) val |= IKSETTING_LHAND;
90
91 int i;
92 for (i = 0; i < 24; i++)
93 {
94 m_IKSettings[i] = val;
95 }
96
97 for (i = 0; i < 2; i++)
98 {
99 m_IKSettingsMelee[i] = val;
100 }
101 }
102
103
104}
105
106// *************************************************************************************
107// ! HumanItemAccessor - item helpers
108// *************************************************************************************
110{
112 proto native void OnItemInHandsChanged(bool pInstant = false);
113
115 proto native void ResetWeaponInHands();
116
118 proto native void HideItemInHands(bool pState);
119
121 proto native bool IsItemInHandsHidden();
122
124 proto native bool IsItemInHandsWeapon();
125
127 proto native bool WeaponGetCameraPoint(out vector pPos, out vector pRot);
128
130 proto native bool WeaponGetCameraPointMSTransform (notnull EntityAI pCamEntity, vector pCamPoint, vector pCamDir, out vector pTm[4]);
131
133 proto native bool WeaponGetCameraPointBoneRelative(notnull EntityAI pCamEntity, vector pCamPoint, vector pCamDir, int pBoneIndex, out vector pTm[4]);
134
136 proto native bool WeaponGetAimingModelDirTm(out vector pTm[4]);
137
140
141 private void HumanItemAccessor()
142 {
143 }
144
145 private void ~HumanItemAccessor()
146 {
147 }
148}
protected void HideItemInHands()
static int IKSETTING_AIMING
bit mask of ik settings
Definition humanitems.c:11
float m_fMeleeEvadeHeadingFilterSpeed
delay of alignment when evading
Definition humanitems.c:32
void SetIKAll(bool pAim, bool pRArm, bool pLArm)
Definition humanitems.c:84
bool m_bJumpAllowed
default false
Definition humanitems.c:39
private bool m_bPlaceholder
default true
Definition humanitems.c:41
void SetIK(int pStance, int pMovement, bool pAim, bool pRArm, bool pLArm)
Definition humanitems.c:44
float m_fMoveHeadingFilterSpeed
delay of alignment when moving in prone stance
Definition humanitems.c:28
float m_fMeleeEvadeHeadingFilterSpan
max speed of alignment when moving
Definition humanitems.c:31
int m_IKSettingsMelee[2]
[stance][movement] mask for ik
Definition humanitems.c:21
int m_iPerItemCameraUserData
[inpact type] mask for ik (0 - light/1 - heavy)
Definition humanitems.c:22
float m_fMoveHeadingFilterSpan
per item camera user data - can be obtained in runtime by DayZPlayer.GetPerItemCameraUD()
Definition humanitems.c:25
int m_iStanceMask
combinations of STANCEMASK_
Definition humanitems.c:17
void SetIKMelee(int pHitType, bool pAim, bool pRArm, bool pLArm)
Definition humanitems.c:74
static int IKSETTING_RHAND
Definition humanitems.c:12
int m_StanceRotation[6]
6 stances -> all has movement mask, STANCEIDX_ ... is index
Definition humanitems.c:19
static int IKSETTING_LHAND
Definition humanitems.c:13
bool m_bAttackLean
max speed of alignment when evading
Definition humanitems.c:36
float m_fMoveHeadingSprintFilterSpan
default delay of alignment when moving
Definition humanitems.c:26
void SetIKStance(int pStance, bool pAim, bool pRArm, bool pLArm)
Definition humanitems.c:59
float m_fMoveHeadingProneFilterSpan
delay of alignment when sprintinh
Definition humanitems.c:27
proto native void ResetWeaponInHands()
reset weapon anim override in case of premature death
proto native HumanItemBehaviorCfg GetItemInHandsBehaviourCfg()
private void HumanItemAccessor()
Definition humanitems.c:141
proto native bool IsItemInHandsHidden()
returns if item in hands is hidden visually
proto native bool WeaponGetCameraPointBoneRelative(notnull EntityAI pCamEntity, vector pCamPoint, vector pCamDir, int pBoneIndex, out vector pTm[4])
returns true if weapon is item and it has camera point - model space matrix -
proto native bool WeaponGetCameraPoint(out vector pPos, out vector pRot)
returns true if weapon is item and it has camera point - local pos, dir in weapon space
proto native bool WeaponGetAimingModelDirTm(out vector pTm[4])
return current aiming point from aiming model (additive swaying applied - no recoil points)
proto native bool WeaponGetCameraPointMSTransform(notnull EntityAI pCamEntity, vector pCamPoint, vector pCamDir, out vector pTm[4])
returns true if weapon is item and it has camera point - model space matrix -
class HumanItemBehaviorCfg OnItemInHandsChanged(bool pInstant=false)
signalization from script to engine that item in hands changed
private void ~HumanItemAccessor()
Definition humanitems.c:145
proto native bool IsItemInHandsWeapon()
returns true if item in hands is a weapon