682{
686
688 {
689
690
691 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
692 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
693 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
694 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
695 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
696 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
697
698 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
699 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
700
701 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
702 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
703
704 SetEnginePos("0 0.7 1.4");
705 }
706
708 {
709 super.EEInit();
710
712 {
719
722 }
723 }
724
726 {
727 super.OnEngineStart();
728
730 {
732 }
733 }
734
736 {
737 super.OnEngineStop();
738
740 {
742 }
743 }
744
746 {
748 {
750 {
752 }
753 }
754 }
755
757 {
759 }
760
762 {
763 switch (posIdx)
764 {
765 case 0:
767 case 1:
769 case 2:
771 case 3:
773 }
774
775 return 0;
776 }
777
778
780 {
782 }
783
784
786 {
788 }
789
791 {
792 if (!super.CanReleaseAttachment(attachment))
793 {
794 return false;
795 }
796
798 {
799 string attType = attachment.GetType();
800 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
801 {
802 return false;
803 }
804 }
805
806 return true;
807 }
808
810 {
812 }
813
815 {
816
817 if ( !super.CanDisplayAttachmentCategory( category_name ) )
818 return false;
819
820
822 if ( category_name.
Contains(
"engine") )
823 {
825 return false;
826 }
827
828 return true;
829 }
830
832 {
833 if ( !super.CanDisplayCargo() )
834 return false;
835
837 return false;
838
839 return true;
840 }
841
843 {
845
846 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
847 if (!carDoor)
848 {
850 }
851
852 switch (slotType)
853 {
854 case "Hatchback_02_Door_1_1":
855 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
856
857 case "Hatchback_02_Door_2_1":
858 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
859
860 case "Hatchback_02_Door_1_2":
861 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
862
863 case "Hatchback_02_Door_2_2":
864 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
865
866 case "Hatchback_02_Hood":
867 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
868
869 case "Hatchback_02_Trunk":
870 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
871 }
872
874 }
875
876
878 {
879 switch (posIdx)
880 {
881 case 0:
883 {
884 return false;
885 }
886
887 return true;
888
889 case 1:
891 {
892 return false;
893 }
894
895 return true;
896
897 case 2:
899 {
900 return false;
901 }
902
903 return true;
904
905 case 3:
907 {
908 return false;
909 }
910
911 return true;
912 }
913
914 return false;
915 }
916
918 {
919 switch( posIdx )
920 {
921 case 0:
922 return "doors_driver";
923 break;
924 case 1:
925 return "doors_codriver";
926 break;
927 case 2:
928 return "doors_cargo1";
929 break;
930 case 3:
931 return "doors_cargo2";
932 break;
933 }
934
935 return super.GetDoorSelectionNameFromSeatPos(posIdx);
936 }
937
939 {
940 switch( posIdx )
941 {
942 case 0:
943 return "Hatchback_02_Door_1_1";
944 break;
945 case 1:
946 return "Hatchback_02_Door_2_1";
947 break;
948 case 2:
949 return "Hatchback_02_Door_1_2";
950 break;
951 case 3:
952 return "Hatchback_02_Door_2_2";
953 break;
954 }
955
956 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
957 }
958
960 {
961 switch (ctrl)
962 {
964 float newValue = 0;
966 {
967 newValue += 0.25;
968 }
969
971 {
972 newValue += 0.25;
973 }
974
976 {
977 newValue += 0.25;
978 }
979
981 {
982 newValue += 0.25;
983 }
984
986 break;
987 }
988
989 return super.OnSound(ctrl, oldValue);
990 }
991
993 {
994 switch( selection )
995 {
996 case "doors_driver":
997 return "DoorsDriver";
998 case "doors_codriver":
999 return "DoorsCoDriver";
1000 case "doors_cargo1":
1001 return "DoorsCargo1";
1002 case "doors_cargo2":
1003 return "DoorsCargo2";
1004 case "doors_hood":
1005 return "DoorsHood";
1006 case "doors_trunk":
1007 return "DoorsTrunk";
1008 }
1009
1010 return "";
1011 }
1012
1013
1015 {
1016 return false;
1017 }
1018
1020 {
1021 return false;
1022 }
1023
1025 {
1026 switch (currentSeat)
1027 {
1028 case 0:
1029 return nextSeat == 1;
1030 case 1:
1031 return nextSeat == 0;
1032 case 2:
1033 return nextSeat == 3;
1034 case 3:
1035 return nextSeat == 2;
1036 }
1037
1038 return false;
1039 }
1040
1042 {
1043 switch (pCurrentSeat)
1044 {
1045 case 0:
1046 return pDoorsSelection == "DoorsDriver";
1047 case 1:
1048 return pDoorsSelection == "DoorsCoDriver";
1049 case 2:
1050 return pDoorsSelection == "DoorsCargo1";
1051 case 3:
1052 return pDoorsSelection == "DoorsCargo2";
1053 }
1054
1055 return false;
1056 }
1057
1059 {
1060 SpawnUniversalParts();
1061 SpawnAdditionalItems();
1062 FillUpCarFluids();
1063
1064 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1065 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1066 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1067 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1068
1069 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1070 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1071 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1072 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1073 GetInventory().CreateInInventory("Hatchback_02_Hood");
1074 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1075
1076
1077 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1078 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1079 }
1080}
1081
1083{
1085 {
1086 SpawnUniversalParts();
1087 SpawnAdditionalItems();
1088 FillUpCarFluids();
1089
1090 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1091 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1092 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1093 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1094
1095 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1096 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1097 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1098 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1099 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1100 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1101
1102
1103 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1104 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1105 }
1106};
1107
1109{
1111 {
1112 SpawnUniversalParts();
1113 SpawnAdditionalItems();
1114 FillUpCarFluids();
1115
1116 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1117 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1118 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1119 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1120
1121 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1122 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1123 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1124 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1125 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1126 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1127
1128
1129 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1130 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1131 }
1132}
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.