DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Defibrillator.c
См. документацию.
1class Defibrillator extends ItemBase
2{
3 static const string CHARGING_SOUND = "defibrillator_charge_SoundSet";
4 static const string CHARGED_AND_READY_SOUND = "defibrillator_ready_SoundSet";
5 static const string SHOCK_SOUND = "defibrillator_shock_SoundSet";
6
7 bool m_IsCharged = false;
8
9 static float m_ChargeTime = 5;
10 static float m_EnergyNeededToCharge = 20;
11
15
17 {
18 // Read all config parameters
19 //m_ChargeTime = GetTimeNeededToCharge();
21 }
22
28
30 {
31 string cfg_path = "CfgVehicles " + GetType() + " ";
32 return GetGame().ConfigGetFloat (cfg_path + "defibChargeTime");
33 }
34
36 {
37 string cfg_path = "CfgVehicles " + GetType() + " ";
38 return GetGame().ConfigGetFloat (cfg_path + "defibEnergyNeededPerCharge");
39 }
40
41 override void OnWorkStart()
42 {
43 if ( !GetGame().IsDedicatedServer() )
45
46 float energy_needed = m_EnergyNeededToCharge / m_ChargeTime;
47 GetCompEM().SetEnergyUsage(energy_needed);
48
49 if (!m_ChargingTimer)
51
52 if ( !m_ChargingTimer.IsRunning() )
53 {
54 m_ChargingTimer.Run(m_ChargeTime, this, "OnIsCharged", NULL, false);
55 }
56 }
57
58 override void OnWorkStop()
59 {
60 GetCompEM().SwitchOff();
61 GetCompEM().ResetEnergyUsage();
65
66 m_IsCharged = false;
67 }
68
70 {
71 if ( GetCompEM().IsWorking() )
72 {
73 if (!GetGame().IsMultiplayer() || GetGame().IsClient())
74 {
75 //m_ChargedAlarm = PlaySoundLoop(CHARGED_AND_READY_SOUND, 40);
77 m_ChargingSound.SoundStop();
78 }
79 GetCompEM().ResetEnergyUsage();
80 m_IsCharged = true;
81 }
82 }
83
85 {
87 {
88 //GetGame().ObjectDelete(m_ChargedAlarm);
89 m_ChargedAlarm.SoundStop();
90 m_ChargedAlarm = NULL;
91 }
92 }
93
95 {
97 {
98 m_ChargingSound.SoundStop();
99 }
100 }
101
103 {
104 if (m_ChargingTimer)
105 {
106 m_ChargingTimer.Stop();
107 m_ChargingTimer = NULL;
108 }
109 }
110
112 {
113 return m_IsCharged;
114 }
115
117 {
118 /*
119 bool has_heart_attack = victim.m_ModifiersManager.IsModifierActive(eModifiers.MDF_HEART_ATTACK);
120
121 if ( has_heart_attack )
122 {
123 victim.m_ModifiersManager.DeactivateModifier ( eModifiers.MDF_HEART_ATTACK );
124 }
125 else
126 {
127 victim.m_ModifiersManager.ActivateModifier ( eModifiers.MDF_HEART_ATTACK );
128 }
129 */
130 /*
131 if (!GetGame().IsMultiplayer() || GetGame().IsClient())
132 {
133 SEffectManager.PlaySoundOnObject(SHOCK_SOUND, this);
134 }*/
135
136 victim.SetPulseType(!victim.GetPulseType());
137 victim.SetHealth("","Shock",0);
138
139 GetCompEM().SwitchOff();
140 }
141
146
156}
eBleedingSourceType GetType()
Определения BleedingSource.c:63
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
proto native float ConfigGetFloat(string path)
Get float value from config on path.
Wrapper class for managing sound through SEffectManager.
Определения EffectSound.c:5
float GetEnergyNeededToCharge()
Определения Defibrillator.c:35
void ~Defibrillator()
Определения Defibrillator.c:23
override void OnWorkStart()
Определения Defibrillator.c:41
void DischargeClient(PlayerBase victim)
Определения Defibrillator.c:142
static const string CHARGING_SOUND
Определения Defibrillator.c:3
void StopChargedAlarm()
Определения Defibrillator.c:84
override void SetActions()
Определения Defibrillator.c:147
void DischargeServer(PlayerBase victim)
Определения Defibrillator.c:116
bool IsCharged()
Определения Defibrillator.c:111
void OnIsCharged()
Определения Defibrillator.c:69
EffectSound m_ChargingSound
Определения Defibrillator.c:14
EffectSound m_ChargedAlarm
Определения Defibrillator.c:13
ref Timer m_ChargingTimer
Определения Defibrillator.c:12
override void OnWorkStop()
Определения Defibrillator.c:58
static const string CHARGED_AND_READY_SOUND
Определения Defibrillator.c:4
float GetTimeNeededToCharge()
Определения Defibrillator.c:29
void StopChargingSound()
Определения Defibrillator.c:94
void Defibrillator()
Определения Defibrillator.c:16
void StopChargingTimer()
Определения Defibrillator.c:102
static const string SHOCK_SOUND
Определения Defibrillator.c:5
static float m_ChargeTime
Определения Defibrillator.c:9
bool m_IsCharged
Определения Defibrillator.c:7
static float m_EnergyNeededToCharge
Определения Defibrillator.c:10
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
static EffectSound PlaySoundOnObject(string sound_set, Object parent_object, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound.
Определения EffectManager.c:247
static void DestroyEffect(Effect effect)
Unregisters, stops and frees the Effect.
Определения EffectManager.c:271
Manager class for managing Effect (EffectParticle, EffectSound)
Определения EffectManager.c:6
Определения DayZPlayerImplement.c:63
proto native CGame GetGame()
const int CALL_CATEGORY_GAMEPLAY
Определения tools.c:10