565{
569
571 {
572
573
574 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
575 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
576 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
577 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
578 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
579 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
580
581 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
582 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
583
584 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
585 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
586
587 SetEnginePos("0 0.7 1.4");
588 }
589
591 {
592 super.EEInit();
593
595 {
602
605 }
606 }
607
609 {
610 super.OnEngineStart();
611
613 {
615 }
616 }
617
619 {
620 super.OnEngineStop();
621
623 {
625 }
626 }
627
629 {
631 {
633 {
635 }
636 }
637 }
638
640 {
642 }
643
645 {
646 switch (posIdx)
647 {
648 case 0:
650 case 1:
652 case 2:
654 case 3:
656 }
657
658 return 0;
659 }
660
661
663 {
665 }
666
667
669 {
671 }
672
674 {
675 if (!super.CanReleaseAttachment(attachment))
676 {
677 return false;
678 }
679
681 {
682 string attType = attachment.GetType();
683 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
684 {
685 return false;
686 }
687 }
688
689 return true;
690 }
691
693 {
695 }
696
698 {
699
700 if ( !super.CanDisplayAttachmentCategory( category_name ) )
701 return false;
702
703
705 if ( category_name.
Contains(
"engine") )
706 {
708 return false;
709 }
710
711 return true;
712 }
713
715 {
716 if ( !super.CanDisplayCargo() )
717 return false;
718
720 return false;
721
722 return true;
723 }
724
726 {
728
729 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
730 if (!carDoor)
731 {
733 }
734
735 switch (slotType)
736 {
737 case "Hatchback_02_Door_1_1":
738 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
739
740 case "Hatchback_02_Door_2_1":
741 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
742
743 case "Hatchback_02_Door_1_2":
744 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
745
746 case "Hatchback_02_Door_2_2":
747 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
748
749 case "Hatchback_02_Hood":
750 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
751
752 case "Hatchback_02_Trunk":
753 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
754 }
755
757 }
758
759
761 {
762 switch (posIdx)
763 {
764 case 0:
766 {
767 return false;
768 }
769
770 return true;
771
772 case 1:
774 {
775 return false;
776 }
777
778 return true;
779
780 case 2:
782 {
783 return false;
784 }
785
786 return true;
787
788 case 3:
790 {
791 return false;
792 }
793
794 return true;
795 }
796
797 return false;
798 }
799
801 {
802 switch( posIdx )
803 {
804 case 0:
805 return "doors_driver";
806 break;
807 case 1:
808 return "doors_codriver";
809 break;
810 case 2:
811 return "doors_cargo1";
812 break;
813 case 3:
814 return "doors_cargo2";
815 break;
816 }
817
818 return super.GetDoorSelectionNameFromSeatPos(posIdx);
819 }
820
822 {
823 switch( posIdx )
824 {
825 case 0:
826 return "Hatchback_02_Door_1_1";
827 break;
828 case 1:
829 return "Hatchback_02_Door_2_1";
830 break;
831 case 2:
832 return "Hatchback_02_Door_1_2";
833 break;
834 case 3:
835 return "Hatchback_02_Door_2_2";
836 break;
837 }
838
839 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
840 }
841
843 {
844 switch (ctrl)
845 {
847 float newValue = 0;
849 {
850 newValue += 0.25;
851 }
852
854 {
855 newValue += 0.25;
856 }
857
859 {
860 newValue += 0.25;
861 }
862
864 {
865 newValue += 0.25;
866 }
867
869 break;
870 }
871
872 return super.OnSound(ctrl, oldValue);
873 }
874
876 {
877 switch( selection )
878 {
879 case "doors_driver":
880 return "DoorsDriver";
881 case "doors_codriver":
882 return "DoorsCoDriver";
883 case "doors_cargo1":
884 return "DoorsCargo1";
885 case "doors_cargo2":
886 return "DoorsCargo2";
887 case "doors_hood":
888 return "DoorsHood";
889 case "doors_trunk":
890 return "DoorsTrunk";
891 }
892
893 return "";
894 }
895
896
898 {
899 return false;
900 }
901
903 {
904 return false;
905 }
906
908 {
909 switch (currentSeat)
910 {
911 case 0:
912 return nextSeat == 1;
913 case 1:
914 return nextSeat == 0;
915 case 2:
916 return nextSeat == 3;
917 case 3:
918 return nextSeat == 2;
919 }
920
921 return false;
922 }
923
925 {
926 switch (pCurrentSeat)
927 {
928 case 0:
929 return pDoorsSelection == "DoorsDriver";
930 case 1:
931 return pDoorsSelection == "DoorsCoDriver";
932 case 2:
933 return pDoorsSelection == "DoorsCargo1";
934 case 3:
935 return pDoorsSelection == "DoorsCargo2";
936 }
937
938 return false;
939 }
940
942 {
943 SpawnUniversalParts();
944 SpawnAdditionalItems();
945 FillUpCarFluids();
946
947 GetInventory().CreateInInventory("Hatchback_02_Wheel");
948 GetInventory().CreateInInventory("Hatchback_02_Wheel");
949 GetInventory().CreateInInventory("Hatchback_02_Wheel");
950 GetInventory().CreateInInventory("Hatchback_02_Wheel");
951
952 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
953 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
954 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
955 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
956 GetInventory().CreateInInventory("Hatchback_02_Hood");
957 GetInventory().CreateInInventory("Hatchback_02_Trunk");
958
959
960 GetInventory().CreateInInventory("Hatchback_02_Wheel");
961 GetInventory().CreateInInventory("Hatchback_02_Wheel");
962 }
963}
964
966{
968 {
969 SpawnUniversalParts();
970 SpawnAdditionalItems();
971 FillUpCarFluids();
972
973 GetInventory().CreateInInventory("Hatchback_02_Wheel");
974 GetInventory().CreateInInventory("Hatchback_02_Wheel");
975 GetInventory().CreateInInventory("Hatchback_02_Wheel");
976 GetInventory().CreateInInventory("Hatchback_02_Wheel");
977
978 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
979 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
980 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
981 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
982 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
983 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
984
985
986 GetInventory().CreateInInventory("Hatchback_02_Wheel");
987 GetInventory().CreateInInventory("Hatchback_02_Wheel");
988 }
989};
990
992{
994 {
995 SpawnUniversalParts();
996 SpawnAdditionalItems();
997 FillUpCarFluids();
998
999 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1000 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1001 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1002 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1003
1004 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1005 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1006 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1007 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1008 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1009 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1010
1011
1012 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1013 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1014 }
1015}
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.