551{
555
557 {
558
559
560 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
561 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
562 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
563 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
564 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
565 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
566
567 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
568 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
569
570 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
571 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
572
573 SetEnginePos("0 0.7 1.4");
574 }
575
577 {
581 }
582
584 {
585 super.EEInit();
586
588 {
595
598 }
599 }
600
602 {
603 super.OnEngineStart();
604
606 {
609 }
610 }
611
613 {
614 super.OnEngineStop();
615
617 {
620 }
621 }
622
624 {
626 {
628 {
630 }
631 }
632 }
633
635 {
637 }
638
640 {
641 switch (posIdx)
642 {
643 case 0:
645 case 1:
647 case 2:
649 case 3:
651 }
652
653 return 0;
654 }
655
656
658 {
660 }
661
662
664 {
666 }
667
669 {
670 if (!super.CanReleaseAttachment(attachment))
671 {
672 return false;
673 }
674
676 {
677 string attType = attachment.GetType();
678 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
679 {
680 return false;
681 }
682 }
683
684 return true;
685 }
686
688 {
690 }
691
693 {
694
695 if ( !super.CanDisplayAttachmentCategory( category_name ) )
696 return false;
697
698
700 if ( category_name.
Contains(
"engine") )
701 {
703 return false;
704 }
705
706 return true;
707 }
708
710 {
711 if ( !super.CanDisplayCargo() )
712 return false;
713
715 return false;
716
717 return true;
718 }
719
721 {
723
724 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
725 if (!carDoor)
726 {
728 }
729
730 switch (slotType)
731 {
732 case "Hatchback_02_Door_1_1":
733 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
734
735 case "Hatchback_02_Door_2_1":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
737
738 case "Hatchback_02_Door_1_2":
739 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
740
741 case "Hatchback_02_Door_2_2":
742 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
743
744 case "Hatchback_02_Hood":
745 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
746
747 case "Hatchback_02_Trunk":
748 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
749 }
750
752 }
753
754
756 {
757 switch (posIdx)
758 {
759 case 0:
761 {
762 return false;
763 }
764
765 return true;
766
767 case 1:
769 {
770 return false;
771 }
772
773 return true;
774
775 case 2:
777 {
778 return false;
779 }
780
781 return true;
782
783 case 3:
785 {
786 return false;
787 }
788
789 return true;
790 }
791
792 return false;
793 }
794
796 {
797 switch( posIdx )
798 {
799 case 0:
800 return "doors_driver";
801 break;
802 case 1:
803 return "doors_codriver";
804 break;
805 case 2:
806 return "doors_cargo1";
807 break;
808 case 3:
809 return "doors_cargo2";
810 break;
811 }
812
813 return super.GetDoorSelectionNameFromSeatPos(posIdx);
814 }
815
817 {
818 switch( posIdx )
819 {
820 case 0:
821 return "Hatchback_02_Door_1_1";
822 break;
823 case 1:
824 return "Hatchback_02_Door_2_1";
825 break;
826 case 2:
827 return "Hatchback_02_Door_1_2";
828 break;
829 case 3:
830 return "Hatchback_02_Door_2_2";
831 break;
832 }
833
834 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
835 }
836
838 {
839 switch (ctrl)
840 {
842 float newValue = 0;
844 {
845 newValue += 0.25;
846 }
847
849 {
850 newValue += 0.25;
851 }
852
854 {
855 newValue += 0.25;
856 }
857
859 {
860 newValue += 0.25;
861 }
862
864 break;
865 }
866
867 return super.OnSound(ctrl, oldValue);
868 }
869
871 {
872 switch( selection )
873 {
874 case "doors_driver":
875 return "DoorsDriver";
876 case "doors_codriver":
877 return "DoorsCoDriver";
878 case "doors_cargo1":
879 return "DoorsCargo1";
880 case "doors_cargo2":
881 return "DoorsCargo2";
882 case "doors_hood":
883 return "DoorsHood";
884 case "doors_trunk":
885 return "DoorsTrunk";
886 }
887
888 return "";
889 }
890
891
893 {
894 return false;
895 }
896
898 {
899 return false;
900 }
901
903 {
904 switch (currentSeat)
905 {
906 case 0:
907 return nextSeat == 1;
908 case 1:
909 return nextSeat == 0;
910 case 2:
911 return nextSeat == 3;
912 case 3:
913 return nextSeat == 2;
914 }
915
916 return false;
917 }
918
920 {
921 switch (pCurrentSeat)
922 {
923 case 0:
924 return pDoorsSelection == "DoorsDriver";
925 case 1:
926 return pDoorsSelection == "DoorsCoDriver";
927 case 2:
928 return pDoorsSelection == "DoorsCargo1";
929 case 3:
930 return pDoorsSelection == "DoorsCargo2";
931 }
932
933 return false;
934 }
935
937 {
938 SpawnUniversalParts();
939 SpawnAdditionalItems();
940 FillUpCarFluids();
941
947
954
955
958 }
959}
960
962{
964 {
965 SpawnUniversalParts();
966 SpawnAdditionalItems();
967 FillUpCarFluids();
968
969 GameInventory inventory = GetInventory();
974
981
982
985 }
986};
987
989{
991 {
992 SpawnUniversalParts();
993 SpawnAdditionalItems();
994 FillUpCarFluids();
995
996 GameInventory inventory = GetInventory();
1001
1008
1009
1012 }
1013}
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.