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

◆ IsVitalTruckBattery()

override bool OnDebugSpawn::IsVitalTruckBattery ( )
protected

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

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