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

◆ SetActions()

override void OnDebugSpawn::SetActions ( )
protected

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

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