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

◆ CanReachDoorsFromSeat()

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

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

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