537{
541
543 {
544
545
546 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
547 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
548 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
549 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
550 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
551 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
552
553 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
554 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
555
556 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
557 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
558
559 SetEnginePos("0 0.7 1.4");
560 }
561
563 {
564 super.EEInit();
565
567 {
574
577 }
578 }
579
581 {
582 super.OnEngineStart();
583
585 {
587 }
588 }
589
591 {
592 super.OnEngineStop();
593
595 {
597 }
598 }
599
601 {
603 {
605 {
607 }
608 }
609 }
610
612 {
614 }
615
617 {
618 switch (posIdx)
619 {
620 case 0:
622 case 1:
624 case 2:
626 case 3:
628 }
629
630 return 0;
631 }
632
633
635 {
637 }
638
639
641 {
643 }
644
646 {
647 if (!super.CanReleaseAttachment(attachment))
648 {
649 return false;
650 }
651
653 {
654 string attType = attachment.GetType();
655 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
656 {
657 return false;
658 }
659 }
660
661 return true;
662 }
663
665 {
667 }
668
670 {
671
672 if ( !super.CanDisplayAttachmentCategory( category_name ) )
673 return false;
674
675
677 if ( category_name.
Contains(
"engine") )
678 {
680 return false;
681 }
682
683 return true;
684 }
685
687 {
688 if ( !super.CanDisplayCargo() )
689 return false;
690
692 return false;
693
694 return true;
695 }
696
698 {
700
701 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
702 if (!carDoor)
703 {
705 }
706
707 switch (slotType)
708 {
709 case "Hatchback_02_Door_1_1":
710 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
711
712 case "Hatchback_02_Door_2_1":
713 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
714
715 case "Hatchback_02_Door_1_2":
716 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
717
718 case "Hatchback_02_Door_2_2":
719 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
720
721 case "Hatchback_02_Hood":
722 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
723
724 case "Hatchback_02_Trunk":
725 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
726 }
727
729 }
730
731
733 {
734 switch (posIdx)
735 {
736 case 0:
738 {
739 return false;
740 }
741
742 return true;
743
744 case 1:
746 {
747 return false;
748 }
749
750 return true;
751
752 case 2:
754 {
755 return false;
756 }
757
758 return true;
759
760 case 3:
762 {
763 return false;
764 }
765
766 return true;
767 }
768
769 return false;
770 }
771
773 {
774 switch( posIdx )
775 {
776 case 0:
777 return "doors_driver";
778 break;
779 case 1:
780 return "doors_codriver";
781 break;
782 case 2:
783 return "doors_cargo1";
784 break;
785 case 3:
786 return "doors_cargo2";
787 break;
788 }
789
790 return super.GetDoorSelectionNameFromSeatPos(posIdx);
791 }
792
794 {
795 switch( posIdx )
796 {
797 case 0:
798 return "Hatchback_02_Door_1_1";
799 break;
800 case 1:
801 return "Hatchback_02_Door_2_1";
802 break;
803 case 2:
804 return "Hatchback_02_Door_1_2";
805 break;
806 case 3:
807 return "Hatchback_02_Door_2_2";
808 break;
809 }
810
811 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
812 }
813
815 {
816 switch (ctrl)
817 {
819 float newValue = 0;
821 {
822 newValue += 0.25;
823 }
824
826 {
827 newValue += 0.25;
828 }
829
831 {
832 newValue += 0.25;
833 }
834
836 {
837 newValue += 0.25;
838 }
839
841 break;
842 }
843
844 return super.OnSound(ctrl, oldValue);
845 }
846
848 {
849 switch( selection )
850 {
851 case "doors_driver":
852 return "DoorsDriver";
853 case "doors_codriver":
854 return "DoorsCoDriver";
855 case "doors_cargo1":
856 return "DoorsCargo1";
857 case "doors_cargo2":
858 return "DoorsCargo2";
859 case "doors_hood":
860 return "DoorsHood";
861 case "doors_trunk":
862 return "DoorsTrunk";
863 }
864
865 return "";
866 }
867
868
870 {
871 return false;
872 }
873
875 {
876 return false;
877 }
878
880 {
881 switch (currentSeat)
882 {
883 case 0:
884 return nextSeat == 1;
885 case 1:
886 return nextSeat == 0;
887 case 2:
888 return nextSeat == 3;
889 case 3:
890 return nextSeat == 2;
891 }
892
893 return false;
894 }
895
897 {
898 switch (pCurrentSeat)
899 {
900 case 0:
901 return pDoorsSelection == "DoorsDriver";
902 case 1:
903 return pDoorsSelection == "DoorsCoDriver";
904 case 2:
905 return pDoorsSelection == "DoorsCargo1";
906 case 3:
907 return pDoorsSelection == "DoorsCargo2";
908 }
909
910 return false;
911 }
912
914 {
915 SpawnUniversalParts();
916 SpawnAdditionalItems();
917 FillUpCarFluids();
918
919 GetInventory().CreateInInventory("Hatchback_02_Wheel");
920 GetInventory().CreateInInventory("Hatchback_02_Wheel");
921 GetInventory().CreateInInventory("Hatchback_02_Wheel");
922 GetInventory().CreateInInventory("Hatchback_02_Wheel");
923
924 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
925 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
926 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
927 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
928 GetInventory().CreateInInventory("Hatchback_02_Hood");
929 GetInventory().CreateInInventory("Hatchback_02_Trunk");
930
931
932 GetInventory().CreateInInventory("Hatchback_02_Wheel");
933 GetInventory().CreateInInventory("Hatchback_02_Wheel");
934 }
935}
936
938{
940 {
941 SpawnUniversalParts();
942 SpawnAdditionalItems();
943 FillUpCarFluids();
944
945 GetInventory().CreateInInventory("Hatchback_02_Wheel");
946 GetInventory().CreateInInventory("Hatchback_02_Wheel");
947 GetInventory().CreateInInventory("Hatchback_02_Wheel");
948 GetInventory().CreateInInventory("Hatchback_02_Wheel");
949
950 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
951 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
952 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
953 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
954 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
955 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
956
957
958 GetInventory().CreateInInventory("Hatchback_02_Wheel");
959 GetInventory().CreateInInventory("Hatchback_02_Wheel");
960 }
961};
962
964{
966 {
967 SpawnUniversalParts();
968 SpawnAdditionalItems();
969 FillUpCarFluids();
970
971 GetInventory().CreateInInventory("Hatchback_02_Wheel");
972 GetInventory().CreateInInventory("Hatchback_02_Wheel");
973 GetInventory().CreateInInventory("Hatchback_02_Wheel");
974 GetInventory().CreateInInventory("Hatchback_02_Wheel");
975
976 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
977 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
978 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
979 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
980 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
981 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
982
983
984 GetInventory().CreateInInventory("Hatchback_02_Wheel");
985 GetInventory().CreateInInventory("Hatchback_02_Wheel");
986 }
987}
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.