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

◆ GetCrewIndex()

override int OnDebugSpawn::GetCrewIndex ( string selection)
protected

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

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