527{
531
533 {
534
535
536 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
537 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
538 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
539 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
540 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
541 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
542
543 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
544 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
545
546 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
547 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
548
549 SetEnginePos("0 0.7 1.4");
550 }
551
553 {
557 }
558
560 {
561 super.EEInit();
562
564 {
571
574 }
575 }
576
578 {
579 super.OnEngineStart();
580
582 {
585 }
586 }
587
589 {
590 super.OnEngineStop();
591
593 {
596 }
597 }
598
600 {
602 {
604 {
606 }
607 }
608 }
609
611 {
613 }
614
616 {
617 switch (posIdx)
618 {
619 case 0:
621 case 1:
623 case 2:
625 case 3:
627 }
628
629 return 0;
630 }
631
632
634 {
636 }
637
638
640 {
642 }
643
645 {
646 if (!super.CanReleaseAttachment(attachment))
647 {
648 return false;
649 }
650
652 {
653 string attType = attachment.GetType();
654 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
655 {
656 return false;
657 }
658 }
659
660 return true;
661 }
662
664 {
666 }
667
669 {
670
671 if ( !super.CanDisplayAttachmentCategory( category_name ) )
672 return false;
673
674
676 if ( category_name.
Contains(
"engine") )
677 {
679 return false;
680 }
681
682 return true;
683 }
684
686 {
687 if ( !super.CanDisplayCargo() )
688 return false;
689
691 return false;
692
693 return true;
694 }
695
697 {
699
700 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
701 if (!carDoor)
702 {
704 }
705
706 switch (slotType)
707 {
708 case "Hatchback_02_Door_1_1":
709 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
710
711 case "Hatchback_02_Door_2_1":
712 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
713
714 case "Hatchback_02_Door_1_2":
715 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
716
717 case "Hatchback_02_Door_2_2":
718 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
719
720 case "Hatchback_02_Hood":
721 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
722
723 case "Hatchback_02_Trunk":
724 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
725 }
726
728 }
729
730
732 {
733 switch (posIdx)
734 {
735 case 0:
737 {
738 return false;
739 }
740
741 return true;
742
743 case 1:
745 {
746 return false;
747 }
748
749 return true;
750
751 case 2:
753 {
754 return false;
755 }
756
757 return true;
758
759 case 3:
761 {
762 return false;
763 }
764
765 return true;
766 }
767
768 return false;
769 }
770
772 {
773 switch( posIdx )
774 {
775 case 0:
776 return "doors_driver";
777 break;
778 case 1:
779 return "doors_codriver";
780 break;
781 case 2:
782 return "doors_cargo1";
783 break;
784 case 3:
785 return "doors_cargo2";
786 break;
787 }
788
789 return super.GetDoorSelectionNameFromSeatPos(posIdx);
790 }
791
793 {
794 switch( posIdx )
795 {
796 case 0:
797 return "Hatchback_02_Door_1_1";
798 break;
799 case 1:
800 return "Hatchback_02_Door_2_1";
801 break;
802 case 2:
803 return "Hatchback_02_Door_1_2";
804 break;
805 case 3:
806 return "Hatchback_02_Door_2_2";
807 break;
808 }
809
810 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
811 }
812
814 {
815 switch (ctrl)
816 {
818 float newValue = 0;
820 {
821 newValue += 0.25;
822 }
823
825 {
826 newValue += 0.25;
827 }
828
830 {
831 newValue += 0.25;
832 }
833
835 {
836 newValue += 0.25;
837 }
838
840 break;
841 }
842
843 return super.OnSound(ctrl, oldValue);
844 }
845
847 {
848 switch( selection )
849 {
850 case "doors_driver":
851 return "DoorsDriver";
852 case "doors_codriver":
853 return "DoorsCoDriver";
854 case "doors_cargo1":
855 return "DoorsCargo1";
856 case "doors_cargo2":
857 return "DoorsCargo2";
858 case "doors_hood":
859 return "DoorsHood";
860 case "doors_trunk":
861 return "DoorsTrunk";
862 }
863
864 return "";
865 }
866
867
869 {
870 return false;
871 }
872
874 {
875 return false;
876 }
877
879 {
880 switch (currentSeat)
881 {
882 case 0:
883 return nextSeat == 1;
884 case 1:
885 return nextSeat == 0;
886 case 2:
887 return nextSeat == 3;
888 case 3:
889 return nextSeat == 2;
890 }
891
892 return false;
893 }
894
896 {
897 switch (pCurrentSeat)
898 {
899 case 0:
900 return pDoorsSelection == "DoorsDriver";
901 case 1:
902 return pDoorsSelection == "DoorsCoDriver";
903 case 2:
904 return pDoorsSelection == "DoorsCargo1";
905 case 3:
906 return pDoorsSelection == "DoorsCargo2";
907 }
908
909 return false;
910 }
911
913 {
914 SpawnUniversalParts();
915 SpawnAdditionalItems();
916 FillUpCarFluids();
917
923
930
931
934 }
935}
936
938{
940 {
941 SpawnUniversalParts();
942 SpawnAdditionalItems();
943 FillUpCarFluids();
944
945 GameInventory inventory = GetInventory();
950
957
958
961 }
962};
963
965{
967 {
968 SpawnUniversalParts();
969 SpawnAdditionalItems();
970 FillUpCarFluids();
971
972 GameInventory inventory = GetInventory();
977
984
985
988 }
989}
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.