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

◆ CanReachSeatFromSeat()

override bool OnDebugSpawn::CanReachSeatFromSeat ( int currentSeat,
int nextSeat )
protected

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

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