764{
768
770 {
771
772
773 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
774 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
775 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
776 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
777 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
778 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
779
780 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
781 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
782
783 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
784 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
785
786 SetEnginePos("0 0.7 1.4");
787 }
788
790 {
791 super.EEInit();
792
794 {
801
804 }
805 }
806
808 {
809 super.OnEngineStart();
810
812 {
814 }
815 }
816
818 {
819 super.OnEngineStop();
820
822 {
824 }
825 }
826
828 {
830 {
832 {
834 }
835 }
836 }
837
839 {
841 }
842
844 {
845 switch (posIdx)
846 {
847 case 0:
849 case 1:
851 case 2:
853 case 3:
855 }
856
857 return 0;
858 }
859
860
862 {
864 }
865
866
868 {
870 }
871
873 {
874 if (!super.CanReleaseAttachment(attachment))
875 {
876 return false;
877 }
878
880 {
881 string attType = attachment.GetType();
882 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
883 {
884 return false;
885 }
886 }
887
888 return true;
889 }
890
892 {
894 }
895
897 {
898
899 if ( !super.CanDisplayAttachmentCategory( category_name ) )
900 return false;
901
902
904 if ( category_name.
Contains(
"engine") )
905 {
907 return false;
908 }
909
910 return true;
911 }
912
914 {
915 if ( !super.CanDisplayCargo() )
916 return false;
917
919 return false;
920
921 return true;
922 }
923
925 {
927
928 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
929 if (!carDoor)
930 {
932 }
933
934 switch (slotType)
935 {
936 case "Hatchback_02_Door_1_1":
937 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
938
939 case "Hatchback_02_Door_2_1":
940 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
941
942 case "Hatchback_02_Door_1_2":
943 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
944
945 case "Hatchback_02_Door_2_2":
946 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
947
948 case "Hatchback_02_Hood":
949 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
950
951 case "Hatchback_02_Trunk":
952 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
953 }
954
956 }
957
958
960 {
961 switch (posIdx)
962 {
963 case 0:
965 {
966 return false;
967 }
968
969 return true;
970
971 case 1:
973 {
974 return false;
975 }
976
977 return true;
978
979 case 2:
981 {
982 return false;
983 }
984
985 return true;
986
987 case 3:
989 {
990 return false;
991 }
992
993 return true;
994 }
995
996 return false;
997 }
998
1000 {
1001 switch( posIdx )
1002 {
1003 case 0:
1004 return "doors_driver";
1005 break;
1006 case 1:
1007 return "doors_codriver";
1008 break;
1009 case 2:
1010 return "doors_cargo1";
1011 break;
1012 case 3:
1013 return "doors_cargo2";
1014 break;
1015 }
1016
1017 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1018 }
1019
1021 {
1022 switch( posIdx )
1023 {
1024 case 0:
1025 return "Hatchback_02_Door_1_1";
1026 break;
1027 case 1:
1028 return "Hatchback_02_Door_2_1";
1029 break;
1030 case 2:
1031 return "Hatchback_02_Door_1_2";
1032 break;
1033 case 3:
1034 return "Hatchback_02_Door_2_2";
1035 break;
1036 }
1037
1038 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1039 }
1040
1042 {
1043 switch (ctrl)
1044 {
1046 float newValue = 0;
1048 {
1049 newValue += 0.25;
1050 }
1051
1053 {
1054 newValue += 0.25;
1055 }
1056
1058 {
1059 newValue += 0.25;
1060 }
1061
1063 {
1064 newValue += 0.25;
1065 }
1066
1068 break;
1069 }
1070
1071 return super.OnSound(ctrl, oldValue);
1072 }
1073
1075 {
1076 switch( selection )
1077 {
1078 case "doors_driver":
1079 return "DoorsDriver";
1080 case "doors_codriver":
1081 return "DoorsCoDriver";
1082 case "doors_cargo1":
1083 return "DoorsCargo1";
1084 case "doors_cargo2":
1085 return "DoorsCargo2";
1086 case "doors_hood":
1087 return "DoorsHood";
1088 case "doors_trunk":
1089 return "DoorsTrunk";
1090 }
1091
1092 return "";
1093 }
1094
1095
1097 {
1098 return false;
1099 }
1100
1102 {
1103 return false;
1104 }
1105
1107 {
1108 switch (currentSeat)
1109 {
1110 case 0:
1111 return nextSeat == 1;
1112 case 1:
1113 return nextSeat == 0;
1114 case 2:
1115 return nextSeat == 3;
1116 case 3:
1117 return nextSeat == 2;
1118 }
1119
1120 return false;
1121 }
1122
1124 {
1125 switch (pCurrentSeat)
1126 {
1127 case 0:
1128 return pDoorsSelection == "DoorsDriver";
1129 case 1:
1130 return pDoorsSelection == "DoorsCoDriver";
1131 case 2:
1132 return pDoorsSelection == "DoorsCargo1";
1133 case 3:
1134 return pDoorsSelection == "DoorsCargo2";
1135 }
1136
1137 return false;
1138 }
1139
1141 {
1142 SpawnUniversalParts();
1143 SpawnAdditionalItems();
1144 FillUpCarFluids();
1145
1146 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1147 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1148 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1149 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1150
1151 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1152 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1153 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1154 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1155 GetInventory().CreateInInventory("Hatchback_02_Hood");
1156 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1157
1158
1159 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1160 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1161 }
1162}
1163
1165{
1167 {
1168 SpawnUniversalParts();
1169 SpawnAdditionalItems();
1170 FillUpCarFluids();
1171
1172 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1173 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1174 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1175 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1176
1177 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1178 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1179 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1180 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1181 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1182 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1183
1184
1185 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1186 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1187 }
1188};
1189
1191{
1193 {
1194 SpawnUniversalParts();
1195 SpawnAdditionalItems();
1196 FillUpCarFluids();
1197
1198 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1199 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1200 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1201 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1202
1203 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1204 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1205 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1206 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1207 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1208 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1209
1210
1211 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1212 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1213 }
1214}
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.