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

◆ CanReachDoorsFromSeat()

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

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

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