562{
566
568 {
569 m_dmgContactCoef = 0.0790;
570
577
578 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
579 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
580
583
586
588
590 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
591 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
592 }
593
595 {
599 }
600
602 {
603 super.EEInit();
604
606 {
613
616 }
617 }
618
620 {
621 return true;
622 }
623
625 {
626 super.GetElectricitySourceDevice();
627
629 }
630
632 {
633 return "CarBattery";
634 }
635
637 {
638 super.OnEngineStart();
639
641 {
644 }
645 }
646
648 {
649 super.OnEngineStop();
650
652 {
655 }
656 }
657
659 {
661 {
663 {
665 }
666 }
667 }
668
670 {
672 }
673
675 {
676 switch (posIdx)
677 {
678 case 0:
680 case 1:
682 case 2:
684 case 3:
686 }
687
688 return 0;
689 }
690
692 {
693 if (!super.CanReleaseAttachment(attachment))
694 {
695 return false;
696 }
697
698 string attType = attachment.GetType();
699 switch (attType)
700 {
701 case "CarBattery":
703 {
704 return false;
705 }
706 break;
707
708 case "SparkPlug":
710 {
711 return false;
712 }
713 break;
714
715 case "CarRadiator":
717 {
718 return false;
719 }
720 break;
721 }
722
723 return true;
724 }
725
727 {
729 }
730
732 {
733 if ( !super.CanDisplayAttachmentCategory(category_name))
734 {
735 return false;
736 }
737
739 if (category_name.
Contains(
"engine"))
740 {
742 {
743 return false;
744 }
745 }
746
747 if (category_name.
Contains(
"trunk"))
748 {
750 {
751 return false;
752 }
753 }
754
755 return true;
756 }
757
759 {
760 if ( !super.CanDisplayCargo() )
761 return false;
762
764 return false;
765
766 return true;
767 }
768
770 {
772
773 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
774 if (!carDoor)
775 {
777 }
778
779 switch (slotType)
780 {
781 case "Sedan_02_Door_1_1":
782 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
783
784 case "Sedan_02_Door_2_1":
785 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
786
787 case "Sedan_02_Door_1_2":
788 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
789
790 case "Sedan_02_Door_2_2":
791 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
792
793 case "Sedan_02_Hood":
794 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
795
796 case "Sedan_02_Trunk":
797 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
798 }
799
801 }
802
803
805 {
806 switch( posIdx )
807 {
808 case 0:
810 return false;
811
812 return true;
813 break;
814
815 case 1:
817 return false;
818
819 return true;
820 break;
821
822 case 2:
824 return false;
825
826 return true;
827 break;
828
829 case 3:
831 return false;
832
833 return true;
834 break;
835 }
836
837 return false;
838 }
839
841 {
842 switch( posIdx )
843 {
844 case 0:
845 return "doors_driver";
846 break;
847 case 1:
848 return "doors_codriver";
849 break;
850 case 2:
851 return "doors_cargo1";
852 break;
853 case 3:
854 return "doors_cargo2";
855 break;
856 }
857
858 return super.GetDoorSelectionNameFromSeatPos(posIdx);
859 }
860
862 {
863 switch( posIdx )
864 {
865 case 0:
866 return "Sedan_02_Door_1_1";
867 break;
868 case 1:
869 return "Sedan_02_Door_2_1";
870 break;
871 case 2:
872 return "Sedan_02_Door_1_2";
873 break;
874 case 3:
875 return "Sedan_02_Door_2_2";
876 break;
877 }
878
879 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
880 }
881
883 {
884 switch ( ctrl )
885 {
887 float newValue = 0;
889 {
890 newValue += 0.25;
891 }
892
894 {
895 newValue += 0.25;
896 }
897
899 {
900 newValue += 0.25;
901 }
902
904 {
905 newValue += 0.25;
906 }
907
909 break;
910 }
911
912 return super.OnSound(ctrl, oldValue);
913 }
914
916 {
917 switch( selection )
918 {
919 case "doors_driver":
920 return "DoorsDriver";
921 case "doors_codriver":
922 return "DoorsCoDriver";
923 case "doors_cargo1":
924 return "DoorsCargo1";
925 case "doors_cargo2":
926 return "DoorsCargo2";
927 case "doors_hood":
928 return "DoorsHood";
929 case "doors_trunk":
930 return "DoorsTrunk";
931 }
932
933 return "";
934 }
935
937 {
938 return false;
939 }
940
942 {
943 switch (currentSeat)
944 {
945 case 0:
946 return nextSeat == 1;
947
948 case 1:
949 return nextSeat == 0;
950
951 case 2:
952 return nextSeat == 3;
953
954 case 3:
955 return nextSeat == 2;
956 }
957
958 return false;
959 }
960
962 {
963 switch (pCurrentSeat)
964 {
965 case 0:
966 return pDoorsSelection == "DoorsDriver";
967
968 case 1:
969 return pDoorsSelection == "DoorsCoDriver";
970
971 case 2:
972 return pDoorsSelection == "DoorsCargo1";
973
974 case 3:
975 return pDoorsSelection == "DoorsCargo2";
976 }
977
978 return false;
979 }
980
982 {
984 SpawnAdditionalItems();
985 FillUpCarFluids();
986
993
1000
1001
1004 }
1005}
1006
1008{
1010 {
1012 SpawnAdditionalItems();
1013 FillUpCarFluids();
1014
1015 GameInventory inventory = GetInventory();
1020
1027
1028
1031 }
1032}
1033
1035{
1037 {
1039 SpawnAdditionalItems();
1040 FillUpCarFluids();
1041
1042 GameInventory inventory = GetInventory();
1047
1054
1055
1058 }
1059}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
string m_EngineStartBattery
ref VehicleHornComponent m_HornComponent
ref VehicleLightsComponent m_LightsComponent
void Sedan_02LightProfileFront()
Sedan_02LightProfileFront VehicleLightProfileFront Sedan_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
void VehicleLightData(VehicleLightProfileBase profile)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
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 EntityAI GetElectricitySourceDevice()
Sedan_02 CarScript OnDebugSpawn()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
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()
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.