DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
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
7 {
9 }
10
11 override void SetParticleStateLight()
12 {
14 }
15
16 override void SetParticleStateHeavy()
17 {
19 }
20
21 override void Event_OnFrameUpdate(float time_delta)
22 {
23 m_Time += time_delta;
24
26 {
27 m_Time = 0;
28
29 Car parent = Car.Cast( GetAttachmentParent() );
30
31 if (parent)
32 {
34 if (p)
35 {
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}
Object GetAttachmentParent()
Get the parent set by SetAttachmentParent.
Definition Effect.c:563
override void SetParticleStateHeavy()
Definition EngineSmoke.c:16
override void SetParticleStateLight()
Definition EngineSmoke.c:11
private float m_Time
Definition EngineSmoke.c:3
void EffEngineSmoke()
Definition EngineSmoke.c:6
override void Event_OnFrameUpdate(float time_delta)
Definition EngineSmoke.c:21
static private float m_UpdateInterval
Definition EngineSmoke.c:4
void SetParticleState(int state)
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
void ScaleParticleParamFromOriginal(int parameter_id, float coef)
Scales the given parameter on all emitors relatively to their ORIGINAL value.
Definition Particle.c:668
static const int HATCHBACK_ENGINE_OVERHEATING
static const int HATCHBACK_ENGINE_OVERHEATED
void SetEnableEventFrame(bool enable)
Enable Event_OnFrameUpdate for the effect.
Definition Effect.c:269
EmitorParam
Definition EnVisual.c:114