803{
807
809 {
810 m_dmgContactCoef = 0.0790;
811
818
819 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
820 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
821
824
827
829
831 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
832 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
833 }
834
836 {
840 }
841
843 {
844 super.EEInit();
845
847 {
854
857 }
858 }
859
861 {
862 return true;
863 }
864
866 {
867 super.GetElectricitySourceDevice();
868
870 }
871
873 {
874 return "CarBattery";
875 }
876
878 {
879 super.OnEngineStart();
880
882 {
885 }
886 }
887
889 {
890 super.OnEngineStop();
891
893 {
896 }
897 }
898
900 {
902 {
904 {
906 }
907 }
908 }
909
911 {
913 }
914
916 {
917 switch (posIdx)
918 {
919 case 0:
921 case 1:
923 case 2:
925 case 3:
927 }
928
929 return 0;
930 }
931
933 {
934 if (!super.CanReleaseAttachment(attachment))
935 {
936 return false;
937 }
938
939 string attType = attachment.GetType();
940 switch (attType)
941 {
942 case "CarBattery":
944 {
945 return false;
946 }
947 break;
948
949 case "SparkPlug":
951 {
952 return false;
953 }
954 break;
955
956 case "CarRadiator":
958 {
959 return false;
960 }
961 break;
962 }
963
964 return true;
965 }
966
968 {
970 }
971
973 {
974 if ( !super.CanDisplayAttachmentCategory(category_name))
975 {
976 return false;
977 }
978
980 if (category_name.
Contains(
"engine"))
981 {
983 {
984 return false;
985 }
986 }
987
988 if (category_name.
Contains(
"trunk"))
989 {
991 {
992 return false;
993 }
994 }
995
996 return true;
997 }
998
1000 {
1001 if ( !super.CanDisplayCargo() )
1002 return false;
1003
1005 return false;
1006
1007 return true;
1008 }
1009
1011 {
1013
1014 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1015 if (!carDoor)
1016 {
1018 }
1019
1020 switch (slotType)
1021 {
1022 case "Sedan_02_Door_1_1":
1023 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1024
1025 case "Sedan_02_Door_2_1":
1026 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1027
1028 case "Sedan_02_Door_1_2":
1029 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1030
1031 case "Sedan_02_Door_2_2":
1032 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1033
1034 case "Sedan_02_Hood":
1035 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1036
1037 case "Sedan_02_Trunk":
1038 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1039 }
1040
1042 }
1043
1044
1046 {
1047 switch( posIdx )
1048 {
1049 case 0:
1051 return false;
1052
1053 return true;
1054 break;
1055
1056 case 1:
1058 return false;
1059
1060 return true;
1061 break;
1062
1063 case 2:
1065 return false;
1066
1067 return true;
1068 break;
1069
1070 case 3:
1072 return false;
1073
1074 return true;
1075 break;
1076 }
1077
1078 return false;
1079 }
1080
1082 {
1083 switch( posIdx )
1084 {
1085 case 0:
1086 return "doors_driver";
1087 break;
1088 case 1:
1089 return "doors_codriver";
1090 break;
1091 case 2:
1092 return "doors_cargo1";
1093 break;
1094 case 3:
1095 return "doors_cargo2";
1096 break;
1097 }
1098
1099 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1100 }
1101
1103 {
1104 switch( posIdx )
1105 {
1106 case 0:
1107 return "Sedan_02_Door_1_1";
1108 break;
1109 case 1:
1110 return "Sedan_02_Door_2_1";
1111 break;
1112 case 2:
1113 return "Sedan_02_Door_1_2";
1114 break;
1115 case 3:
1116 return "Sedan_02_Door_2_2";
1117 break;
1118 }
1119
1120 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1121 }
1122
1124 {
1125 switch ( ctrl )
1126 {
1128 float newValue = 0;
1130 {
1131 newValue += 0.25;
1132 }
1133
1135 {
1136 newValue += 0.25;
1137 }
1138
1140 {
1141 newValue += 0.25;
1142 }
1143
1145 {
1146 newValue += 0.25;
1147 }
1148
1150 break;
1151 }
1152
1153 return super.OnSound(ctrl, oldValue);
1154 }
1155
1157 {
1158 switch( selection )
1159 {
1160 case "doors_driver":
1161 return "DoorsDriver";
1162 case "doors_codriver":
1163 return "DoorsCoDriver";
1164 case "doors_cargo1":
1165 return "DoorsCargo1";
1166 case "doors_cargo2":
1167 return "DoorsCargo2";
1168 case "doors_hood":
1169 return "DoorsHood";
1170 case "doors_trunk":
1171 return "DoorsTrunk";
1172 }
1173
1174 return "";
1175 }
1176
1178 {
1179 return false;
1180 }
1181
1183 {
1184 switch (currentSeat)
1185 {
1186 case 0:
1187 return nextSeat == 1;
1188
1189 case 1:
1190 return nextSeat == 0;
1191
1192 case 2:
1193 return nextSeat == 3;
1194
1195 case 3:
1196 return nextSeat == 2;
1197 }
1198
1199 return false;
1200 }
1201
1203 {
1204 switch (pCurrentSeat)
1205 {
1206 case 0:
1207 return pDoorsSelection == "DoorsDriver";
1208
1209 case 1:
1210 return pDoorsSelection == "DoorsCoDriver";
1211
1212 case 2:
1213 return pDoorsSelection == "DoorsCargo1";
1214
1215 case 3:
1216 return pDoorsSelection == "DoorsCargo2";
1217 }
1218
1219 return false;
1220 }
1221
1223 {
1225 SpawnAdditionalItems();
1226 FillUpCarFluids();
1227
1234
1241
1242
1245 }
1246}
1247
1249{
1251 {
1253 SpawnAdditionalItems();
1254 FillUpCarFluids();
1255
1256 GameInventory inventory = GetInventory();
1261
1268
1269
1272 }
1273}
1274
1276{
1278 {
1280 SpawnAdditionalItems();
1281 FillUpCarFluids();
1282
1283 GameInventory inventory = GetInventory();
1288
1295
1296
1299 }
1300}
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.