DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ SetActions()

override void OnDebugSpawn::SetActions ( )
protected

См. определение в файле Vehicles/InheritedCars/OffroadHatchback.c строка 946

946 : CarScript
947{
951
952 void OffroadHatchback()
953 {
954 //m_dmgContactCoef = 0.075;
955
956 m_EngineStartOK = "offroad_engine_start_SoundSet";
957 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
958 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
959 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
960 m_EngineStop = "offroad_engine_stop_SoundSet";
961 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
962
963 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
964 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
965 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
966 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
967
970
971 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
972 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
973
974 SetEnginePos("0 0.7 1.2");
975
977 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
978 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
979 }
980
981 void ~OffroadHatchback()
982 {
983 m_UTSource = null;
984 m_UTSSettings = null;
985 m_UTSLEngine = null;
986 }
987
988 override void EEInit()
989 {
990 super.EEInit();
991
992 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
993 {
995 m_UTSSettings.m_ManualUpdate = true;
997 m_UTSSettings.m_TemperatureCap = 0;
998 m_UTSSettings.m_RangeFull = 0.5;
999 m_UTSSettings.m_RangeMax = 2;
1000
1003 }
1004 }
1005
1006 override bool NeedElectricitySourceDevice()
1007 {
1008 return true;
1009 }
1010
1012 {
1013 super.GetElectricitySourceDevice();
1014
1015 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
1016 }
1017
1018 override string GetElectricitySourceDeviceType()
1019 {
1020 return "CarBattery";
1021 }
1022
1023 override void OnEngineStart()
1024 {
1025 super.OnEngineStart();
1026
1027 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
1028 {
1029 if (m_UTSource)
1030 m_UTSource.SetDefferedActive(true, 20.0);
1031 }
1032 }
1033
1034 override void OnEngineStop()
1035 {
1036 super.OnEngineStop();
1037
1038 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
1039 {
1040 if (m_UTSource)
1041 m_UTSource.SetDefferedActive(false, 10.0);
1042 }
1043 }
1044
1045 override void EOnPostSimulate(IEntity other, float timeSlice)
1046 {
1047 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
1048 {
1049 if (m_UTSource && m_UTSource.IsActive())
1050 {
1052 }
1053 }
1054 }
1055
1056 override int GetAnimInstance()
1057 {
1058 return VehicleAnimInstances.HATCHBACK;
1059 }
1060
1061 override float GetTransportCameraDistance()
1062 {
1063 return 3.5;
1064 }
1065
1066 override int GetSeatAnimationType( int posIdx )
1067 {
1068 switch (posIdx)
1069 {
1070 case 0:
1071 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
1072 case 1:
1073 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
1074 case 2:
1075 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
1076 case 3:
1077 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
1078 }
1079
1080 return 0;
1081
1082 }
1083
1084 override bool CanReleaseAttachment(EntityAI attachment)
1085 {
1086 if (!super.CanReleaseAttachment(attachment))
1087 {
1088 return false;
1089 }
1090
1091 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
1092 {
1093 string attType = attachment.GetType();
1094 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
1095 {
1096 return false;
1097 }
1098 }
1099
1100 return true;
1101 }
1102
1103 override protected bool CanManipulateSpareWheel(string slotSelectionName)
1104 {
1105 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
1106 }
1107
1108 override bool CanDisplayAttachmentCategory( string category_name )
1109 {
1110 if (!super.CanDisplayAttachmentCategory(category_name))
1111 {
1112 return false;
1113 }
1114
1115 category_name.ToLower();
1116 if (category_name.Contains("engine"))
1117 {
1118 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
1119 {
1120 return false;
1121 }
1122 }
1123
1124 return true;
1125 }
1126
1127 override bool CanDisplayCargo()
1128 {
1129 if (!super.CanDisplayCargo())
1130 {
1131 return false;
1132 }
1133
1134 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1135 {
1136 return false;
1137 }
1138
1139 return true;
1140 }
1141
1142 override int GetCarDoorsState(string slotType)
1143 {
1144 CarDoor carDoor;
1145
1146 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
1147 if (!carDoor)
1148 {
1149 return CarDoorState.DOORS_MISSING;
1150 }
1151
1152 switch (slotType)
1153 {
1154 case "NivaDriverDoors":
1155 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1156
1157 case "NivaCoDriverDoors":
1158 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1159
1160 case "NivaHood":
1161 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1162
1163 case "NivaTrunk":
1164 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1165 }
1166
1167 return CarDoorState.DOORS_MISSING;
1168 }
1169
1170 override bool CrewCanGetThrough(int posIdx)
1171 {
1172 CarDoor carDoor;
1173 switch (posIdx)
1174 {
1175 case 0:
1176 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1177 return false;
1178 else if (GetAnimationPhase("SeatDriver") > 0.5)
1179 return false;
1180
1181 return true;
1182
1183 case 1:
1184 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1185 return false;
1186 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
1187 return false;
1188
1189 return true;
1190
1191 case 2:
1192 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1193 return false;
1194 else if (GetAnimationPhase("SeatDriver") <= 0.5)
1195 return false;
1196
1197 return true;
1198
1199 case 3:
1200 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1201 return false;
1202 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
1203 return false;
1204
1205 return true;
1206 }
1207
1208 return false;
1209 }
1210
1211 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1212 {
1213 switch (posIdx)
1214 {
1215 case 0:
1216 case 2:
1217 return "doors_driver";
1218 case 1:
1219 case 3:
1220 return "doors_codriver";
1221 }
1222
1223 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1224 }
1225
1226 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1227 {
1228 switch (posIdx)
1229 {
1230 case 0:
1231 case 2:
1232 return "NivaDriverDoors";
1233 case 1:
1234 case 3:
1235 return "NivaCoDriverDoors";
1236 }
1237
1238 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1239 }
1240
1241 // 0 full ambient and engine sound
1242 // 1 zero ambient and engine sound
1243 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1244 {
1245 float tempCap = 0.0;
1246
1247 switch (ctrl)
1248 {
1249 case CarSoundCtrl.DOORS:
1250 float newValue = 0;
1251 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1252 {
1253 newValue += 0.5;
1254 }
1255
1256 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1257 {
1258 newValue += 0.5;
1259 }
1260
1261 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1262 {
1263 newValue += 0.3;
1264 }
1265
1266 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1267 {
1268 newValue -= 0.6;
1269 }
1270
1271 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1272 {
1273 newValue -= 0.2;
1274 }
1275
1276 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1277 {
1278 newValue -= 0.2;
1279 }
1280
1281 return Math.Clamp(newValue, 0, 1);
1282 break;
1283 }
1284
1285 return super.OnSound(ctrl, oldValue);
1286 }
1287
1288 override string GetAnimSourceFromSelection( string selection )
1289 {
1290 switch (selection)
1291 {
1292 case "doors_driver":
1293 return "DoorsDriver";
1294 case "doors_codriver":
1295 return "DoorsCoDriver";
1296 case "doors_hood":
1297 return "DoorsHood";
1298 case "doors_trunk":
1299 return "DoorsTrunk";
1300 case "seatback_driver":
1301 return "SeatDriver";
1302 case "seatback_codriver":
1303 return "SeatCoDriver";
1304 }
1305
1306 return "";
1307 }
1308
1309 override string GetDoorConditionPointFromSelection(string selection)
1310 {
1311 switch (selection)
1312 {
1313 case "seat_driver":
1314 case "seatback_driver":
1315 case "seat_cargo1":
1316 return "seat_con_1_1";
1317 case "seat_codriver":
1318 case "seatback_codriver":
1319 case "seat_cargo2":
1320 return "seat_con_2_1";
1321 }
1322
1323 return "";
1324 }
1325
1326 override int GetCrewIndex(string selection)
1327 {
1328 switch (selection)
1329 {
1330 case "seatback_driver":
1331 return 0;
1332 case "seatback_codriver":
1333 return 1;
1334 }
1335
1336 return -1;
1337 }
1338
1339 override bool IsVitalGlowPlug()
1340 {
1341 return false;
1342 }
1343
1344 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1345 {
1346 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1347 return false;
1348
1349 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1350 return false;
1351
1352 switch (currentSeat)
1353 {
1354 case 0:
1355 return nextSeat == 1;
1356
1357 case 1:
1358 return nextSeat == 0;
1359
1360 case 2:
1361 return nextSeat == 3;
1362
1363 case 3:
1364 return nextSeat == 2;
1365 }
1366
1367 return false;
1368 }
1369
1370 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1371 {
1372 switch (pCurrentSeat)
1373 {
1374 case 0:
1375 return pDoorsSelection == "DoorsDriver";
1376
1377 case 1:
1378 return pDoorsSelection == "DoorsCoDriver";
1379
1380 case 2:
1381 return pDoorsSelection == "DoorsDriver";
1382
1383 case 3:
1384 return pDoorsSelection == "DoorsCoDriver";
1385 }
1386
1387 return false;
1388 }
1389
1390 override int GetSeatIndexFromDoor( string pDoorSelection )
1391 {
1392 switch (pDoorSelection)
1393 {
1394 case "DoorsDriver":
1395 return 0;
1396 case "DoorsCoDriver":
1397 return 1;
1398 }
1399
1400 return -1;
1401 }
1402
1403 override void SetActions()
1404 {
1405 super.SetActions();
1406
1408 }
1409
1410 override void OnDebugSpawn()
1411 {
1413 SpawnAdditionalItems();
1414 FillUpCarFluids();
1415
1416 GameInventory inventory = GetInventory();
1417 inventory.CreateInInventory("HatchbackWheel");
1418 inventory.CreateInInventory("HatchbackWheel");
1419 inventory.CreateInInventory("HatchbackWheel" );
1420 inventory.CreateInInventory("HatchbackWheel");
1421
1422 inventory.CreateInInventory("HatchbackDoors_Driver");
1423 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1424 inventory.CreateInInventory("HatchbackHood");
1425 inventory.CreateInInventory("HatchbackTrunk");
1426
1427 //-----IN CAR CARGO
1428 inventory.CreateInInventory("HatchbackWheel");
1429 inventory.CreateInInventory("HatchbackWheel");
1430 }
1431}
1432
1433class OffroadHatchback_White : OffroadHatchback
1434{
1435 override void OnDebugSpawn()
1436 {
1438 SpawnAdditionalItems();
1439 FillUpCarFluids();
1440
1441 GameInventory inventory = GetInventory();
1442 inventory.CreateInInventory("HatchbackWheel");
1443 inventory.CreateInInventory("HatchbackWheel");
1444 inventory.CreateInInventory("HatchbackWheel");
1445 inventory.CreateInInventory("HatchbackWheel");
1446
1447 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1448 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1449 inventory.CreateInInventory("HatchbackHood_White");
1450 inventory.CreateInInventory("HatchbackTrunk_White");
1451
1452
1453 //-----IN CAR CARGO
1454 inventory.CreateInInventory("HatchbackWheel");
1455 inventory.CreateInInventory("HatchbackWheel");
1456 }
1457}
1458
1460{
1461 override void OnDebugSpawn()
1462 {
1464 SpawnAdditionalItems();
1465 FillUpCarFluids();
1466
1467 GameInventory inventory = GetInventory();
1468 inventory.CreateInInventory("HatchbackWheel");
1469 inventory.CreateInInventory("HatchbackWheel");
1470 inventory.CreateInInventory("HatchbackWheel");
1471 inventory.CreateInInventory("HatchbackWheel");
1472
1473 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1474 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1475 inventory.CreateInInventory("HatchbackHood_Blue");
1476 inventory.CreateInInventory("HatchbackTrunk_Blue");
1477
1478 //-----IN CAR CARGO
1479 inventory.CreateInInventory("HatchbackWheel");
1480 inventory.CreateInInventory("HatchbackWheel");
1481 }
1482}
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
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
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
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
OffroadHatchbackLightProfileFront VehicleLightProfileFront OffroadHatchbackLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override void SetActions()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override string GetDoorConditionPointFromSelection(string selection)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
void ~OffroadHatchback()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
OffroadHatchback CarScript OnDebugSpawn()
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override int GetSeatIndexFromDoor(string pDoorSelection)
override string GetElectricitySourceDeviceType()
void OffroadHatchback()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override int GetCrewIndex(string selection)
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения 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
Определения EnMath.c:7
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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'.
bool Contains(string sample)
Returns true if sample is substring of string.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.