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