808{
812
814 {
815
816
817 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
818 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
819 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
820 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
821 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
822 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
823
824 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
825 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
826
827 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
828 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
829
830 SetEnginePos("0 0.7 1.6");
831 }
832
834 {
835 super.EEInit();
836
838 {
845
848 }
849 }
850
852 {
853 super.OnEngineStart();
854
856 {
858 }
859 }
860
862 {
863 super.OnEngineStop();
864
866 {
868 }
869 }
870
872 {
874 {
876 {
878 }
879 }
880 }
881
883 {
885 }
886
888 {
889 return 4.5;
890 }
891
893 {
894 switch (posIdx)
895 {
896 case 0:
898 case 1:
900 case 2:
902 case 3:
904 }
905
906 return 0;
907 }
908
909
911 {
913 }
914
915
917 {
919 }
920
922 {
923 if( !super.CanReleaseAttachment( attachment ) )
924 return false;
925
926 string attType = attachment.GetType();
927
929 {
930 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
931 return false;
932 }
933
934 return true;
935 }
936
938 {
940 }
941
943 {
944
945 if (!super.CanDisplayAttachmentCategory(category_name))
946 return false;
947
948
950 if (category_name.
Contains(
"engine"))
951 {
953 return false;
954 }
955
956 return true;
957 }
958
960 {
961 if ( !super.CanDisplayCargo() )
962 return false;
963
965 return false;
966
967 return true;
968 }
969
971 {
973
974 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
975 if (!carDoor)
976 {
978 }
979
980 switch (slotType)
981 {
982 case "CivSedanDriverDoors":
983 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
984 break;
985
986 case "CivSedanCoDriverDoors":
987 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
988 break;
989
990 case "CivSedanCargo1Doors":
991 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
992 break;
993
994 case "CivSedanCargo2Doors":
995 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
996 break;
997
998 case "CivSedanTrunk":
999 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1000 break;
1001
1002 case "CivSedanHood":
1003 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1004 break;
1005 }
1006
1008 }
1009
1010
1012 {
1013 switch( posIdx )
1014 {
1015 case 0:
1017 return false;
1018
1019 return true;
1020 break;
1021
1022 case 1:
1024 return false;
1025
1026 return true;
1027 break;
1028
1029 case 2:
1031 return false;
1032
1033 return true;
1034 break;
1035
1036 case 3:
1038 return false;
1039
1040 return true;
1041 break;
1042 }
1043
1044 return false;
1045 }
1046
1048 {
1049 switch( posIdx )
1050 {
1051 case 0:
1052 return "doors_driver";
1053 break;
1054 case 1:
1055 return "doors_codriver";
1056 break;
1057 case 2:
1058 return "doors_cargo1";
1059 break;
1060 case 3:
1061 return "doors_cargo2";
1062 break;
1063 }
1064
1065 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1066 }
1067
1069 {
1070 switch( posIdx )
1071 {
1072 case 0:
1073 return "CivSedanDriverDoors";
1074 break;
1075 case 1:
1076 return "CivSedanCoDriverDoors";
1077 break;
1078 case 2:
1079 return "CivSedanCargo1Doors";
1080 break;
1081 case 3:
1082 return "CivSedanCargo2Doors";
1083 break;
1084 }
1085
1086 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1087 }
1088
1089
1090
1092 {
1093 switch (ctrl)
1094 {
1096 float newValue = 0;
1098 {
1099 newValue += 0.25;
1100 }
1101
1103 {
1104 newValue += 0.25;
1105 }
1106
1108 {
1109 newValue += 0.25;
1110 }
1111
1113 {
1114 newValue += 0.25;
1115 }
1116
1118 {
1119 newValue -= 0.6;
1120 }
1121
1123 {
1124 newValue -= 0.6;
1125 }
1126
1128 break;
1129 }
1130
1131 return super.OnSound(ctrl, oldValue);
1132 }
1133
1135 {
1136 switch (selection)
1137 {
1138 case "doors_driver":
1139 return "DoorsDriver";
1140 case "doors_codriver":
1141 return "DoorsCoDriver";
1142 case "doors_cargo1":
1143 return "DoorsCargo1";
1144 case "doors_cargo2":
1145 return "DoorsCargo2";
1146 case "doors_hood":
1147 return "DoorsHood";
1148 case "doors_trunk":
1149 return "DoorsTrunk";
1150 }
1151
1152 return "";
1153 }
1154
1156 {
1157 return false;
1158 }
1159
1161 {
1162 return false;
1163 }
1164
1166 {
1167 switch (currentSeat)
1168 {
1169 case 0:
1170 return nextSeat == 1;
1171
1172 case 1:
1173 return nextSeat == 0;
1174
1175 case 2:
1176 return nextSeat == 3;
1177
1178 case 3:
1179 return nextSeat == 2;
1180 }
1181
1182 return false;
1183 }
1184
1186 {
1187 switch (pCurrentSeat)
1188 {
1189 case 0:
1190 return pDoorsSelection == "DoorsDriver";
1191
1192 case 1:
1193 return pDoorsSelection == "DoorsCoDriver";
1194
1195 case 2:
1196 return pDoorsSelection == "DoorsCargo1";
1197
1198 case 3:
1199 return pDoorsSelection == "DoorsCargo2";
1200 }
1201
1202 return false;
1203 }
1204
1206 {
1207 SpawnUniversalParts();
1208 SpawnAdditionalItems();
1209 FillUpCarFluids();
1210
1211 GetInventory().CreateInInventory("CivSedanWheel");
1212 GetInventory().CreateInInventory("CivSedanWheel");
1213 GetInventory().CreateInInventory("CivSedanWheel");
1214 GetInventory().CreateInInventory("CivSedanWheel");
1215
1216 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1217 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1218 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1219 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1220 GetInventory().CreateInInventory("CivSedanHood");
1221 GetInventory().CreateInInventory("CivSedanTrunk");
1222
1223
1224 GetInventory().CreateInInventory("CivSedanWheel");
1225 GetInventory().CreateInInventory("CivSedanWheel");
1226 }
1227
1229 {
1230 return 1.5;
1231 }
1232}
1233
1235{
1237 {
1238 SpawnUniversalParts();
1239 SpawnAdditionalItems();
1240 FillUpCarFluids();
1241
1242 GetInventory().CreateInInventory("CivSedanWheel");
1243 GetInventory().CreateInInventory("CivSedanWheel");
1244 GetInventory().CreateInInventory("CivSedanWheel");
1245 GetInventory().CreateInInventory("CivSedanWheel");
1246
1247 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1248 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1249 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1250 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1251 GetInventory().CreateInInventory("CivSedanHood_Wine");
1252 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1253
1254
1255 GetInventory().CreateInInventory("CivSedanWheel");
1256 GetInventory().CreateInInventory("CivSedanWheel");
1257 }
1258}
1259
1261{
1263 {
1264 SpawnUniversalParts();
1265 SpawnAdditionalItems();
1266 FillUpCarFluids();
1267
1268 GetInventory().CreateInInventory("CivSedanWheel");
1269 GetInventory().CreateInInventory("CivSedanWheel");
1270 GetInventory().CreateInInventory("CivSedanWheel");
1271 GetInventory().CreateInInventory("CivSedanWheel");
1272
1273 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1274 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1275 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1276 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1277 GetInventory().CreateInInventory("CivSedanHood_Black");
1278 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1279
1280
1281 GetInventory().CreateInInventory("CivSedanWheel");
1282 GetInventory().CreateInInventory("CivSedanWheel");
1283 }
1284}
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.