737{
741
743 {
744
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
763 {
764 super.EEInit();
765
767 {
774
777 }
778 }
779
781 {
782 super.OnEngineStart();
783
785 {
787 }
788 }
789
791 {
792 super.OnEngineStop();
793
795 {
797 }
798 }
799
801 {
803 {
805 {
807 }
808 }
809 }
810
812 {
814 }
815
817 {
818 switch (posIdx)
819 {
820 case 0:
822 case 1:
824 case 2:
826 case 3:
828 }
829
830 return 0;
831 }
832
833
835 {
837 }
838
839
841 {
843 }
844
846 {
847 if (!super.CanReleaseAttachment(attachment))
848 {
849 return false;
850 }
851
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
865 {
867 }
868
870 {
871
872 if ( !super.CanDisplayAttachmentCategory( category_name ) )
873 return false;
874
875
877 if ( category_name.
Contains(
"engine") )
878 {
880 return false;
881 }
882
883 return true;
884 }
885
887 {
888 if ( !super.CanDisplayCargo() )
889 return false;
890
892 return false;
893
894 return true;
895 }
896
898 {
900
901 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
902 if (!carDoor)
903 {
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
929 }
930
931
933 {
934 switch (posIdx)
935 {
936 case 0:
938 {
939 return false;
940 }
941
942 return true;
943
944 case 1:
946 {
947 return false;
948 }
949
950 return true;
951
952 case 2:
954 {
955 return false;
956 }
957
958 return true;
959
960 case 3:
962 {
963 return false;
964 }
965
966 return true;
967 }
968
969 return false;
970 }
971
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
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
1015 {
1016 switch (ctrl)
1017 {
1019 float newValue = 0;
1021 {
1022 newValue += 0.25;
1023 }
1024
1026 {
1027 newValue += 0.25;
1028 }
1029
1031 {
1032 newValue += 0.25;
1033 }
1034
1036 {
1037 newValue += 0.25;
1038 }
1039
1041 break;
1042 }
1043
1044 return super.OnSound(ctrl, oldValue);
1045 }
1046
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
1070 {
1071 return false;
1072 }
1073
1075 {
1076 return false;
1077 }
1078
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
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
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
1132 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1133 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1134 }
1135}
1136
1138{
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
1158 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1159 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1160 }
1161};
1162
1164{
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
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)
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.