DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Van_01.c
См. документацию.
1class Van_01 extends CarScript
2{
3 protected ref UniversalTemperatureSource m_UTSource;
4 protected ref UniversalTemperatureSourceSettings m_UTSSettings;
6
7 void Van_01()
8 {
9 //m_dmgContactCoef = 0.070; //TODO::Set proper value
10 }
11
12 void ~Van_01()
13 {
14 m_UTSource = null;
15 m_UTSSettings = null;
16 m_UTSLEngine = null;
17 }
18
19 override void EEInit()
20 {
21 super.EEInit();
22
23 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
24 {
26 m_UTSSettings.m_ManualUpdate = true;
28 m_UTSSettings.m_TemperatureCap = 0;
29 m_UTSSettings.m_RangeFull = 0.5;
30 m_UTSSettings.m_RangeMax = 2;
31
34 }
35 }
36
38 {
39 return true;
40 }
41
43 {
44 super.GetElectricitySourceDevice();
45
46 return GetInventory().FindAttachment(TruckBattery.SLOT_ID);
47 }
48
50 {
51 return "TruckBattery";
52 }
53
54 override void OnEngineStart()
55 {
56 super.OnEngineStart();
57
58 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
59 {
60 if (m_UTSource)
61 m_UTSource.SetDefferedActive(true, 20.0);
62 }
63 }
64
65 override void OnEngineStop()
66 {
67 super.OnEngineStop();
68
69 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
70 {
71 if (m_UTSource)
72 m_UTSource.SetDefferedActive(false, 10.0);
73 }
74 }
75
76 override void EOnPostSimulate(IEntity other, float timeSlice)
77 {
78 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
79 {
80 if (m_UTSource && m_UTSource.IsActive())
81 {
83 }
84 }
85 }
86
87 //-----------------------------------------------------------
88 override int GetAnimInstance()
89 {
90 return VehicleAnimInstances.CIVVAN;
91 }
92
93 //-----------------------------------------------------------
94 override int GetSeatAnimationType( int posIdx )
95 {
96 switch( posIdx )
97 {
98 case 0:
99 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
100 case 1:
101 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
102 case 2:
103 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
104 case 3:
105 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
106 case 4:
107 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
108 }
109
110 return 0;
111 }
112
113 //-----------------------------------------------------------
114 override int GetCarDoorsState( string slotType )
115 {
116 CarDoor carDoor;
117
118 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
119 if ( !carDoor )
120 return CarDoorState.DOORS_MISSING;
121
122 switch( slotType )
123 {
124 case "Van_01_Door_1_1":
125 if ( GetAnimationPhase("DoorsDriver") > 0.5 )
126 return CarDoorState.DOORS_OPEN;
127 else
128 return CarDoorState.DOORS_CLOSED;
129
130 break;
131
132 case "Van_01_Door_2_1":
133 if ( GetAnimationPhase("DoorsCoDriver") > 0.5 )
134 return CarDoorState.DOORS_OPEN;
135 else
136 return CarDoorState.DOORS_CLOSED;
137
138 break;
139
140 case "Van_01_Door_2_2":
141 if ( GetAnimationPhase("DoorsCargo1") > 0.5 )
142 return CarDoorState.DOORS_OPEN;
143 else
144 return CarDoorState.DOORS_CLOSED;
145
146 break;
147
148 case "Van_01_Trunk_1":
149 if ( GetAnimationPhase("DoorsCargo3") > 0.5 )
150 return CarDoorState.DOORS_OPEN;
151 else
152 return CarDoorState.DOORS_CLOSED;
153 break;
154
155 case "Van_01_Trunk_2":
156 if ( GetAnimationPhase("DoorsCargo2") > 0.5 )
157 return CarDoorState.DOORS_OPEN;
158 else
159 return CarDoorState.DOORS_CLOSED;
160
161 break;
162 }
163
164 return CarDoorState.DOORS_MISSING;
165 }
166
167 //-----------------------------------------------------------
168 override bool CrewCanGetThrough( int posIdx )
169 {
170 switch( posIdx )
171 {
172 case 0:
173 if ( GetCarDoorsState( "Van_01_Door_1_1" ) == CarDoorState.DOORS_CLOSED )
174 return false;
175
176 return true;
177 break;
178
179 case 1:
180 if ( GetCarDoorsState( "Van_01_Door_2_1" ) == CarDoorState.DOORS_CLOSED )
181 return false;
182
183 return true;
184 break;
185
186 case 2:
187 if ( GetCarDoorsState( "Van_01_Door_2_2" ) == CarDoorState.DOORS_CLOSED )
188 return false;
189
190 return true;
191 break;
192
193 case 3:
194 if ( GetCarDoorsState( "Van_01_Door_2_2" ) == CarDoorState.DOORS_CLOSED )
195 return false;
196
197 case 4:
198 if ( GetCarDoorsState( "Van_01_Door_2_2" ) == CarDoorState.DOORS_CLOSED )
199 return false;
200
201 return true;
202 break;
203 }
204
205 return false;
206 }
207
208 //-----------------------------------------------------------
209 override float OnSound( CarSoundCtrl ctrl, float oldValue )
210 {
211 switch ( ctrl )
212 {
213 case CarSoundCtrl.DOORS:
214 float newValue = 0;
215
216 //-----
217 if ( GetCarDoorsState( "Van_01_Door_1_1" ) == CarDoorState.DOORS_CLOSED )
218 newValue += 0.25;
219
220 //-----
221 if ( GetCarDoorsState( "Van_01_Door_2_1" ) == CarDoorState.DOORS_CLOSED )
222 newValue += 0.25;
223
224 //-----
225 if ( GetCarDoorsState( "Van_01_Door_2_2" ) == CarDoorState.DOORS_CLOSED )
226 newValue += 0.25;
227
228 //-----
229 if ( GetCarDoorsState( "Van_01_Trunk_1" ) == CarDoorState.DOORS_CLOSED )
230 newValue += 0.125;
231
232 //-----
233 if ( GetCarDoorsState( "Van_01_Trunk_2" ) == CarDoorState.DOORS_CLOSED )
234 newValue += 0.125;
235
236 if ( newValue > 1 )
237 newValue = 1;
238
239 return newValue;
240 break;
241 }
242
243 return oldValue;
244 }
245
246 //-----------------------------------------------------------
247 override string GetAnimSourceFromSelection( string selection )
248 {
249 switch( selection )
250 {
251 case "doors_driver":
252 return "DoorsDriver";
253 case "doors_codriver":
254 return "DoorsCoDriver";
255 case "doors_cargo1":
256 return "DoorsCargo1";
257 case "doors_cargo2":
258 return "DoorsCargo2";
259 case "doors_cargo3":
260 return "DoorsCargo3";
261 case "doors_hood":
262 return "DoorsHood";
263 }
264
265 return "";
266 }
267
268 //-----------------------------------------------------------
269 override string GetDoorConditionPointFromSelection( string selection )
270 {
271 switch( selection )
272 {
273 case "seat_driver":
274 return "seat_con_1_1";
275 break;
276 case "seat_codriver":
277 return "seat_con_2_1";
278 break;
279 case "seat_cargo1":
280 case "seat_cargo2":
281 case "seat_cargo3":
282 return "seat_con_1_2";
283 break;
284 }
285
286 return "";
287 };
288
289 //-----------------------------------------------------------
290 override bool IsVitalGlowPlug()
291 {
292 return false;
293 }
294
295 //-----------------------------------------------------------
296 override bool CanReachSeatFromSeat( int currentSeat, int nextSeat )
297 {
298 switch( currentSeat )
299 {
300 case 0:
301 if ( nextSeat == 1 )
302 return true;
303 break;
304 case 1:
305 if ( nextSeat == 0 )
306 return true;
307 break;
308 case 2:
309 if ( nextSeat == 3 )
310 return true;
311 break;
312 case 3:
313 if ( nextSeat == 2 )
314 return true;
315 break;
316 }
317
318 return false;
319 }
320
321 //-----------------------------------------------------------
322 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
323 {
324 switch( pCurrentSeat )
325 {
326 case 0:
327 if (pDoorsSelection == "DoorsDriver")
328 {
329 return true;
330 }
331 break;
332 case 1:
333 if (pDoorsSelection == "DoorsCoDriver")
334 {
335 return true;
336 }
337 break;
338 case 2:
339 if (pDoorsSelection == "DoorsCargo1")
340 {
341 return true;
342 }
343 break;
344 case 3:
345 if (pDoorsSelection == "DoorsCargo2")
346 {
347 return true;
348 }
349 break;
350 }
351
352 return false;
353 }
354}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Van_01.c:209
override int GetAnimInstance()
Определения Van_01.c:88
override string GetDoorConditionPointFromSelection(string selection)
Определения Van_01.c:269
override bool NeedElectricitySourceDevice()
Определения Van_01.c:37
override bool IsVitalGlowPlug()
Определения Van_01.c:290
override int GetCarDoorsState(string slotType)
Определения Van_01.c:114
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения Truck_02.c:5
void ~Van_01()
Определения Van_01.c:12
override string GetAnimSourceFromSelection(string selection)
Определения Van_01.c:247
override EntityAI GetElectricitySourceDevice()
Определения Van_01.c:42
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Van_01.c:322
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Van_01.c:76
override void OnEngineStart()
Определения Van_01.c:54
override string GetElectricitySourceDeviceType()
Определения Van_01.c:49
override void EEInit()
Определения Van_01.c:19
override bool CrewCanGetThrough(int posIdx)
Определения Van_01.c:168
ref UniversalTemperatureSource m_UTSource
Определения Truck_02.c:3
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Van_01.c:296
override void OnEngineStop()
Определения Van_01.c:65
override int GetSeatAnimationType(int posIdx)
Определения Van_01.c:94
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения Truck_02.c:4
void Van_01()
Определения Van_01.c:7
Определения Truck_02.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnEntity.c:165
static int SLOT_ID
Определения TruckBattery.c:3
Определения TruckBattery.c:2
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
Определения 3_Game/DayZ/constants.c:856