DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Truck_02.c
См. документацию.
1class Truck_02 extends CarScript
2{
6
7 void Truck_02()
8 {
9 //m_dmgContactCoef = 0.018;
10 m_enginePtcPos = "0 1.346 2.205";
11 }
12
13 void ~Truck_02()
14 {
15 m_UTSource = null;
16 m_UTSSettings = null;
17 m_UTSLEngine = null;
18 }
19
20 override void EEInit()
21 {
22 super.EEInit();
23
24 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
25 {
27 m_UTSSettings.m_ManualUpdate = true;
29 m_UTSSettings.m_TemperatureCap = 0;
30 m_UTSSettings.m_RangeFull = 0.5;
31 m_UTSSettings.m_RangeMax = 2;
32
35 }
36 }
37
39 {
40 return true;
41 }
42
44 {
45 super.GetElectricitySourceDevice();
46
47 return GetInventory().FindAttachment(TruckBattery.SLOT_ID);
48 }
49
51 {
52 return "TruckBattery";
53 }
54
55 override void OnEngineStart()
56 {
57 super.OnEngineStart();
58
59 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
60 {
61 if (m_UTSource)
62 m_UTSource.SetDefferedActive(true, 20.0);
63 }
64 }
65
66 override void OnEngineStop()
67 {
68 super.OnEngineStop();
69
70 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
71 {
72 if (m_UTSource)
73 m_UTSource.SetDefferedActive(false, 10.0);
74 }
75 }
76
77 override void EOnPostSimulate(IEntity other, float timeSlice)
78 {
79 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
80 {
81 if (m_UTSource && m_UTSource.IsActive())
82 {
84 }
85 }
86 }
87
88 override int GetAnimInstance()
89 {
90 return VehicleAnimInstances.MULTICAR;
91 }
92
93 override int GetSeatAnimationType( int posIdx )
94 {
95 switch( posIdx )
96 {
97 case 0:
98 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
99 case 1:
100 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
101 }
102
103 return 0;
104 }
105
106 override int GetCarDoorsState( string slotType )
107 {
108 CarDoor carDoor;
109
110 switch( slotType )
111 {
112 case "Truck_02_Door_1_1":
113 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
114 if ( carDoor )
115 {
116 if ( GetAnimationPhase("DoorsDriver") > 0.5 )
117 {
118 return CarDoorState.DOORS_OPEN;
119 }
120 else
121 {
122 return CarDoorState.DOORS_CLOSED;
123 }
124 }
125
126 return CarDoorState.DOORS_MISSING;
127 break;
128
129 case "Truck_02_Door_2_1":
130 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
131 if ( carDoor )
132 {
133 if ( GetAnimationPhase("DoorsCoDriver") > 0.5 )
134 {
135 return CarDoorState.DOORS_OPEN;
136 }
137 else
138 {
139 return CarDoorState.DOORS_CLOSED;
140 }
141 }
142
143 return CarDoorState.DOORS_MISSING;
144 break;
145 }
146
147 return CarDoorState.DOORS_MISSING;
148 }
149
150 override bool CrewCanGetThrough( int posIdx )
151 {
152 CarDoor carDoor;
153 switch( posIdx )
154 {
155 case 0:
156 if ( GetCarDoorsState( "Truck_02_Door_1_1" ) == CarDoorState.DOORS_CLOSED )
157 {
158 return false;
159 }
160
161 return true;
162 break;
163
164 case 1:
165 if ( GetCarDoorsState( "Truck_02_Door_2_1" ) == CarDoorState.DOORS_CLOSED )
166 {
167 return false;
168 }
169
170 return true;
171 break;
172 }
173
174 return false;
175 }
176
177 override float OnSound( CarSoundCtrl ctrl, float oldValue )
178 {
179 switch ( ctrl )
180 {
181 case CarSoundCtrl.DOORS:
182 float newValue = 0;
183
184 //-----
185 if ( GetCarDoorsState( "Truck_02_Door_1_1" ) == CarDoorState.DOORS_CLOSED )
186 {
187 newValue += 0.4;
188 }
189
190 if ( GetCarDoorsState( "Truck_02_Door_2_1" ) == CarDoorState.DOORS_CLOSED )
191 {
192 newValue += 0.4;
193 }
194
195 if ( newValue > 1 )
196 newValue = 1;
197
198 return newValue;
199 break;
200 }
201
202 return oldValue;
203 }
204
205 override string GetAnimSourceFromSelection( string selection )
206 {
207 switch( selection )
208 {
209 case "doors_driver":
210 return "DoorsDriver";
211 case "doors_codriver":
212 return "DoorsCoDriver";
213 case "doors_hood":
214 return "DoorsHood";
215 case "doors_trunk":
216 return "DoorsTrunk";
217 case "wheelsideplate1":
218 return "WheelSidePlate1";
219 case "wheelsideplate2":
220 return "WheelSidePlate2";
221 }
222
223 return "";
224 }
225
226 override bool IsVitalSparkPlug()
227 {
228 return false;
229 }
230
231 override bool IsVitalGlowPlug()
232 {
233 return false;
234 }
235
236 override bool IsVitalEngineBelt()
237 {
238 return false;
239 }
240
241 override bool IsVitalRadiator()
242 {
243 return false;
244 }
245
246 override bool CanReachSeatFromSeat( int currentSeat, int nextSeat )
247 {
248 switch( currentSeat )
249 {
250 case 0:
251 if ( nextSeat == 1 )
252 return true;
253 break;
254
255 case 1:
256 if ( nextSeat == 0 )
257 return true;
258 break;
259 }
260
261 return false;
262 }
263
264 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
265 {
266 switch( pCurrentSeat )
267 {
268 case 0:
269 if (pDoorsSelection == "DoorsDriver")
270 {
271 return true;
272 }
273 break;
274
275 case 1:
276 if (pDoorsSelection == "DoorsCoDriver")
277 {
278 return true;
279 }
280 break;
281 }
282
283 return false;
284 }
285
286 override int GetSeatIndexFromDoor( string pDoorSelection )
287 {
288 switch (pDoorSelection)
289 {
290 case "DoorsDriver":
291 return 0;
292 break;
293 case "DoorsCoDriver":
294 return 1;
295 break;
296 }
297 return -1;
298 }
299
300 override void OnDebugSpawn()
301 {
302 EntityAI entity;
303
304 if ( Class.CastTo(entity, this) )
305 {
306 GameInventory inventory = entity.GetInventory();
307 inventory.CreateInInventory( "Truck_02_Wheel" );
308 inventory.CreateInInventory( "Truck_02_Wheel" );
309 inventory.CreateInInventory( "Truck_02_Wheel" );
310 inventory.CreateInInventory( "Truck_02_Wheel" );
311
312 inventory.CreateInInventory( "TruckBattery" );
313 inventory.CreateInInventory( "SparkPlug" );
314
315 inventory.CreateInInventory( "Truck_02_Door_1_1" );
316 inventory.CreateInInventory( "Truck_02_Door_2_1" );
317
318 inventory.CreateInInventory( "HeadlightH7" );
319 inventory.CreateInInventory( "HeadlightH7" );
320 }
321
322 Fill( CarFluid.FUEL, 50 );
323 Fill( CarFluid.OIL, 4.0 );
324 };
325}
CarFluid
Type of vehicle's fluid. (native, do not change or extend)
Определения Car.c:18
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 Fill(MotorbikeFluid fluid, float amount)
Adds to the specified fluid the specified amount.
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Truck_02.c:177
override bool IsVitalEngineBelt()
Определения Truck_02.c:236
void ~Truck_02()
Определения Truck_02.c:13
override int GetAnimInstance()
Определения Truck_02.c:88
override void OnDebugSpawn()
Определения Truck_02.c:300
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения Truck_02.c:286
void Truck_02()
Определения Truck_02.c:7
override bool NeedElectricitySourceDevice()
Определения Truck_02.c:38
override bool IsVitalGlowPlug()
Определения Truck_02.c:231
override int GetCarDoorsState(string slotType)
Определения Truck_02.c:106
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения Truck_02.c:5
override string GetAnimSourceFromSelection(string selection)
Определения Truck_02.c:205
override EntityAI GetElectricitySourceDevice()
Определения Truck_02.c:43
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Truck_02.c:264
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Truck_02.c:77
override void OnEngineStart()
Определения Truck_02.c:55
override string GetElectricitySourceDeviceType()
Определения Truck_02.c:50
override void EEInit()
Определения Truck_02.c:20
override bool IsVitalRadiator()
Определения Truck_02.c:241
override bool CrewCanGetThrough(int posIdx)
Определения Truck_02.c:150
ref UniversalTemperatureSource m_UTSource
Определения Truck_02.c:3
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Truck_02.c:246
override bool IsVitalSparkPlug()
Определения Truck_02.c:226
override void OnEngineStop()
Определения Truck_02.c:66
override int GetSeatAnimationType(int posIdx)
Определения Truck_02.c:93
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения Truck_02.c:4
Определения Truck_02.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
Определения 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