DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Truck_01_Base.c
См. документацию.
2{
6
8 {
9 //m_dmgContactCoef = 0.018;
10 m_enginePtcPos = "0 1.346 2.205";
11
12 m_EngineStartOK = "Truck_01_engine_start_SoundSet";
13 m_EngineStartBattery = "Truck_01_engine_failed_start_battery_SoundSet";
14 m_EngineStartPlug = "Truck_01_engine_failed_start_sparkplugs_SoundSet";
15 m_EngineStartFuel = "Truck_01_engine_failed_start_fuel_SoundSet";
16 m_EngineStop = "Truck_01_engine_stop_SoundSet";
17 m_EngineStopFuel = "Truck_01_engine_stop_fuel_SoundSet";
18
19 m_CarDoorOpenSound = "Truck_01_door_open_SoundSet";
20 m_CarDoorCloseSound = "Truck_01_door_close_SoundSet";
21
22 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Truck_01LightProfileFront()));
23 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Truck_01LightProfileRear()));
24
25 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Truck_01_Horn_Short_SoundSet");
26 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Truck_01_Horn_SoundSet");
27
28 SetEnginePos("0 1.4 2.25");
29
31 m_CarHornShortSoundName = "Truck_01_Horn_Short_SoundSet";
32 m_CarHornLongSoundName = "Truck_01_Horn_SoundSet";
33 }
34
36 {
37 m_UTSource = null;
38 m_UTSSettings = null;
39 m_UTSLEngine = null;
40 }
41
42 override void EEInit()
43 {
44 super.EEInit();
45
46 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
47 {
49 m_UTSSettings.m_ManualUpdate = true;
51 m_UTSSettings.m_TemperatureCap = 0;
52 m_UTSSettings.m_RangeFull = 0.5;
53 m_UTSSettings.m_RangeMax = 2;
54
57 }
58 }
59
61 {
62 return true;
63 }
64
66 {
67 super.GetElectricitySourceDevice();
68
69 return GetInventory().FindAttachment(TruckBattery.SLOT_ID);
70 }
71
73 {
74 return "TruckBattery";
75 }
76
77 override void OnEngineStart()
78 {
79 super.OnEngineStart();
80
81 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
82 {
83 if (m_UTSource)
84 m_UTSource.SetDefferedActive(true, 20.0);
85 }
86 }
87
88 override void OnEngineStop()
89 {
90 super.OnEngineStop();
91
92 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
93 {
94 if (m_UTSource)
95 m_UTSource.SetDefferedActive(false, 10.0);
96 }
97 }
98
99 override void EOnPostSimulate(IEntity other, float timeSlice)
100 {
101 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
102 {
103 if (m_UTSource && m_UTSource.IsActive())
104 {
106 }
107 }
108 }
109
111 {
112 return 6.5;
113 }
114
116 {
117 return "0 3.2 0";
118 }
119
120 override float GetWeightCoef()
121 {
122 return 2.0;
123 }
124
125 override int GetAnimInstance()
126 {
127 return VehicleAnimInstances.V3S;
128 }
129
130 override int GetSeatAnimationType(int posIdx)
131 {
132 switch (posIdx)
133 {
134 case 0:
135 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
136 case 1:
137 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
138 }
139
140 return 0;
141 }
142
143 override bool CanReleaseAttachment(EntityAI attachment)
144 {
145 if (!super.CanReleaseAttachment(attachment))
146 {
147 return false;
148 }
149
150 if (EngineIsOn() && attachment.GetType() == "TruckBattery")
151 {
152 return false;
153 }
154
155 return true;
156 }
157
158 override protected bool CanManipulateSpareWheel(string slotSelectionName)
159 {
160 if (slotSelectionName == "wheel_spare_1")
161 {
162 return GetAnimationPhase("wheelSidePlate1") == 1.0;
163 }
164
165 if (slotSelectionName == "wheel_spare_2")
166 {
167 return GetAnimationPhase("wheelSidePlate2") == 1.0;
168 }
169
170 return super.CanManipulateSpareWheel(slotSelectionName);
171 }
172
173 override bool CrewCanGetThrough( int posIdx )
174 {
175 CarDoor carDoor;
176 switch( posIdx )
177 {
178 case 0:
179 if ( GetCarDoorsState("Truck_01_Door_1_1") == CarDoorState.DOORS_CLOSED )
180 return false;
181
182 return true;
183
184 case 1:
185 if ( GetCarDoorsState("Truck_01_Door_2_1") == CarDoorState.DOORS_CLOSED )
186 return false;
187
188 return true;
189 }
190
191 return false;
192 }
193
194 override string GetDoorSelectionNameFromSeatPos(int posIdx)
195 {
196 switch( posIdx )
197 {
198 case 0:
199 return "doors_driver";
200 break;
201 case 1:
202 return "doors_codriver";
203 break;
204 }
205
206 return super.GetDoorSelectionNameFromSeatPos(posIdx);
207 }
208
209 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
210 {
211 switch( posIdx )
212 {
213 case 0:
214 return "Truck_01_Door_1_1";
215 break;
216 case 1:
217 return "Truck_01_Door_2_1";
218 break;
219 }
220
221 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
222 }
223
224 override float OnSound(CarSoundCtrl ctrl, float oldValue)
225 {
226 switch (ctrl)
227 {
228 case CarSoundCtrl.DOORS:
229 float newValue = 0;
230
231 //-----
232 if (GetCarDoorsState("Truck_01_Door_1_1") == CarDoorState.DOORS_CLOSED)
233 {
234 newValue += 0.4;
235 }
236
237 if (GetCarDoorsState("Truck_01_Door_2_1") == CarDoorState.DOORS_CLOSED)
238 {
239 newValue += 0.4;
240 }
241
242 return Math.Clamp(newValue, 0, 1);
243 break;
244 }
245
246 return super.OnSound(ctrl, oldValue);
247 }
248
249 override void OnAnimationPhaseStarted(string animSource, float phase)
250 {
251 super.OnAnimationPhaseStarted(animSource, phase);
252
253 #ifndef SERVER
254 #ifndef NO_GUI
255 switch (animSource)
256 {
257 case "wheelsideplate1":
258 case "wheelsideplate2":
259 EffectSound sound = CreateSoundForAnimationSource(animSource);
260 if (phase == 0)
261 {
262 sound.SetSoundSet("Truck_01_Gear_Open_Side_Plate_SoundSet");
263 }
264 else
265 {
266 sound.SetSoundSet("Truck_01_Gear_Close_Side_Plate_SoundSet");
267 }
268
269 sound.SetSoundFadeIn(0.1);
270 sound.SetSoundFadeOut(0.1);
271
273 sound.SoundPlay();
274 break;
275 }
276 #endif
277 #endif
278 }
279
280 override int GetCarDoorsState( string slotType )
281 {
282 CarDoor carDoor;
283 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
284 if (!carDoor)
285 {
286 return CarDoorState.DOORS_MISSING;
287 }
288
289 switch (slotType)
290 {
291 case "Truck_01_Door_1_1":
292 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
293 case "Truck_01_Door_2_1":
294 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
295 case "Truck_01_Hood":
296 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
297 }
298
299 return CarDoorState.DOORS_MISSING;
300 }
301
302 override string GetAnimSourceFromSelection( string selection )
303 {
304 switch( selection )
305 {
306 case "doors_driver":
307 return "DoorsDriver";
308 case "doors_codriver":
309 return "DoorsCoDriver";
310 case "doors_hood":
311 return "DoorsHood";
312 case "doors_trunk":
313 return "DoorsTrunk";
314 case "wheelsideplate1":
315 return "WheelSidePlate1";
316 case "wheelsideplate2":
317 return "WheelSidePlate2";
318 }
319
320 return "";
321 }
322
323 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
324 {
325 switch (currentSeat)
326 {
327 case 0:
328 return nextSeat == 1;
329 case 1:
330 return nextSeat == 0;
331 }
332
333 return false;
334 }
335
336 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
337 {
338 switch (pCurrentSeat)
339 {
340 case 0:
341 return pDoorsSelection == "DoorsDriver";
342
343 case 1:
344 return pDoorsSelection == "DoorsCoDriver";
345 }
346
347 return false;
348 }
349
350 override int GetSeatIndexFromDoor( string pDoorSelection )
351 {
352 switch (pDoorSelection)
353 {
354 case "DoorsDriver":
355 return 0;
356
357 case "DoorsCoDriver":
358 return 1;
359 }
360
361 return -1;
362 }
363
364 override bool IsVitalSparkPlug()
365 {
366 return false;
367 }
368
369 override bool IsVitalGlowPlug()
370 {
371 return false;
372 }
373
374 override bool IsVitalEngineBelt()
375 {
376 return false;
377 }
378
379 override bool IsVitalRadiator()
380 {
381 return false;
382 }
383
395
396 override void OnDebugSpawn()
397 {
399 SpawnAdditionalItems();
400 FillUpCarFluids();
401
402 GameInventory inventory = GetInventory();
403 inventory.CreateInInventory("Truck_01_Wheel");
404 inventory.CreateInInventory("Truck_01_Wheel");
405
406 inventory.CreateInInventory("Truck_01_WheelDouble");
407 inventory.CreateInInventory("Truck_01_WheelDouble");
408 inventory.CreateInInventory("Truck_01_WheelDouble");
409 inventory.CreateInInventory("Truck_01_WheelDouble");
410
411 inventory.CreateInInventory("Truck_01_Door_1_1");
412 inventory.CreateInInventory("Truck_01_Door_2_1");
413 inventory.CreateInInventory("Truck_01_Hood");
414
415 //-----IN CAR CARGO
416 inventory.CreateInInventory("Truck_01_Wheel");
417 inventory.CreateInInventory("Truck_01_Wheel");
418 inventory.CreateInInventory("Truck_01_WheelDouble");
419 inventory.CreateInInventory("Truck_01_WheelDouble");
420 }
421}
ActionDetachFromTarget_SpecificSlot_WoodenPlanks ActionDetachFromTarget_SpecificSlot ActionDetachFromTarget_SpecificSlot_MetalSheets()
Определения ActionDetachFromTarget.c:223
ActionDetachFromTarget_SpecificSlotsCategory_Barrel ActionDetachFromTarget_SpecificSlotsCategory ActionDetachFromTarget_SpecificSlotsCategory_WoodenCrate()
Определения ActionDetachFromTarget.c:239
ActionDetachFromTarget_SpecificSlotsCategory ActionDetachFromTarget ActionDetachFromTarget_SpecificSlot_WoodenLogs()
Определения ActionDetachFromTarget.c:207
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
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
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
EffectSound CreateSoundForAnimationSource(string animSource)
Определения MotorbikeScript.c:277
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
void Truck_01LightProfileFront()
Определения Truck_01.c:23
Truck_01LightProfileFront VehicleLightProfileFront Truck_01LightProfileRear()
Определения Truck_01.c:22
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
Определения Truck_02.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
void SetSoundSet(string snd)
Set soundset for the sound.
Определения EffectSound.c:798
void SetSoundFadeIn(float fade_in)
Set the sound fade in duration.
Определения EffectSound.c:899
void SetSoundFadeOut(float fade_out)
Set the sound fade out duration.
Определения EffectSound.c:908
bool SoundPlay()
Plays sound.
Определения EffectSound.c:199
Wrapper class for managing sound through SEffectManager.
Определения EffectSound.c:5
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
Определения EnEntity.c:165
Определения EnMath.c:7
static int EffectRegister(Effect effect)
Registers Effect in SEffectManager.
Определения EffectManager.c:331
Manager class for managing Effect (EffectParticle, EffectSound)
Определения EffectManager.c:6
override float GetWeightCoef()
Определения Truck_01_Base.c:120
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Truck_01_Base.c:224
override string GetElectricitySourceDeviceType()
Определения Truck_01_Base.c:72
override bool CrewCanGetThrough(int posIdx)
Определения Truck_01_Base.c:173
override bool IsVitalRadiator()
Определения Truck_01_Base.c:379
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения Truck_01_Base.c:4
override int GetAnimInstance()
Определения Truck_01_Base.c:125
override vector GetTransportCameraOffset()
Определения Truck_01_Base.c:115
override void OnEngineStart()
Определения Truck_01_Base.c:77
void Truck_01_Base()
Определения Truck_01_Base.c:7
override void OnAnimationPhaseStarted(string animSource, float phase)
Определения Truck_01_Base.c:249
override bool IsVitalSparkPlug()
Определения Truck_01_Base.c:364
override void SetActions()
Определения Truck_01_Base.c:384
override void EEInit()
Определения Truck_01_Base.c:42
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Truck_01_Base.c:323
override bool CanReleaseAttachment(EntityAI attachment)
Определения Truck_01_Base.c:143
override float GetTransportCameraDistance()
Определения Truck_01_Base.c:110
override bool IsVitalEngineBelt()
Определения Truck_01_Base.c:374
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Truck_01_Base.c:99
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Truck_01_Base.c:209
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения Truck_01_Base.c:350
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения Truck_01_Base.c:5
override EntityAI GetElectricitySourceDevice()
Определения Truck_01_Base.c:65
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Truck_01_Base.c:194
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Truck_01_Base.c:336
void ~Truck_01_Base()
Определения Truck_01_Base.c:35
ref UniversalTemperatureSource m_UTSource
Определения Truck_01_Base.c:3
override bool NeedElectricitySourceDevice()
Определения Truck_01_Base.c:60
override void OnEngineStop()
Определения Truck_01_Base.c:88
override void OnDebugSpawn()
Определения Truck_01_Base.c:396
override string GetAnimSourceFromSelection(string selection)
Определения Truck_01_Base.c:302
override int GetSeatAnimationType(int posIdx)
Определения Truck_01_Base.c:130
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Truck_01_Base.c:158
override int GetCarDoorsState(string slotType)
Определения Truck_01_Base.c:280
override bool IsVitalGlowPlug()
Определения Truck_01_Base.c:369
static int SLOT_ID
Определения TruckBattery.c:3
Определения TruckBattery.c:2
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
Определения EnConvert.c:119
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
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.