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

◆ GetDoorConditionPointFromSelection()

override string OnDebugSpawn::GetDoorConditionPointFromSelection ( string selection)
protected

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

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