849{
853
855 {
856 m_dmgContactCoef = 0.0790;
857
864
865 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
866 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
867
870
873
875
877 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
878 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
879 }
880
882 {
886 }
887
889 {
890 super.EEInit();
891
893 {
900
903 }
904 }
905
907 {
908 return true;
909 }
910
912 {
913 super.GetElectricitySourceDevice();
914
916 }
917
919 {
920 return "CarBattery";
921 }
922
924 {
925 super.OnEngineStart();
926
928 {
931 }
932 }
933
935 {
936 super.OnEngineStop();
937
939 {
942 }
943 }
944
946 {
948 {
950 {
952 }
953 }
954 }
955
957 {
959 }
960
962 {
963 switch (posIdx)
964 {
965 case 0:
967 case 1:
969 case 2:
971 case 3:
973 }
974
975 return 0;
976 }
977
979 {
980 if (!super.CanReleaseAttachment(attachment))
981 {
982 return false;
983 }
984
985 string attType = attachment.GetType();
986 switch (attType)
987 {
988 case "CarBattery":
990 {
991 return false;
992 }
993 break;
994
995 case "SparkPlug":
997 {
998 return false;
999 }
1000 break;
1001
1002 case "CarRadiator":
1004 {
1005 return false;
1006 }
1007 break;
1008 }
1009
1010 return true;
1011 }
1012
1014 {
1016 }
1017
1019 {
1020 if ( !super.CanDisplayAttachmentCategory(category_name))
1021 {
1022 return false;
1023 }
1024
1026 if (category_name.
Contains(
"engine"))
1027 {
1029 {
1030 return false;
1031 }
1032 }
1033
1034 if (category_name.
Contains(
"trunk"))
1035 {
1037 {
1038 return false;
1039 }
1040 }
1041
1042 return true;
1043 }
1044
1046 {
1047 if ( !super.CanDisplayCargo() )
1048 return false;
1049
1051 return false;
1052
1053 return true;
1054 }
1055
1057 {
1059
1060 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1061 if (!carDoor)
1062 {
1064 }
1065
1066 switch (slotType)
1067 {
1068 case "Sedan_02_Door_1_1":
1069 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1070
1071 case "Sedan_02_Door_2_1":
1072 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1073
1074 case "Sedan_02_Door_1_2":
1075 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1076
1077 case "Sedan_02_Door_2_2":
1078 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1079
1080 case "Sedan_02_Hood":
1081 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1082
1083 case "Sedan_02_Trunk":
1084 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1085 }
1086
1088 }
1089
1090
1092 {
1093 switch( posIdx )
1094 {
1095 case 0:
1097 return false;
1098
1099 return true;
1100 break;
1101
1102 case 1:
1104 return false;
1105
1106 return true;
1107 break;
1108
1109 case 2:
1111 return false;
1112
1113 return true;
1114 break;
1115
1116 case 3:
1118 return false;
1119
1120 return true;
1121 break;
1122 }
1123
1124 return false;
1125 }
1126
1128 {
1129 switch( posIdx )
1130 {
1131 case 0:
1132 return "doors_driver";
1133 break;
1134 case 1:
1135 return "doors_codriver";
1136 break;
1137 case 2:
1138 return "doors_cargo1";
1139 break;
1140 case 3:
1141 return "doors_cargo2";
1142 break;
1143 }
1144
1145 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1146 }
1147
1149 {
1150 switch( posIdx )
1151 {
1152 case 0:
1153 return "Sedan_02_Door_1_1";
1154 break;
1155 case 1:
1156 return "Sedan_02_Door_2_1";
1157 break;
1158 case 2:
1159 return "Sedan_02_Door_1_2";
1160 break;
1161 case 3:
1162 return "Sedan_02_Door_2_2";
1163 break;
1164 }
1165
1166 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1167 }
1168
1170 {
1171 switch ( ctrl )
1172 {
1174 float newValue = 0;
1176 {
1177 newValue += 0.25;
1178 }
1179
1181 {
1182 newValue += 0.25;
1183 }
1184
1186 {
1187 newValue += 0.25;
1188 }
1189
1191 {
1192 newValue += 0.25;
1193 }
1194
1196 break;
1197 }
1198
1199 return super.OnSound(ctrl, oldValue);
1200 }
1201
1203 {
1204 switch( selection )
1205 {
1206 case "doors_driver":
1207 return "DoorsDriver";
1208 case "doors_codriver":
1209 return "DoorsCoDriver";
1210 case "doors_cargo1":
1211 return "DoorsCargo1";
1212 case "doors_cargo2":
1213 return "DoorsCargo2";
1214 case "doors_hood":
1215 return "DoorsHood";
1216 case "doors_trunk":
1217 return "DoorsTrunk";
1218 }
1219
1220 return "";
1221 }
1222
1224 {
1225 return false;
1226 }
1227
1229 {
1230 switch (currentSeat)
1231 {
1232 case 0:
1233 return nextSeat == 1;
1234
1235 case 1:
1236 return nextSeat == 0;
1237
1238 case 2:
1239 return nextSeat == 3;
1240
1241 case 3:
1242 return nextSeat == 2;
1243 }
1244
1245 return false;
1246 }
1247
1249 {
1250 switch (pCurrentSeat)
1251 {
1252 case 0:
1253 return pDoorsSelection == "DoorsDriver";
1254
1255 case 1:
1256 return pDoorsSelection == "DoorsCoDriver";
1257
1258 case 2:
1259 return pDoorsSelection == "DoorsCargo1";
1260
1261 case 3:
1262 return pDoorsSelection == "DoorsCargo2";
1263 }
1264
1265 return false;
1266 }
1267
1269 {
1271 SpawnAdditionalItems();
1272 FillUpCarFluids();
1273
1280
1287
1288
1291 }
1292}
1293
1295{
1297 {
1299 SpawnAdditionalItems();
1300 FillUpCarFluids();
1301
1302 GameInventory inventory = GetInventory();
1307
1314
1315
1318 }
1319}
1320
1322{
1324 {
1326 SpawnAdditionalItems();
1327 FillUpCarFluids();
1328
1329 GameInventory inventory = GetInventory();
1334
1341
1342
1345 }
1346}
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.