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

◆ IsVitalTruckBattery()

override bool OnDebugSpawn::IsVitalTruckBattery ( )
protected

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

737{
741
742 void Hatchback_02()
743 {
744 //m_dmgContactCoef = 0.070;
745
746 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
747 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
748 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
749 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
750 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
751 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
752
753 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
754 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
755
756 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
757 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
758
759 SetEnginePos("0 0.7 1.4");
760 }
761
762 override void EEInit()
763 {
764 super.EEInit();
765
766 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
767 {
769 m_UTSSettings.m_ManualUpdate = true;
771 m_UTSSettings.m_TemperatureCap = 0;
772 m_UTSSettings.m_RangeFull = 0.5;
773 m_UTSSettings.m_RangeMax = 2;
774
777 }
778 }
779
780 override void OnEngineStart()
781 {
782 super.OnEngineStart();
783
784 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
785 {
786 m_UTSource.SetDefferedActive(true, 20.0);
787 }
788 }
789
790 override void OnEngineStop()
791 {
792 super.OnEngineStop();
793
794 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
795 {
796 m_UTSource.SetDefferedActive(false, 10.0);
797 }
798 }
799
800 override void EOnPostSimulate(IEntity other, float timeSlice)
801 {
802 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
803 {
804 if (m_UTSource.IsActive())
805 {
807 }
808 }
809 }
810
811 override int GetAnimInstance()
812 {
813 return VehicleAnimInstances.GOLF;
814 }
815
816 override int GetSeatAnimationType(int posIdx)
817 {
818 switch (posIdx)
819 {
820 case 0:
821 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
822 case 1:
823 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
824 case 2:
825 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
826 case 3:
827 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
828 }
829
830 return 0;
831 }
832
833 // Override for car-specific light type
835 {
836 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
837 }
838
839 // Override for car-specific light type
841 {
842 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
843 }
844
845 override bool CanReleaseAttachment(EntityAI attachment)
846 {
847 if (!super.CanReleaseAttachment(attachment))
848 {
849 return false;
850 }
851
852 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
853 {
854 string attType = attachment.GetType();
855 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
856 {
857 return false;
858 }
859 }
860
861 return true;
862 }
863
864 override protected bool CanManipulateSpareWheel(string slotSelectionName)
865 {
866 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
867 }
868
869 override bool CanDisplayAttachmentCategory( string category_name )
870 {
871 //super
872 if ( !super.CanDisplayAttachmentCategory( category_name ) )
873 return false;
874 //
875
876 category_name.ToLower();
877 if ( category_name.Contains("engine") )
878 {
879 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
880 return false;
881 }
882
883 return true;
884 }
885
886 override bool CanDisplayCargo()
887 {
888 if ( !super.CanDisplayCargo() )
889 return false;
890
891 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
892 return false;
893
894 return true;
895 }
896
897 override int GetCarDoorsState(string slotType)
898 {
899 CarDoor carDoor;
900
901 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
902 if (!carDoor)
903 {
904 return CarDoorState.DOORS_MISSING;
905 }
906
907 switch (slotType)
908 {
909 case "Hatchback_02_Door_1_1":
910 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
911
912 case "Hatchback_02_Door_2_1":
913 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
914
915 case "Hatchback_02_Door_1_2":
916 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
917
918 case "Hatchback_02_Door_2_2":
919 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
920
921 case "Hatchback_02_Hood":
922 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
923
924 case "Hatchback_02_Trunk":
925 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
926 }
927
928 return CarDoorState.DOORS_MISSING;
929 }
930
931
932 override bool CrewCanGetThrough(int posIdx)
933 {
934 switch (posIdx)
935 {
936 case 0:
937 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
938 {
939 return false;
940 }
941
942 return true;
943
944 case 1:
945 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
946 {
947 return false;
948 }
949
950 return true;
951
952 case 2:
953 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
954 {
955 return false;
956 }
957
958 return true;
959
960 case 3:
961 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
962 {
963 return false;
964 }
965
966 return true;
967 }
968
969 return false;
970 }
971
972 override string GetDoorSelectionNameFromSeatPos(int posIdx)
973 {
974 switch( posIdx )
975 {
976 case 0:
977 return "doors_driver";
978 break;
979 case 1:
980 return "doors_codriver";
981 break;
982 case 2:
983 return "doors_cargo1";
984 break;
985 case 3:
986 return "doors_cargo2";
987 break;
988 }
989
990 return super.GetDoorSelectionNameFromSeatPos(posIdx);
991 }
992
993 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
994 {
995 switch( posIdx )
996 {
997 case 0:
998 return "Hatchback_02_Door_1_1";
999 break;
1000 case 1:
1001 return "Hatchback_02_Door_2_1";
1002 break;
1003 case 2:
1004 return "Hatchback_02_Door_1_2";
1005 break;
1006 case 3:
1007 return "Hatchback_02_Door_2_2";
1008 break;
1009 }
1010
1011 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1012 }
1013
1014 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1015 {
1016 switch (ctrl)
1017 {
1018 case CarSoundCtrl.DOORS:
1019 float newValue = 0;
1020 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1021 {
1022 newValue += 0.25;
1023 }
1024
1025 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1026 {
1027 newValue += 0.25;
1028 }
1029
1030 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1031 {
1032 newValue += 0.25;
1033 }
1034
1035 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1036 {
1037 newValue += 0.25;
1038 }
1039
1040 return Math.Clamp(newValue, 0, 1);
1041 break;
1042 }
1043
1044 return super.OnSound(ctrl, oldValue);
1045 }
1046
1047 override string GetAnimSourceFromSelection( string selection )
1048 {
1049 switch( selection )
1050 {
1051 case "doors_driver":
1052 return "DoorsDriver";
1053 case "doors_codriver":
1054 return "DoorsCoDriver";
1055 case "doors_cargo1":
1056 return "DoorsCargo1";
1057 case "doors_cargo2":
1058 return "DoorsCargo2";
1059 case "doors_hood":
1060 return "DoorsHood";
1061 case "doors_trunk":
1062 return "DoorsTrunk";
1063 }
1064
1065 return "";
1066 }
1067
1068
1069 override bool IsVitalTruckBattery()
1070 {
1071 return false;
1072 }
1073
1074 override bool IsVitalGlowPlug()
1075 {
1076 return false;
1077 }
1078
1079 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1080 {
1081 switch (currentSeat)
1082 {
1083 case 0:
1084 return nextSeat == 1;
1085 case 1:
1086 return nextSeat == 0;
1087 case 2:
1088 return nextSeat == 3;
1089 case 3:
1090 return nextSeat == 2;
1091 }
1092
1093 return false;
1094 }
1095
1096 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1097 {
1098 switch (pCurrentSeat)
1099 {
1100 case 0:
1101 return pDoorsSelection == "DoorsDriver";
1102 case 1:
1103 return pDoorsSelection == "DoorsCoDriver";
1104 case 2:
1105 return pDoorsSelection == "DoorsCargo1";
1106 case 3:
1107 return pDoorsSelection == "DoorsCargo2";
1108 }
1109
1110 return false;
1111 }
1112
1113 override void OnDebugSpawn()
1114 {
1115 SpawnUniversalParts();
1116 SpawnAdditionalItems();
1117 FillUpCarFluids();
1118
1119 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1120 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1121 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1122 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1123
1124 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1125 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1126 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1127 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1128 GetInventory().CreateInInventory("Hatchback_02_Hood");
1129 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1130
1131 //-----IN CAR CARGO
1132 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1133 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1134 }
1135}
1136
1137class Hatchback_02_Black extends Hatchback_02
1138{
1139 override void OnDebugSpawn()
1140 {
1141 SpawnUniversalParts();
1142 SpawnAdditionalItems();
1143 FillUpCarFluids();
1144
1145 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1146 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1147 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1148 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1149
1150 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1151 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1152 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1153 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1154 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1155 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1156
1157 //-----IN CAR CARGO
1158 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1159 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1160 }
1161};
1162
1163class Hatchback_02_Blue extends Hatchback_02
1164{
1165 override void OnDebugSpawn()
1166 {
1167 SpawnUniversalParts();
1168 SpawnAdditionalItems();
1169 FillUpCarFluids();
1170
1171 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1172 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1173 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1174 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1175
1176 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1177 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1178 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1179 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1180 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1181 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1182
1183 //-----IN CAR CARGO
1184 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1185 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1186 }
1187}
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
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:404
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:746
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:714
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:483
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:681
void Hatchback_02()
Определения Hatchback_02.c:409
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:660
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:467
override void OnEngineStop()
Определения Hatchback_02.c:457
override void EEInit()
Определения Hatchback_02.c:429
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:512
override bool CanDisplayCargo()
Определения Hatchback_02.c:553
override void OnEngineStart()
Определения Hatchback_02.c:447
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:507
override int GetAnimInstance()
Определения Hatchback_02.c:478
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:599
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:763
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:531
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:741
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:501
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:736
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:639
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:564
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:536
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
override void OnDebugSpawn()
Определения Hatchback_02.c:430
Определения Hatchback_02.c:429
Определения EnEntity.c:165
Определения EnMath.c:7
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.