661{
665
667 {
668
669
670 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
671 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
672 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
673 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
674 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
675 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
676
677 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
678 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
679
680 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
681 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
682
683 SetEnginePos("0 0.7 1.4");
684 }
685
687 {
688 super.EEInit();
689
691 {
698
701 }
702 }
703
705 {
706 super.OnEngineStart();
707
709 {
711 }
712 }
713
715 {
716 super.OnEngineStop();
717
719 {
721 }
722 }
723
725 {
727 {
729 {
731 }
732 }
733 }
734
736 {
738 }
739
741 {
742 switch (posIdx)
743 {
744 case 0:
746 case 1:
748 case 2:
750 case 3:
752 }
753
754 return 0;
755 }
756
757
759 {
761 }
762
763
765 {
767 }
768
770 {
771 if (!super.CanReleaseAttachment(attachment))
772 {
773 return false;
774 }
775
777 {
778 string attType = attachment.GetType();
779 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
780 {
781 return false;
782 }
783 }
784
785 return true;
786 }
787
789 {
791 }
792
794 {
795
796 if ( !super.CanDisplayAttachmentCategory( category_name ) )
797 return false;
798
799
801 if ( category_name.
Contains(
"engine") )
802 {
804 return false;
805 }
806
807 return true;
808 }
809
811 {
812 if ( !super.CanDisplayCargo() )
813 return false;
814
816 return false;
817
818 return true;
819 }
820
822 {
824
825 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
826 if (!carDoor)
827 {
829 }
830
831 switch (slotType)
832 {
833 case "Hatchback_02_Door_1_1":
834 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
835
836 case "Hatchback_02_Door_2_1":
837 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
838
839 case "Hatchback_02_Door_1_2":
840 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
841
842 case "Hatchback_02_Door_2_2":
843 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
844
845 case "Hatchback_02_Hood":
846 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
847
848 case "Hatchback_02_Trunk":
849 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
850 }
851
853 }
854
855
857 {
858 switch (posIdx)
859 {
860 case 0:
862 {
863 return false;
864 }
865
866 return true;
867
868 case 1:
870 {
871 return false;
872 }
873
874 return true;
875
876 case 2:
878 {
879 return false;
880 }
881
882 return true;
883
884 case 3:
886 {
887 return false;
888 }
889
890 return true;
891 }
892
893 return false;
894 }
895
897 {
898 switch( posIdx )
899 {
900 case 0:
901 return "doors_driver";
902 break;
903 case 1:
904 return "doors_codriver";
905 break;
906 case 2:
907 return "doors_cargo1";
908 break;
909 case 3:
910 return "doors_cargo2";
911 break;
912 }
913
914 return super.GetDoorSelectionNameFromSeatPos(posIdx);
915 }
916
918 {
919 switch( posIdx )
920 {
921 case 0:
922 return "Hatchback_02_Door_1_1";
923 break;
924 case 1:
925 return "Hatchback_02_Door_2_1";
926 break;
927 case 2:
928 return "Hatchback_02_Door_1_2";
929 break;
930 case 3:
931 return "Hatchback_02_Door_2_2";
932 break;
933 }
934
935 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
936 }
937
939 {
940 switch (ctrl)
941 {
943 float newValue = 0;
945 {
946 newValue += 0.25;
947 }
948
950 {
951 newValue += 0.25;
952 }
953
955 {
956 newValue += 0.25;
957 }
958
960 {
961 newValue += 0.25;
962 }
963
965 break;
966 }
967
968 return super.OnSound(ctrl, oldValue);
969 }
970
972 {
973 switch( selection )
974 {
975 case "doors_driver":
976 return "DoorsDriver";
977 case "doors_codriver":
978 return "DoorsCoDriver";
979 case "doors_cargo1":
980 return "DoorsCargo1";
981 case "doors_cargo2":
982 return "DoorsCargo2";
983 case "doors_hood":
984 return "DoorsHood";
985 case "doors_trunk":
986 return "DoorsTrunk";
987 }
988
989 return "";
990 }
991
992
994 {
995 return false;
996 }
997
999 {
1000 return false;
1001 }
1002
1004 {
1005 switch (currentSeat)
1006 {
1007 case 0:
1008 return nextSeat == 1;
1009 case 1:
1010 return nextSeat == 0;
1011 case 2:
1012 return nextSeat == 3;
1013 case 3:
1014 return nextSeat == 2;
1015 }
1016
1017 return false;
1018 }
1019
1021 {
1022 switch (pCurrentSeat)
1023 {
1024 case 0:
1025 return pDoorsSelection == "DoorsDriver";
1026 case 1:
1027 return pDoorsSelection == "DoorsCoDriver";
1028 case 2:
1029 return pDoorsSelection == "DoorsCargo1";
1030 case 3:
1031 return pDoorsSelection == "DoorsCargo2";
1032 }
1033
1034 return false;
1035 }
1036
1038 {
1039 SpawnUniversalParts();
1040 SpawnAdditionalItems();
1041 FillUpCarFluids();
1042
1043 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1044 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1045 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1046 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1047
1048 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1049 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1050 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1051 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1052 GetInventory().CreateInInventory("Hatchback_02_Hood");
1053 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1054
1055
1056 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1057 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1058 }
1059}
1060
1062{
1064 {
1065 SpawnUniversalParts();
1066 SpawnAdditionalItems();
1067 FillUpCarFluids();
1068
1069 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1070 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1071 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1072 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1073
1074 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1075 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1076 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1077 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1078 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1079 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1080
1081
1082 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1083 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1084 }
1085};
1086
1088{
1090 {
1091 SpawnUniversalParts();
1092 SpawnAdditionalItems();
1093 FillUpCarFluids();
1094
1095 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1096 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1097 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1098 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1099
1100 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1101 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1102 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1103 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1104 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1105 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1106
1107
1108 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1109 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1110 }
1111}
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.