513{
517
519 {
520
521
522 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
523 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
524 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
525 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
526 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
527 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
528
529 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
530 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
531
532 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
533 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
534
535 SetEnginePos("0 0.7 1.4");
536 }
537
539 {
540 super.EEInit();
541
543 {
550
553 }
554 }
555
557 {
558 super.OnEngineStart();
559
561 {
563 }
564 }
565
567 {
568 super.OnEngineStop();
569
571 {
573 }
574 }
575
577 {
579 {
581 {
583 }
584 }
585 }
586
588 {
590 }
591
593 {
594 switch (posIdx)
595 {
596 case 0:
598 case 1:
600 case 2:
602 case 3:
604 }
605
606 return 0;
607 }
608
609
611 {
613 }
614
615
617 {
619 }
620
622 {
623 if (!super.CanReleaseAttachment(attachment))
624 {
625 return false;
626 }
627
629 {
630 string attType = attachment.GetType();
631 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
632 {
633 return false;
634 }
635 }
636
637 return true;
638 }
639
641 {
643 }
644
646 {
647
648 if ( !super.CanDisplayAttachmentCategory( category_name ) )
649 return false;
650
651
653 if ( category_name.
Contains(
"engine") )
654 {
656 return false;
657 }
658
659 return true;
660 }
661
663 {
664 if ( !super.CanDisplayCargo() )
665 return false;
666
668 return false;
669
670 return true;
671 }
672
674 {
676
677 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
678 if (!carDoor)
679 {
681 }
682
683 switch (slotType)
684 {
685 case "Hatchback_02_Door_1_1":
686 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
687
688 case "Hatchback_02_Door_2_1":
689 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
690
691 case "Hatchback_02_Door_1_2":
692 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
693
694 case "Hatchback_02_Door_2_2":
695 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
696
697 case "Hatchback_02_Hood":
698 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
699
700 case "Hatchback_02_Trunk":
701 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
702 }
703
705 }
706
707
709 {
710 switch (posIdx)
711 {
712 case 0:
714 {
715 return false;
716 }
717
718 return true;
719
720 case 1:
722 {
723 return false;
724 }
725
726 return true;
727
728 case 2:
730 {
731 return false;
732 }
733
734 return true;
735
736 case 3:
738 {
739 return false;
740 }
741
742 return true;
743 }
744
745 return false;
746 }
747
749 {
750 switch( posIdx )
751 {
752 case 0:
753 return "doors_driver";
754 break;
755 case 1:
756 return "doors_codriver";
757 break;
758 case 2:
759 return "doors_cargo1";
760 break;
761 case 3:
762 return "doors_cargo2";
763 break;
764 }
765
766 return super.GetDoorSelectionNameFromSeatPos(posIdx);
767 }
768
770 {
771 switch( posIdx )
772 {
773 case 0:
774 return "Hatchback_02_Door_1_1";
775 break;
776 case 1:
777 return "Hatchback_02_Door_2_1";
778 break;
779 case 2:
780 return "Hatchback_02_Door_1_2";
781 break;
782 case 3:
783 return "Hatchback_02_Door_2_2";
784 break;
785 }
786
787 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
788 }
789
791 {
792 switch (ctrl)
793 {
795 float newValue = 0;
797 {
798 newValue += 0.25;
799 }
800
802 {
803 newValue += 0.25;
804 }
805
807 {
808 newValue += 0.25;
809 }
810
812 {
813 newValue += 0.25;
814 }
815
817 break;
818 }
819
820 return super.OnSound(ctrl, oldValue);
821 }
822
824 {
825 switch( selection )
826 {
827 case "doors_driver":
828 return "DoorsDriver";
829 case "doors_codriver":
830 return "DoorsCoDriver";
831 case "doors_cargo1":
832 return "DoorsCargo1";
833 case "doors_cargo2":
834 return "DoorsCargo2";
835 case "doors_hood":
836 return "DoorsHood";
837 case "doors_trunk":
838 return "DoorsTrunk";
839 }
840
841 return "";
842 }
843
844
846 {
847 return false;
848 }
849
851 {
852 return false;
853 }
854
856 {
857 switch (currentSeat)
858 {
859 case 0:
860 return nextSeat == 1;
861 case 1:
862 return nextSeat == 0;
863 case 2:
864 return nextSeat == 3;
865 case 3:
866 return nextSeat == 2;
867 }
868
869 return false;
870 }
871
873 {
874 switch (pCurrentSeat)
875 {
876 case 0:
877 return pDoorsSelection == "DoorsDriver";
878 case 1:
879 return pDoorsSelection == "DoorsCoDriver";
880 case 2:
881 return pDoorsSelection == "DoorsCargo1";
882 case 3:
883 return pDoorsSelection == "DoorsCargo2";
884 }
885
886 return false;
887 }
888
890 {
891 SpawnUniversalParts();
892 SpawnAdditionalItems();
893 FillUpCarFluids();
894
895 GetInventory().CreateInInventory("Hatchback_02_Wheel");
896 GetInventory().CreateInInventory("Hatchback_02_Wheel");
897 GetInventory().CreateInInventory("Hatchback_02_Wheel");
898 GetInventory().CreateInInventory("Hatchback_02_Wheel");
899
900 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
901 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
902 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
903 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
904 GetInventory().CreateInInventory("Hatchback_02_Hood");
905 GetInventory().CreateInInventory("Hatchback_02_Trunk");
906
907
908 GetInventory().CreateInInventory("Hatchback_02_Wheel");
909 GetInventory().CreateInInventory("Hatchback_02_Wheel");
910 }
911}
912
914{
916 {
917 SpawnUniversalParts();
918 SpawnAdditionalItems();
919 FillUpCarFluids();
920
921 GetInventory().CreateInInventory("Hatchback_02_Wheel");
922 GetInventory().CreateInInventory("Hatchback_02_Wheel");
923 GetInventory().CreateInInventory("Hatchback_02_Wheel");
924 GetInventory().CreateInInventory("Hatchback_02_Wheel");
925
926 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
927 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
928 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
929 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
930 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
931 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
932
933
934 GetInventory().CreateInInventory("Hatchback_02_Wheel");
935 GetInventory().CreateInInventory("Hatchback_02_Wheel");
936 }
937};
938
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_Blue");
953 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
954 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
955 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
956 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
957 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
958
959
960 GetInventory().CreateInInventory("Hatchback_02_Wheel");
961 GetInventory().CreateInInventory("Hatchback_02_Wheel");
962 }
963}
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.