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

◆ GetSeatIndexFromDoor()

override int OnDebugSpawn::GetSeatIndexFromDoor ( string pDoorSelection)
protected

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

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