DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Flies.c
См. документацию.
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};
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Определения Effect.c:49
bool m_TrackActivatedTime
overall time this modifier was active
Определения ModifierBase.c:14
void DisableDeactivateCheck()
Определения ModifierBase.c:86
void DisableActivateCheck()
Определения ModifierBase.c:81
float m_TickIntervalActive
Определения ModifierBase.c:18
float m_TickIntervalInactive
Определения ModifierBase.c:17
const int DEFAULT_TICK_TIME_INACTIVE
Определения ModifiersManager.c:29
void OnActivate()
Определения Trap_LandMine.c:67
override void OnActivate(PlayerBase player)
Определения Flies.c:63
override void OnReconnect(PlayerBase player)
Определения Flies.c:58
const int IDLE_COUNT_THRESHOLD
Определения Flies.c:5
override bool DeactivateCondition(PlayerBase player)
Определения Flies.c:25
const float DISTANCE_SENSITIVITY_SQR
Определения Flies.c:3
const int TICK_FREQUENCY
Определения Flies.c:4
vector m_PrevPosition
Определения Flies.c:6
int m_IdleCount
Определения Flies.c:7
override bool ActivateCondition(PlayerBase player)
Определения Flies.c:20
override void OnDeactivate(PlayerBase player)
Определения Flies.c:70
override void Init()
Определения Flies.c:10
override void OnTick(PlayerBase player, float deltaT)
Определения Flies.c:30
Определения Flies.c:2
Определения EnMath.c:7
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
static const int CORPSE_STATE_DECAYED
Определения PlayerConstants.c:215
Определения PlayerConstants.c:2
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
Определения EnConvert.c:106
eModifiers
Определения eModifiers.c:2
static proto float SqrFloat(float f)
Returns squared value.