521{
525
527 {
528
529
530 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
531 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
532 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
533 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
534 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
535 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
536
537 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
538 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
539
540 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
541 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
542
543 SetEnginePos("0 0.7 1.4");
544 }
545
547 {
551 }
552
554 {
555 super.EEInit();
556
558 {
565
568 }
569 }
570
572 {
573 super.OnEngineStart();
574
576 {
579 }
580 }
581
583 {
584 super.OnEngineStop();
585
587 {
590 }
591 }
592
594 {
596 {
598 {
600 }
601 }
602 }
603
605 {
607 }
608
610 {
611 switch (posIdx)
612 {
613 case 0:
615 case 1:
617 case 2:
619 case 3:
621 }
622
623 return 0;
624 }
625
626
628 {
630 }
631
632
634 {
636 }
637
639 {
640 if (!super.CanReleaseAttachment(attachment))
641 {
642 return false;
643 }
644
646 {
647 string attType = attachment.GetType();
648 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
649 {
650 return false;
651 }
652 }
653
654 return true;
655 }
656
658 {
660 }
661
663 {
664
665 if ( !super.CanDisplayAttachmentCategory( category_name ) )
666 return false;
667
668
670 if ( category_name.
Contains(
"engine") )
671 {
673 return false;
674 }
675
676 return true;
677 }
678
680 {
681 if ( !super.CanDisplayCargo() )
682 return false;
683
685 return false;
686
687 return true;
688 }
689
691 {
693
694 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
695 if (!carDoor)
696 {
698 }
699
700 switch (slotType)
701 {
702 case "Hatchback_02_Door_1_1":
703 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
704
705 case "Hatchback_02_Door_2_1":
706 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
707
708 case "Hatchback_02_Door_1_2":
709 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
710
711 case "Hatchback_02_Door_2_2":
712 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
713
714 case "Hatchback_02_Hood":
715 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
716
717 case "Hatchback_02_Trunk":
718 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
719 }
720
722 }
723
724
726 {
727 switch (posIdx)
728 {
729 case 0:
731 {
732 return false;
733 }
734
735 return true;
736
737 case 1:
739 {
740 return false;
741 }
742
743 return true;
744
745 case 2:
747 {
748 return false;
749 }
750
751 return true;
752
753 case 3:
755 {
756 return false;
757 }
758
759 return true;
760 }
761
762 return false;
763 }
764
766 {
767 switch( posIdx )
768 {
769 case 0:
770 return "doors_driver";
771 break;
772 case 1:
773 return "doors_codriver";
774 break;
775 case 2:
776 return "doors_cargo1";
777 break;
778 case 3:
779 return "doors_cargo2";
780 break;
781 }
782
783 return super.GetDoorSelectionNameFromSeatPos(posIdx);
784 }
785
787 {
788 switch( posIdx )
789 {
790 case 0:
791 return "Hatchback_02_Door_1_1";
792 break;
793 case 1:
794 return "Hatchback_02_Door_2_1";
795 break;
796 case 2:
797 return "Hatchback_02_Door_1_2";
798 break;
799 case 3:
800 return "Hatchback_02_Door_2_2";
801 break;
802 }
803
804 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
805 }
806
808 {
809 switch (ctrl)
810 {
812 float newValue = 0;
814 {
815 newValue += 0.25;
816 }
817
819 {
820 newValue += 0.25;
821 }
822
824 {
825 newValue += 0.25;
826 }
827
829 {
830 newValue += 0.25;
831 }
832
834 break;
835 }
836
837 return super.OnSound(ctrl, oldValue);
838 }
839
841 {
842 switch( selection )
843 {
844 case "doors_driver":
845 return "DoorsDriver";
846 case "doors_codriver":
847 return "DoorsCoDriver";
848 case "doors_cargo1":
849 return "DoorsCargo1";
850 case "doors_cargo2":
851 return "DoorsCargo2";
852 case "doors_hood":
853 return "DoorsHood";
854 case "doors_trunk":
855 return "DoorsTrunk";
856 }
857
858 return "";
859 }
860
861
863 {
864 return false;
865 }
866
868 {
869 return false;
870 }
871
873 {
874 switch (currentSeat)
875 {
876 case 0:
877 return nextSeat == 1;
878 case 1:
879 return nextSeat == 0;
880 case 2:
881 return nextSeat == 3;
882 case 3:
883 return nextSeat == 2;
884 }
885
886 return false;
887 }
888
890 {
891 switch (pCurrentSeat)
892 {
893 case 0:
894 return pDoorsSelection == "DoorsDriver";
895 case 1:
896 return pDoorsSelection == "DoorsCoDriver";
897 case 2:
898 return pDoorsSelection == "DoorsCargo1";
899 case 3:
900 return pDoorsSelection == "DoorsCargo2";
901 }
902
903 return false;
904 }
905
907 {
908 SpawnUniversalParts();
909 SpawnAdditionalItems();
910 FillUpCarFluids();
911
917
924
925
928 }
929}
930
932{
934 {
935 SpawnUniversalParts();
936 SpawnAdditionalItems();
937 FillUpCarFluids();
938
939 GameInventory inventory = GetInventory();
944
951
952
955 }
956};
957
959{
961 {
962 SpawnUniversalParts();
963 SpawnAdditionalItems();
964 FillUpCarFluids();
965
966 GameInventory inventory = GetInventory();
971
978
979
982 }
983}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
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.