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