728{
732
734 {
735 m_dmgContactCoef = 0.0790;
736
743
744 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
745 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
746
749
752
754
756 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
757 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
758 }
759
761 {
765 }
766
768 {
769 super.EEInit();
770
772 {
779
782 }
783 }
784
786 {
787 return true;
788 }
789
791 {
792 super.GetElectricitySourceDevice();
793
795 }
796
798 {
799 return "CarBattery";
800 }
801
803 {
804 super.OnEngineStart();
805
807 {
810 }
811 }
812
814 {
815 super.OnEngineStop();
816
818 {
821 }
822 }
823
825 {
827 {
829 {
831 }
832 }
833 }
834
836 {
838 }
839
841 {
842 switch (posIdx)
843 {
844 case 0:
846 case 1:
848 case 2:
850 case 3:
852 }
853
854 return 0;
855 }
856
858 {
859 if (!super.CanReleaseAttachment(attachment))
860 {
861 return false;
862 }
863
864 string attType = attachment.GetType();
865 switch (attType)
866 {
867 case "CarBattery":
869 {
870 return false;
871 }
872 break;
873
874 case "SparkPlug":
876 {
877 return false;
878 }
879 break;
880
881 case "CarRadiator":
883 {
884 return false;
885 }
886 break;
887 }
888
889 return true;
890 }
891
893 {
895 }
896
898 {
899 if ( !super.CanDisplayAttachmentCategory(category_name))
900 {
901 return false;
902 }
903
905 if (category_name.
Contains(
"engine"))
906 {
908 {
909 return false;
910 }
911 }
912
913 if (category_name.
Contains(
"trunk"))
914 {
916 {
917 return false;
918 }
919 }
920
921 return true;
922 }
923
925 {
926 if ( !super.CanDisplayCargo() )
927 return false;
928
930 return false;
931
932 return true;
933 }
934
936 {
938
939 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
940 if (!carDoor)
941 {
943 }
944
945 switch (slotType)
946 {
947 case "Sedan_02_Door_1_1":
948 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
949
950 case "Sedan_02_Door_2_1":
951 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
952
953 case "Sedan_02_Door_1_2":
954 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
955
956 case "Sedan_02_Door_2_2":
957 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
958
959 case "Sedan_02_Hood":
960 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
961
962 case "Sedan_02_Trunk":
963 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
964 }
965
967 }
968
969
971 {
972 switch( posIdx )
973 {
974 case 0:
976 return false;
977
978 return true;
979 break;
980
981 case 1:
983 return false;
984
985 return true;
986 break;
987
988 case 2:
990 return false;
991
992 return true;
993 break;
994
995 case 3:
997 return false;
998
999 return true;
1000 break;
1001 }
1002
1003 return false;
1004 }
1005
1007 {
1008 switch( posIdx )
1009 {
1010 case 0:
1011 return "doors_driver";
1012 break;
1013 case 1:
1014 return "doors_codriver";
1015 break;
1016 case 2:
1017 return "doors_cargo1";
1018 break;
1019 case 3:
1020 return "doors_cargo2";
1021 break;
1022 }
1023
1024 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1025 }
1026
1028 {
1029 switch( posIdx )
1030 {
1031 case 0:
1032 return "Sedan_02_Door_1_1";
1033 break;
1034 case 1:
1035 return "Sedan_02_Door_2_1";
1036 break;
1037 case 2:
1038 return "Sedan_02_Door_1_2";
1039 break;
1040 case 3:
1041 return "Sedan_02_Door_2_2";
1042 break;
1043 }
1044
1045 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1046 }
1047
1049 {
1050 switch ( ctrl )
1051 {
1053 float newValue = 0;
1055 {
1056 newValue += 0.25;
1057 }
1058
1060 {
1061 newValue += 0.25;
1062 }
1063
1065 {
1066 newValue += 0.25;
1067 }
1068
1070 {
1071 newValue += 0.25;
1072 }
1073
1075 break;
1076 }
1077
1078 return super.OnSound(ctrl, oldValue);
1079 }
1080
1082 {
1083 switch( selection )
1084 {
1085 case "doors_driver":
1086 return "DoorsDriver";
1087 case "doors_codriver":
1088 return "DoorsCoDriver";
1089 case "doors_cargo1":
1090 return "DoorsCargo1";
1091 case "doors_cargo2":
1092 return "DoorsCargo2";
1093 case "doors_hood":
1094 return "DoorsHood";
1095 case "doors_trunk":
1096 return "DoorsTrunk";
1097 }
1098
1099 return "";
1100 }
1101
1103 {
1104 return false;
1105 }
1106
1108 {
1109 switch (currentSeat)
1110 {
1111 case 0:
1112 return nextSeat == 1;
1113
1114 case 1:
1115 return nextSeat == 0;
1116
1117 case 2:
1118 return nextSeat == 3;
1119
1120 case 3:
1121 return nextSeat == 2;
1122 }
1123
1124 return false;
1125 }
1126
1128 {
1129 switch (pCurrentSeat)
1130 {
1131 case 0:
1132 return pDoorsSelection == "DoorsDriver";
1133
1134 case 1:
1135 return pDoorsSelection == "DoorsCoDriver";
1136
1137 case 2:
1138 return pDoorsSelection == "DoorsCargo1";
1139
1140 case 3:
1141 return pDoorsSelection == "DoorsCargo2";
1142 }
1143
1144 return false;
1145 }
1146
1148 {
1150 SpawnAdditionalItems();
1151 FillUpCarFluids();
1152
1159
1166
1167
1170 }
1171}
1172
1174{
1176 {
1178 SpawnAdditionalItems();
1179 FillUpCarFluids();
1180
1181 GameInventory inventory = GetInventory();
1186
1193
1194
1197 }
1198}
1199
1201{
1203 {
1205 SpawnAdditionalItems();
1206 FillUpCarFluids();
1207
1208 GameInventory inventory = GetInventory();
1213
1220
1221
1224 }
1225}
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.