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

◆ IsVitalSparkPlug()

override bool OnDebugSpawn::IsVitalSparkPlug ( )
protected

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

866 : CarScript
867{
871
872 void Offroad_02()
873 {
874 //m_dmgContactCoef = 0.0365;
875
876 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
877 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
878 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
879 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
880 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
881 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
882
883 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
884 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
885
886 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
887 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
888
889 m_LightsComponent.RegisterSelection("BrakesOn", {
890 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
891 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
892 });
893 m_LightsComponent.RegisterSelection("BrakesOff", {
894 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
895 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
896 });
897
898 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
899 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
900
901 SetEnginePos("0 0.7 1.7");
902
904 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
905 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
906 }
907
908 void ~Offroad_02()
909 {
910 m_UTSource = null;
911 m_UTSSettings = null;
912 m_UTSLEngine = null;
913 }
914
915 override void EEInit()
916 {
917 super.EEInit();
918
919 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
920 {
922 m_UTSSettings.m_ManualUpdate = true;
924 m_UTSSettings.m_TemperatureCap = 0;
925 m_UTSSettings.m_RangeFull = 0.5;
926 m_UTSSettings.m_RangeMax = 2;
927
930 }
931 }
932
933 override bool HasGangedTailAndBrakeLights()
934 {
935 return true;
936 }
937
938 override bool NeedElectricitySourceDevice()
939 {
940 return true;
941 }
942
944 {
945 super.GetElectricitySourceDevice();
946
947 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
948 }
949
950 override string GetElectricitySourceDeviceType()
951 {
952 return "CarBattery";
953 }
954
955 override void OnEngineStart()
956 {
957 super.OnEngineStart();
958
959 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
960 {
961 if (m_UTSource)
962 m_UTSource.SetDefferedActive(true, 20.0);
963 }
964 }
965
966 override void OnEngineStop()
967 {
968 super.OnEngineStop();
969
970 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
971 {
972 if (m_UTSource)
973 m_UTSource.SetDefferedActive(false, 10.0);
974 }
975 }
976
977 override void EOnPostSimulate(IEntity other, float timeSlice)
978 {
979 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
980 {
981 if (m_UTSource && m_UTSource.IsActive())
982 {
984 }
985 }
986 }
987
988 override int GetAnimInstance()
989 {
990 return VehicleAnimInstances.HMMWV;
991 }
992
993 override float GetTransportCameraDistance()
994 {
995 return 5.1;
996 }
997
998 override float GetWeightCoef()
999 {
1000 return 1.5;
1001 }
1002
1003 override int GetSeatAnimationType(int posIdx)
1004 {
1005 switch (posIdx)
1006 {
1007 case 0:
1008 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
1009 case 1:
1010 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
1011 case 2:
1012 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
1013 case 3:
1014 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
1015 }
1016
1017 return 0;
1018 }
1019
1020 override bool CanReleaseAttachment( EntityAI attachment )
1021 {
1022 if (!super.CanReleaseAttachment(attachment))
1023 {
1024 return false;
1025 }
1026
1027 string attType = attachment.GetType();
1028 switch (attType)
1029 {
1030 case "CarBattery":
1031 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
1032 {
1033 return false;
1034 }
1035 break;
1036
1037 case "GlowPlug":
1038 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
1039 {
1040 return false;
1041 }
1042 break;
1043 }
1044
1045 return true;
1046 }
1047
1048 override protected bool CanManipulateSpareWheel(string slotSelectionName)
1049 {
1050 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
1051 }
1052
1053 override bool CanDisplayAttachmentCategory(string category_name)
1054 {
1055 if ( !super.CanDisplayAttachmentCategory(category_name))
1056 {
1057 return false;
1058 }
1059
1060 category_name.ToLower();
1061 if (category_name.Contains("engine"))
1062 {
1063 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
1064 {
1065 return false;
1066 }
1067 }
1068
1069 return true;
1070 }
1071
1072 override bool CanDisplayCargo()
1073 {
1074 if ( !super.CanDisplayCargo() )
1075 return false;
1076
1077 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
1078 return false;
1079
1080 return true;
1081 }
1082
1083 override int GetCarDoorsState(string slotType)
1084 {
1085 CarDoor carDoor;
1086
1087 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1088 if (!carDoor)
1089 {
1090 return CarDoorState.DOORS_MISSING;
1091 }
1092
1093 switch (slotType)
1094 {
1095 case "Offroad_02_Door_1_1":
1096 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1097
1098 case "Offroad_02_Door_2_1":
1099 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1100
1101 case "Offroad_02_Door_1_2":
1102 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1103
1104 case "Offroad_02_Door_2_2":
1105 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1106
1107 case "Offroad_02_Hood":
1108 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1109
1110 case "Offroad_02_Trunk":
1111 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1112 }
1113
1114 return CarDoorState.DOORS_MISSING;
1115 }
1116
1117
1118 override bool CrewCanGetThrough( int posIdx )
1119 {
1120 switch( posIdx )
1121 {
1122 case 0:
1123 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1124 return false;
1125
1126 return true;
1127 break;
1128
1129 case 1:
1130 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1131 return false;
1132
1133 return true;
1134 break;
1135
1136 case 2:
1137 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1138 return false;
1139
1140 return true;
1141 break;
1142
1143 case 3:
1144 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1145 return false;
1146
1147 return true;
1148 break;
1149 }
1150
1151 return false;
1152 }
1153
1154 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1155 {
1156 switch( posIdx )
1157 {
1158 case 0:
1159 return "doors_driver";
1160 break;
1161 case 1:
1162 return "doors_codriver";
1163 break;
1164 case 2:
1165 return "doors_cargo1";
1166 break;
1167 case 3:
1168 return "doors_cargo2";
1169 break;
1170 }
1171
1172 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1173 }
1174
1175 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1176 {
1177 switch (posIdx)
1178 {
1179 case 0:
1180 return "Offroad_02_Door_1_1";
1181 case 1:
1182 return "Offroad_02_Door_2_1";
1183 case 2:
1184 return "Offroad_02_Door_1_2";
1185 case 3:
1186 return "Offroad_02_Door_2_2";
1187 }
1188
1189 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1190 }
1191
1192 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1193 {
1194 switch ( ctrl )
1195 {
1196 case CarSoundCtrl.DOORS:
1197 float newValue = 0;
1198 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1199 {
1200 newValue += 0.25;
1201 }
1202
1203 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1204 {
1205 newValue += 0.25;
1206 }
1207
1208 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1209 {
1210 newValue += 0.25;
1211 }
1212
1213 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1214 {
1215 newValue += 0.25;
1216 }
1217
1218 return Math.Clamp(newValue, 0, 1);
1219 break;
1220 }
1221
1222 return super.OnSound(ctrl, oldValue);
1223 }
1224
1225 override string GetAnimSourceFromSelection(string selection)
1226 {
1227 switch (selection)
1228 {
1229 case "doors_driver":
1230 return "DoorsDriver";
1231 case "doors_codriver":
1232 return "DoorsCoDriver";
1233 case "doors_cargo1":
1234 return "DoorsCargo1";
1235 case "doors_cargo2":
1236 return "DoorsCargo2";
1237 case "doors_hood":
1238 return "DoorsHood";
1239 case "doors_trunk":
1240 return "DoorsTrunk";
1241 }
1242
1243 return "";
1244 }
1245
1246 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1247 {
1248 switch (currentSeat)
1249 {
1250 case 0:
1251 return nextSeat == 1;
1252 case 1:
1253 return nextSeat == 0;
1254 case 2:
1255 return nextSeat == 3;
1256 case 3:
1257 return nextSeat == 2;
1258 }
1259
1260 return false;
1261 }
1262
1263 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1264 {
1265 switch (pCurrentSeat)
1266 {
1267 case 0:
1268 return pDoorsSelection == "DoorsDriver";
1269 case 1:
1270 return pDoorsSelection == "DoorsCoDriver";
1271 case 2:
1272 return pDoorsSelection == "DoorsCargo1";
1273 case 3:
1274 return pDoorsSelection == "DoorsCargo2";
1275 }
1276
1277 return false;
1278 }
1279
1280 override bool IsVitalSparkPlug()
1281 {
1282 return false;
1283 }
1284
1285 override bool IsVitalRadiator()
1286 {
1287 return false;
1288 }
1289
1290 override void OnDebugSpawn()
1291 {
1293 SpawnAdditionalItems();
1294 FillUpCarFluids();
1295
1296 GameInventory inventory = GetInventory();
1297 inventory.CreateInInventory("Offroad_02_Wheel");
1298 inventory.CreateInInventory("Offroad_02_Wheel");
1299 inventory.CreateInInventory("Offroad_02_Wheel");
1300 inventory.CreateInInventory("Offroad_02_Wheel");
1301
1302 inventory.CreateInInventory("Offroad_02_Door_1_1");
1303 inventory.CreateInInventory("Offroad_02_Door_1_2");
1304 inventory.CreateInInventory("Offroad_02_Door_2_1");
1305 inventory.CreateInInventory("Offroad_02_Door_2_2");
1306 inventory.CreateInInventory("Offroad_02_Hood");
1307 inventory.CreateInInventory("Offroad_02_Trunk");
1308
1309 //-----IN CAR CARGO
1310 inventory.CreateInInventory("Offroad_02_Wheel");
1311 inventory.CreateInInventory("Offroad_02_Wheel");
1312 }
1313}
1314
1315
1316class Offroad_02_Beige : Offroad_02
1317{
1318 override void OnDebugSpawn()
1319 {
1321 SpawnAdditionalItems();
1322 FillUpCarFluids();
1323
1324 GetInventory().CreateInInventory("Offroad_02_Wheel");
1325 GetInventory().CreateInInventory("Offroad_02_Wheel");
1326 GetInventory().CreateInInventory("Offroad_02_Wheel");
1327 GetInventory().CreateInInventory("Offroad_02_Wheel");
1328
1329 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1330 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1331 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1332 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1333 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1334 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1335
1336 //-----IN CAR CARGO
1337 GetInventory().CreateInInventory("Offroad_02_Wheel");
1338 GetInventory().CreateInInventory("Offroad_02_Wheel");
1339 }
1340}
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
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
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()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
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
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.

Используется в BoatScript::CheckOperationalRequirements(), CheckOperationalRequirements(), BoatScript::CheckOperationalState(), EOnPostSimulate() и SpawnUniversalParts().