640{
644
646 {
647
648
649 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
650 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
651 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
652 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
653 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
654 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
655
656 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
657 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
658
659 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
660 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
661
662 SetEnginePos("0 0.7 1.4");
663 }
664
666 {
667 super.EEInit();
668
670 {
677
680 }
681 }
682
684 {
685 super.OnEngineStart();
686
688 {
690 }
691 }
692
694 {
695 super.OnEngineStop();
696
698 {
700 }
701 }
702
704 {
706 {
708 {
710 }
711 }
712 }
713
715 {
717 }
718
720 {
721 switch (posIdx)
722 {
723 case 0:
725 case 1:
727 case 2:
729 case 3:
731 }
732
733 return 0;
734 }
735
736
738 {
740 }
741
742
744 {
746 }
747
749 {
750 if (!super.CanReleaseAttachment(attachment))
751 {
752 return false;
753 }
754
756 {
757 string attType = attachment.GetType();
758 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
759 {
760 return false;
761 }
762 }
763
764 return true;
765 }
766
768 {
770 }
771
773 {
774
775 if ( !super.CanDisplayAttachmentCategory( category_name ) )
776 return false;
777
778
780 if ( category_name.
Contains(
"engine") )
781 {
783 return false;
784 }
785
786 return true;
787 }
788
790 {
791 if ( !super.CanDisplayCargo() )
792 return false;
793
795 return false;
796
797 return true;
798 }
799
801 {
803
804 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
805 if (!carDoor)
806 {
808 }
809
810 switch (slotType)
811 {
812 case "Hatchback_02_Door_1_1":
813 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
814
815 case "Hatchback_02_Door_2_1":
816 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
817
818 case "Hatchback_02_Door_1_2":
819 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
820
821 case "Hatchback_02_Door_2_2":
822 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
823
824 case "Hatchback_02_Hood":
825 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
826
827 case "Hatchback_02_Trunk":
828 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
829 }
830
832 }
833
834
836 {
837 switch (posIdx)
838 {
839 case 0:
841 {
842 return false;
843 }
844
845 return true;
846
847 case 1:
849 {
850 return false;
851 }
852
853 return true;
854
855 case 2:
857 {
858 return false;
859 }
860
861 return true;
862
863 case 3:
865 {
866 return false;
867 }
868
869 return true;
870 }
871
872 return false;
873 }
874
876 {
877 switch( posIdx )
878 {
879 case 0:
880 return "doors_driver";
881 break;
882 case 1:
883 return "doors_codriver";
884 break;
885 case 2:
886 return "doors_cargo1";
887 break;
888 case 3:
889 return "doors_cargo2";
890 break;
891 }
892
893 return super.GetDoorSelectionNameFromSeatPos(posIdx);
894 }
895
897 {
898 switch( posIdx )
899 {
900 case 0:
901 return "Hatchback_02_Door_1_1";
902 break;
903 case 1:
904 return "Hatchback_02_Door_2_1";
905 break;
906 case 2:
907 return "Hatchback_02_Door_1_2";
908 break;
909 case 3:
910 return "Hatchback_02_Door_2_2";
911 break;
912 }
913
914 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
915 }
916
918 {
919 switch (ctrl)
920 {
922 float newValue = 0;
924 {
925 newValue += 0.25;
926 }
927
929 {
930 newValue += 0.25;
931 }
932
934 {
935 newValue += 0.25;
936 }
937
939 {
940 newValue += 0.25;
941 }
942
944 break;
945 }
946
947 return super.OnSound(ctrl, oldValue);
948 }
949
951 {
952 switch( selection )
953 {
954 case "doors_driver":
955 return "DoorsDriver";
956 case "doors_codriver":
957 return "DoorsCoDriver";
958 case "doors_cargo1":
959 return "DoorsCargo1";
960 case "doors_cargo2":
961 return "DoorsCargo2";
962 case "doors_hood":
963 return "DoorsHood";
964 case "doors_trunk":
965 return "DoorsTrunk";
966 }
967
968 return "";
969 }
970
971
973 {
974 return false;
975 }
976
978 {
979 return false;
980 }
981
983 {
984 switch (currentSeat)
985 {
986 case 0:
987 return nextSeat == 1;
988 case 1:
989 return nextSeat == 0;
990 case 2:
991 return nextSeat == 3;
992 case 3:
993 return nextSeat == 2;
994 }
995
996 return false;
997 }
998
1000 {
1001 switch (pCurrentSeat)
1002 {
1003 case 0:
1004 return pDoorsSelection == "DoorsDriver";
1005 case 1:
1006 return pDoorsSelection == "DoorsCoDriver";
1007 case 2:
1008 return pDoorsSelection == "DoorsCargo1";
1009 case 3:
1010 return pDoorsSelection == "DoorsCargo2";
1011 }
1012
1013 return false;
1014 }
1015
1017 {
1018 SpawnUniversalParts();
1019 SpawnAdditionalItems();
1020 FillUpCarFluids();
1021
1022 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1023 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1024 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1025 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1026
1027 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1028 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1029 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1030 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1031 GetInventory().CreateInInventory("Hatchback_02_Hood");
1032 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1033
1034
1035 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1036 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1037 }
1038}
1039
1041{
1043 {
1044 SpawnUniversalParts();
1045 SpawnAdditionalItems();
1046 FillUpCarFluids();
1047
1048 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1049 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1050 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1051 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1052
1053 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1054 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1055 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1056 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1057 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1058 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1059
1060
1061 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1062 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1063 }
1064};
1065
1067{
1069 {
1070 SpawnUniversalParts();
1071 SpawnAdditionalItems();
1072 FillUpCarFluids();
1073
1074 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1075 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1076 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1077 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1078
1079 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1080 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1081 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1082 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1083 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1084 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1085
1086
1087 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1088 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1089 }
1090}
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.