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

◆ GetCrewIndex()

override int OnDebugSpawn::GetCrewIndex ( string selection)
protected

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

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