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