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

◆ CanReachSeatFromSeat()

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

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

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