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

◆ GetSeatIndexFromDoor()

override int OnDebugSpawn::GetSeatIndexFromDoor ( string pDoorSelection)
protected

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

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