Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
enginesmoke.c
Go to the documentation of this file.
2{
3 private float m_Time;
4 static private float m_UpdateInterval = 2;
5
6 void EffEngineSmoke()
7 {
9 }
10
11 override void SetParticleStateLight()
12 {
13 SetParticleState( ParticleList.HATCHBACK_ENGINE_OVERHEATING );
14 }
15
16 override void SetParticleStateHeavy()
17 {
18 SetParticleState( ParticleList.HATCHBACK_ENGINE_OVERHEATED );
19 }
20
21 override void Event_OnFrameUpdate(float time_delta)
22 {
23 m_Time += time_delta;
24
25 if (m_Time >= m_UpdateInterval)
26 {
27 m_Time = 0;
28
29 Car parent = Car.Cast( GetAttachmentParent() );
30
31 if (parent)
32 {
34 if (p)
35 {
36 SetParticleState( p.GetParticleID() );
37
38 float speed = parent.GetSpeedometerAbsolute();
39 float lifetime_scale;
40
41 if (speed < 100)
42 lifetime_scale = (100 - speed) / 100;
43 else
44 lifetime_scale = 0.1;
45
46 float birthrate_scale = 1 + (speed * 0.02 );
47
48 p.ScaleParticleParamFromOriginal( EmitorParam.LIFETIME, lifetime_scale );
49 p.ScaleParticleParamFromOriginal( EmitorParam.LIFETIME_RND, lifetime_scale );
50 p.ScaleParticleParamFromOriginal( EmitorParam.BIRTH_RATE, birthrate_scale );
51 p.ScaleParticleParamFromOriginal( EmitorParam.BIRTH_RATE_RND, birthrate_scale );
52 }
53 }
54 }
55 }
56}
Particle GetParticle()
Gets the main particle which this Effect is managing.
Legacy way of using particles in the game.
Definition particle.c:7
int GetParticleID()
Gets particle id.
Definition particle.c:297
Object GetAttachmentParent()
Get the parent set by SetAttachmentParent.
Definition effect.c:599
float m_Time
Definition environment.c:59
void SetEnableEventFrame(bool enable)
Enable Event_OnFrameUpdate for the effect.
Definition effect.c:282
EmitorParam
Definition envisual.c:114