747{
751
753 {
754
755
756 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
757 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
758 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
759 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
760 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
761 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
762
763 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
764 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
765
766 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
767 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
768
769 SetEnginePos("0 0.7 1.4");
770 }
771
773 {
774 super.EEInit();
775
777 {
784
787 }
788 }
789
791 {
792 super.OnEngineStart();
793
795 {
797 }
798 }
799
801 {
802 super.OnEngineStop();
803
805 {
807 }
808 }
809
811 {
813 {
815 {
817 }
818 }
819 }
820
822 {
824 }
825
827 {
828 switch (posIdx)
829 {
830 case 0:
832 case 1:
834 case 2:
836 case 3:
838 }
839
840 return 0;
841 }
842
843
845 {
847 }
848
849
851 {
853 }
854
856 {
857 if (!super.CanReleaseAttachment(attachment))
858 {
859 return false;
860 }
861
863 {
864 string attType = attachment.GetType();
865 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
866 {
867 return false;
868 }
869 }
870
871 return true;
872 }
873
875 {
877 }
878
880 {
881
882 if ( !super.CanDisplayAttachmentCategory( category_name ) )
883 return false;
884
885
887 if ( category_name.
Contains(
"engine") )
888 {
890 return false;
891 }
892
893 return true;
894 }
895
897 {
898 if ( !super.CanDisplayCargo() )
899 return false;
900
902 return false;
903
904 return true;
905 }
906
908 {
910
911 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
912 if (!carDoor)
913 {
915 }
916
917 switch (slotType)
918 {
919 case "Hatchback_02_Door_1_1":
920 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
921
922 case "Hatchback_02_Door_2_1":
923 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
924
925 case "Hatchback_02_Door_1_2":
926 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
927
928 case "Hatchback_02_Door_2_2":
929 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
930
931 case "Hatchback_02_Hood":
932 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
933
934 case "Hatchback_02_Trunk":
935 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
936 }
937
939 }
940
941
943 {
944 switch (posIdx)
945 {
946 case 0:
948 {
949 return false;
950 }
951
952 return true;
953
954 case 1:
956 {
957 return false;
958 }
959
960 return true;
961
962 case 2:
964 {
965 return false;
966 }
967
968 return true;
969
970 case 3:
972 {
973 return false;
974 }
975
976 return true;
977 }
978
979 return false;
980 }
981
983 {
984 switch( posIdx )
985 {
986 case 0:
987 return "doors_driver";
988 break;
989 case 1:
990 return "doors_codriver";
991 break;
992 case 2:
993 return "doors_cargo1";
994 break;
995 case 3:
996 return "doors_cargo2";
997 break;
998 }
999
1000 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1001 }
1002
1004 {
1005 switch( posIdx )
1006 {
1007 case 0:
1008 return "Hatchback_02_Door_1_1";
1009 break;
1010 case 1:
1011 return "Hatchback_02_Door_2_1";
1012 break;
1013 case 2:
1014 return "Hatchback_02_Door_1_2";
1015 break;
1016 case 3:
1017 return "Hatchback_02_Door_2_2";
1018 break;
1019 }
1020
1021 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1022 }
1023
1025 {
1026 switch (ctrl)
1027 {
1029 float newValue = 0;
1031 {
1032 newValue += 0.25;
1033 }
1034
1036 {
1037 newValue += 0.25;
1038 }
1039
1041 {
1042 newValue += 0.25;
1043 }
1044
1046 {
1047 newValue += 0.25;
1048 }
1049
1051 break;
1052 }
1053
1054 return super.OnSound(ctrl, oldValue);
1055 }
1056
1058 {
1059 switch( selection )
1060 {
1061 case "doors_driver":
1062 return "DoorsDriver";
1063 case "doors_codriver":
1064 return "DoorsCoDriver";
1065 case "doors_cargo1":
1066 return "DoorsCargo1";
1067 case "doors_cargo2":
1068 return "DoorsCargo2";
1069 case "doors_hood":
1070 return "DoorsHood";
1071 case "doors_trunk":
1072 return "DoorsTrunk";
1073 }
1074
1075 return "";
1076 }
1077
1078
1080 {
1081 return false;
1082 }
1083
1085 {
1086 return false;
1087 }
1088
1090 {
1091 switch (currentSeat)
1092 {
1093 case 0:
1094 return nextSeat == 1;
1095 case 1:
1096 return nextSeat == 0;
1097 case 2:
1098 return nextSeat == 3;
1099 case 3:
1100 return nextSeat == 2;
1101 }
1102
1103 return false;
1104 }
1105
1107 {
1108 switch (pCurrentSeat)
1109 {
1110 case 0:
1111 return pDoorsSelection == "DoorsDriver";
1112 case 1:
1113 return pDoorsSelection == "DoorsCoDriver";
1114 case 2:
1115 return pDoorsSelection == "DoorsCargo1";
1116 case 3:
1117 return pDoorsSelection == "DoorsCargo2";
1118 }
1119
1120 return false;
1121 }
1122
1124 {
1125 SpawnUniversalParts();
1126 SpawnAdditionalItems();
1127 FillUpCarFluids();
1128
1129 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1130 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1131 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1132 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1133
1134 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1135 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1136 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1137 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1138 GetInventory().CreateInInventory("Hatchback_02_Hood");
1139 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1140
1141
1142 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1143 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1144 }
1145}
1146
1148{
1150 {
1151 SpawnUniversalParts();
1152 SpawnAdditionalItems();
1153 FillUpCarFluids();
1154
1155 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1156 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1157 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1158 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1159
1160 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1161 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1162 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1163 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1164 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1165 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1166
1167
1168 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1169 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1170 }
1171};
1172
1174{
1176 {
1177 SpawnUniversalParts();
1178 SpawnAdditionalItems();
1179 FillUpCarFluids();
1180
1181 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1182 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1183 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1184 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1185
1186 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1187 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1188 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1189 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1190 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1191 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1192
1193
1194 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1195 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1196 }
1197}
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.