871{
875
877 {
878
879
880 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
881 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
882 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
883 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
884 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
885 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
886
887 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
888 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
889
890 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
891 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
892
893 SetEnginePos("0 0.7 1.6");
894 }
895
897 {
901 }
902
904 {
905 super.EEInit();
906
908 {
915
918 }
919 }
920
922 {
923 super.OnEngineStart();
924
926 {
929 }
930 }
931
933 {
934 super.OnEngineStop();
935
937 {
940 }
941 }
942
944 {
946 {
948 {
950 }
951 }
952 }
953
955 {
957 }
958
960 {
961 return 4.5;
962 }
963
965 {
966 switch (posIdx)
967 {
968 case 0:
970 case 1:
972 case 2:
974 case 3:
976 }
977
978 return 0;
979 }
980
981
983 {
985 }
986
987
989 {
991 }
992
994 {
995 if( !super.CanReleaseAttachment( attachment ) )
996 return false;
997
998 string attType = attachment.GetType();
999
1001 {
1002 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
1003 return false;
1004 }
1005
1006 return true;
1007 }
1008
1010 {
1012 }
1013
1015 {
1016
1017 if (!super.CanDisplayAttachmentCategory(category_name))
1018 return false;
1019
1020
1022 if (category_name.
Contains(
"engine"))
1023 {
1025 return false;
1026 }
1027
1028 return true;
1029 }
1030
1032 {
1033 if ( !super.CanDisplayCargo() )
1034 return false;
1035
1037 return false;
1038
1039 return true;
1040 }
1041
1043 {
1045
1046 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1047 if (!carDoor)
1048 {
1050 }
1051
1052 switch (slotType)
1053 {
1054 case "CivSedanDriverDoors":
1055 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1056 break;
1057
1058 case "CivSedanCoDriverDoors":
1059 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1060 break;
1061
1062 case "CivSedanCargo1Doors":
1063 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1064 break;
1065
1066 case "CivSedanCargo2Doors":
1067 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1068 break;
1069
1070 case "CivSedanTrunk":
1071 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1072 break;
1073
1074 case "CivSedanHood":
1075 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1076 break;
1077 }
1078
1080 }
1081
1082
1084 {
1085 switch( posIdx )
1086 {
1087 case 0:
1089 return false;
1090
1091 return true;
1092 break;
1093
1094 case 1:
1096 return false;
1097
1098 return true;
1099 break;
1100
1101 case 2:
1103 return false;
1104
1105 return true;
1106 break;
1107
1108 case 3:
1110 return false;
1111
1112 return true;
1113 break;
1114 }
1115
1116 return false;
1117 }
1118
1120 {
1121 switch( posIdx )
1122 {
1123 case 0:
1124 return "doors_driver";
1125 break;
1126 case 1:
1127 return "doors_codriver";
1128 break;
1129 case 2:
1130 return "doors_cargo1";
1131 break;
1132 case 3:
1133 return "doors_cargo2";
1134 break;
1135 }
1136
1137 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1138 }
1139
1141 {
1142 switch( posIdx )
1143 {
1144 case 0:
1145 return "CivSedanDriverDoors";
1146 break;
1147 case 1:
1148 return "CivSedanCoDriverDoors";
1149 break;
1150 case 2:
1151 return "CivSedanCargo1Doors";
1152 break;
1153 case 3:
1154 return "CivSedanCargo2Doors";
1155 break;
1156 }
1157
1158 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1159 }
1160
1161
1162
1164 {
1165 switch (ctrl)
1166 {
1168 float newValue = 0;
1170 {
1171 newValue += 0.25;
1172 }
1173
1175 {
1176 newValue += 0.25;
1177 }
1178
1180 {
1181 newValue += 0.25;
1182 }
1183
1185 {
1186 newValue += 0.25;
1187 }
1188
1190 {
1191 newValue -= 0.6;
1192 }
1193
1195 {
1196 newValue -= 0.6;
1197 }
1198
1200 break;
1201 }
1202
1203 return super.OnSound(ctrl, oldValue);
1204 }
1205
1207 {
1208 switch (selection)
1209 {
1210 case "doors_driver":
1211 return "DoorsDriver";
1212 case "doors_codriver":
1213 return "DoorsCoDriver";
1214 case "doors_cargo1":
1215 return "DoorsCargo1";
1216 case "doors_cargo2":
1217 return "DoorsCargo2";
1218 case "doors_hood":
1219 return "DoorsHood";
1220 case "doors_trunk":
1221 return "DoorsTrunk";
1222 }
1223
1224 return "";
1225 }
1226
1228 {
1229 return false;
1230 }
1231
1233 {
1234 return false;
1235 }
1236
1238 {
1239 switch (currentSeat)
1240 {
1241 case 0:
1242 return nextSeat == 1;
1243
1244 case 1:
1245 return nextSeat == 0;
1246
1247 case 2:
1248 return nextSeat == 3;
1249
1250 case 3:
1251 return nextSeat == 2;
1252 }
1253
1254 return false;
1255 }
1256
1258 {
1259 switch (pCurrentSeat)
1260 {
1261 case 0:
1262 return pDoorsSelection == "DoorsDriver";
1263
1264 case 1:
1265 return pDoorsSelection == "DoorsCoDriver";
1266
1267 case 2:
1268 return pDoorsSelection == "DoorsCargo1";
1269
1270 case 3:
1271 return pDoorsSelection == "DoorsCargo2";
1272 }
1273
1274 return false;
1275 }
1276
1278 {
1279 SpawnUniversalParts();
1280 SpawnAdditionalItems();
1281 FillUpCarFluids();
1282
1288
1295
1296
1299 }
1300
1302 {
1303 return 1.5;
1304 }
1305}
1306
1308{
1310 {
1311 SpawnUniversalParts();
1312 SpawnAdditionalItems();
1313 FillUpCarFluids();
1314
1315 GameInventory inventory = GetInventory();
1320
1327
1328
1331 }
1332}
1333
1335{
1337 {
1338 SpawnUniversalParts();
1339 SpawnAdditionalItems();
1340 FillUpCarFluids();
1341
1342 GameInventory inventory = GetInventory();
1347
1354
1355
1358 }
1359}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
override float GetPushForceCoefficientMultiplier()
class CivilianSedan extends CarScript OnDebugSpawn()
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()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override void OnEngineStart()
override CarLightBase CreateFrontLight()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override CarRearLightBase CreateRearLight()
override bool IsVitalTruckBattery()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
override void OnDebugSpawn()
Super root of all classes in Enforce script.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
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.