Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
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 = 40;
8
9
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};
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.
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it).
Definition effect.c:51
eModifiers
Definition emodifiers.c:2
static proto float SqrFloat(float f)
Returns squared value.
bool m_TrackActivatedTime
overall time this modifier was active
void DisableDeactivateCheck()
void DisableActivateCheck()
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
void OnActivate()