829{
833
835 {
836 m_dmgContactCoef = 0.0790;
837
844
845 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
846 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
847
850
853
855
857 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
858 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
859 }
860
862 {
866 }
867
869 {
870 super.EEInit();
871
873 {
880
883 }
884 }
885
887 {
888 return true;
889 }
890
892 {
893 super.GetElectricitySourceDevice();
894
896 }
897
899 {
900 return "CarBattery";
901 }
902
904 {
905 super.OnEngineStart();
906
908 {
911 }
912 }
913
915 {
916 super.OnEngineStop();
917
919 {
922 }
923 }
924
926 {
928 {
930 {
932 }
933 }
934 }
935
937 {
939 }
940
942 {
943 switch (posIdx)
944 {
945 case 0:
947 case 1:
949 case 2:
951 case 3:
953 }
954
955 return 0;
956 }
957
959 {
960 if (!super.CanReleaseAttachment(attachment))
961 {
962 return false;
963 }
964
965 string attType = attachment.GetType();
966 switch (attType)
967 {
968 case "CarBattery":
970 {
971 return false;
972 }
973 break;
974
975 case "SparkPlug":
977 {
978 return false;
979 }
980 break;
981
982 case "CarRadiator":
984 {
985 return false;
986 }
987 break;
988 }
989
990 return true;
991 }
992
994 {
996 }
997
999 {
1000 if ( !super.CanDisplayAttachmentCategory(category_name))
1001 {
1002 return false;
1003 }
1004
1006 if (category_name.
Contains(
"engine"))
1007 {
1009 {
1010 return false;
1011 }
1012 }
1013
1014 if (category_name.
Contains(
"trunk"))
1015 {
1017 {
1018 return false;
1019 }
1020 }
1021
1022 return true;
1023 }
1024
1026 {
1027 if ( !super.CanDisplayCargo() )
1028 return false;
1029
1031 return false;
1032
1033 return true;
1034 }
1035
1037 {
1039
1040 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1041 if (!carDoor)
1042 {
1044 }
1045
1046 switch (slotType)
1047 {
1048 case "Sedan_02_Door_1_1":
1049 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1050
1051 case "Sedan_02_Door_2_1":
1052 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1053
1054 case "Sedan_02_Door_1_2":
1055 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1056
1057 case "Sedan_02_Door_2_2":
1058 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1059
1060 case "Sedan_02_Hood":
1061 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1062
1063 case "Sedan_02_Trunk":
1064 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1065 }
1066
1068 }
1069
1070
1072 {
1073 switch( posIdx )
1074 {
1075 case 0:
1077 return false;
1078
1079 return true;
1080 break;
1081
1082 case 1:
1084 return false;
1085
1086 return true;
1087 break;
1088
1089 case 2:
1091 return false;
1092
1093 return true;
1094 break;
1095
1096 case 3:
1098 return false;
1099
1100 return true;
1101 break;
1102 }
1103
1104 return false;
1105 }
1106
1108 {
1109 switch( posIdx )
1110 {
1111 case 0:
1112 return "doors_driver";
1113 break;
1114 case 1:
1115 return "doors_codriver";
1116 break;
1117 case 2:
1118 return "doors_cargo1";
1119 break;
1120 case 3:
1121 return "doors_cargo2";
1122 break;
1123 }
1124
1125 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1126 }
1127
1129 {
1130 switch( posIdx )
1131 {
1132 case 0:
1133 return "Sedan_02_Door_1_1";
1134 break;
1135 case 1:
1136 return "Sedan_02_Door_2_1";
1137 break;
1138 case 2:
1139 return "Sedan_02_Door_1_2";
1140 break;
1141 case 3:
1142 return "Sedan_02_Door_2_2";
1143 break;
1144 }
1145
1146 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1147 }
1148
1150 {
1151 switch ( ctrl )
1152 {
1154 float newValue = 0;
1156 {
1157 newValue += 0.25;
1158 }
1159
1161 {
1162 newValue += 0.25;
1163 }
1164
1166 {
1167 newValue += 0.25;
1168 }
1169
1171 {
1172 newValue += 0.25;
1173 }
1174
1176 break;
1177 }
1178
1179 return super.OnSound(ctrl, oldValue);
1180 }
1181
1183 {
1184 switch( selection )
1185 {
1186 case "doors_driver":
1187 return "DoorsDriver";
1188 case "doors_codriver":
1189 return "DoorsCoDriver";
1190 case "doors_cargo1":
1191 return "DoorsCargo1";
1192 case "doors_cargo2":
1193 return "DoorsCargo2";
1194 case "doors_hood":
1195 return "DoorsHood";
1196 case "doors_trunk":
1197 return "DoorsTrunk";
1198 }
1199
1200 return "";
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 {
1251 SpawnAdditionalItems();
1252 FillUpCarFluids();
1253
1260
1267
1268
1271 }
1272}
1273
1275{
1277 {
1279 SpawnAdditionalItems();
1280 FillUpCarFluids();
1281
1282 GameInventory inventory = GetInventory();
1287
1294
1295
1298 }
1299}
1300
1302{
1304 {
1306 SpawnAdditionalItems();
1307 FillUpCarFluids();
1308
1309 GameInventory inventory = GetInventory();
1314
1321
1322
1325 }
1326}
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.