619{
623
625 {
626
627
628 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
629 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
630 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
631 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
632 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
633 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
634
635 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
636 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
637
638 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
639 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
640
641 SetEnginePos("0 0.7 1.4");
642 }
643
645 {
649 }
650
652 {
653 super.EEInit();
654
656 {
663
666 }
667 }
668
670 {
671 super.OnEngineStart();
672
674 {
677 }
678 }
679
681 {
682 super.OnEngineStop();
683
685 {
688 }
689 }
690
692 {
694 {
696 {
698 }
699 }
700 }
701
703 {
705 }
706
708 {
709 switch (posIdx)
710 {
711 case 0:
713 case 1:
715 case 2:
717 case 3:
719 }
720
721 return 0;
722 }
723
724
726 {
728 }
729
730
732 {
734 }
735
737 {
738 if (!super.CanReleaseAttachment(attachment))
739 {
740 return false;
741 }
742
744 {
745 string attType = attachment.GetType();
746 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
747 {
748 return false;
749 }
750 }
751
752 return true;
753 }
754
756 {
758 }
759
761 {
762
763 if ( !super.CanDisplayAttachmentCategory( category_name ) )
764 return false;
765
766
768 if ( category_name.
Contains(
"engine") )
769 {
771 return false;
772 }
773
774 return true;
775 }
776
778 {
779 if ( !super.CanDisplayCargo() )
780 return false;
781
783 return false;
784
785 return true;
786 }
787
789 {
791
792 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
793 if (!carDoor)
794 {
796 }
797
798 switch (slotType)
799 {
800 case "Hatchback_02_Door_1_1":
801 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
802
803 case "Hatchback_02_Door_2_1":
804 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
805
806 case "Hatchback_02_Door_1_2":
807 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
808
809 case "Hatchback_02_Door_2_2":
810 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
811
812 case "Hatchback_02_Hood":
813 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
814
815 case "Hatchback_02_Trunk":
816 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
817 }
818
820 }
821
822
824 {
825 switch (posIdx)
826 {
827 case 0:
829 {
830 return false;
831 }
832
833 return true;
834
835 case 1:
837 {
838 return false;
839 }
840
841 return true;
842
843 case 2:
845 {
846 return false;
847 }
848
849 return true;
850
851 case 3:
853 {
854 return false;
855 }
856
857 return true;
858 }
859
860 return false;
861 }
862
864 {
865 switch( posIdx )
866 {
867 case 0:
868 return "doors_driver";
869 break;
870 case 1:
871 return "doors_codriver";
872 break;
873 case 2:
874 return "doors_cargo1";
875 break;
876 case 3:
877 return "doors_cargo2";
878 break;
879 }
880
881 return super.GetDoorSelectionNameFromSeatPos(posIdx);
882 }
883
885 {
886 switch( posIdx )
887 {
888 case 0:
889 return "Hatchback_02_Door_1_1";
890 break;
891 case 1:
892 return "Hatchback_02_Door_2_1";
893 break;
894 case 2:
895 return "Hatchback_02_Door_1_2";
896 break;
897 case 3:
898 return "Hatchback_02_Door_2_2";
899 break;
900 }
901
902 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
903 }
904
906 {
907 switch (ctrl)
908 {
910 float newValue = 0;
912 {
913 newValue += 0.25;
914 }
915
917 {
918 newValue += 0.25;
919 }
920
922 {
923 newValue += 0.25;
924 }
925
927 {
928 newValue += 0.25;
929 }
930
932 break;
933 }
934
935 return super.OnSound(ctrl, oldValue);
936 }
937
939 {
940 switch( selection )
941 {
942 case "doors_driver":
943 return "DoorsDriver";
944 case "doors_codriver":
945 return "DoorsCoDriver";
946 case "doors_cargo1":
947 return "DoorsCargo1";
948 case "doors_cargo2":
949 return "DoorsCargo2";
950 case "doors_hood":
951 return "DoorsHood";
952 case "doors_trunk":
953 return "DoorsTrunk";
954 }
955
956 return "";
957 }
958
959
961 {
962 return false;
963 }
964
966 {
967 return false;
968 }
969
971 {
972 switch (currentSeat)
973 {
974 case 0:
975 return nextSeat == 1;
976 case 1:
977 return nextSeat == 0;
978 case 2:
979 return nextSeat == 3;
980 case 3:
981 return nextSeat == 2;
982 }
983
984 return false;
985 }
986
988 {
989 switch (pCurrentSeat)
990 {
991 case 0:
992 return pDoorsSelection == "DoorsDriver";
993 case 1:
994 return pDoorsSelection == "DoorsCoDriver";
995 case 2:
996 return pDoorsSelection == "DoorsCargo1";
997 case 3:
998 return pDoorsSelection == "DoorsCargo2";
999 }
1000
1001 return false;
1002 }
1003
1005 {
1006 SpawnUniversalParts();
1007 SpawnAdditionalItems();
1008 FillUpCarFluids();
1009
1015
1022
1023
1026 }
1027}
1028
1030{
1032 {
1033 SpawnUniversalParts();
1034 SpawnAdditionalItems();
1035 FillUpCarFluids();
1036
1037 GameInventory inventory = GetInventory();
1042
1049
1050
1053 }
1054};
1055
1057{
1059 {
1060 SpawnUniversalParts();
1061 SpawnAdditionalItems();
1062 FillUpCarFluids();
1063
1064 GameInventory inventory = GetInventory();
1069
1076
1077
1080 }
1081}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
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.