DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
Flies.c
Go to the documentation of this file.
2{
3 const float DISTANCE_SENSITIVITY_SQR = Math.SqrFloat(0.05/*actual distance in meters*/);
4 const int TICK_FREQUENCY = 15;
5 const int IDLE_COUNT_THRESHOLD = 60;
8
9
10 override void Init()
11 {
13 m_ID = eModifiers.MDF_FLIES;
18 }
19
20 override bool ActivateCondition(PlayerBase player)
21 {
22 return false;
23 }
24
25 override bool DeactivateCondition(PlayerBase player)
26 {
27 return false;
28 }
29
30 override void OnTick(PlayerBase player, float deltaT)
31 {
32 float dist_sqr = vector.DistanceSq(player.GetPosition(), m_PrevPosition);
33 if( dist_sqr < DISTANCE_SENSITIVITY_SQR)//has the player stayed still since last check
34 {
36 }
37 else
38 {
39 if(m_IdleCount >= IDLE_COUNT_THRESHOLD)//disable the effect
40 {
41 player.m_CorpseState = -PlayerConstants.CORPSE_STATE_DECAYED;
42 player.SetSynchDirty();
43 }
44
45 m_IdleCount = 0;//player moved, reset the count
46 }
47 m_PrevPosition = player.GetPosition();
48
49 if( m_IdleCount == IDLE_COUNT_THRESHOLD)//should we play the effect ?
50 {
51 player.m_CorpseState = PlayerConstants.CORPSE_STATE_DECAYED;
52 player.SetSynchDirty();
53 }
54
55
56 }
57
58 override void OnReconnect(PlayerBase player)
59 {
60 OnActivate(player);
61 }
62
63 override void OnActivate(PlayerBase player)
64 {
65 m_IdleCount = 0;
66 player.m_CorpseState = -PlayerConstants.CORPSE_STATE_DECAYED;
67 player.SetSynchDirty();
68 }
69
70 override void OnDeactivate(PlayerBase player)
71 {
72
73 }
74
75
76
77};
protected int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Definition Effect.c:49
bool m_TrackActivatedTime
void DisableDeactivateCheck()
void DisableActivateCheck()
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
override bool DeactivateCondition(PlayerBase player)
Definition Flies.c:25
override void OnReconnect(PlayerBase player)
Definition Flies.c:58
vector m_PrevPosition
Definition Flies.c:6
override void OnActivate(PlayerBase player)
Definition Flies.c:63
int m_IdleCount
Definition Flies.c:7
const int IDLE_COUNT_THRESHOLD
Definition Flies.c:5
override void OnTick(PlayerBase player, float deltaT)
Definition Flies.c:30
override void Init()
Definition Flies.c:10
override bool ActivateCondition(PlayerBase player)
Definition Flies.c:20
override void OnDeactivate(PlayerBase player)
Definition Flies.c:70
const int TICK_FREQUENCY
Definition Flies.c:4
const float DISTANCE_SENSITIVITY_SQR
Definition Flies.c:3
Definition EnMath.c:7
static const int CORPSE_STATE_DECAYED
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
eModifiers
Definition eModifiers.c:2
static proto float SqrFloat(float f)
Returns squared value.
class HumanMovementState OnActivate()
HumanCommandScript fully scriptable command.
Definition human.c:1169