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

◆ IsVitalGlowPlug()

override bool OnDebugSpawn::IsVitalGlowPlug ( )
protected

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

823 : CarScript
824{
828
829 void Sedan_02()
830 {
831 m_dmgContactCoef = 0.0790;
832
833 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
834 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
835 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
836 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
837 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
838 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
839
840 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
841 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
842
843 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Sedan_02LightProfileFront()));
844 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Sedan_02LightProfileRear()));
845
846 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Sedan_02_Horn_Short_SoundSet");
847 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Sedan_02_Horn_SoundSet");
848
849 SetEnginePos("0 0.7 -1.7");
850
852 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
853 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
854 }
855
856 void ~Sedan_02()
857 {
858 m_UTSource = null;
859 m_UTSSettings = null;
860 m_UTSLEngine = null;
861 }
862
863 override void EEInit()
864 {
865 super.EEInit();
866
867 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
868 {
870 m_UTSSettings.m_ManualUpdate = true;
872 m_UTSSettings.m_TemperatureCap = 0;
873 m_UTSSettings.m_RangeFull = 0.5;
874 m_UTSSettings.m_RangeMax = 2;
875
878 }
879 }
880
881 override bool NeedElectricitySourceDevice()
882 {
883 return true;
884 }
885
887 {
888 super.GetElectricitySourceDevice();
889
890 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
891 }
892
893 override string GetElectricitySourceDeviceType()
894 {
895 return "CarBattery";
896 }
897
898 override void OnEngineStart()
899 {
900 super.OnEngineStart();
901
902 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
903 {
904 if (m_UTSource)
905 m_UTSource.SetDefferedActive(true, 20.0);
906 }
907 }
908
909 override void OnEngineStop()
910 {
911 super.OnEngineStop();
912
913 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
914 {
915 if (m_UTSource)
916 m_UTSource.SetDefferedActive(false, 10.0);
917 }
918 }
919
920 override void EOnPostSimulate(IEntity other, float timeSlice)
921 {
922 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
923 {
924 if (m_UTSource && m_UTSource.IsActive())
925 {
927 }
928 }
929 }
930
931 override int GetAnimInstance()
932 {
933 return VehicleAnimInstances.S120;
934 }
935
936 override int GetSeatAnimationType(int posIdx)
937 {
938 switch (posIdx)
939 {
940 case 0:
941 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
942 case 1:
943 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
944 case 2:
945 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
946 case 3:
947 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
948 }
949
950 return 0;
951 }
952
953 override bool CanReleaseAttachment( EntityAI attachment )
954 {
955 if (!super.CanReleaseAttachment(attachment))
956 {
957 return false;
958 }
959
960 string attType = attachment.GetType();
961 switch (attType)
962 {
963 case "CarBattery":
964 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
965 {
966 return false;
967 }
968 break;
969
970 case "SparkPlug":
971 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
972 {
973 return false;
974 }
975 break;
976
977 case "CarRadiator":
978 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
979 {
980 return false;
981 }
982 break;
983 }
984
985 return true;
986 }
987
988 override protected bool CanManipulateSpareWheel(string slotSelectionName)
989 {
990 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
991 }
992
993 override bool CanDisplayAttachmentCategory(string category_name)
994 {
995 if ( !super.CanDisplayAttachmentCategory(category_name))
996 {
997 return false;
998 }
999
1000 category_name.ToLower();
1001 if (category_name.Contains("engine"))
1002 {
1003 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
1004 {
1005 return false;
1006 }
1007 }
1008
1009 if (category_name.Contains("trunk"))
1010 {
1011 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
1012 {
1013 return false;
1014 }
1015 }
1016
1017 return true;
1018 }
1019
1020 override bool CanDisplayCargo()
1021 {
1022 if ( !super.CanDisplayCargo() )
1023 return false;
1024
1025 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
1026 return false;
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 "Sedan_02_Door_1_1":
1044 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1045
1046 case "Sedan_02_Door_2_1":
1047 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1048
1049 case "Sedan_02_Door_1_2":
1050 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1051
1052 case "Sedan_02_Door_2_2":
1053 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1054
1055 case "Sedan_02_Hood":
1056 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1057
1058 case "Sedan_02_Trunk":
1059 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1060 }
1061
1062 return CarDoorState.DOORS_MISSING;
1063 }
1064
1065
1066 override bool CrewCanGetThrough( int posIdx )
1067 {
1068 switch( posIdx )
1069 {
1070 case 0:
1071 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1072 return false;
1073
1074 return true;
1075 break;
1076
1077 case 1:
1078 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1079 return false;
1080
1081 return true;
1082 break;
1083
1084 case 2:
1085 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1086 return false;
1087
1088 return true;
1089 break;
1090
1091 case 3:
1092 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1093 return false;
1094
1095 return true;
1096 break;
1097 }
1098
1099 return false;
1100 }
1101
1102 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1103 {
1104 switch( posIdx )
1105 {
1106 case 0:
1107 return "doors_driver";
1108 break;
1109 case 1:
1110 return "doors_codriver";
1111 break;
1112 case 2:
1113 return "doors_cargo1";
1114 break;
1115 case 3:
1116 return "doors_cargo2";
1117 break;
1118 }
1119
1120 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1121 }
1122
1123 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1124 {
1125 switch( posIdx )
1126 {
1127 case 0:
1128 return "Sedan_02_Door_1_1";
1129 break;
1130 case 1:
1131 return "Sedan_02_Door_2_1";
1132 break;
1133 case 2:
1134 return "Sedan_02_Door_1_2";
1135 break;
1136 case 3:
1137 return "Sedan_02_Door_2_2";
1138 break;
1139 }
1140
1141 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1142 }
1143
1144 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1145 {
1146 switch ( ctrl )
1147 {
1148 case CarSoundCtrl.DOORS:
1149 float newValue = 0;
1150 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1151 {
1152 newValue += 0.25;
1153 }
1154
1155 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1156 {
1157 newValue += 0.25;
1158 }
1159
1160 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1161 {
1162 newValue += 0.25;
1163 }
1164
1165 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1166 {
1167 newValue += 0.25;
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_cargo1":
1186 return "DoorsCargo1";
1187 case "doors_cargo2":
1188 return "DoorsCargo2";
1189 case "doors_hood":
1190 return "DoorsHood";
1191 case "doors_trunk":
1192 return "DoorsTrunk";
1193 }
1194
1195 return "";
1196 }
1197
1198 override bool IsVitalGlowPlug()
1199 {
1200 return false;
1201 }
1202
1203 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1204 {
1205 switch (currentSeat)
1206 {
1207 case 0:
1208 return nextSeat == 1;
1209
1210 case 1:
1211 return nextSeat == 0;
1212
1213 case 2:
1214 return nextSeat == 3;
1215
1216 case 3:
1217 return nextSeat == 2;
1218 }
1219
1220 return false;
1221 }
1222
1223 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1224 {
1225 switch (pCurrentSeat)
1226 {
1227 case 0:
1228 return pDoorsSelection == "DoorsDriver";
1229
1230 case 1:
1231 return pDoorsSelection == "DoorsCoDriver";
1232
1233 case 2:
1234 return pDoorsSelection == "DoorsCargo1";
1235
1236 case 3:
1237 return pDoorsSelection == "DoorsCargo2";
1238 }
1239
1240 return false;
1241 }
1242
1243 override void OnDebugSpawn()
1244 {
1246 SpawnAdditionalItems();
1247 FillUpCarFluids();
1248
1249 GameInventory inventory = GetInventory();
1250 inventory.CreateInInventory("Sedan_02_Wheel");
1251 inventory.CreateInInventory("Sedan_02_Wheel");
1252 inventory.CreateInInventory("Sedan_02_Wheel");
1253 inventory.CreateInInventory("Sedan_02_Wheel");
1254 inventory.CreateInInventory("Sedan_02_Wheel");
1255
1256 inventory.CreateInInventory("Sedan_02_Door_1_1");
1257 inventory.CreateInInventory("Sedan_02_Door_1_2");
1258 inventory.CreateInInventory("Sedan_02_Door_2_1");
1259 inventory.CreateInInventory("Sedan_02_Door_2_2");
1260 inventory.CreateInInventory("Sedan_02_Hood");
1261 inventory.CreateInInventory("Sedan_02_Trunk");
1262
1263 //-----IN CAR CARGO
1264 inventory.CreateInInventory("Sedan_02_Wheel");
1265 inventory.CreateInInventory("Sedan_02_Wheel");
1266 }
1267}
1268
1269class Sedan_02_Red : Sedan_02
1270{
1271 override void OnDebugSpawn()
1272 {
1274 SpawnAdditionalItems();
1275 FillUpCarFluids();
1276
1277 GameInventory inventory = GetInventory();
1278 inventory.CreateInInventory("Sedan_02_Wheel");
1279 inventory.CreateInInventory("Sedan_02_Wheel");
1280 inventory.CreateInInventory("Sedan_02_Wheel");
1281 inventory.CreateInInventory("Sedan_02_Wheel");
1282
1283 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1284 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1285 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1286 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1287 inventory.CreateInInventory("Sedan_02_Hood_Red");
1288 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1289
1290 //-----IN CAR CARGO
1291 inventory.CreateInInventory("Sedan_02_Wheel");
1292 inventory.CreateInInventory("Sedan_02_Wheel");
1293 }
1294}
1295
1296class Sedan_02_Grey : Sedan_02
1297{
1298 override void OnDebugSpawn()
1299 {
1301 SpawnAdditionalItems();
1302 FillUpCarFluids();
1303
1304 GameInventory inventory = GetInventory();
1305 inventory.CreateInInventory("Sedan_02_Wheel");
1306 inventory.CreateInInventory("Sedan_02_Wheel");
1307 inventory.CreateInInventory("Sedan_02_Wheel");
1308 inventory.CreateInInventory("Sedan_02_Wheel");
1309
1310 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1311 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1312 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1313 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1314 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1315 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1316
1317 //-----IN CAR CARGO
1318 inventory.CreateInInventory("Sedan_02_Wheel");
1319 inventory.CreateInInventory("Sedan_02_Wheel");
1320 }
1321}
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
Sedan_02LightProfileFront VehicleLightProfileFront Sedan_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void ~Sedan_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
Sedan_02 CarScript OnDebugSpawn()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
void Sedan_02()
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()
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.