824{
828
830 {
831 m_dmgContactCoef = 0.0790;
832
839
840 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
841 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
842
845
848
850
852 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
853 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
854 }
855
857 {
861 }
862
864 {
865 super.EEInit();
866
868 {
875
878 }
879 }
880
882 {
883 return true;
884 }
885
887 {
888 super.GetElectricitySourceDevice();
889
891 }
892
894 {
895 return "CarBattery";
896 }
897
899 {
900 super.OnEngineStart();
901
903 {
906 }
907 }
908
910 {
911 super.OnEngineStop();
912
914 {
917 }
918 }
919
921 {
923 {
925 {
927 }
928 }
929 }
930
932 {
934 }
935
937 {
938 switch (posIdx)
939 {
940 case 0:
942 case 1:
944 case 2:
946 case 3:
948 }
949
950 return 0;
951 }
952
954 {
955 if (!super.CanReleaseAttachment(attachment))
956 {
957 return false;
958 }
959
960 string attType = attachment.GetType();
961 switch (attType)
962 {
963 case "CarBattery":
965 {
966 return false;
967 }
968 break;
969
970 case "SparkPlug":
972 {
973 return false;
974 }
975 break;
976
977 case "CarRadiator":
979 {
980 return false;
981 }
982 break;
983 }
984
985 return true;
986 }
987
989 {
991 }
992
994 {
995 if ( !super.CanDisplayAttachmentCategory(category_name))
996 {
997 return false;
998 }
999
1001 if (category_name.
Contains(
"engine"))
1002 {
1004 {
1005 return false;
1006 }
1007 }
1008
1009 if (category_name.
Contains(
"trunk"))
1010 {
1012 {
1013 return false;
1014 }
1015 }
1016
1017 return true;
1018 }
1019
1021 {
1022 if ( !super.CanDisplayCargo() )
1023 return false;
1024
1026 return false;
1027
1028 return true;
1029 }
1030
1032 {
1034
1035 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1036 if (!carDoor)
1037 {
1039 }
1040
1041 switch (slotType)
1042 {
1043 case "Sedan_02_Door_1_1":
1044 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1045
1046 case "Sedan_02_Door_2_1":
1047 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1048
1049 case "Sedan_02_Door_1_2":
1050 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1051
1052 case "Sedan_02_Door_2_2":
1053 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1054
1055 case "Sedan_02_Hood":
1056 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1057
1058 case "Sedan_02_Trunk":
1059 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1060 }
1061
1063 }
1064
1065
1067 {
1068 switch( posIdx )
1069 {
1070 case 0:
1072 return false;
1073
1074 return true;
1075 break;
1076
1077 case 1:
1079 return false;
1080
1081 return true;
1082 break;
1083
1084 case 2:
1086 return false;
1087
1088 return true;
1089 break;
1090
1091 case 3:
1093 return false;
1094
1095 return true;
1096 break;
1097 }
1098
1099 return false;
1100 }
1101
1103 {
1104 switch( posIdx )
1105 {
1106 case 0:
1107 return "doors_driver";
1108 break;
1109 case 1:
1110 return "doors_codriver";
1111 break;
1112 case 2:
1113 return "doors_cargo1";
1114 break;
1115 case 3:
1116 return "doors_cargo2";
1117 break;
1118 }
1119
1120 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1121 }
1122
1124 {
1125 switch( posIdx )
1126 {
1127 case 0:
1128 return "Sedan_02_Door_1_1";
1129 break;
1130 case 1:
1131 return "Sedan_02_Door_2_1";
1132 break;
1133 case 2:
1134 return "Sedan_02_Door_1_2";
1135 break;
1136 case 3:
1137 return "Sedan_02_Door_2_2";
1138 break;
1139 }
1140
1141 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1142 }
1143
1145 {
1146 switch ( ctrl )
1147 {
1149 float newValue = 0;
1151 {
1152 newValue += 0.25;
1153 }
1154
1156 {
1157 newValue += 0.25;
1158 }
1159
1161 {
1162 newValue += 0.25;
1163 }
1164
1166 {
1167 newValue += 0.25;
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 switch (currentSeat)
1206 {
1207 case 0:
1208 return nextSeat == 1;
1209
1210 case 1:
1211 return nextSeat == 0;
1212
1213 case 2:
1214 return nextSeat == 3;
1215
1216 case 3:
1217 return nextSeat == 2;
1218 }
1219
1220 return false;
1221 }
1222
1224 {
1225 switch (pCurrentSeat)
1226 {
1227 case 0:
1228 return pDoorsSelection == "DoorsDriver";
1229
1230 case 1:
1231 return pDoorsSelection == "DoorsCoDriver";
1232
1233 case 2:
1234 return pDoorsSelection == "DoorsCargo1";
1235
1236 case 3:
1237 return pDoorsSelection == "DoorsCargo2";
1238 }
1239
1240 return false;
1241 }
1242
1244 {
1246 SpawnAdditionalItems();
1247 FillUpCarFluids();
1248
1255
1262
1263
1266 }
1267}
1268
1270{
1272 {
1274 SpawnAdditionalItems();
1275 FillUpCarFluids();
1276
1277 GameInventory inventory = GetInventory();
1282
1289
1290
1293 }
1294}
1295
1297{
1299 {
1301 SpawnAdditionalItems();
1302 FillUpCarFluids();
1303
1304 GameInventory inventory = GetInventory();
1309
1316
1317
1320 }
1321}
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.