851{
855
857 {
858
859
860 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
861 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
862 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
863 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
864 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
865 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
866
867 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
868 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
869
870 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
871 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
872
873 SetEnginePos("0 0.7 1.6");
874 }
875
877 {
878 super.EEInit();
879
881 {
888
891 }
892 }
893
895 {
896 super.OnEngineStart();
897
899 {
901 }
902 }
903
905 {
906 super.OnEngineStop();
907
909 {
911 }
912 }
913
915 {
917 {
919 {
921 }
922 }
923 }
924
926 {
928 }
929
931 {
932 return 4.5;
933 }
934
936 {
937 switch (posIdx)
938 {
939 case 0:
941 case 1:
943 case 2:
945 case 3:
947 }
948
949 return 0;
950 }
951
952
954 {
956 }
957
958
960 {
962 }
963
965 {
966 if( !super.CanReleaseAttachment( attachment ) )
967 return false;
968
969 string attType = attachment.GetType();
970
972 {
973 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
974 return false;
975 }
976
977 return true;
978 }
979
981 {
983 }
984
986 {
987
988 if (!super.CanDisplayAttachmentCategory(category_name))
989 return false;
990
991
993 if (category_name.
Contains(
"engine"))
994 {
996 return false;
997 }
998
999 return true;
1000 }
1001
1003 {
1004 if ( !super.CanDisplayCargo() )
1005 return false;
1006
1008 return false;
1009
1010 return true;
1011 }
1012
1014 {
1016
1017 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1018 if (!carDoor)
1019 {
1021 }
1022
1023 switch (slotType)
1024 {
1025 case "CivSedanDriverDoors":
1026 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1027 break;
1028
1029 case "CivSedanCoDriverDoors":
1030 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1031 break;
1032
1033 case "CivSedanCargo1Doors":
1034 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1035 break;
1036
1037 case "CivSedanCargo2Doors":
1038 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1039 break;
1040
1041 case "CivSedanTrunk":
1042 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1043 break;
1044
1045 case "CivSedanHood":
1046 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1047 break;
1048 }
1049
1051 }
1052
1053
1055 {
1056 switch( posIdx )
1057 {
1058 case 0:
1060 return false;
1061
1062 return true;
1063 break;
1064
1065 case 1:
1067 return false;
1068
1069 return true;
1070 break;
1071
1072 case 2:
1074 return false;
1075
1076 return true;
1077 break;
1078
1079 case 3:
1081 return false;
1082
1083 return true;
1084 break;
1085 }
1086
1087 return false;
1088 }
1089
1091 {
1092 switch( posIdx )
1093 {
1094 case 0:
1095 return "doors_driver";
1096 break;
1097 case 1:
1098 return "doors_codriver";
1099 break;
1100 case 2:
1101 return "doors_cargo1";
1102 break;
1103 case 3:
1104 return "doors_cargo2";
1105 break;
1106 }
1107
1108 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1109 }
1110
1112 {
1113 switch( posIdx )
1114 {
1115 case 0:
1116 return "CivSedanDriverDoors";
1117 break;
1118 case 1:
1119 return "CivSedanCoDriverDoors";
1120 break;
1121 case 2:
1122 return "CivSedanCargo1Doors";
1123 break;
1124 case 3:
1125 return "CivSedanCargo2Doors";
1126 break;
1127 }
1128
1129 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1130 }
1131
1132
1133
1135 {
1136 switch (ctrl)
1137 {
1139 float newValue = 0;
1141 {
1142 newValue += 0.25;
1143 }
1144
1146 {
1147 newValue += 0.25;
1148 }
1149
1151 {
1152 newValue += 0.25;
1153 }
1154
1156 {
1157 newValue += 0.25;
1158 }
1159
1161 {
1162 newValue -= 0.6;
1163 }
1164
1166 {
1167 newValue -= 0.6;
1168 }
1169
1171 break;
1172 }
1173
1174 return super.OnSound(ctrl, oldValue);
1175 }
1176
1178 {
1179 switch (selection)
1180 {
1181 case "doors_driver":
1182 return "DoorsDriver";
1183 case "doors_codriver":
1184 return "DoorsCoDriver";
1185 case "doors_cargo1":
1186 return "DoorsCargo1";
1187 case "doors_cargo2":
1188 return "DoorsCargo2";
1189 case "doors_hood":
1190 return "DoorsHood";
1191 case "doors_trunk":
1192 return "DoorsTrunk";
1193 }
1194
1195 return "";
1196 }
1197
1199 {
1200 return false;
1201 }
1202
1204 {
1205 return false;
1206 }
1207
1209 {
1210 switch (currentSeat)
1211 {
1212 case 0:
1213 return nextSeat == 1;
1214
1215 case 1:
1216 return nextSeat == 0;
1217
1218 case 2:
1219 return nextSeat == 3;
1220
1221 case 3:
1222 return nextSeat == 2;
1223 }
1224
1225 return false;
1226 }
1227
1229 {
1230 switch (pCurrentSeat)
1231 {
1232 case 0:
1233 return pDoorsSelection == "DoorsDriver";
1234
1235 case 1:
1236 return pDoorsSelection == "DoorsCoDriver";
1237
1238 case 2:
1239 return pDoorsSelection == "DoorsCargo1";
1240
1241 case 3:
1242 return pDoorsSelection == "DoorsCargo2";
1243 }
1244
1245 return false;
1246 }
1247
1249 {
1250 SpawnUniversalParts();
1251 SpawnAdditionalItems();
1252 FillUpCarFluids();
1253
1254 GetInventory().CreateInInventory("CivSedanWheel");
1255 GetInventory().CreateInInventory("CivSedanWheel");
1256 GetInventory().CreateInInventory("CivSedanWheel");
1257 GetInventory().CreateInInventory("CivSedanWheel");
1258
1259 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1260 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1261 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1262 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1263 GetInventory().CreateInInventory("CivSedanHood");
1264 GetInventory().CreateInInventory("CivSedanTrunk");
1265
1266
1267 GetInventory().CreateInInventory("CivSedanWheel");
1268 GetInventory().CreateInInventory("CivSedanWheel");
1269 }
1270
1272 {
1273 return 1.5;
1274 }
1275}
1276
1278{
1280 {
1281 SpawnUniversalParts();
1282 SpawnAdditionalItems();
1283 FillUpCarFluids();
1284
1285 GetInventory().CreateInInventory("CivSedanWheel");
1286 GetInventory().CreateInInventory("CivSedanWheel");
1287 GetInventory().CreateInInventory("CivSedanWheel");
1288 GetInventory().CreateInInventory("CivSedanWheel");
1289
1290 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1291 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1292 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1293 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1294 GetInventory().CreateInInventory("CivSedanHood_Wine");
1295 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1296
1297
1298 GetInventory().CreateInInventory("CivSedanWheel");
1299 GetInventory().CreateInInventory("CivSedanWheel");
1300 }
1301}
1302
1304{
1306 {
1307 SpawnUniversalParts();
1308 SpawnAdditionalItems();
1309 FillUpCarFluids();
1310
1311 GetInventory().CreateInInventory("CivSedanWheel");
1312 GetInventory().CreateInInventory("CivSedanWheel");
1313 GetInventory().CreateInInventory("CivSedanWheel");
1314 GetInventory().CreateInInventory("CivSedanWheel");
1315
1316 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1317 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1318 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1319 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1320 GetInventory().CreateInInventory("CivSedanHood_Black");
1321 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1322
1323
1324 GetInventory().CreateInInventory("CivSedanWheel");
1325 GetInventory().CreateInInventory("CivSedanWheel");
1326 }
1327}
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.
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
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.