692{
696
698 {
699 m_dmgContactCoef = 0.0790;
700
707
708 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
709 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
710
713
716
718
720 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
721 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
722 }
723
725 {
729 }
730
732 {
733 super.EEInit();
734
736 {
743
746 }
747 }
748
750 {
751 return true;
752 }
753
755 {
756 super.GetElectricitySourceDevice();
757
759 }
760
762 {
763 return "CarBattery";
764 }
765
767 {
768 super.OnEngineStart();
769
771 {
774 }
775 }
776
778 {
779 super.OnEngineStop();
780
782 {
785 }
786 }
787
789 {
791 {
793 {
795 }
796 }
797 }
798
800 {
802 }
803
805 {
806 switch (posIdx)
807 {
808 case 0:
810 case 1:
812 case 2:
814 case 3:
816 }
817
818 return 0;
819 }
820
822 {
823 if (!super.CanReleaseAttachment(attachment))
824 {
825 return false;
826 }
827
828 string attType = attachment.GetType();
829 switch (attType)
830 {
831 case "CarBattery":
833 {
834 return false;
835 }
836 break;
837
838 case "SparkPlug":
840 {
841 return false;
842 }
843 break;
844
845 case "CarRadiator":
847 {
848 return false;
849 }
850 break;
851 }
852
853 return true;
854 }
855
857 {
859 }
860
862 {
863 if ( !super.CanDisplayAttachmentCategory(category_name))
864 {
865 return false;
866 }
867
869 if (category_name.
Contains(
"engine"))
870 {
872 {
873 return false;
874 }
875 }
876
877 if (category_name.
Contains(
"trunk"))
878 {
880 {
881 return false;
882 }
883 }
884
885 return true;
886 }
887
889 {
890 if ( !super.CanDisplayCargo() )
891 return false;
892
894 return false;
895
896 return true;
897 }
898
900 {
902
903 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
904 if (!carDoor)
905 {
907 }
908
909 switch (slotType)
910 {
911 case "Sedan_02_Door_1_1":
912 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
913
914 case "Sedan_02_Door_2_1":
915 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
916
917 case "Sedan_02_Door_1_2":
918 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
919
920 case "Sedan_02_Door_2_2":
921 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
922
923 case "Sedan_02_Hood":
924 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
925
926 case "Sedan_02_Trunk":
927 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
928 }
929
931 }
932
933
935 {
936 switch( posIdx )
937 {
938 case 0:
940 return false;
941
942 return true;
943 break;
944
945 case 1:
947 return false;
948
949 return true;
950 break;
951
952 case 2:
954 return false;
955
956 return true;
957 break;
958
959 case 3:
961 return false;
962
963 return true;
964 break;
965 }
966
967 return false;
968 }
969
971 {
972 switch( posIdx )
973 {
974 case 0:
975 return "doors_driver";
976 break;
977 case 1:
978 return "doors_codriver";
979 break;
980 case 2:
981 return "doors_cargo1";
982 break;
983 case 3:
984 return "doors_cargo2";
985 break;
986 }
987
988 return super.GetDoorSelectionNameFromSeatPos(posIdx);
989 }
990
992 {
993 switch( posIdx )
994 {
995 case 0:
996 return "Sedan_02_Door_1_1";
997 break;
998 case 1:
999 return "Sedan_02_Door_2_1";
1000 break;
1001 case 2:
1002 return "Sedan_02_Door_1_2";
1003 break;
1004 case 3:
1005 return "Sedan_02_Door_2_2";
1006 break;
1007 }
1008
1009 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1010 }
1011
1013 {
1014 switch ( ctrl )
1015 {
1017 float newValue = 0;
1019 {
1020 newValue += 0.25;
1021 }
1022
1024 {
1025 newValue += 0.25;
1026 }
1027
1029 {
1030 newValue += 0.25;
1031 }
1032
1034 {
1035 newValue += 0.25;
1036 }
1037
1039 break;
1040 }
1041
1042 return super.OnSound(ctrl, oldValue);
1043 }
1044
1046 {
1047 switch( selection )
1048 {
1049 case "doors_driver":
1050 return "DoorsDriver";
1051 case "doors_codriver":
1052 return "DoorsCoDriver";
1053 case "doors_cargo1":
1054 return "DoorsCargo1";
1055 case "doors_cargo2":
1056 return "DoorsCargo2";
1057 case "doors_hood":
1058 return "DoorsHood";
1059 case "doors_trunk":
1060 return "DoorsTrunk";
1061 }
1062
1063 return "";
1064 }
1065
1067 {
1068 return false;
1069 }
1070
1072 {
1073 switch (currentSeat)
1074 {
1075 case 0:
1076 return nextSeat == 1;
1077
1078 case 1:
1079 return nextSeat == 0;
1080
1081 case 2:
1082 return nextSeat == 3;
1083
1084 case 3:
1085 return nextSeat == 2;
1086 }
1087
1088 return false;
1089 }
1090
1092 {
1093 switch (pCurrentSeat)
1094 {
1095 case 0:
1096 return pDoorsSelection == "DoorsDriver";
1097
1098 case 1:
1099 return pDoorsSelection == "DoorsCoDriver";
1100
1101 case 2:
1102 return pDoorsSelection == "DoorsCargo1";
1103
1104 case 3:
1105 return pDoorsSelection == "DoorsCargo2";
1106 }
1107
1108 return false;
1109 }
1110
1112 {
1114 SpawnAdditionalItems();
1115 FillUpCarFluids();
1116
1123
1130
1131
1134 }
1135}
1136
1138{
1140 {
1142 SpawnAdditionalItems();
1143 FillUpCarFluids();
1144
1145 GameInventory inventory = GetInventory();
1150
1157
1158
1161 }
1162}
1163
1165{
1167 {
1169 SpawnAdditionalItems();
1170 FillUpCarFluids();
1171
1172 GameInventory inventory = GetInventory();
1177
1184
1185
1188 }
1189}
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.