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

◆ IsVitalTruckBattery()

override bool OnDebugSpawn::IsVitalTruckBattery ( )
protected

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

807{
811
812 void Sedan_02()
813 {
814 m_dmgContactCoef = 0.0790;
815
816 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
817 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
818 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
819 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
820 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
821 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
822
823 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
824 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
825
826 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
827 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
828
829 SetEnginePos("0 0.7 -1.7");
830 }
831
832 void ~Sedan_02()
833 {
834 m_UTSource = null;
835 m_UTSSettings = null;
836 m_UTSLEngine = null;
837 }
838
839 override void EEInit()
840 {
841 super.EEInit();
842
843 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
844 {
846 m_UTSSettings.m_ManualUpdate = true;
848 m_UTSSettings.m_TemperatureCap = 0;
849 m_UTSSettings.m_RangeFull = 0.5;
850 m_UTSSettings.m_RangeMax = 2;
851
854 }
855 }
856
857 override void OnEngineStart()
858 {
859 super.OnEngineStart();
860
861 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
862 {
863 if (m_UTSource)
864 m_UTSource.SetDefferedActive(true, 20.0);
865 }
866 }
867
868 override void OnEngineStop()
869 {
870 super.OnEngineStop();
871
872 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
873 {
874 if (m_UTSource)
875 m_UTSource.SetDefferedActive(false, 10.0);
876 }
877 }
878
879 override void EOnPostSimulate(IEntity other, float timeSlice)
880 {
881 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
882 {
883 if (m_UTSource && m_UTSource.IsActive())
884 {
886 }
887 }
888 }
889
890 override int GetAnimInstance()
891 {
892 return VehicleAnimInstances.S120;
893 }
894
895 override int GetSeatAnimationType(int posIdx)
896 {
897 switch (posIdx)
898 {
899 case 0:
900 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
901 case 1:
902 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
903 case 2:
904 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
905 case 3:
906 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
907 }
908
909 return 0;
910 }
911
912 // Override for car-specific light type
914 {
915 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
916 }
917
918 // Override for car-specific light type
920 {
921 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
922 }
923
924 override bool CanReleaseAttachment( EntityAI attachment )
925 {
926 if (!super.CanReleaseAttachment(attachment))
927 {
928 return false;
929 }
930
931 string attType = attachment.GetType();
932 switch (attType)
933 {
934 case "CarBattery":
935 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
936 {
937 return false;
938 }
939 break;
940
941 case "SparkPlug":
942 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
943 {
944 return false;
945 }
946 break;
947
948 case "CarRadiator":
949 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
950 {
951 return false;
952 }
953 break;
954 }
955
956 return true;
957 }
958
959 override protected bool CanManipulateSpareWheel(string slotSelectionName)
960 {
961 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
962 }
963
964 override bool CanDisplayAttachmentCategory(string category_name)
965 {
966 if ( !super.CanDisplayAttachmentCategory(category_name))
967 {
968 return false;
969 }
970
971 category_name.ToLower();
972 if (category_name.Contains("engine"))
973 {
974 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
975 {
976 return false;
977 }
978 }
979
980 if (category_name.Contains("trunk"))
981 {
982 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
983 {
984 return false;
985 }
986 }
987
988 return true;
989 }
990
991 override bool CanDisplayCargo()
992 {
993 if ( !super.CanDisplayCargo() )
994 return false;
995
996 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
997 return false;
998
999 return true;
1000 }
1001
1002 override int GetCarDoorsState(string slotType)
1003 {
1004 CarDoor carDoor;
1005
1006 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1007 if (!carDoor)
1008 {
1009 return CarDoorState.DOORS_MISSING;
1010 }
1011
1012 switch (slotType)
1013 {
1014 case "Sedan_02_Door_1_1":
1015 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1016
1017 case "Sedan_02_Door_2_1":
1018 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1019
1020 case "Sedan_02_Door_1_2":
1021 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1022
1023 case "Sedan_02_Door_2_2":
1024 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1025
1026 case "Sedan_02_Hood":
1027 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1028
1029 case "Sedan_02_Trunk":
1030 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1031 }
1032
1033 return CarDoorState.DOORS_MISSING;
1034 }
1035
1036
1037 override bool CrewCanGetThrough( int posIdx )
1038 {
1039 switch( posIdx )
1040 {
1041 case 0:
1042 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1043 return false;
1044
1045 return true;
1046 break;
1047
1048 case 1:
1049 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1050 return false;
1051
1052 return true;
1053 break;
1054
1055 case 2:
1056 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1057 return false;
1058
1059 return true;
1060 break;
1061
1062 case 3:
1063 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1064 return false;
1065
1066 return true;
1067 break;
1068 }
1069
1070 return false;
1071 }
1072
1073 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1074 {
1075 switch( posIdx )
1076 {
1077 case 0:
1078 return "doors_driver";
1079 break;
1080 case 1:
1081 return "doors_codriver";
1082 break;
1083 case 2:
1084 return "doors_cargo1";
1085 break;
1086 case 3:
1087 return "doors_cargo2";
1088 break;
1089 }
1090
1091 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1092 }
1093
1094 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1095 {
1096 switch( posIdx )
1097 {
1098 case 0:
1099 return "Sedan_02_Door_1_1";
1100 break;
1101 case 1:
1102 return "Sedan_02_Door_2_1";
1103 break;
1104 case 2:
1105 return "Sedan_02_Door_1_2";
1106 break;
1107 case 3:
1108 return "Sedan_02_Door_2_2";
1109 break;
1110 }
1111
1112 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1113 }
1114
1115 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1116 {
1117 switch ( ctrl )
1118 {
1119 case CarSoundCtrl.DOORS:
1120 float newValue = 0;
1121 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1122 {
1123 newValue += 0.25;
1124 }
1125
1126 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1127 {
1128 newValue += 0.25;
1129 }
1130
1131 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1132 {
1133 newValue += 0.25;
1134 }
1135
1136 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1137 {
1138 newValue += 0.25;
1139 }
1140
1141 return Math.Clamp(newValue, 0, 1);
1142 break;
1143 }
1144
1145 return super.OnSound(ctrl, oldValue);
1146 }
1147
1148 override string GetAnimSourceFromSelection( string selection )
1149 {
1150 switch( selection )
1151 {
1152 case "doors_driver":
1153 return "DoorsDriver";
1154 case "doors_codriver":
1155 return "DoorsCoDriver";
1156 case "doors_cargo1":
1157 return "DoorsCargo1";
1158 case "doors_cargo2":
1159 return "DoorsCargo2";
1160 case "doors_hood":
1161 return "DoorsHood";
1162 case "doors_trunk":
1163 return "DoorsTrunk";
1164 }
1165
1166 return "";
1167 }
1168
1169
1170 override bool IsVitalTruckBattery()
1171 {
1172 return false;
1173 }
1174
1175 override bool IsVitalGlowPlug()
1176 {
1177 return false;
1178 }
1179
1180 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1181 {
1182 switch (currentSeat)
1183 {
1184 case 0:
1185 return nextSeat == 1;
1186
1187 case 1:
1188 return nextSeat == 0;
1189
1190 case 2:
1191 return nextSeat == 3;
1192
1193 case 3:
1194 return nextSeat == 2;
1195 }
1196
1197 return false;
1198 }
1199
1200 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1201 {
1202 switch (pCurrentSeat)
1203 {
1204 case 0:
1205 return pDoorsSelection == "DoorsDriver";
1206
1207 case 1:
1208 return pDoorsSelection == "DoorsCoDriver";
1209
1210 case 2:
1211 return pDoorsSelection == "DoorsCargo1";
1212
1213 case 3:
1214 return pDoorsSelection == "DoorsCargo2";
1215 }
1216
1217 return false;
1218 }
1219
1220 override void OnDebugSpawn()
1221 {
1222 SpawnUniversalParts();
1223 SpawnAdditionalItems();
1224 FillUpCarFluids();
1225
1226 GameInventory inventory = GetInventory();
1227 inventory.CreateInInventory("Sedan_02_Wheel");
1228 inventory.CreateInInventory("Sedan_02_Wheel");
1229 inventory.CreateInInventory("Sedan_02_Wheel");
1230 inventory.CreateInInventory("Sedan_02_Wheel");
1231 inventory.CreateInInventory("Sedan_02_Wheel");
1232
1233 inventory.CreateInInventory("Sedan_02_Door_1_1");
1234 inventory.CreateInInventory("Sedan_02_Door_1_2");
1235 inventory.CreateInInventory("Sedan_02_Door_2_1");
1236 inventory.CreateInInventory("Sedan_02_Door_2_2");
1237 inventory.CreateInInventory("Sedan_02_Hood");
1238 inventory.CreateInInventory("Sedan_02_Trunk");
1239
1240 //-----IN CAR CARGO
1241 inventory.CreateInInventory("Sedan_02_Wheel");
1242 inventory.CreateInInventory("Sedan_02_Wheel");
1243 }
1244}
1245
1246class Sedan_02_Red extends Sedan_02
1247{
1248 override void OnDebugSpawn()
1249 {
1250 SpawnUniversalParts();
1251 SpawnAdditionalItems();
1252 FillUpCarFluids();
1253
1254 GameInventory inventory = GetInventory();
1255 inventory.CreateInInventory("Sedan_02_Wheel");
1256 inventory.CreateInInventory("Sedan_02_Wheel");
1257 inventory.CreateInInventory("Sedan_02_Wheel");
1258 inventory.CreateInInventory("Sedan_02_Wheel");
1259
1260 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1261 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1262 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1263 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1264 inventory.CreateInInventory("Sedan_02_Hood_Red");
1265 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1266
1267 //-----IN CAR CARGO
1268 inventory.CreateInInventory("Sedan_02_Wheel");
1269 inventory.CreateInInventory("Sedan_02_Wheel");
1270 }
1271}
1272
1273class Sedan_02_Grey extends Sedan_02
1274{
1275 override void OnDebugSpawn()
1276 {
1277 SpawnUniversalParts();
1278 SpawnAdditionalItems();
1279 FillUpCarFluids();
1280
1281 GameInventory inventory = GetInventory();
1282 inventory.CreateInInventory("Sedan_02_Wheel");
1283 inventory.CreateInInventory("Sedan_02_Wheel");
1284 inventory.CreateInInventory("Sedan_02_Wheel");
1285 inventory.CreateInInventory("Sedan_02_Wheel");
1286
1287 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1288 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1289 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1290 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1291 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1292 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1293
1294 //-----IN CAR CARGO
1295 inventory.CreateInInventory("Sedan_02_Wheel");
1296 inventory.CreateInInventory("Sedan_02_Wheel");
1297 }
1298}
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 bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:816
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:443
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:784
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:531
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:751
void ~Sedan_02()
Определения Sedan_02.c:468
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:730
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:515
override void OnEngineStop()
Определения Sedan_02.c:504
override void EEInit()
Определения Sedan_02.c:475
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:560
override bool CanDisplayCargo()
Определения Sedan_02.c:627
override void OnEngineStart()
Определения Sedan_02.c:493
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:549
override int GetAnimInstance()
Определения Sedan_02.c:526
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:836
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:595
override bool IsVitalGlowPlug()
Определения Sedan_02.c:811
void Sedan_02()
Определения Sedan_02.c:448
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:555
override bool IsVitalTruckBattery()
Определения Sedan_02.c:806
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:638
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:600
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()
Определения Sedan_02.c:470
Определения Sedan_02.c:469
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
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.