508{
512
514 {
515
516
517 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
518 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
519 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
520 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
521 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
522 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
523
524 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
525 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
526
527 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
528 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
529
530 SetEnginePos("0 0.7 1.4");
531 }
532
534 {
535 super.EEInit();
536
538 {
545
548 }
549 }
550
552 {
553 super.OnEngineStart();
554
556 {
558 }
559 }
560
562 {
563 super.OnEngineStop();
564
566 {
568 }
569 }
570
572 {
574 {
576 {
578 }
579 }
580 }
581
583 {
585 }
586
588 {
589 switch (posIdx)
590 {
591 case 0:
593 case 1:
595 case 2:
597 case 3:
599 }
600
601 return 0;
602 }
603
604
606 {
608 }
609
610
612 {
614 }
615
617 {
618 if (!super.CanReleaseAttachment(attachment))
619 {
620 return false;
621 }
622
624 {
625 string attType = attachment.GetType();
626 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
627 {
628 return false;
629 }
630 }
631
632 return true;
633 }
634
636 {
638 }
639
641 {
642
643 if ( !super.CanDisplayAttachmentCategory( category_name ) )
644 return false;
645
646
648 if ( category_name.
Contains(
"engine") )
649 {
651 return false;
652 }
653
654 return true;
655 }
656
658 {
659 if ( !super.CanDisplayCargo() )
660 return false;
661
663 return false;
664
665 return true;
666 }
667
669 {
671
672 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
673 if (!carDoor)
674 {
676 }
677
678 switch (slotType)
679 {
680 case "Hatchback_02_Door_1_1":
681 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
682
683 case "Hatchback_02_Door_2_1":
684 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
685
686 case "Hatchback_02_Door_1_2":
687 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
688
689 case "Hatchback_02_Door_2_2":
690 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
691
692 case "Hatchback_02_Hood":
693 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
694
695 case "Hatchback_02_Trunk":
696 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
697 }
698
700 }
701
702
704 {
705 switch (posIdx)
706 {
707 case 0:
709 {
710 return false;
711 }
712
713 return true;
714
715 case 1:
717 {
718 return false;
719 }
720
721 return true;
722
723 case 2:
725 {
726 return false;
727 }
728
729 return true;
730
731 case 3:
733 {
734 return false;
735 }
736
737 return true;
738 }
739
740 return false;
741 }
742
744 {
745 switch( posIdx )
746 {
747 case 0:
748 return "doors_driver";
749 break;
750 case 1:
751 return "doors_codriver";
752 break;
753 case 2:
754 return "doors_cargo1";
755 break;
756 case 3:
757 return "doors_cargo2";
758 break;
759 }
760
761 return super.GetDoorSelectionNameFromSeatPos(posIdx);
762 }
763
765 {
766 switch( posIdx )
767 {
768 case 0:
769 return "Hatchback_02_Door_1_1";
770 break;
771 case 1:
772 return "Hatchback_02_Door_2_1";
773 break;
774 case 2:
775 return "Hatchback_02_Door_1_2";
776 break;
777 case 3:
778 return "Hatchback_02_Door_2_2";
779 break;
780 }
781
782 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
783 }
784
786 {
787 switch (ctrl)
788 {
790 float newValue = 0;
792 {
793 newValue += 0.25;
794 }
795
797 {
798 newValue += 0.25;
799 }
800
802 {
803 newValue += 0.25;
804 }
805
807 {
808 newValue += 0.25;
809 }
810
812 break;
813 }
814
815 return super.OnSound(ctrl, oldValue);
816 }
817
819 {
820 switch( selection )
821 {
822 case "doors_driver":
823 return "DoorsDriver";
824 case "doors_codriver":
825 return "DoorsCoDriver";
826 case "doors_cargo1":
827 return "DoorsCargo1";
828 case "doors_cargo2":
829 return "DoorsCargo2";
830 case "doors_hood":
831 return "DoorsHood";
832 case "doors_trunk":
833 return "DoorsTrunk";
834 }
835
836 return "";
837 }
838
839
841 {
842 return false;
843 }
844
846 {
847 return false;
848 }
849
851 {
852 switch (currentSeat)
853 {
854 case 0:
855 return nextSeat == 1;
856 case 1:
857 return nextSeat == 0;
858 case 2:
859 return nextSeat == 3;
860 case 3:
861 return nextSeat == 2;
862 }
863
864 return false;
865 }
866
868 {
869 switch (pCurrentSeat)
870 {
871 case 0:
872 return pDoorsSelection == "DoorsDriver";
873 case 1:
874 return pDoorsSelection == "DoorsCoDriver";
875 case 2:
876 return pDoorsSelection == "DoorsCargo1";
877 case 3:
878 return pDoorsSelection == "DoorsCargo2";
879 }
880
881 return false;
882 }
883
885 {
886 SpawnUniversalParts();
887 SpawnAdditionalItems();
888 FillUpCarFluids();
889
890 GetInventory().CreateInInventory("Hatchback_02_Wheel");
891 GetInventory().CreateInInventory("Hatchback_02_Wheel");
892 GetInventory().CreateInInventory("Hatchback_02_Wheel");
893 GetInventory().CreateInInventory("Hatchback_02_Wheel");
894
895 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
896 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
897 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
898 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
899 GetInventory().CreateInInventory("Hatchback_02_Hood");
900 GetInventory().CreateInInventory("Hatchback_02_Trunk");
901
902
903 GetInventory().CreateInInventory("Hatchback_02_Wheel");
904 GetInventory().CreateInInventory("Hatchback_02_Wheel");
905 }
906}
907
909{
911 {
912 SpawnUniversalParts();
913 SpawnAdditionalItems();
914 FillUpCarFluids();
915
916 GetInventory().CreateInInventory("Hatchback_02_Wheel");
917 GetInventory().CreateInInventory("Hatchback_02_Wheel");
918 GetInventory().CreateInInventory("Hatchback_02_Wheel");
919 GetInventory().CreateInInventory("Hatchback_02_Wheel");
920
921 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
922 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
923 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
924 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
925 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
926 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
927
928
929 GetInventory().CreateInInventory("Hatchback_02_Wheel");
930 GetInventory().CreateInInventory("Hatchback_02_Wheel");
931 }
932};
933
935{
937 {
938 SpawnUniversalParts();
939 SpawnAdditionalItems();
940 FillUpCarFluids();
941
942 GetInventory().CreateInInventory("Hatchback_02_Wheel");
943 GetInventory().CreateInInventory("Hatchback_02_Wheel");
944 GetInventory().CreateInInventory("Hatchback_02_Wheel");
945 GetInventory().CreateInInventory("Hatchback_02_Wheel");
946
947 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
948 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
949 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
950 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
951 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
952 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
953
954
955 GetInventory().CreateInInventory("Hatchback_02_Wheel");
956 GetInventory().CreateInInventory("Hatchback_02_Wheel");
957 }
958}
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.