DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
SmokeGrenadeBase.c
См. документацию.
2{
4 START = 1,
5 LOOP = 2,
6 END = 3,
8 COUNT = 4
9}
10
12{
13 protected ref Timer m_TimerSmokeStart;
14 protected ref Timer m_TimerSmokeLoop;
15 protected ref Timer m_TimerSmokeEnd;
16
17 protected ref Timer m_TimerDefer;
18
21
26 protected int m_ParticleSmokeLoopId;
27 protected int m_ParticleSmokeEndId;
29
32 protected string m_SoundSmokeStartId;
33 protected string m_SoundSmokeLoopId;
34 protected string m_SoundSmokeEndId;
35
38
39 void SetParticleSmokeCurrent(int particle)
40 {
41 m_ParticleSmokeCurrentId = particle;
42 }
43
44 void SetParticleSmokeStart(int particle)
45 {
46 m_ParticleSmokeStartId = particle;
47 }
48
49 void SetParticleSmokeLoop(int particle)
50 {
51 m_ParticleSmokeLoopId = particle;
52 }
53
54 void SetParticleSmokeEnd(int particle)
55 {
56 m_ParticleSmokeEndId = particle;
57 }
58
59 void SetSoundSmokeStart(string sound)
60 {
61 m_SoundSmokeStartId = sound;
62 }
63
64 void SetSoundSmokeLoop(string sound)
65 {
66 m_SoundSmokeLoopId = sound;
67 }
68
69 void SetSoundSmokeEnd(string sound)
70 {
71 m_SoundSmokeEndId = sound;
72 }
73
74 protected void PlaySmokeParticle()
75 {
77 }
78
79 protected void SoundSmokeStart()
80 {
81 PlaySoundSetLoop(m_SoundSmoke, m_SoundSmokeStartId, 0.3, 1.0);
82 }
83
84 protected void SoundSmokeLoop()
85 {
86 PlaySoundSetLoop(m_SoundSmoke, m_SoundSmokeLoopId, 0.3, 1.0);
87 }
88
89 protected void SoundSmokeEnd()
90 {
91 PlaySoundSetLoop(m_SoundSmoke, m_SoundSmokeEndId, 1.0, 1.0);
92 }
93
94 //Stop
95 protected void SoundSmokeStop()
96 {
97 StopSoundSet(m_SoundSmoke);
98 }
99
100 protected void DestroySmokeGrenade()
101 {
103
104 if ( GetGame().IsServer() )
105 {
106 SetHealth("", "", 0);
107 }
108 }
109
111 {
113
114 if ( m_LastSmokeGrenadeState != state )
115 {
116 if ( state == ESmokeGrenadeState.START )
117 {
118 //Print("RefreshAudioVisual:: START");
121
125 }
126 else if ( state == ESmokeGrenadeState.LOOP )
127 {
128 //Print("RefreshAudioVisual:: LOOP");
131
135 }
136 else if ( state == ESmokeGrenadeState.END )
137 {
138 //Print("RefreshAudioVisual:: END");
141
145 }
146 else if ( state == ESmokeGrenadeState.NO_SMOKE )
147 {
148 //Print("RefreshAudioVisual:: NO_SMOKE");
150
152 }
153
155 }
156 }
157
158 override void Unpin()
159 {
160 super.Unpin();
161
162 Activate();
163
164 }
165
166 override void OnActivateFinished()
167 {
168 if ( GetCompEM() && GetCompEM().CanWork() )
169 {
170 GetCompEM().SwitchOn();
171 }
172 }
173
174 // When smoke starts
175 override void OnWorkStart()
176 {
178
179 if ( GetGame().IsServer() )
180 {
181 m_NoisePar = new NoiseParams();
182 m_NoisePar.LoadFromPath("cfgVehicles " + GetType() + " NoiseSmokeGrenade");
184 if ( noise )
185 {
187 }
188 }
189
190 Param1<ESmokeGrenadeState> par = new Param1<ESmokeGrenadeState>(ESmokeGrenadeState.LOOP);
191 m_TimerSmokeLoop.Run(5.0, this, "SetSmokeGrenadeState", par);
192 }
193
194 //When grenade makes smoke
195 override void OnWork(float consumed_energy)
196 {
197 if ( GetGame().IsServer() )
198 {
200 if ( noise )
201 {
203 }
204 }
205 }
206
207 // When the smoke stops
208 override void OnWorkStop()
209 {
211
213 m_TimerDefer.Run(5.0, this, "DestroySmokeGrenade");
214 }
215
216 override bool CanPutInCargo( EntityAI parent )
217 {
218 return !GetCompEM().IsWorking();
219 }
220
221 override void OnActivatedByItem(notnull ItemBase item)
222 {
223 GetCompEM().SwitchOn();
224 }
225
226 override void SetActions()
227 {
228 super.SetActions();
229
230 RemoveAction(ActionPin);
231 }
232
234 {
235 super.OnVariablesSynchronized();
236
238 }
239
240 override void OnExplosionEffects(Object source, Object directHit, int componentIndex, string surface, vector pos, vector surfNormal, float energyFactor, float explosionFactor, bool isWater, string ammoType) {}
241
246
247 override void EEDelete(EntityAI parent)
248 {
249 super.EEDelete(parent);
250
253 }
254
256 {
257 //Print("Setting SGS to: " + typename.EnumToString(ESmokeGrenadeState, state));
258
259 if ( GetGame().IsServer() )
260 {
261 if ( m_SmokeGrenadeState != state )
262 {
263 m_SmokeGrenadeState = state;
264
265 //synchronize
266 SetSynchDirty();
267 }
268 }
269 }
270
272 {
274
276 m_TimerDefer = new Timer;
277
278 SetAmmoType("");
279 SetPinnable(false);
280 SetGrenadeType(EGrenadeType.CHEMICAL);
284
285 RegisterNetSyncVariableInt("m_SmokeGrenadeState", ESmokeGrenadeState.NO_SMOKE, ESmokeGrenadeState.COUNT);
286 }
287
289}
eBleedingSourceType GetType()
Определения BleedingSource.c:63
ref NoiseParams m_NoisePar
Определения ActionOpenDoors.c:94
void RemoveAction(typename actionName)
Определения AdvancedCommunication.c:252
void SetActions()
Определения AdvancedCommunication.c:213
override void OnVariablesSynchronized()
Определения AnniversaryMusicSource.c:42
override void EEDelete(EntityAI parent)
Определения ContaminatedArea.c:57
override void OnExplosionEffects(Object source, Object directHit, int componentIndex, string surface, vector pos, vector surfNormal, float energyFactor, float explosionFactor, bool isWater, string ammoType)
Определения DestructionEffects.c:208
@ COUNT
Определения EGameStateIcons.c:7
class SEffectManager START
void DestroyParticle(Particle p)
Определения ExplosivesBase.c:180
override bool CanPutInCargo(EntityAI parent)
Определения ExplosivesBase.c:277
void SetAmmoType(string pAmmoType)
Определения ExplosivesBase.c:313
vector m_ParticlePosition
Определения ExplosivesBase.c:37
EGrenadeType
Определения Grenade_Base.c:2
override void OnWorkStop()
Определения M18SmokeGrenade_ColorBase.c:44
void Activate()
Определения ModifierBase.c:193
class NoiseSystem NoiseParams()
Определения Noise.c:15
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
Определения ParticleManager.c:88
override void OnActivatedByItem(notnull ItemBase item)
Called when this item is activated by other.
Определения RemoteDetonator.c:305
void SoundSmokeLoop()
Определения SmokeGrenadeBase.c:84
vector m_ParticleSmokePosition
Определения SmokeGrenadeBase.c:28
void RefreshParticlesAndSounds()
Определения SmokeGrenadeBase.c:110
void SoundSmokeStop()
Определения SmokeGrenadeBase.c:95
ESmokeGrenadeState m_SmokeGrenadeState
Определения SmokeGrenadeBase.c:19
int m_ParticleSmokeStartId
Определения SmokeGrenadeBase.c:25
void SetSmokeGrenadeState(ESmokeGrenadeState state)
Определения SmokeGrenadeBase.c:255
string m_SoundSmokeStartId
Определения SmokeGrenadeBase.c:32
ESmokeGrenadeState
Определения SmokeGrenadeBase.c:2
@ NO_SMOKE
Определения SmokeGrenadeBase.c:3
@ LOOP
Определения SmokeGrenadeBase.c:5
@ END
Определения SmokeGrenadeBase.c:6
override void OnActivateFinished()
Определения SmokeGrenadeBase.c:166
ESmokeGrenadeState m_LastSmokeGrenadeState
Определения SmokeGrenadeBase.c:20
ref Timer m_TimerSmokeEnd
Определения SmokeGrenadeBase.c:15
string m_SoundSmokeLoopId
Определения SmokeGrenadeBase.c:33
string m_SoundSmokeEndId
Определения SmokeGrenadeBase.c:34
void SetSoundSmokeEnd(string sound)
Определения SmokeGrenadeBase.c:69
int m_ParticleSmokeEndId
Определения SmokeGrenadeBase.c:27
void SoundSmokeStart()
Определения SmokeGrenadeBase.c:79
EffectSound m_SoundSmoke
sounds
Определения SmokeGrenadeBase.c:31
void SetParticleSmokeLoop(int particle)
Определения SmokeGrenadeBase.c:49
void PlaySmokeParticle()
Определения SmokeGrenadeBase.c:74
void SetSoundSmokeStart(string sound)
Определения SmokeGrenadeBase.c:59
ESmokeGrenadeState GetSmokeGrenadeState()
Определения SmokeGrenadeBase.c:242
ref Timer m_TimerSmokeLoop
Определения SmokeGrenadeBase.c:14
ref Timer m_TimerDefer
Определения SmokeGrenadeBase.c:17
enum ESmokeGrenadeState m_TimerSmokeStart
override void OnWork(float consumed_energy)
Определения SmokeGrenadeBase.c:195
void DestroySmokeGrenade()
Определения SmokeGrenadeBase.c:100
override void OnWorkStart()
Определения SmokeGrenadeBase.c:175
Particle m_ParticleSmoke
particle
Определения SmokeGrenadeBase.c:23
void SetParticleSmokeEnd(int particle)
Определения SmokeGrenadeBase.c:54
void SetSoundSmokeLoop(string sound)
Определения SmokeGrenadeBase.c:64
int m_ParticleSmokeLoopId
Определения SmokeGrenadeBase.c:26
int m_ParticleSmokeCurrentId
Определения SmokeGrenadeBase.c:24
void SoundSmokeEnd()
Определения SmokeGrenadeBase.c:89
void SetParticleSmokeStart(int particle)
Определения SmokeGrenadeBase.c:44
override void Unpin()
Определения SmokeGrenadeBase.c:158
void SmokeGrenadeBase()
Определения SmokeGrenadeBase.c:271
void SetParticleSmokeCurrent(int particle)
Определения SmokeGrenadeBase.c:39
void ~SmokeGrenadeBase()
proto native NoiseSystem GetNoiseSystem()
Wrapper class for managing sound through SEffectManager.
Определения EffectSound.c:5
Определения Building.c:6
Определения FlashGrenade.c:2
Определения InventoryItem.c:731
static float GetNoiseReduction(Weather weather)
Определения SensesAIEvaluate.c:18
proto void AddNoisePos(EntityAI source_entity, vector pos, NoiseParams noise_params, float external_strenght_multiplier=1.0)
Определения Noise.c:2
Определения ObjectTyped.c:2
Legacy way of using particles in the game.
Определения Particle.c:7
static const int INVALID
Определения ParticleList.c:20
Определения ParticleList.c:12
Определения DayZPlayerImplement.c:63
static const vector Zero
Определения EnConvert.c:110
Определения EnConvert.c:106
proto native CGame GetGame()
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9