818{
822
824 {
825 m_dmgContactCoef = 0.0790;
826
827 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
828 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
829 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
830 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
831 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
832 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
833
834 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
835 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
836
837 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
838 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
839
840 SetEnginePos("0 0.7 -1.7");
841 }
842
844 {
845 super.EEInit();
846
848 {
855
858 }
859 }
860
862 {
863 super.OnEngineStart();
864
866 {
868 }
869 }
870
872 {
873 super.OnEngineStop();
874
876 {
878 }
879 }
880
882 {
884 {
886 {
888 }
889 }
890 }
891
893 {
895 }
896
898 {
899 switch (posIdx)
900 {
901 case 0:
903 case 1:
905 case 2:
907 case 3:
909 }
910
911 return 0;
912 }
913
914
916 {
918 }
919
920
922 {
924 }
925
927 {
928 if (!super.CanReleaseAttachment(attachment))
929 {
930 return false;
931 }
932
933 string attType = attachment.GetType();
934 switch (attType)
935 {
936 case "CarBattery":
938 {
939 return false;
940 }
941 break;
942
943 case "SparkPlug":
945 {
946 return false;
947 }
948 break;
949
950 case "CarRadiator":
952 {
953 return false;
954 }
955 break;
956 }
957
958 return true;
959 }
960
962 {
964 }
965
967 {
968 if ( !super.CanDisplayAttachmentCategory(category_name))
969 {
970 return false;
971 }
972
974 if (category_name.
Contains(
"engine"))
975 {
977 {
978 return false;
979 }
980 }
981
982 if (category_name.
Contains(
"trunk"))
983 {
985 {
986 return false;
987 }
988 }
989
990 return true;
991 }
992
994 {
995 if ( !super.CanDisplayCargo() )
996 return false;
997
999 return false;
1000
1001 return true;
1002 }
1003
1005 {
1007
1008 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1009 if (!carDoor)
1010 {
1012 }
1013
1014 switch (slotType)
1015 {
1016 case "Sedan_02_Door_1_1":
1017 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1018
1019 case "Sedan_02_Door_2_1":
1020 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1021
1022 case "Sedan_02_Door_1_2":
1023 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1024
1025 case "Sedan_02_Door_2_2":
1026 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1027
1028 case "Sedan_02_Hood":
1029 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1030
1031 case "Sedan_02_Trunk":
1032 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1033 }
1034
1036 }
1037
1038
1040 {
1041 switch( posIdx )
1042 {
1043 case 0:
1045 return false;
1046
1047 return true;
1048 break;
1049
1050 case 1:
1052 return false;
1053
1054 return true;
1055 break;
1056
1057 case 2:
1059 return false;
1060
1061 return true;
1062 break;
1063
1064 case 3:
1066 return false;
1067
1068 return true;
1069 break;
1070 }
1071
1072 return false;
1073 }
1074
1076 {
1077 switch( posIdx )
1078 {
1079 case 0:
1080 return "doors_driver";
1081 break;
1082 case 1:
1083 return "doors_codriver";
1084 break;
1085 case 2:
1086 return "doors_cargo1";
1087 break;
1088 case 3:
1089 return "doors_cargo2";
1090 break;
1091 }
1092
1093 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1094 }
1095
1097 {
1098 switch( posIdx )
1099 {
1100 case 0:
1101 return "Sedan_02_Door_1_1";
1102 break;
1103 case 1:
1104 return "Sedan_02_Door_2_1";
1105 break;
1106 case 2:
1107 return "Sedan_02_Door_1_2";
1108 break;
1109 case 3:
1110 return "Sedan_02_Door_2_2";
1111 break;
1112 }
1113
1114 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1115 }
1116
1118 {
1119 switch ( ctrl )
1120 {
1122 float newValue = 0;
1124 {
1125 newValue += 0.25;
1126 }
1127
1129 {
1130 newValue += 0.25;
1131 }
1132
1134 {
1135 newValue += 0.25;
1136 }
1137
1139 {
1140 newValue += 0.25;
1141 }
1142
1144 break;
1145 }
1146
1147 return super.OnSound(ctrl, oldValue);
1148 }
1149
1151 {
1152 switch( selection )
1153 {
1154 case "doors_driver":
1155 return "DoorsDriver";
1156 case "doors_codriver":
1157 return "DoorsCoDriver";
1158 case "doors_cargo1":
1159 return "DoorsCargo1";
1160 case "doors_cargo2":
1161 return "DoorsCargo2";
1162 case "doors_hood":
1163 return "DoorsHood";
1164 case "doors_trunk":
1165 return "DoorsTrunk";
1166 }
1167
1168 return "";
1169 }
1170
1171
1173 {
1174 return false;
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 {
1224 SpawnUniversalParts();
1225 SpawnAdditionalItems();
1226 FillUpCarFluids();
1227
1228 GetInventory().CreateInInventory("Sedan_02_Wheel");
1229 GetInventory().CreateInInventory("Sedan_02_Wheel");
1230 GetInventory().CreateInInventory("Sedan_02_Wheel");
1231 GetInventory().CreateInInventory("Sedan_02_Wheel");
1232 GetInventory().CreateInInventory("Sedan_02_Wheel");
1233
1234 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1235 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1236 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1237 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1238 GetInventory().CreateInInventory("Sedan_02_Hood");
1239 GetInventory().CreateInInventory("Sedan_02_Trunk");
1240
1241
1242 GetInventory().CreateInInventory("Sedan_02_Wheel");
1243 GetInventory().CreateInInventory("Sedan_02_Wheel");
1244 }
1245}
1246
1248{
1250 {
1251 SpawnUniversalParts();
1252 SpawnAdditionalItems();
1253 FillUpCarFluids();
1254
1255 GetInventory().CreateInInventory("Sedan_02_Wheel");
1256 GetInventory().CreateInInventory("Sedan_02_Wheel");
1257 GetInventory().CreateInInventory("Sedan_02_Wheel");
1258 GetInventory().CreateInInventory("Sedan_02_Wheel");
1259
1260 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1261 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1262 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1263 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1264 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1265 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1266
1267
1268 GetInventory().CreateInInventory("Sedan_02_Wheel");
1269 GetInventory().CreateInInventory("Sedan_02_Wheel");
1270 }
1271}
1272
1273class Sedan_02_Grey
extends Sedan_02
1274{
1276 {
1277 SpawnUniversalParts();
1278 SpawnAdditionalItems();
1279 FillUpCarFluids();
1280
1281 GetInventory().CreateInInventory("Sedan_02_Wheel");
1282 GetInventory().CreateInInventory("Sedan_02_Wheel");
1283 GetInventory().CreateInInventory("Sedan_02_Wheel");
1284 GetInventory().CreateInInventory("Sedan_02_Wheel");
1285
1286 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1287 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1288 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1289 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1290 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1291 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1292
1293
1294 GetInventory().CreateInInventory("Sedan_02_Wheel");
1295 GetInventory().CreateInInventory("Sedan_02_Wheel");
1296 }
1297}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
class Sedan_02 extends CarScript OnDebugSpawn()
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 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)
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
Super root of all classes in Enforce script.
override void OnDebugSpawn()
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.