502{
506
508 {
509
510
511 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
512 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
513 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
514 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
515 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
516 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
517
518 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
519 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
520
521 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
522 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
523
524 SetEnginePos("0 0.7 1.4");
525 }
526
528 {
529 super.EEInit();
530
532 {
539
542 }
543 }
544
546 {
547 super.OnEngineStart();
548
550 {
552 }
553 }
554
556 {
557 super.OnEngineStop();
558
560 {
562 }
563 }
564
566 {
568 {
570 {
572 }
573 }
574 }
575
577 {
579 }
580
582 {
583 switch (posIdx)
584 {
585 case 0:
587 case 1:
589 case 2:
591 case 3:
593 }
594
595 return 0;
596 }
597
598
600 {
602 }
603
604
606 {
608 }
609
611 {
612 if (!super.CanReleaseAttachment(attachment))
613 {
614 return false;
615 }
616
618 {
619 string attType = attachment.GetType();
620 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
621 {
622 return false;
623 }
624 }
625
626 return true;
627 }
628
630 {
632 }
633
635 {
636
637 if ( !super.CanDisplayAttachmentCategory( category_name ) )
638 return false;
639
640
642 if ( category_name.
Contains(
"engine") )
643 {
645 return false;
646 }
647
648 return true;
649 }
650
652 {
653 if ( !super.CanDisplayCargo() )
654 return false;
655
657 return false;
658
659 return true;
660 }
661
663 {
665
666 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
667 if (!carDoor)
668 {
670 }
671
672 switch (slotType)
673 {
674 case "Hatchback_02_Door_1_1":
675 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
676
677 case "Hatchback_02_Door_2_1":
678 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
679
680 case "Hatchback_02_Door_1_2":
681 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
682
683 case "Hatchback_02_Door_2_2":
684 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
685
686 case "Hatchback_02_Hood":
687 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
688
689 case "Hatchback_02_Trunk":
690 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
691 }
692
694 }
695
696
698 {
699 switch (posIdx)
700 {
701 case 0:
703 {
704 return false;
705 }
706
707 return true;
708
709 case 1:
711 {
712 return false;
713 }
714
715 return true;
716
717 case 2:
719 {
720 return false;
721 }
722
723 return true;
724
725 case 3:
727 {
728 return false;
729 }
730
731 return true;
732 }
733
734 return false;
735 }
736
738 {
739 switch( posIdx )
740 {
741 case 0:
742 return "doors_driver";
743 break;
744 case 1:
745 return "doors_codriver";
746 break;
747 case 2:
748 return "doors_cargo1";
749 break;
750 case 3:
751 return "doors_cargo2";
752 break;
753 }
754
755 return super.GetDoorSelectionNameFromSeatPos(posIdx);
756 }
757
759 {
760 switch( posIdx )
761 {
762 case 0:
763 return "Hatchback_02_Door_1_1";
764 break;
765 case 1:
766 return "Hatchback_02_Door_2_1";
767 break;
768 case 2:
769 return "Hatchback_02_Door_1_2";
770 break;
771 case 3:
772 return "Hatchback_02_Door_2_2";
773 break;
774 }
775
776 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
777 }
778
780 {
781 switch (ctrl)
782 {
784 float newValue = 0;
786 {
787 newValue += 0.25;
788 }
789
791 {
792 newValue += 0.25;
793 }
794
796 {
797 newValue += 0.25;
798 }
799
801 {
802 newValue += 0.25;
803 }
804
806 break;
807 }
808
809 return super.OnSound(ctrl, oldValue);
810 }
811
813 {
814 switch( selection )
815 {
816 case "doors_driver":
817 return "DoorsDriver";
818 case "doors_codriver":
819 return "DoorsCoDriver";
820 case "doors_cargo1":
821 return "DoorsCargo1";
822 case "doors_cargo2":
823 return "DoorsCargo2";
824 case "doors_hood":
825 return "DoorsHood";
826 case "doors_trunk":
827 return "DoorsTrunk";
828 }
829
830 return "";
831 }
832
833
835 {
836 return false;
837 }
838
840 {
841 return false;
842 }
843
845 {
846 switch (currentSeat)
847 {
848 case 0:
849 return nextSeat == 1;
850 case 1:
851 return nextSeat == 0;
852 case 2:
853 return nextSeat == 3;
854 case 3:
855 return nextSeat == 2;
856 }
857
858 return false;
859 }
860
862 {
863 switch (pCurrentSeat)
864 {
865 case 0:
866 return pDoorsSelection == "DoorsDriver";
867 case 1:
868 return pDoorsSelection == "DoorsCoDriver";
869 case 2:
870 return pDoorsSelection == "DoorsCargo1";
871 case 3:
872 return pDoorsSelection == "DoorsCargo2";
873 }
874
875 return false;
876 }
877
879 {
880 SpawnUniversalParts();
881 SpawnAdditionalItems();
882 FillUpCarFluids();
883
884 GetInventory().CreateInInventory("Hatchback_02_Wheel");
885 GetInventory().CreateInInventory("Hatchback_02_Wheel");
886 GetInventory().CreateInInventory("Hatchback_02_Wheel");
887 GetInventory().CreateInInventory("Hatchback_02_Wheel");
888
889 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
890 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
891 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
892 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
893 GetInventory().CreateInInventory("Hatchback_02_Hood");
894 GetInventory().CreateInInventory("Hatchback_02_Trunk");
895
896
897 GetInventory().CreateInInventory("Hatchback_02_Wheel");
898 GetInventory().CreateInInventory("Hatchback_02_Wheel");
899 }
900}
901
903{
905 {
906 SpawnUniversalParts();
907 SpawnAdditionalItems();
908 FillUpCarFluids();
909
910 GetInventory().CreateInInventory("Hatchback_02_Wheel");
911 GetInventory().CreateInInventory("Hatchback_02_Wheel");
912 GetInventory().CreateInInventory("Hatchback_02_Wheel");
913 GetInventory().CreateInInventory("Hatchback_02_Wheel");
914
915 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
916 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
917 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
918 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
919 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
920 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
921
922
923 GetInventory().CreateInInventory("Hatchback_02_Wheel");
924 GetInventory().CreateInInventory("Hatchback_02_Wheel");
925 }
926};
927
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_Blue");
942 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
943 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
944 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
945 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
946 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
947
948
949 GetInventory().CreateInInventory("Hatchback_02_Wheel");
950 GetInventory().CreateInInventory("Hatchback_02_Wheel");
951 }
952}
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.