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

◆ CanReachDoorsFromSeat()

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

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

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