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

◆ GetSeatIndexFromDoor()

override int OnDebugSpawn::GetSeatIndexFromDoor ( string pDoorSelection)
protected

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

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