554{
558
560 {
561
562
563 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
564 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
565 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
566 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
567 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
568 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
569
570 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
571 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
572
573 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
574 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
575
576 SetEnginePos("0 0.7 1.4");
577 }
578
580 {
581 super.EEInit();
582
584 {
591
594 }
595 }
596
598 {
599 super.OnEngineStart();
600
602 {
604 }
605 }
606
608 {
609 super.OnEngineStop();
610
612 {
614 }
615 }
616
618 {
620 {
622 {
624 }
625 }
626 }
627
629 {
631 }
632
634 {
635 switch (posIdx)
636 {
637 case 0:
639 case 1:
641 case 2:
643 case 3:
645 }
646
647 return 0;
648 }
649
650
652 {
654 }
655
656
658 {
660 }
661
663 {
664 if (!super.CanReleaseAttachment(attachment))
665 {
666 return false;
667 }
668
670 {
671 string attType = attachment.GetType();
672 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
673 {
674 return false;
675 }
676 }
677
678 return true;
679 }
680
682 {
684 }
685
687 {
688
689 if ( !super.CanDisplayAttachmentCategory( category_name ) )
690 return false;
691
692
694 if ( category_name.
Contains(
"engine") )
695 {
697 return false;
698 }
699
700 return true;
701 }
702
704 {
705 if ( !super.CanDisplayCargo() )
706 return false;
707
709 return false;
710
711 return true;
712 }
713
715 {
717
718 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
719 if (!carDoor)
720 {
722 }
723
724 switch (slotType)
725 {
726 case "Hatchback_02_Door_1_1":
727 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
728
729 case "Hatchback_02_Door_2_1":
730 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
731
732 case "Hatchback_02_Door_1_2":
733 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
734
735 case "Hatchback_02_Door_2_2":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
737
738 case "Hatchback_02_Hood":
739 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
740
741 case "Hatchback_02_Trunk":
742 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
743 }
744
746 }
747
748
750 {
751 switch (posIdx)
752 {
753 case 0:
755 {
756 return false;
757 }
758
759 return true;
760
761 case 1:
763 {
764 return false;
765 }
766
767 return true;
768
769 case 2:
771 {
772 return false;
773 }
774
775 return true;
776
777 case 3:
779 {
780 return false;
781 }
782
783 return true;
784 }
785
786 return false;
787 }
788
790 {
791 switch( posIdx )
792 {
793 case 0:
794 return "doors_driver";
795 break;
796 case 1:
797 return "doors_codriver";
798 break;
799 case 2:
800 return "doors_cargo1";
801 break;
802 case 3:
803 return "doors_cargo2";
804 break;
805 }
806
807 return super.GetDoorSelectionNameFromSeatPos(posIdx);
808 }
809
811 {
812 switch( posIdx )
813 {
814 case 0:
815 return "Hatchback_02_Door_1_1";
816 break;
817 case 1:
818 return "Hatchback_02_Door_2_1";
819 break;
820 case 2:
821 return "Hatchback_02_Door_1_2";
822 break;
823 case 3:
824 return "Hatchback_02_Door_2_2";
825 break;
826 }
827
828 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
829 }
830
832 {
833 switch (ctrl)
834 {
836 float newValue = 0;
838 {
839 newValue += 0.25;
840 }
841
843 {
844 newValue += 0.25;
845 }
846
848 {
849 newValue += 0.25;
850 }
851
853 {
854 newValue += 0.25;
855 }
856
858 break;
859 }
860
861 return super.OnSound(ctrl, oldValue);
862 }
863
865 {
866 switch( selection )
867 {
868 case "doors_driver":
869 return "DoorsDriver";
870 case "doors_codriver":
871 return "DoorsCoDriver";
872 case "doors_cargo1":
873 return "DoorsCargo1";
874 case "doors_cargo2":
875 return "DoorsCargo2";
876 case "doors_hood":
877 return "DoorsHood";
878 case "doors_trunk":
879 return "DoorsTrunk";
880 }
881
882 return "";
883 }
884
885
887 {
888 return false;
889 }
890
892 {
893 return false;
894 }
895
897 {
898 switch (currentSeat)
899 {
900 case 0:
901 return nextSeat == 1;
902 case 1:
903 return nextSeat == 0;
904 case 2:
905 return nextSeat == 3;
906 case 3:
907 return nextSeat == 2;
908 }
909
910 return false;
911 }
912
914 {
915 switch (pCurrentSeat)
916 {
917 case 0:
918 return pDoorsSelection == "DoorsDriver";
919 case 1:
920 return pDoorsSelection == "DoorsCoDriver";
921 case 2:
922 return pDoorsSelection == "DoorsCargo1";
923 case 3:
924 return pDoorsSelection == "DoorsCargo2";
925 }
926
927 return false;
928 }
929
931 {
932 SpawnUniversalParts();
933 SpawnAdditionalItems();
934 FillUpCarFluids();
935
936 GetInventory().CreateInInventory("Hatchback_02_Wheel");
937 GetInventory().CreateInInventory("Hatchback_02_Wheel");
938 GetInventory().CreateInInventory("Hatchback_02_Wheel");
939 GetInventory().CreateInInventory("Hatchback_02_Wheel");
940
941 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
942 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
943 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
944 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
945 GetInventory().CreateInInventory("Hatchback_02_Hood");
946 GetInventory().CreateInInventory("Hatchback_02_Trunk");
947
948
949 GetInventory().CreateInInventory("Hatchback_02_Wheel");
950 GetInventory().CreateInInventory("Hatchback_02_Wheel");
951 }
952}
953
955{
957 {
958 SpawnUniversalParts();
959 SpawnAdditionalItems();
960 FillUpCarFluids();
961
962 GetInventory().CreateInInventory("Hatchback_02_Wheel");
963 GetInventory().CreateInInventory("Hatchback_02_Wheel");
964 GetInventory().CreateInInventory("Hatchback_02_Wheel");
965 GetInventory().CreateInInventory("Hatchback_02_Wheel");
966
967 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
968 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
969 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
970 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
971 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
972 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
973
974
975 GetInventory().CreateInInventory("Hatchback_02_Wheel");
976 GetInventory().CreateInInventory("Hatchback_02_Wheel");
977 }
978};
979
981{
983 {
984 SpawnUniversalParts();
985 SpawnAdditionalItems();
986 FillUpCarFluids();
987
988 GetInventory().CreateInInventory("Hatchback_02_Wheel");
989 GetInventory().CreateInInventory("Hatchback_02_Wheel");
990 GetInventory().CreateInInventory("Hatchback_02_Wheel");
991 GetInventory().CreateInInventory("Hatchback_02_Wheel");
992
993 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
994 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
995 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
996 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
997 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
998 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
999
1000
1001 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1002 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1003 }
1004}
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.