600{
604
606 {
607
608
609 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
610 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
611 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
612 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
613 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
614 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
615
616 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
617 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
618
619 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
620 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
621
622 SetEnginePos("0 0.7 1.4");
623 }
624
626 {
627 super.EEInit();
628
630 {
637
640 }
641 }
642
644 {
645 super.OnEngineStart();
646
648 {
650 }
651 }
652
654 {
655 super.OnEngineStop();
656
658 {
660 }
661 }
662
664 {
666 {
668 {
670 }
671 }
672 }
673
675 {
677 }
678
680 {
681 switch (posIdx)
682 {
683 case 0:
685 case 1:
687 case 2:
689 case 3:
691 }
692
693 return 0;
694 }
695
696
698 {
700 }
701
702
704 {
706 }
707
709 {
710 if (!super.CanReleaseAttachment(attachment))
711 {
712 return false;
713 }
714
716 {
717 string attType = attachment.GetType();
718 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
719 {
720 return false;
721 }
722 }
723
724 return true;
725 }
726
728 {
730 }
731
733 {
734
735 if ( !super.CanDisplayAttachmentCategory( category_name ) )
736 return false;
737
738
740 if ( category_name.
Contains(
"engine") )
741 {
743 return false;
744 }
745
746 return true;
747 }
748
750 {
751 if ( !super.CanDisplayCargo() )
752 return false;
753
755 return false;
756
757 return true;
758 }
759
761 {
763
764 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
765 if (!carDoor)
766 {
768 }
769
770 switch (slotType)
771 {
772 case "Hatchback_02_Door_1_1":
773 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
774
775 case "Hatchback_02_Door_2_1":
776 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
777
778 case "Hatchback_02_Door_1_2":
779 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
780
781 case "Hatchback_02_Door_2_2":
782 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
783
784 case "Hatchback_02_Hood":
785 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
786
787 case "Hatchback_02_Trunk":
788 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
789 }
790
792 }
793
794
796 {
797 switch (posIdx)
798 {
799 case 0:
801 {
802 return false;
803 }
804
805 return true;
806
807 case 1:
809 {
810 return false;
811 }
812
813 return true;
814
815 case 2:
817 {
818 return false;
819 }
820
821 return true;
822
823 case 3:
825 {
826 return false;
827 }
828
829 return true;
830 }
831
832 return false;
833 }
834
836 {
837 switch( posIdx )
838 {
839 case 0:
840 return "doors_driver";
841 break;
842 case 1:
843 return "doors_codriver";
844 break;
845 case 2:
846 return "doors_cargo1";
847 break;
848 case 3:
849 return "doors_cargo2";
850 break;
851 }
852
853 return super.GetDoorSelectionNameFromSeatPos(posIdx);
854 }
855
857 {
858 switch( posIdx )
859 {
860 case 0:
861 return "Hatchback_02_Door_1_1";
862 break;
863 case 1:
864 return "Hatchback_02_Door_2_1";
865 break;
866 case 2:
867 return "Hatchback_02_Door_1_2";
868 break;
869 case 3:
870 return "Hatchback_02_Door_2_2";
871 break;
872 }
873
874 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
875 }
876
878 {
879 switch (ctrl)
880 {
882 float newValue = 0;
884 {
885 newValue += 0.25;
886 }
887
889 {
890 newValue += 0.25;
891 }
892
894 {
895 newValue += 0.25;
896 }
897
899 {
900 newValue += 0.25;
901 }
902
904 break;
905 }
906
907 return super.OnSound(ctrl, oldValue);
908 }
909
911 {
912 switch( selection )
913 {
914 case "doors_driver":
915 return "DoorsDriver";
916 case "doors_codriver":
917 return "DoorsCoDriver";
918 case "doors_cargo1":
919 return "DoorsCargo1";
920 case "doors_cargo2":
921 return "DoorsCargo2";
922 case "doors_hood":
923 return "DoorsHood";
924 case "doors_trunk":
925 return "DoorsTrunk";
926 }
927
928 return "";
929 }
930
931
933 {
934 return false;
935 }
936
938 {
939 return false;
940 }
941
943 {
944 switch (currentSeat)
945 {
946 case 0:
947 return nextSeat == 1;
948 case 1:
949 return nextSeat == 0;
950 case 2:
951 return nextSeat == 3;
952 case 3:
953 return nextSeat == 2;
954 }
955
956 return false;
957 }
958
960 {
961 switch (pCurrentSeat)
962 {
963 case 0:
964 return pDoorsSelection == "DoorsDriver";
965 case 1:
966 return pDoorsSelection == "DoorsCoDriver";
967 case 2:
968 return pDoorsSelection == "DoorsCargo1";
969 case 3:
970 return pDoorsSelection == "DoorsCargo2";
971 }
972
973 return false;
974 }
975
977 {
978 SpawnUniversalParts();
979 SpawnAdditionalItems();
980 FillUpCarFluids();
981
982 GetInventory().CreateInInventory("Hatchback_02_Wheel");
983 GetInventory().CreateInInventory("Hatchback_02_Wheel");
984 GetInventory().CreateInInventory("Hatchback_02_Wheel");
985 GetInventory().CreateInInventory("Hatchback_02_Wheel");
986
987 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
988 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
989 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
990 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
991 GetInventory().CreateInInventory("Hatchback_02_Hood");
992 GetInventory().CreateInInventory("Hatchback_02_Trunk");
993
994
995 GetInventory().CreateInInventory("Hatchback_02_Wheel");
996 GetInventory().CreateInInventory("Hatchback_02_Wheel");
997 }
998}
999
1001{
1003 {
1004 SpawnUniversalParts();
1005 SpawnAdditionalItems();
1006 FillUpCarFluids();
1007
1008 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1009 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1010 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1011 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1012
1013 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1014 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1015 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1016 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1017 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1018 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1019
1020
1021 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1022 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1023 }
1024};
1025
1027{
1029 {
1030 SpawnUniversalParts();
1031 SpawnAdditionalItems();
1032 FillUpCarFluids();
1033
1034 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1035 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1036 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1037 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1038
1039 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1040 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1041 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1042 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1043 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1044 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1045
1046
1047 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1048 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1049 }
1050}
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.