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

◆ CanReachDoorsFromSeat()

override bool OnDebugSpawn::CanReachDoorsFromSeat ( string pDoorsSelection,
int pCurrentSeat )
protected

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

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