742{
746
748 {
749
750
751 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
752 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
753 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
754 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
755 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
756 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
757
758 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
759 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
760
761 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
762 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
763
764 SetEnginePos("0 0.7 1.4");
765 }
766
768 {
769 super.EEInit();
770
772 {
779
782 }
783 }
784
786 {
787 super.OnEngineStart();
788
790 {
792 }
793 }
794
796 {
797 super.OnEngineStop();
798
800 {
802 }
803 }
804
806 {
808 {
810 {
812 }
813 }
814 }
815
817 {
819 }
820
822 {
823 switch (posIdx)
824 {
825 case 0:
827 case 1:
829 case 2:
831 case 3:
833 }
834
835 return 0;
836 }
837
838
840 {
842 }
843
844
846 {
848 }
849
851 {
852 if (!super.CanReleaseAttachment(attachment))
853 {
854 return false;
855 }
856
858 {
859 string attType = attachment.GetType();
860 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
861 {
862 return false;
863 }
864 }
865
866 return true;
867 }
868
870 {
872 }
873
875 {
876
877 if ( !super.CanDisplayAttachmentCategory( category_name ) )
878 return false;
879
880
882 if ( category_name.
Contains(
"engine") )
883 {
885 return false;
886 }
887
888 return true;
889 }
890
892 {
893 if ( !super.CanDisplayCargo() )
894 return false;
895
897 return false;
898
899 return true;
900 }
901
903 {
905
906 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
907 if (!carDoor)
908 {
910 }
911
912 switch (slotType)
913 {
914 case "Hatchback_02_Door_1_1":
915 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
916
917 case "Hatchback_02_Door_2_1":
918 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
919
920 case "Hatchback_02_Door_1_2":
921 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
922
923 case "Hatchback_02_Door_2_2":
924 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
925
926 case "Hatchback_02_Hood":
927 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
928
929 case "Hatchback_02_Trunk":
930 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
931 }
932
934 }
935
936
938 {
939 switch (posIdx)
940 {
941 case 0:
943 {
944 return false;
945 }
946
947 return true;
948
949 case 1:
951 {
952 return false;
953 }
954
955 return true;
956
957 case 2:
959 {
960 return false;
961 }
962
963 return true;
964
965 case 3:
967 {
968 return false;
969 }
970
971 return true;
972 }
973
974 return false;
975 }
976
978 {
979 switch( posIdx )
980 {
981 case 0:
982 return "doors_driver";
983 break;
984 case 1:
985 return "doors_codriver";
986 break;
987 case 2:
988 return "doors_cargo1";
989 break;
990 case 3:
991 return "doors_cargo2";
992 break;
993 }
994
995 return super.GetDoorSelectionNameFromSeatPos(posIdx);
996 }
997
999 {
1000 switch( posIdx )
1001 {
1002 case 0:
1003 return "Hatchback_02_Door_1_1";
1004 break;
1005 case 1:
1006 return "Hatchback_02_Door_2_1";
1007 break;
1008 case 2:
1009 return "Hatchback_02_Door_1_2";
1010 break;
1011 case 3:
1012 return "Hatchback_02_Door_2_2";
1013 break;
1014 }
1015
1016 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1017 }
1018
1020 {
1021 switch (ctrl)
1022 {
1024 float newValue = 0;
1026 {
1027 newValue += 0.25;
1028 }
1029
1031 {
1032 newValue += 0.25;
1033 }
1034
1036 {
1037 newValue += 0.25;
1038 }
1039
1041 {
1042 newValue += 0.25;
1043 }
1044
1046 break;
1047 }
1048
1049 return super.OnSound(ctrl, oldValue);
1050 }
1051
1053 {
1054 switch( selection )
1055 {
1056 case "doors_driver":
1057 return "DoorsDriver";
1058 case "doors_codriver":
1059 return "DoorsCoDriver";
1060 case "doors_cargo1":
1061 return "DoorsCargo1";
1062 case "doors_cargo2":
1063 return "DoorsCargo2";
1064 case "doors_hood":
1065 return "DoorsHood";
1066 case "doors_trunk":
1067 return "DoorsTrunk";
1068 }
1069
1070 return "";
1071 }
1072
1073
1075 {
1076 return false;
1077 }
1078
1080 {
1081 return false;
1082 }
1083
1085 {
1086 switch (currentSeat)
1087 {
1088 case 0:
1089 return nextSeat == 1;
1090 case 1:
1091 return nextSeat == 0;
1092 case 2:
1093 return nextSeat == 3;
1094 case 3:
1095 return nextSeat == 2;
1096 }
1097
1098 return false;
1099 }
1100
1102 {
1103 switch (pCurrentSeat)
1104 {
1105 case 0:
1106 return pDoorsSelection == "DoorsDriver";
1107 case 1:
1108 return pDoorsSelection == "DoorsCoDriver";
1109 case 2:
1110 return pDoorsSelection == "DoorsCargo1";
1111 case 3:
1112 return pDoorsSelection == "DoorsCargo2";
1113 }
1114
1115 return false;
1116 }
1117
1119 {
1120 SpawnUniversalParts();
1121 SpawnAdditionalItems();
1122 FillUpCarFluids();
1123
1124 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1125 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1126 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1127 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1128
1129 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1130 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1131 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1132 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1133 GetInventory().CreateInInventory("Hatchback_02_Hood");
1134 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1135
1136
1137 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1138 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1139 }
1140}
1141
1143{
1145 {
1146 SpawnUniversalParts();
1147 SpawnAdditionalItems();
1148 FillUpCarFluids();
1149
1150 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1151 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1152 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1153 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1154
1155 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1156 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1157 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1158 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1159 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1160 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1161
1162
1163 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1164 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1165 }
1166};
1167
1169{
1171 {
1172 SpawnUniversalParts();
1173 SpawnAdditionalItems();
1174 FillUpCarFluids();
1175
1176 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1177 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1178 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1179 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1180
1181 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1182 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1183 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1184 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1185 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1186 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1187
1188
1189 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1190 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1191 }
1192}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
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 bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override void OnEngineStart()
override CarLightBase CreateFrontLight()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override CarRearLightBase CreateRearLight()
override bool IsVitalTruckBattery()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
Super root of all classes in Enforce script.
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
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
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.
proto int ToLower()
Changes string to lowercase. Returns length.