715{
719
721 {
722
723
724 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
725 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
726 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
727 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
728 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
729 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
730
731 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
732 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
733
734 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
735 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
736
737 SetEnginePos("0 0.7 1.4");
738 }
739
741 {
742 super.EEInit();
743
745 {
752
755 }
756 }
757
759 {
760 super.OnEngineStart();
761
763 {
765 }
766 }
767
769 {
770 super.OnEngineStop();
771
773 {
775 }
776 }
777
779 {
781 {
783 {
785 }
786 }
787 }
788
790 {
792 }
793
795 {
796 switch (posIdx)
797 {
798 case 0:
800 case 1:
802 case 2:
804 case 3:
806 }
807
808 return 0;
809 }
810
811
813 {
815 }
816
817
819 {
821 }
822
824 {
825 if (!super.CanReleaseAttachment(attachment))
826 {
827 return false;
828 }
829
831 {
832 string attType = attachment.GetType();
833 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
834 {
835 return false;
836 }
837 }
838
839 return true;
840 }
841
843 {
845 }
846
848 {
849
850 if ( !super.CanDisplayAttachmentCategory( category_name ) )
851 return false;
852
853
855 if ( category_name.
Contains(
"engine") )
856 {
858 return false;
859 }
860
861 return true;
862 }
863
865 {
866 if ( !super.CanDisplayCargo() )
867 return false;
868
870 return false;
871
872 return true;
873 }
874
876 {
878
879 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
880 if (!carDoor)
881 {
883 }
884
885 switch (slotType)
886 {
887 case "Hatchback_02_Door_1_1":
888 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
889
890 case "Hatchback_02_Door_2_1":
891 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
892
893 case "Hatchback_02_Door_1_2":
894 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
895
896 case "Hatchback_02_Door_2_2":
897 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
898
899 case "Hatchback_02_Hood":
900 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
901
902 case "Hatchback_02_Trunk":
903 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
904 }
905
907 }
908
909
911 {
912 switch (posIdx)
913 {
914 case 0:
916 {
917 return false;
918 }
919
920 return true;
921
922 case 1:
924 {
925 return false;
926 }
927
928 return true;
929
930 case 2:
932 {
933 return false;
934 }
935
936 return true;
937
938 case 3:
940 {
941 return false;
942 }
943
944 return true;
945 }
946
947 return false;
948 }
949
951 {
952 switch( posIdx )
953 {
954 case 0:
955 return "doors_driver";
956 break;
957 case 1:
958 return "doors_codriver";
959 break;
960 case 2:
961 return "doors_cargo1";
962 break;
963 case 3:
964 return "doors_cargo2";
965 break;
966 }
967
968 return super.GetDoorSelectionNameFromSeatPos(posIdx);
969 }
970
972 {
973 switch( posIdx )
974 {
975 case 0:
976 return "Hatchback_02_Door_1_1";
977 break;
978 case 1:
979 return "Hatchback_02_Door_2_1";
980 break;
981 case 2:
982 return "Hatchback_02_Door_1_2";
983 break;
984 case 3:
985 return "Hatchback_02_Door_2_2";
986 break;
987 }
988
989 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
990 }
991
993 {
994 switch (ctrl)
995 {
997 float newValue = 0;
999 {
1000 newValue += 0.25;
1001 }
1002
1004 {
1005 newValue += 0.25;
1006 }
1007
1009 {
1010 newValue += 0.25;
1011 }
1012
1014 {
1015 newValue += 0.25;
1016 }
1017
1019 break;
1020 }
1021
1022 return super.OnSound(ctrl, oldValue);
1023 }
1024
1026 {
1027 switch( selection )
1028 {
1029 case "doors_driver":
1030 return "DoorsDriver";
1031 case "doors_codriver":
1032 return "DoorsCoDriver";
1033 case "doors_cargo1":
1034 return "DoorsCargo1";
1035 case "doors_cargo2":
1036 return "DoorsCargo2";
1037 case "doors_hood":
1038 return "DoorsHood";
1039 case "doors_trunk":
1040 return "DoorsTrunk";
1041 }
1042
1043 return "";
1044 }
1045
1046
1048 {
1049 return false;
1050 }
1051
1053 {
1054 return false;
1055 }
1056
1058 {
1059 switch (currentSeat)
1060 {
1061 case 0:
1062 return nextSeat == 1;
1063 case 1:
1064 return nextSeat == 0;
1065 case 2:
1066 return nextSeat == 3;
1067 case 3:
1068 return nextSeat == 2;
1069 }
1070
1071 return false;
1072 }
1073
1075 {
1076 switch (pCurrentSeat)
1077 {
1078 case 0:
1079 return pDoorsSelection == "DoorsDriver";
1080 case 1:
1081 return pDoorsSelection == "DoorsCoDriver";
1082 case 2:
1083 return pDoorsSelection == "DoorsCargo1";
1084 case 3:
1085 return pDoorsSelection == "DoorsCargo2";
1086 }
1087
1088 return false;
1089 }
1090
1092 {
1093 SpawnUniversalParts();
1094 SpawnAdditionalItems();
1095 FillUpCarFluids();
1096
1097 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1098 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1099 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1100 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1101
1102 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1103 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1104 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1105 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1106 GetInventory().CreateInInventory("Hatchback_02_Hood");
1107 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1108
1109
1110 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1111 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1112 }
1113}
1114
1116{
1118 {
1119 SpawnUniversalParts();
1120 SpawnAdditionalItems();
1121 FillUpCarFluids();
1122
1123 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1124 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1125 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1126 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1127
1128 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1129 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1130 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1131 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1132 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1133 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1134
1135
1136 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1137 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1138 }
1139};
1140
1142{
1144 {
1145 SpawnUniversalParts();
1146 SpawnAdditionalItems();
1147 FillUpCarFluids();
1148
1149 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1150 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1151 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1152 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1153
1154 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1155 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1156 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1157 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1158 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1159 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1160
1161
1162 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1163 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1164 }
1165}
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.