579{
583
585 {
586 m_dmgContactCoef = 0.0790;
587
594
595 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
596 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
597
600
603
605
607 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
608 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
609 }
610
612 {
616 }
617
619 {
620 super.EEInit();
621
623 {
630
633 }
634 }
635
637 {
638 return true;
639 }
640
642 {
643 super.GetElectricitySourceDevice();
644
646 }
647
649 {
650 return "CarBattery";
651 }
652
654 {
655 super.OnEngineStart();
656
658 {
661 }
662 }
663
665 {
666 super.OnEngineStop();
667
669 {
672 }
673 }
674
676 {
678 {
680 {
682 }
683 }
684 }
685
687 {
689 }
690
692 {
693 switch (posIdx)
694 {
695 case 0:
697 case 1:
699 case 2:
701 case 3:
703 }
704
705 return 0;
706 }
707
709 {
710 if (!super.CanReleaseAttachment(attachment))
711 {
712 return false;
713 }
714
715 string attType = attachment.GetType();
716 switch (attType)
717 {
718 case "CarBattery":
720 {
721 return false;
722 }
723 break;
724
725 case "SparkPlug":
727 {
728 return false;
729 }
730 break;
731
732 case "CarRadiator":
734 {
735 return false;
736 }
737 break;
738 }
739
740 return true;
741 }
742
744 {
746 }
747
749 {
750 if ( !super.CanDisplayAttachmentCategory(category_name))
751 {
752 return false;
753 }
754
756 if (category_name.
Contains(
"engine"))
757 {
759 {
760 return false;
761 }
762 }
763
764 if (category_name.
Contains(
"trunk"))
765 {
767 {
768 return false;
769 }
770 }
771
772 return true;
773 }
774
776 {
777 if ( !super.CanDisplayCargo() )
778 return false;
779
781 return false;
782
783 return true;
784 }
785
787 {
789
790 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
791 if (!carDoor)
792 {
794 }
795
796 switch (slotType)
797 {
798 case "Sedan_02_Door_1_1":
799 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
800
801 case "Sedan_02_Door_2_1":
802 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
803
804 case "Sedan_02_Door_1_2":
805 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
806
807 case "Sedan_02_Door_2_2":
808 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
809
810 case "Sedan_02_Hood":
811 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
812
813 case "Sedan_02_Trunk":
814 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
815 }
816
818 }
819
820
822 {
823 switch( posIdx )
824 {
825 case 0:
827 return false;
828
829 return true;
830 break;
831
832 case 1:
834 return false;
835
836 return true;
837 break;
838
839 case 2:
841 return false;
842
843 return true;
844 break;
845
846 case 3:
848 return false;
849
850 return true;
851 break;
852 }
853
854 return false;
855 }
856
858 {
859 switch( posIdx )
860 {
861 case 0:
862 return "doors_driver";
863 break;
864 case 1:
865 return "doors_codriver";
866 break;
867 case 2:
868 return "doors_cargo1";
869 break;
870 case 3:
871 return "doors_cargo2";
872 break;
873 }
874
875 return super.GetDoorSelectionNameFromSeatPos(posIdx);
876 }
877
879 {
880 switch( posIdx )
881 {
882 case 0:
883 return "Sedan_02_Door_1_1";
884 break;
885 case 1:
886 return "Sedan_02_Door_2_1";
887 break;
888 case 2:
889 return "Sedan_02_Door_1_2";
890 break;
891 case 3:
892 return "Sedan_02_Door_2_2";
893 break;
894 }
895
896 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
897 }
898
900 {
901 switch ( ctrl )
902 {
904 float newValue = 0;
906 {
907 newValue += 0.25;
908 }
909
911 {
912 newValue += 0.25;
913 }
914
916 {
917 newValue += 0.25;
918 }
919
921 {
922 newValue += 0.25;
923 }
924
926 break;
927 }
928
929 return super.OnSound(ctrl, oldValue);
930 }
931
933 {
934 switch( selection )
935 {
936 case "doors_driver":
937 return "DoorsDriver";
938 case "doors_codriver":
939 return "DoorsCoDriver";
940 case "doors_cargo1":
941 return "DoorsCargo1";
942 case "doors_cargo2":
943 return "DoorsCargo2";
944 case "doors_hood":
945 return "DoorsHood";
946 case "doors_trunk":
947 return "DoorsTrunk";
948 }
949
950 return "";
951 }
952
954 {
955 return false;
956 }
957
959 {
960 switch (currentSeat)
961 {
962 case 0:
963 return nextSeat == 1;
964
965 case 1:
966 return nextSeat == 0;
967
968 case 2:
969 return nextSeat == 3;
970
971 case 3:
972 return nextSeat == 2;
973 }
974
975 return false;
976 }
977
979 {
980 switch (pCurrentSeat)
981 {
982 case 0:
983 return pDoorsSelection == "DoorsDriver";
984
985 case 1:
986 return pDoorsSelection == "DoorsCoDriver";
987
988 case 2:
989 return pDoorsSelection == "DoorsCargo1";
990
991 case 3:
992 return pDoorsSelection == "DoorsCargo2";
993 }
994
995 return false;
996 }
997
999 {
1001 SpawnAdditionalItems();
1002 FillUpCarFluids();
1003
1010
1017
1018
1021 }
1022}
1023
1025{
1027 {
1029 SpawnAdditionalItems();
1030 FillUpCarFluids();
1031
1032 GameInventory inventory = GetInventory();
1037
1044
1045
1048 }
1049}
1050
1052{
1054 {
1056 SpawnAdditionalItems();
1057 FillUpCarFluids();
1058
1059 GameInventory inventory = GetInventory();
1064
1071
1072
1075 }
1076}
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.