148 {
149 m_SprintFull = false;
150 m_SprintedTime = 0;
159 m_ADSAutomationTimer =
new Timer();
160 m_bADS = false;
161 m_WeaponRaiseCompleted = false;
162 SetOptics(false);
163 m_IsShootingFromCamera = true;
164 m_ProcessFirearmMeleeHit = false;
165 m_ContinueFirearmMelee = false;
166 m_WasIronsight = true;
167#ifdef PLATFORM_CONSOLE
168 m_Camera3rdPerson = !
GetGame().GetWorld().Is3rdPersonDisabled();
169#endif
170 m_LastSurfaceUnderHash = ("cp_gravel").Hash();
171 m_NextVoNNoiseTime = 0;
173 m_CurrentWaterLevel = 0;
174 m_WeaponRaiseTime = 0;
175
176 RegisterNetSyncVariableBoolSignal("m_TriggerPullPlayerOutOfVehicleSynch");
177 }
178
180 {
181 return m_AimingModel;
182 }
183
185 {
187 }
188
190 {
191 return m_MeleeFightLogic;
192 }
193
195 {
196 return m_Throwing;
197 }
198
200 {
201 return m_FallDamage;
202 }
203
205 {
206 }
207
210 {
212 }
213
215 {
216 return m_CameraEyeZoomLevel;
217 }
218
220 {
221 return m_IsShootingFromCamera;
222 }
223
224 void OverrideShootFromCamera(
bool pState)
225 {
226 m_IsShootingFromCamera =
pState;
227 }
228
229 bool IsInIronsights()
230 {
231 return m_CameraIronsight;
232 }
233
234 bool IsInOptics()
235 {
236 return m_CameraOptics;
237 }
238
240 {
241 return m_Camera3rdPerson;
242 }
243
244 void SetIsInThirdPerson(
bool state)
245 {
246 m_Camera3rdPerson =
state;
247 }
248
249 bool IsFireWeaponRaised()
250 {
254
255 return false;
256 }
257
258 bool IsTryingHoldBreath()
259 {
260 return m_IsTryingHoldBreath;
261 }
262
263 bool IsSprintFull()
264 {
265 return m_SprintFull;
266 }
267
268 void ShowWeaponDebug(bool show)
269 {
270 if (show)
272 else
273 m_WeaponDebug =
null;
274 }
275
276 bool IsWeaponDebugEnabled()
277 {
278 return m_WeaponDebug !=
null;
279 }
280
281 void SetFallYDiff(
float value)
282 {
284 }
285
287 {
288 return m_CurrentWaterLevel;
289 }
290
292 {
294 }
295
296 void SetIronsights(
bool value)
297 {
300 m_WasIronsight = m_CameraIronsight;
301
302 m_CameraIronsight =
value;
303
305 {
309 }
310 }
311
312 void SetOptics(
bool value)
313 {
314 m_CameraOptics =
value;
315
317 {
320 hcw.SetADS(!IsHandheldOpticsInUse());
321 }
322 }
323
324 void ExitSights()
325 {
331 else
333
334 SetIronsights(false);
335 SetOptics(false);
336
338 SwitchOptics(
optics,
false);
339
343 }
344
346 {
348 {
350 {
351 if (
optic.HasEnergyManager())
352 optic.GetCompEM().SwitchOn();
354 optic.OnOpticEnter();
355 }
356 else
357 {
360 if (
optic.HasEnergyManager())
361 optic.GetCompEM().SwitchOff();
362 }
363 }
364
365 if (m_CameraOptics !=
state)
367 }
368
369 void SetClimbingLadderType(
string value)
370 {
371 m_ClimbingLadderType =
value;
372 }
373
378
379 bool IsInVehicle()
380 {
382 }
383
384 bool IsSwimming()
385 {
387 }
388
389 bool IsClimbingLadder()
390 {
392 }
393
394
397
398 bool IsFBSymptomPlaying()
399 {
400 return m_isFBsymptomPlaying;
401 }
402
403 float GetDeltaT()
404 {
405 return m_dT;
406 }
407
408
412
413 int m_DeathAnimType = -2;
414 float m_DeathHitDir = 0;
415 bool m_DeathJuctureSent = false;
416
418 {
421 text +=
"IsSimulationDisabled: " + GetIsSimulationDisabled() +
"\n";
422
423
424
425
426
427
428
430 }
431
432 void TriggerPullPlayerOutOfVehicle()
433 {
435 return;
436
439 return;
440
443 {
445 {
447 break;
448 }
449 }
450
452 return;
453
455 TriggerPullPlayerOutOfVehicleImpl();
456
457 SetSynchDirty();
458 }
459
460 void TriggerPullPlayerOutOfVehicleImpl()
461 {
464
466 DisableSimulation(false);
467
469 {
474 m_PullPlayerOutOfVehicleState = 0;
475 m_TriggerPullPlayerOutOfVehicleSynch = true;
476 break;
477 }
478 }
479
481 {
482 if (m_TriggerPullPlayerOutOfVehicleSynch && !
GetGame().IsDedicatedServer())
483 TriggerPullPlayerOutOfVehicleImpl();
484
485 super.OnVariablesSynchronized();
486 }
487
489 {
491 {
492 switch (m_PullPlayerOutOfVehicleState)
493 {
494 case -1:
495 break;
496 case 0:
497 m_PullPlayerOutOfVehicleState = -1;
498
500
505 break;
506 }
507
508 return true;
509 }
510
511 if (m_DeathAnimType != -2 &&
g_Game.GetMissionState() ==
g_Game.MISSION_STATE_GAME)
512 {
513 if (!CommitedSuicide())
514 {
515 int type = m_DeathAnimType;
518
519 m_WasInVehicle = false;
522 {
523 m_TransportCache =
hcv.GetTransport();
524 m_WasInVehicle = !
hcv.IsGettingIn() && !
hcv.IsGettingOut();
525 }
526
528 if (IsUnconscious() || m_WasInVehicle)
529 {
530 if (m_TransportCache)
531 {
532 m_TransportCache.CrewDeath(m_TransportCache.CrewMemberIndex(this));
533 m_TransportCache.MarkCrewMemberDead(m_TransportCache.CrewMemberIndex(this));
534 }
535 }
536 else
537 {
538 if (m_TransportCache)
539 {
540 m_TransportCache.CrewGetOut(m_TransportCache.CrewMemberIndex(this));
541 m_TransportCache.MarkCrewMemberDead(m_TransportCache.CrewMemberIndex(this));
542 }
543
545 }
546
547 DisableSimulation(false);
549 m_TransportCache =
null;
550
554 }
555 else
557
558
559 GetGame().GetWorld().SetVoiceOn(
false,
false);
560
561 return true;
562 }
563
564 return false;
565 }
566
567 void ResetDeathStartTime()
568 {
570 }
571
573 {
575 {
583 {
588 }
589
590 break;
591 }
592
594 }
595
597 {
598 if (m_DeathJuctureSent)
599 return;
600
602 m_DeathJuctureSent = true;
603 }
604
606 {
607 SendDeathJuncture(-1, 0);
608
610 }
611
612 void ShowDeadScreen(
bool show,
float duration)
613 {
614#ifndef NO_GUI
615 if (show && IsPlayerSelected())
616 {
617#ifdef PLATFORM_PS4
619#endif
620
622 if (!
GetGame().GetMission().IsPlayerRespawning())
623 message =
"#dayz_implement_dead";
624
625#ifdef PLATFORM_CONSOLE
627#else
629#endif
630 }
631 else
632 {
634
637 else
639 }
640#endif
641 }
642
643 override void StopDeathDarkeningEffect()
644 {
645 if (m_DeathEffectTimer && m_DeathEffectTimer.IsRunning())
646 {
647 m_DeathEffectTimer.Stop();
648 m_DeathEffectTimer =
null;
649 }
650 }
651
652 void SimulateDeath(
bool state)
653 {
654 if (
g_Game.GetMissionState() != DayZGame.MISSION_STATE_GAME)
655 return;
656
658
660 {
661 float duration = DEFAULT_DYING_TIME;
662 if (m_KilledByHeadshot)
664
665 if (
duration > DYING_PROGRESSION_TIME && !m_IsUnconscious)
666 {
667 if (!m_DeathEffectTimer)
669
671 m_DeathEffectTimer.Run(DYING_PROGRESSION_TIME,
this,
"SetDeathDarknessLevel",
par,
true);
672 }
673
675
676 GetGame().GetSoundScene().SetSoundVolume(0, 0);
677 GetGame().GetSoundScene().SetSpeechExVolume(0, 0);
678 GetGame().GetSoundScene().SetMusicVolume(0, 0);
679 GetGame().GetSoundScene().SetVOIPVolume(0, 0);
680 GetGame().GetSoundScene().SetRadioVolume(0, 0);
681 }
682 else
683 {
684 StopDeathDarkeningEffect();
685 ShowDeadScreen(
state, 0);
686 }
687 }
688
689 void LockControls(
bool state)
690 {
692 {
696
698 {
699 GetGame().GetUIManager().ShowUICursor(
true);
700 if (
GetGame().GetUIManager().IsDialogVisible())
701 GetGame().GetUIManager().CloseDialog();
702 }
703 }
704 else
705 {
709
711 {
712 if (
GetGame().GetUIManager().GetMenu())
713 GetGame().GetUIManager().ShowUICursor(
true);
714 else
715 GetGame().GetUIManager().ShowUICursor(
false);
716 }
717 }
718 }
719
721
722 void SendCompleteWeaponRaiseJuncture();
723
724 void CompleteWeaponRaise()
725 {
726 m_WeaponRaiseTime = 0;
727 m_WeaponRaiseCompleted = true;
728 }
729
730 void ResetWeaponRaiseProgress()
731 {
732 m_WeaponRaiseTime = 0;
733 m_WeaponRaiseCompleted = false;
734 }
735
736 bool IsWeaponRaiseCompleted()
737 {
738 return m_WeaponRaiseCompleted;
739 }
740
742 {
745 }
746
748 {
751 {
752 Error(
"DayZPlayer: OnInputForRemote - cannot read input type");
753 return;
754 }
755
757 {
759 GetDayZPlayerInventory().OnEventForRemoteWeapon(
ctx);
760 break;
762 GetDayZPlayerInventory().OnHandEventForRemote(
ctx);
763 break;
765 GetDayZPlayerInventory().OnInputUserDataForRemote(
ctx);
766 break;
767 default:
769 break;
770 }
771 }
772
774 {
777 {
778 Error(
"DayZPlayer: OnInputFromServer - cannot read input type");
779 return;
780 }
781
783 {
785 GetDayZPlayerInventory().OnServerInventoryCommand(
ctx);
786 break;
787 default:
789 break;
790 }
791 }
796
798 {
799
800 StopWeaponEvent();
802
803 if (!IsAlive())
804 {
805
807 }
808 }
809
811
812
817 {
820
824
825 CheckLiftWeapon();
826 ProcessLiftWeapon();
827
829
830
832 m_IsTryingHoldBreath = true;
833 else
834 m_IsTryingHoldBreath = false;
835
836 if (
pInputs.IsFireModeChange())
837 GetWeaponManager().SetNextMuzzleMode();
839 {
840 if (
optic && (
optic.IsInOptics() ||
optic.IsUsingWeaponIronsightsOverride()))
841 optic.StepZeroingUp();
842 else
843 weapon.StepZeroingUpAllMuzzles();
844 }
846 {
847 if (
optic && (
optic.IsInOptics() ||
optic.IsUsingWeaponIronsightsOverride()))
848 optic.StepZeroingDown();
849 else
850 weapon.StepZeroingDownAllMuzzles();
851 }
852
853 if (!m_LiftWeapon_player && (m_CameraIronsight || !
weapon.CanEnterIronsights() || m_CameraOptics))
854 {
857 }
858
860 {
861 m_IsFireWeaponRaised = false;
864
865 ResetWeaponRaiseProgress();
866
867 return;
868 }
869 else
870 {
871 m_IsFireWeaponRaised = true;
872 if (!IsWeaponRaiseCompleted())
873 m_WeaponRaiseTime +=
pDt;
874
876 CompleteWeaponRaise();
877 }
878
880 if (GetWeaponManager().CanFire(
weapon))
881 {
886 {
887 if (
pInputs.IsAttackButtonDown() && GetInputInterface().
SyncedValue(
"UAWeaponMeleeAttack") == 0 && GetInputInterface().
SyncedValue(
"UAHeavyMeleeAttack") == 0)
888 GetWeaponManager().Fire(
weapon);
889 }
891 {
892#ifdef DIAG_DEVELOPER
895 {
896#endif
897 if (
pInputs.IsAttackButton() && GetInputInterface().
SyncedValue(
"UAWeaponMeleeAttack") == 0 && GetInputInterface().
SyncedValue(
"UAHeavyMeleeAttack") == 0)
898 {
900 GetWeaponManager().Fire(
weapon);
901 }
902 else
904#ifdef DIAG_DEVELOPER
905 }
907 {
911 GetWeaponManager().Fire(
weapon);
912 else
913 {
914
916 GetWeaponManager().Fire(
weapon);
917 }
918 }
919#endif
920 }
921 }
922
923#ifdef PLATFORM_CONSOLE
924 if (
GetGame().
GetInput().LocalRelease(
"UAFire",
false) || m_ShouldReload)
925 {
926 if (!
weapon.IsWaitingForActionFinish() && !IsFighting())
927 {
929
931 {
932 if (
weapon.CanProcessWeaponEvents())
933 {
934 if (GetWeaponManager().CanEjectBullet(
weapon))
935 {
936 GetWeaponManager().EjectBullet();
938 m_ShouldReload = false;
939 }
940 }
941 }
942 }
943 else
944 m_ShouldReload = true;
945 }
946#endif
947 }
948
950 {
953 return;
954
959
961 {
965
966 if (
weapon && m_CameraIronsight && !m_CameraOptics)
967 {
968 SetIronsights(false);
969 SwitchOptics(
optic,
true);
970 optic.SetStepFOVIndex(0);
971 }
972 else if (m_CameraOptics)
973 {
975 {
976 if (!
optic.StepFOVUp())
977 {
979 {
980 optic.SetStepFOVIndex(0);
981 }
982
984 {
985 SwitchOptics(
optic,
false);
987 SetIronsights(true);
988 }
989 }
990 }
991 else
993 }
994 }
995
997 {
1001 if (m_CameraOptics)
1002 {
1003 if (!
optic.StepFOVDown())
1004 {
1006 {
1008 {
1010 }
1011 }
1012
1014 {
1015 SwitchOptics(
optic,
false);
1016 pInputs.ResetFreeLookToggle();
1017 SetIronsights(true);
1018 }
1019 }
1020 }
1022 {
1023 SwitchOptics(
optic,
true);
1025 {
1027 }
1028 }
1029 }
1030 }
1031
1032
1036
1037 bool m_DamageHitFullbody = false;
1038 int m_DamageHitAnimType = -1.0;
1039 float m_DamageHitDir = 0.0;
1040 float m_DamageHealth = 0.0;
1041
1042 const float HIT_INTERVAL_MIN = 0.3;
1043 float m_HitElapsedTime = HIT_INTERVAL_MIN;
1044
1045 bool IsInFullbodyDamageAnimation()
1046 {
1048 }
1049
1052 {
1054 m_DamageHitAnimType = -1;
1055
1056 if (!m_SyncedHitDataArray || m_SyncedHitDataArray.Count() == 0)
1057 return;
1058
1059
1062 for (
int i = 0;
i < m_SyncedHitDataArray.Count();
i++)
1063 {
1064 data = m_SyncedHitDataArray[
i];
1065 m_DamageHitDir =
data.m_HitDir;
1066
1067
1068#ifndef SERVER
1070 {
1071 m_DamageHealth =
data.m_HealthDamage;
1072 if (m_DamageHealth > 0.0)
1073 {
1075 GetGame().GetMission().GetHud().SpawnHitDirEffect(
this, m_DamageHitDir,
rel);
1076 }
1077 }
1078#endif
1079
1082
1083 else if (
data.m_Fullbody)
1085 }
1086
1087 m_SyncedHitDataArray.Clear();
1088 m_DamageHealth = 0.0;
1089
1092 return;
1093
1094
1098 }
1099
1101 {
1102
1104 {
1105
1106 if (m_HitElapsedTime < HIT_INTERVAL_MIN)
1107 {
1108 m_HitElapsedTime += m_dT;
1109 ResetDamageHitState(false);
1110 return false;
1111 }
1112 }
1113
1114
1115 if (m_DamageHitAnimType != -1 && m_TransportCache ==
null && !CommitedSuicide())
1116 {
1119 {
1121 ResetDamageHitState(true);
1122 return true;
1123 }
1124 else
1125 {
1127 ResetDamageHitState(false);
1128 return false;
1129 }
1130 }
1131
1133 }
1134
1136 {
1137 m_DamageHitAnimType = -1;
1138 m_DamageHitFullbody = false;
1139
1141 m_HitElapsedTime = 0;
1142 }
1143
1146 {
1148
1152
1156
1159
1162
1165
1169
1170 return true;
1171 }
1172
1175 {
1177
1181
1183 {
1187 break;
1188
1191 if (!IsUnconscious() &&
pAnimType == 1 && !m_MeleeFightLogic.IsInBlock())
1193 break;
1194
1197
1198 if (!IsUnconscious() && GetHealth("", "Shock") > 25)
1199 {
1202 {
1208 }
1209 }
1210
1211 break;
1212
1214 break;
1215
1220 else
1221 return false;
1222
1223 break;
1224 }
1225
1229
1232
1235
1238
1240
1241
1244
1247
1248 return true;
1249 }
1250
1253 {
1255
1256 m_TransportHitRegistered = false;
1257
1258 if (!IsAlive())
1259 {
1264
1265 if (!m_DeathSyncSent)
1266 {
1268
1269 if (!m_KillerData)
1270 {
1272 m_KillerData.m_Killer =
killer;
1273 m_KillerData.m_MurderWeapon =
source;
1274 }
1275
1277 {
1278
1280 {
1281 m_KilledByHeadshot = true;
1282 if (m_KillerData.m_Killer ==
killer)
1283 m_KillerData.m_KillerHiTheBrain = true;
1284 }
1285 }
1286 }
1287 }
1288 else
1289 {
1295 else
1296 {
1300
1303 }
1304 }
1305
1306
1308 {
1312 }
1313 }
1314
1315
1319 float m_fLastHeadingDiff = 0;
1320
1323 {
1324 if (!IsAlive())
1325 return false;
1326
1328
1331 {
1332 m_fLastHeadingDiff = 0;
1333 return false;
1334 }
1336 {
1338 if (
hmv.IsGettingOut() ||
hmv.IsGettingIn())
1340
1341 m_fLastHeadingDiff = 0;
1342 return false;
1343 }
1345 {
1347 if (!
hcu.IsWakingUp())
1348 {
1349 m_fLastHeadingDiff = 0;
1350
1351 return false;
1352 }
1353 }
1354
1356 {
1357 m_fLastHeadingDiff = 0;
1358 return false;
1359 }
1360
1361#ifdef DEVELOPER
1364 {
1367 }
1368#endif
1369
1371 {
1372 m_fLastHeadingDiff = 0;
1373 return false;
1374 }
1375
1378 {
1380 if (
hcm.IsStandingFromBack())
1381 {
1382 m_fLastHeadingDiff = 0;
1383 return false;
1384 }
1385 }
1386
1393
1395 }
1396
1397
1398
1403 {
1406 {
1408 if (
hcm.IsFinisher())
1409 {
1410 if (!m_AimingFinisherStarted)
1411 {
1412 m_AimingModel.OnFinisherBegin(
pModel.m_fCurrentAimY);
1413 m_AimingFinisherStarted = true;
1414 }
1415 m_AimingModel.ProcessStealthFilters(
pDt,
pModel);
1416 }
1417
1418 return true;
1419 }
1420
1422 {
1423 if (!m_RaiseStarted)
1424 {
1425 m_AimingModel.OnRaiseBegin(this);
1426 m_RaiseStarted = true;
1427 }
1429
1430 return true;
1431 }
1432
1433 m_RaiseStarted = false;
1434 m_AimingFinisherStarted = false;
1435
1436 return true;
1437 }
1438
1439
1443
1444
1446 bool CanJump()
1447 {
1448 if (IsFBSymptomPlaying() || IsRestrained() || IsUnconscious() || IsInFBEmoteState())
1449 return false;
1450
1452 return false;
1453
1454 if (
IsRaised() && GetInputInterface().SyncedPress(
"UAGetOverControllerHelper"))
1455 return false;
1456
1458 if (!
hibcfg.m_bJumpAllowed)
1459 return false;
1460
1462 return false;
1463
1466 {
1467 if (
hcm.IsChangingStance())
1468 return false;
1469 }
1470
1471 return true;
1472 }
1473
1475 {
1476 if (IsFBSymptomPlaying() || IsRestrained() || IsUnconscious() || IsInFBEmoteState())
1477 return false;
1478
1480 return false;
1481
1482 if (
IsRaised() && GetInputInterface().SyncedPress(
"UAGetOverControllerHelper"))
1483 return false;
1484
1486 if (!
hibcfg.m_bJumpAllowed)
1487 return false;
1488
1490 {
1493 return false;
1495 return false;
1497 return false;
1498 }
1499
1500 return true;
1501 }
1502
1503
1505 {
1506 }
1507
1509 {
1510 }
1511
1512 void StopHandEvent()
1513 {
1514 GetDayZPlayerInventory().CancelHandEvent();
1515 }
1516
1517 void StopWeaponEvent()
1518 {
1519 GetDayZPlayerInventory().CancelWeaponEvent();
1520 }
1521
1523 {
1524 GetDayZPlayerInventory().AbortWeaponEvent();
1525 }
1526
1527
1531 void HandleADS()
1532 {
1533 if (!IsAlive())
1534 {
1535 if (m_CameraIronsight || m_CameraOptics)
1536 ExitSights();
1537 return;
1538 }
1539
1547
1550
1551 if (m_ResetADS || !
hia.IsItemInHandsWeapon())
1552 {
1554 m_ResetADS = false;
1555 }
1556
1558 {
1559 ResetWeaponRaiseProgress();
1561 }
1562 else
1563 {
1564 if (m_bADS !=
hic.WeaponADS())
1565 {
1566 m_bADS =
hic.WeaponADS();
1568 }
1569
1570 if (m_bADS && !m_CameraIronsight && !m_CameraOptics)
1571 {
1573 if (!IsWeaponRaiseCompleted())
1574 {
1577 }
1578 else
1580 }
1581 }
1582
1584 {
1585 if (
hia.IsItemInHandsWeapon() &&
playerPB.GetItemInHands() &&
playerPB.GetItemInHands().IsWeapon() &&
playerPB.GetWeaponManager() && !
playerPB.GetWeaponManager().IsRunning())
1586 {
1592
1595
1596
1601
1602
1603 if (IsLiftWeapon() || !
IsRaised() || GetDayZPlayerInventory().
IsProcessing() || !IsWeaponRaiseCompleted() || IsFighting())
1606 {
1607
1609 m_WasIronsight = false;
1611 m_WasIronsight = true;
1612
1613 if (m_WasIronsight)
1614 {
1615 hic.ResetFreeLookToggle();
1616 SwitchOptics(
optic,
false);
1617 SetIronsights(true);
1618 }
1620 {
1621 SetIronsights(false);
1622 SwitchOptics(
optic,
true);
1623 }
1624 else
1626
1627 if (
hcw && (m_CameraOptics))
1629 }
1630 else
1632 }
1633 }
1634
1635
1637 ExitSights();
1638 }
1639
1640 void HandleView()
1641 {
1642 if (!IsAlive())
1643 {
1644 if (m_CameraIronsight || m_CameraOptics)
1645 ExitSights();
1646 return;
1647 }
1648
1650
1652
1654 {
1655 if (m_IsWeapon)
1657 }
1658
1660 if (
GetGame().GetWorld().Is3rdPersonDisabled())
1661 m_Camera3rdPerson = false;
1663 m_Camera3rdPerson = !m_Camera3rdPerson;
1664
1665
1666 if (m_LiftWeapon_player && (m_CameraOptics || m_CameraIronsight))
1667 ExitSights();
1668
1670 GetDayZPlayerType().SetVerticalMinimumAimLimit(DayZPlayerCameraIronsights.CONST_UD_MIN_BACK);
1671 else
1672 GetDayZPlayerType().SetVerticalMinimumAimLimit(DayZPlayerCameraIronsights.CONST_UD_MIN);
1673
1675 {
1679 else if (!IsClimbingLadder() && !IsSwimming() && !IsInVehicle())
1680 {
1684
1687 }
1688 }
1689 else
1691
1693 {
1698
1701 else
1703
1705 {
1707
1709
1711 {
1717
1719 if (m_SoundOffset > 0.25)
1720 m_SoundOffset = 0.25;
1721
1722 string soundSetName =
"Cloth_Body_longmove_TShirt_Soundset";
1723
1728
1730 {
1731 string path =
"CfgSoundTables CfgAttachmentSoundTables Cloth_Body_Longmove_LookupTable";
1733
1735 {
1738
1740 {
1744
1746 }
1747 }
1748 }
1749
1752
1754 {
1756
1758 {
1760
1762 wave.SetStartOffset(m_SoundOffset);
1764
1765 m_LastBackSoundTime =
GetGame().GetTime();
1767 }
1768 }
1769 }
1770
1772 {
1776
1778 if (m_SoundOffset < 0.1)
1779 m_SoundOffset = 0.1;
1780 if (m_SoundOffset > 0.3)
1781 m_SoundOffset = 0.3;
1782
1783 string soundSetName2 =
"walkProne_noHS_asphalt_ext_Char_SoundSet";
1785
1787 {
1789
1790 string path2 =
"CfgSoundTables CfgStepSoundTables walkProne_noHS_Char_LookupTable";
1792
1794 {
1797
1799 {
1803
1805 }
1806 }
1807 }
1808
1811
1813 {
1815
1817 {
1819
1821 wave2.SetStartOffset(m_SoundOffset);
1823
1824 m_LastBackSoundTime2 =
GetGame().GetTime();
1826 }
1827 }
1828 }
1829
1831 }
1832 }
1833 }
1834
1835 float m_LastHeadingAngleBlock;
1836 float m_LastHeadingAngleBlock2;
1837 float m_LastHeadingAngle;
1838 int m_LastBackSoundTime;
1839 int m_LastBackSoundTime2;
1840 float m_SoundOffset;
1841
1842
1843
1847
1848
1850 {
1851 return false;
1852 }
1853
1855 {
1856 return false;
1857 }
1858
1860 {
1861 return false;
1862 }
1863
1864
1868
1869
1872 {
1874
1876 return;
1877
1881
1884
1887 {
1890 }
1891
1893 {
1896 }
1897
1899 {
1901 GetUApi().ActivateModificator(
"aiming");
1902 else
1903 GetUApi().DeactivateModificator(
"aiming");
1904 }
1905
1906
1907 HandleADS();
1908
1909
1911 {
1913 if (
isWeapon && (!m_ProcessFirearmMeleeHit || !m_ContinueFirearmMelee))
1914 {
1915 m_ProcessFirearmMeleeHit = false;
1918 }
1919 else if (IsHandheldOpticsInUse() && m_CameraOptics &&
opticInHands)
1920 {
1923 }
1924 }
1925
1927 HandleView();
1928
1930 {
1931 OnMovementChanged();
1933 }
1934
1937 return;
1938
1941 {
1943 {
1945 {
1946 int crew_index = m_TransportCache.CrewMemberIndex(
this);
1949 m_TransportCache =
null;
1950 return;
1951 }
1952 }
1953
1954
1955
1957 {
1960 return;
1961 }
1962
1964 if (m_Swimming.m_bWasSwimming)
1965 {
1967 return;
1968 }
1969
1971
1972 if (GetHumanInventory().GetEntityInHands())
1974
1975 return;
1976 }
1977
1978
1979
1981
1983 return;
1984
1985
1986
1987
1989 {
1991 if (
hcv.WasGearChange())
1992 {
1994 cb.SetVehicleCommand(
hcv);
1995 }
1996
1997 return;
1998 }
1999
2001
2004 {
2005 m_SprintedTime +=
pDt;
2006 if (m_SprintedTime > m_SprintedTimePerStanceMin)
2007 {
2008 m_SprintFull = true;
2010 }
2011 else
2012 m_SprintFull = false;
2013 }
2014 else
2015 {
2016 m_SprintedTime = 0.0;
2017 m_SprintFull = false;
2018 }
2019
2020
2021
2023 {
2024 m_JumpClimb.CheckAndFinishJump();
2025 return;
2026 }
2027
2028
2029
2031 {
2033 return;
2034 }
2035
2036
2037
2039 return;
2040
2041
2042
2043
2045 {
2047 {
2050
2053
2054
2056 {
2059 npar = type.GetNoiseParamsLandLight();
2061 }
2063 {
2066 else
2068
2070 npar = type.GetNoiseParamsLandLight();
2072 }
2074 {
2077 npar = type.GetNoiseParamsLandHeavy();
2079 }
2080 else
2081 {
2084 npar = type.GetNoiseParamsLandHeavy();
2086 }
2087
2089 OnPlayerRecievedHit();
2090
2093 }
2094
2097 return;
2098 }
2100 {
2101
2104 return;
2105 }
2106
2107
2108
2109
2110#ifndef NO_GUI
2111#ifdef DEVELOPER
2113
2115 {
2117
2119 hcls.m_fFwMaxDistance = 3;
2120 else
2121 hcls.m_fFwMaxDistance = 1.2;
2122
2124
2127 }
2128
2129#endif
2130#endif
2131
2132
2133 if (
hic.IsJumpClimb())
2134 {
2135 m_JumpClimb.JumpOrClimb();
2136
2137 if (m_JumpClimb.WasSuccessful())
2138 return;
2139 }
2140
2142
2144#ifndef NO_GUI
2145#ifdef DEVELOPER
2148#endif
2149#endif
2151
2153 {
2155 ad.SetTalking(
true);
2156
2157
2159 {
2161 if (
now >= m_NextVoNNoiseTime)
2162 {
2163 m_NextVoNNoiseTime =
now + 1000;
2164
2167
2168
2171 {
2173 vonpar =
pt.GetNoiseParamsWhisper();
2174 break;
2177 break;
2180 break;
2181 }
2183 }
2184 }
2185 }
2186 else
2187 {
2189 ad.SetTalking(
false);
2190 }
2191
2192
2193
2194
2196
2198 {
2202
2204 if (m_MeleeFightLogic.CanFight())
2205 {
2207 {
2208 m_ProcessFirearmMeleeHit =
isWeapon && (
hic.IsMeleeWeaponAttack() || m_ProcessFirearmMeleeHit) || m_ContinueFirearmMelee;
2209 return;
2210 }
2211 }
2212 }
2213
2214
2217 return;
2218 }
2219
2221
2222
2226
2227 float m_TestDamageCounter = -1;
2228 float m_DebugDirectionVal = -180;
2229 bool m_DebugTypeVal = false;
2230
2231 int m_DebugWeaponChangeStage = 0;
2232 string m_DebugWeaponChangeItem;
2233 int m_DebugWeaponChangeShowSlot;
2234
2237 {
2239 {
2242 {
2244
2246 if (m_DebugWeaponChangeStage == 0)
2247 {
2248
2249
2251
2252 if (
playerDebug.IsWeaponChange(m_DebugWeaponChangeItem,
hideSlot, m_DebugWeaponChangeShowSlot))
2253 {
2254
2255
2258
2259 m_DebugWeaponChangeStage = 1;
2260 }
2261 }
2262 else if (m_DebugWeaponChangeStage == 1)
2263 {
2264
2267 {
2269 {
2271
2272
2278
2279 if (m_DebugWeaponChangeItem != "")
2280 {
2284 }
2285
2288
2289 m_DebugWeaponChangeStage = 2;
2290 }
2291 }
2292 }
2293 else if (m_DebugWeaponChangeStage == 2)
2294 {
2296 if (
w3 &&
w3.IsActionFinished())
2297 m_DebugWeaponChangeStage = 0;
2298 }
2299 }
2300 }
2301
2302
2304 if (m_TestDamageCounter >= 0)
2305 {
2306 if (m_TestDamageCounter > 3)
2307 {
2308 m_DebugDirectionVal = m_DebugDirectionVal + 90;
2309 m_TestDamageCounter = 0;
2310
2311 if (m_DebugDirectionVal > 90)
2312 {
2313 m_DebugDirectionVal = -180;
2314 m_DebugTypeVal = !m_DebugTypeVal;
2315 }
2316
2317 if (m_DebugTypeVal)
2318 {
2320 }
2321 else
2322 {
2324 }
2325
2326
2327
2328
2329 }
2330
2331 m_TestDamageCounter +=
pDt;
2332 }
2333
2334
2335#ifndef NO_GUI
2336#ifdef DEVELOPER
2337
2338
2339 {
2341
2345 ad.SetInjured(
v,
true);
2346
2350 ad.SetExhaustion(
v,
true);
2351 }
2352#endif
2353#endif
2354
2355 }
2356
2357
2358
2363 {
2365 if (!m_LiftWeapon_player)
2366 {
2374
2375 if (m_CameraOptics &&
optics)
2377 else if (m_CameraIronsight &&
weapon)
2379 }
2380
2381
2382
2383
2385 if (m_Camera3rdPerson && m_IsWeapon && m_IsRaised &&
hic &&
hic.WeaponADS())
2387
2388
2391
2393
2394 if (!m_Camera3rdPerson)
2395 {
2398
2400 }
2401 else
2402 {
2404 {
2407 return transport.Get3rdPersonCameraType();
2408 }
2409
2412
2416
2418
2420
2423
2424 if (m_JumpClimb.m_bIsJumpInProgress)
2426
2428
2433
2434
2435
2444
2446 {
2447 if (m_IsWeapon)
2449 else
2451 }
2454
2455
2457 }
2458
2460 }
2461
2463 void OnMovementChanged()
2464 {
2466 {
2468 {
2469
2470 break;
2471 }
2473 {
2474 OnSprintEnd();
2475 break;
2476 }
2478 {
2479
2480 break;
2481 }
2483 {
2484
2485 break;
2486 }
2488 {
2489
2490 break;
2491 }
2493 {
2494
2495 break;
2496 }
2497 }
2498
2500 {
2502 {
2503
2504 break;
2505 }
2507 {
2508 OnSprintStart();
2509 break;
2510 }
2512 {
2513
2514 break;
2515 }
2517 {
2518
2519 break;
2520 }
2522 {
2523
2524 break;
2525 }
2527 {
2528
2529 break;
2530 }
2531 }
2532 }
2533
2534 void OnSprintStart()
2535 {
2537 {
2540 }
2541 }
2542
2543 void OnSprintEnd()
2544 {
2546 {
2549 }
2550 }
2551
2555
2557 {
2560 {
2561 Error(
"DayZPlayerImplement: cannot read input type");
2562 return;
2563 }
2564
2566 }
2567
2569 {
2574
2576 {
2580
2584
2588
2592
2593 return true;
2594 }
2595
2596 return false;
2597 }
2598
2599
2604 {
2606 {
2608 if (m_DeathAnimType == -2)
2610 break;
2611
2615 m_SyncedHitDataArray.Insert(
data);
2616 break;
2617 }
2618 }
2619
2621 {
2624 {
2625 switch (
boots.GetAttachmentSoundType())
2626 {
2627 case "Sneakers":
2629 case "Boots":
2631 }
2632 }
2633
2635 }
2636
2637
2639 {
2642 {
2644 {
2645 case "NylonJacket":
2647 case "TShirt":
2649 case "WoolShirt":
2651 case "HeavyJacket":
2653 case "LeatherJacket":
2655 case "Coat":
2657 case "ChemlonDress":
2659 case "Ghillie":
2661 case "Chainmail":
2663 }
2664 }
2665
2667 }
2668
2670 {
2673 {
2674 switch (
back.GetAttachmentSoundType())
2675 {
2676 case "Small":
2678 case "Military":
2680 case "Outdoor":
2682 case "Ghillie":
2684 }
2685 }
2686
2688 }
2689
2690
2692 {
2695
2698
2700 {
2702 {
2703 case "Shotgun":
2704 {
2706 break;
2707 }
2708 case "Rifle":
2709 {
2711 break;
2712 }
2713 }
2714 }
2716 {
2718 {
2719 case "Shotgun":
2720 {
2722 break;
2723 }
2724 case "Rifle":
2725 {
2727 break;
2728 }
2729 }
2730 }
2731
2734
2737
2739 }
2740
2742 {
2745
2747
2749 }
2750
2751
2755
2757 {
2760
2764 }
2765
2767 {
2770 }
2771
2772
2776
2778 {
2782
2783#ifndef SERVER
2787 {
2788 string surface;
2790 {
2792 if (surface.
Length() == 0)
2794 }
2795 else
2796 {
2798 if (surface.
Length() == 0)
2800 }
2801
2802 if (surface.
Length() != 0)
2803 m_LastSurfaceUnderHash = surface.
Hash();
2804
2806 }
2807 else
2808 {
2809 string surface2 = GetSurfaceType();
2811 m_LastSurfaceUnderHash =
surface2.Hash();
2812
2814 }
2815
2817 {
2822
2824 {
2826 {
2828
2830 {
2831 for (
int j = 0;
j < type.GetVegetationSounds().
Count(); ++
j)
2832 {
2834
2836 {
2839
2841 {
2844 }
2845
2846 break;
2847 }
2848 }
2849
2850 break;
2851 }
2852 }
2853 }
2854
2857 {
2860 }
2861 }
2862#endif
2863
2865 {
2866 m_StepCounter++;
2867
2869
2877 else
2878 {
2879 Debug.
Log(
string.Format(
"Wrong stance, id: %1 using backup with stand stance (id: 0)",
state.m_iStanceIdx));
2881 }
2882
2884
2886
2889 }
2890 }
2891
2893 {
2901 {
2903 {
2906 {
2908 return;
2909 }
2910 }
2912 }
2913 else
2915 }
2916
2918 {
2919
2920 }
2921
2922
2924 {
2927
2929
2932 {
2935 if (
item.HasQuantity())
2939 }
2940
2942 {
2945 }
2946
2948 {
2949 if (!
GetGame().IsDedicatedServer())
2950 {
2953 {
2955 builder.AddVariable(
"interior", IsSoundInsideBuilding());
2956
2959 {
2962 }
2963 }
2964 else
2965 {
2966
2967 }
2968 }
2969
2972 }
2973 }
2974
2976 {
2979
2983 {
2991
2993
2995 {
2998 {
3001 }
3002 }
3003 }
3004 }
3005
3007 {
3008 if (m_ClimbingLadderType == "wood")
3010 else
3012
3014
3016 {
3020 }
3022 {
3026 }
3028 {
3032 }
3033 }
3034
3036 {
3042
3044 {
3045 if (!
GetGame().IsDedicatedServer())
3046 {
3051
3054 {
3057 }
3058 }
3059
3061 {
3064 }
3065 }
3066 }
3067
3068
3070 {
3071#ifdef SERVER
3073#endif
3081
3084 {
3087
3090
3092 {
3095 }
3097 {
3100 }
3101
3104 else
3106 }
3107
3110
3112
3114 {
3116
3121 else
3123
3126
3127
3130 {
3133 }
3134
3135 }
3136
3138 }
3139
3140 void ProcessFeetDamageServer(
int pUserInt);
3141
3142
3143
3147
3149 {
3152
3155 return true;
3156 return false;
3157 }
3158
3160 {
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170 return CheckForTakeItem(
item);
3171 }
3172
3173
3178 {
3181 return true;
3182
3183 if (!IsAlive() ||
player.IsUnconscious())
3184 return true;
3185 return false;
3186 }
3187
3188#ifdef DEVELOPER
3189
3190
3192 {
3194
3196 {
3197 Print(
"ERPCs.RPC_DAYZPLAYER_DEBUGSERVERWALK");
3198
3201
3204
3205 }
3206 }
3207
3208#endif
3209
3211 {
3213 {
3215
3217 return fall.PhysicsLanded();
3218 }
3219
3220 return false;
3221 }
3222
3224 {
3226 {
3228
3230 {
3232 return true;
3233 }
3234 }
3235
3236 return false;
3237 }
3238
3240 {
3242 }
3243
3245 void OverrideSlidePoseAngle(
float value)
3246 {
3247 if (!m_MoveSettings)
3249 if (m_MoveSettings.m_fSlidingPoseAngle !=
value)
3250 {
3251 m_MoveSettings.m_fSlidingPoseAngle =
value;
3253 }
3254 }
3255
3256 float GetSlidePoseAngle()
3257 {
3259 }
3260
3261 void CheckAnimationOverrides()
3262 {
3263 }
3264
3265 bool IsPlayerSelected()
3266 {
3267 return m_PlayerSelected;
3268 }
3269
3270 bool IsRestrained();
3271
3273 bool IsInFBEmoteState();
3274
3275 void SetSuicide(
bool state)
3276 {
3278 }
3279
3280 bool CommitedSuicide()
3281 {
3282 return m_Suicide;
3283 }
3284
3287
3288
3292
3294 {
3295 if (!IsAlive())
3296 return;
3297
3299 return;
3300
3303 {
3306 }
3307 }
3308
3310 {
3313 else
3315 }
3316
3317 void CheckLiftWeapon();
3318 void ProcessLiftWeapon();
3319
3320 void SetHandheldOpticsInUse(
bool state)
3321 {
3322 m_HandheldOpticsInUse =
state;
3323 }
3324
3325 bool IsHandheldOpticsInUse()
3326 {
3327 return m_HandheldOpticsInUse;
3328 }
3329
3330 bool IsLiftWeapon();
3332 {
3333 return m_IsRaised;
3334 }
3335
3336 bool IsFighting();
3337
3339
3341 {
3343 }
3344
3346 {
3347 return CanPickupHeavyItem(
item1) && CanPickupHeavyItem(
item2);
3348 }
3349
3350#ifdef DIAG_DEVELOPER
3352 {
3353 return Weapon_Base.Cast(GetHumanInventory().CreateInHands(type));
3354 }
3355#endif
3356
3358
3360
3361 protected bool m_CameraEyeZoom;
3363 protected bool m_ADSTimerLaunched;
3364 protected bool m_ProcessWeaponRaiseCompleted;
3365 protected bool m_IsFireWeaponRaised;
3366 void SetReturnToOptics(
bool state);
3367 void RunADSTimer();
3368 void StopADSTimer();
3369}
override void OnVariablesSynchronized()
proto native void SpawnEntity(string sClassName, vector vPos, float fRange, int iCount)
Spawn an entity through CE.
const int ECE_IN_INVENTORY
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
DamageType
exposed from C++ (do not change)
bool ModCommandHandlerInside(float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
proto native void ResetDeathCooldown()
bool ModCommandHandlerBefore(float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
bool ModCommandHandlerAfter(float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
ref HumanMovementState m_MovementState
movement state
void DayZPlayerImplementFallDamage(DayZPlayer pPlayer)
void DayZPlayerImplementMeleeCombat(DayZPlayerImplement player)
ref DayZPlayerImplementMeleeCombat m_MeleeCombat
void DayZPlayerMeleeFightLogic_LightHeavy(DayZPlayerImplement player)
void DayZPlayerUtils()
cannot be instantiated
void OnRPC(ParamsReadContext ctx)
bool OnInputUserDataProcess(int userDataType, ParamsReadContext ctx)
void OnSyncJuncture(int pJunctureID, ParamsReadContext pCtx)
override void EEKilled(Object killer)
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
override void EOnContact(IEntity other, Contact extra)
override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
proto void AddNoise(EntityAI source_entity, NoiseParams noise_params, float external_strenght_multiplier=1.0)
class NoiseSystem NoiseParams()
void PluginDayzPlayerDebug()
PluginManager GetPluginManager()
Returns registred plugin by class type, better is to use global funtion GetPlugin(typename plugin_typ...
class SoundObjectBuilder SoundObject(SoundParams soundParams)
void SoundObjectBuilder(SoundParams soundParams)
class JsonUndergroundAreaTriggerData GetPosition
Super root of all classes in Enforce script.
static const int DAYZCAMERA_OPTICS
optics
static const int DAYZCAMERA_1ST
1st person camera
static const int DAYZCAMERA_3RD_PRO_RAISED
3rd - laying raised
static const int DAYZCAMERA_3RD_CLIMB
climb / vault
static const int DAYZCAMERA_3RD_CRO_RAISED
3rd - crouch
static const int DAYZCAMERA_3RD_ERC_SPR
3rd - standing sprint
static const int DAYZCAMERA_3RD_PRO
3rd - laying
static const int DAYZCAMERA_3RD_ERC
3rd - standing
static const int DAYZCAMERA_IRONSIGHTS
ironsights camera
static const int DAYZCAMERA_3RD_CRO
3rd - crouch
static const int DAYZCAMERA_3RD_ERC_RAISED
3rd - standing raised
static const int DAYZCAMERA_1ST_UNCONSCIOUS
unconscious
static const int DAYZCAMERA_3RD_ERC_RAISED_MELEE
3rd - laying raised
static const int DAYZCAMERA_1ST_VEHICLE
vehicle 1st person
static const int DAYZCAMERA_3RD_JUMP
jump
static bool NoHeading(float pDt, SDayZPlayerHeadingModel pModel, out float pLastHeadingDiff)
static bool RotateOrient(float pDt, SDayZPlayerHeadingModel pModel, out float pLastHeadingDiff)
static bool ClampHeading(float pDt, SDayZPlayerHeadingModel pModel, out float pLastHeadingDiff)
static void SendDamageHitEx(DayZPlayer pPlayer, int pType, float pHitDir, bool pFullbody, TotalDamageResult pDamageResult, int pDamageType, EntityAI pSource, string pComponent, string pAmmoType, vector pModelPos)
static const int SJ_DEATH
static bool ReadDamageHitParamsEx(ParamsReadContext pCtx, out SyncHitInfo pData)
static void SendDeath(DayZPlayer pPlayer, int pType, float pHitDir)
static const int SJ_DAMAGE_HIT
static bool ReadDeathParams(ParamsReadContext pCtx, out int pType, out float pHitDir)
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
proto static native bool DoClimbTest(Human pHuman, SHumanCommandClimbResult pResult, int pDebugDrawLevel)
provides access to slot configuration
static float GetNoiseMultiplier(DayZPlayerImplement playerImplement)
static void SetMultiplayState(bool state)
static const float WEAPON_RAISE_BLEND_DELAY
static const float FULL_SPRINT_DELAY_DEFAULT
static const float HEAVY_HIT_THRESHOLD
static const int CHECK_EVERY_N_STEP
The class that will be instanced (moddable)
Serialization general interface. Serializer API works with:
Base native class for all motorized wheeled vehicles.
script counterpart to engine's class Weapon
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
int CameraHandler(int pCameraMode)
-------------— camera handling ----------------------—
bool IsInThirdPerson()
return true if player is currently in 3pp, otherwise false
void SDayZPlayerHeadingModel()
cannot be created from script
void ForceStandUpForHeavyItems(notnull EntityAI item)
-------------— Forces player to stand up when swapping to heavy item ----------------------—
DayZPlayerInstanceType
defined in C++
proto native DayZPlayerType GetDayZPlayerType()
returns appropriate DayZPlayerType
proto native DayZPlayerInstanceType GetInstanceType()
proto native float IsPlayerSpeaking()
-------------— speaking anim ----------------------—
DayZPlayerConstants
defined in C++
void OnInputForRemote(ParamsReadContext ctx)
void OnInputFromServer(ParamsReadContext ctx)
float GetCurrentWaterLevel()
void SetCurrentWaterLevel(float pWaterLevel)
bool AimingModel(float pDt, SDayZPlayerAimingModel pModel)
-------------— aiming model ----------------------—
int GetEyeZoomLevel()
returns eye zoom level, uses ECameraZoomType values
bool IsShootingFromCamera()
return true if shots are fired from camere, otherwise false
bool IsPlayerInStance(int pStanceMask)
-------------— camera additiona functions ----------------------—
bool IsEyeZoom()
DEPRICATED(use GetEyeZoomLevel()) returns true if player is using EyeZoom, otherwise false.
bool HeadingModel(float pDt, SDayZPlayerHeadingModel pModel)
proto native CGame GetGame()
void Error(string err)
Messagebox with error message.
proto void Print(void var)
Prints content of variable to console/log.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
array< string > TStringArray
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Acos(float c)
Returns angle in radians from cosinus.
static proto int AbsInt(int i)
Returns absolute value.
static const float RAD2DEG
static proto float AbsFloat(float f)
Returns absolute value.
proto native int Length()
Returns length of string.
proto native int Hash()
Returns hash of string.
proto native void GetMovementState(HumanMovementState pState)
returns movement state (current command id, )
proto native int GetCurrentCommandID()
returns current command ID (see DayZPlayerConstants.COMMANDID_...)
proto native HumanCommandDamage AddCommandModifier_Damage(int pType, float pDirection)
— modifier for light Damages
proto native HumanCommandMelee2 GetCommand_Melee2()
proto native HumanCommandVehicle StartCommand_Vehicle(Transport pTransport, int pTransportPositionIndex, int pVehicleSeat, bool fromUnconscious=false)
--— VEHICLE --—
proto native HumanCommandMove GetCommand_Move()
proto native HumanCommandFall StartCommand_Fall(float pYVelocity)
--— FALL --—
proto native HumanCommandMove StartCommand_Move()
--— MOVE --—
proto native void PhysicsSetSolid(bool pSolid)
proto native bool PhysicsIsFalling(bool pValidate)
returns true if physics controller is falling
proto native HumanCommandFullBodyDamage StartCommand_Damage(int pType, float pDirection)
--— FullBody Damages --—
proto native HumanCommandWeapons GetCommandModifier_Weapons()
returns interface for handling weapons
proto native HumanCommandVehicle GetCommand_Vehicle()
proto native HumanCommandFall GetCommand_Fall()
proto native HumanCommandActionCallback AddCommandModifier_Action(int pActionID, typename pCallbackClass)
adds action command modifier, creates callback instance for you
proto native HumanCommandUnconscious GetCommand_Unconscious()
proto native HumanCommandDeathCallback StartCommand_Death(int pType, float pDirection, typename pCallbackClass, bool pKeepInLocalSpaceAfterLeave=false)
--— Death --—
proto native HumanCommandLadder GetCommand_Ladder()
proto native HumanCommandFullBodyDamage GetCommand_Damage()
proto native void PhysicsSetRagdoll(bool pEnable)
Sets and synchronize interaction layers 'RAGDOLL' and 'RAGDOLL_NO_CHARACTER' to prevent body stacking...
class HumanCommandMelee2 HumanCommandFall()
proto native HumanInputController GetInputController()
returns human input controller
proto native HumanCommandSwim StartCommand_Swim()
--— LADDER --—
proto native HumanItemAccessor GetItemAccessor()
proto native HumanCommandAdditives GetCommandModifier_Additives()
default (always-on modifiers)
proto native bool IsLeavingUncon()
return true if character transitions out of uncon
class HumanCommandWeapons HumanCommandAdditives()
class HumanItemBehaviorCfg OnItemInHandsChanged(bool pInstant=false)
signalization from script to engine that item in hands changed
class SHumanCommandSwimSettings SHumanCommandClimbSettings()