816{
820
822 {
824
830
833
836
837 SetEnginePos("0 0.7 -1.7");
838 }
839
841 {
842 super.EEInit();
843
845 {
852
855 }
856 }
857
859 {
860 super.OnEngineStart();
861
863 {
865 }
866 }
867
869 {
870 super.OnEngineStop();
871
873 {
875 }
876 }
877
879 {
881 {
883 {
885 }
886 }
887 }
888
890 {
892 }
893
895 {
896 switch (posIdx)
897 {
898 case 0:
900 case 1:
902 case 2:
904 case 3:
906 }
907
908 return 0;
909 }
910
911
913 {
915 }
916
917
919 {
921 }
922
924 {
925 if (!super.CanReleaseAttachment(attachment))
926 {
927 return false;
928 }
929
930 string attType = attachment.GetType();
931 switch (attType)
932 {
933 case "CarBattery":
935 {
936 return false;
937 }
938 break;
939
940 case "SparkPlug":
942 {
943 return false;
944 }
945 break;
946
947 case "CarRadiator":
949 {
950 return false;
951 }
952 break;
953 }
954
955 return true;
956 }
957
959 {
961 }
962
964 {
965 if ( !super.CanDisplayAttachmentCategory(category_name))
966 {
967 return false;
968 }
969
971 if (category_name.
Contains(
"engine"))
972 {
974 {
975 return false;
976 }
977 }
978
979 if (category_name.
Contains(
"trunk"))
980 {
982 {
983 return false;
984 }
985 }
986
987 return true;
988 }
989
991 {
992 if ( !super.CanDisplayCargo() )
993 return false;
994
996 return false;
997
998 return true;
999 }
1000
1002 {
1004
1005 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1006 if (!carDoor)
1007 {
1009 }
1010
1011 switch (slotType)
1012 {
1013 case "Sedan_02_Door_1_1":
1015
1016 case "Sedan_02_Door_2_1":
1018
1019 case "Sedan_02_Door_1_2":
1021
1022 case "Sedan_02_Door_2_2":
1024
1025 case "Sedan_02_Hood":
1027
1028 case "Sedan_02_Trunk":
1030 }
1031
1033 }
1034
1035
1037 {
1038 switch( posIdx )
1039 {
1040 case 0:
1042 return false;
1043
1044 return true;
1045 break;
1046
1047 case 1:
1049 return false;
1050
1051 return true;
1052 break;
1053
1054 case 2:
1056 return false;
1057
1058 return true;
1059 break;
1060
1061 case 3:
1063 return false;
1064
1065 return true;
1066 break;
1067 }
1068
1069 return false;
1070 }
1071
1073 {
1074 switch( posIdx )
1075 {
1076 case 0:
1077 return "doors_driver";
1078 break;
1079 case 1:
1080 return "doors_codriver";
1081 break;
1082 case 2:
1083 return "doors_cargo1";
1084 break;
1085 case 3:
1086 return "doors_cargo2";
1087 break;
1088 }
1089
1090 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1091 }
1092
1094 {
1095 switch( posIdx )
1096 {
1097 case 0:
1098 return "Sedan_02_Door_1_1";
1099 break;
1100 case 1:
1101 return "Sedan_02_Door_2_1";
1102 break;
1103 case 2:
1104 return "Sedan_02_Door_1_2";
1105 break;
1106 case 3:
1107 return "Sedan_02_Door_2_2";
1108 break;
1109 }
1110
1111 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1112 }
1113
1115 {
1116 switch ( ctrl )
1117 {
1119 float newValue = 0;
1121 {
1122 newValue += 0.25;
1123 }
1124
1126 {
1127 newValue += 0.25;
1128 }
1129
1131 {
1132 newValue += 0.25;
1133 }
1134
1136 {
1137 newValue += 0.25;
1138 }
1139
1141 break;
1142 }
1143
1144 return super.OnSound(ctrl, oldValue);
1145 }
1146
1148 {
1149 switch( selection )
1150 {
1151 case "doors_driver":
1152 return "DoorsDriver";
1153 case "doors_codriver":
1154 return "DoorsCoDriver";
1155 case "doors_cargo1":
1156 return "DoorsCargo1";
1157 case "doors_cargo2":
1158 return "DoorsCargo2";
1159 case "doors_hood":
1160 return "DoorsHood";
1161 case "doors_trunk":
1162 return "DoorsTrunk";
1163 }
1164
1165 return "";
1166 }
1167
1168
1170 {
1171 return false;
1172 }
1173
1175 {
1176 return false;
1177 }
1178
1180 {
1181 switch (currentSeat)
1182 {
1183 case 0:
1184 return nextSeat == 1;
1185
1186 case 1:
1187 return nextSeat == 0;
1188
1189 case 2:
1190 return nextSeat == 3;
1191
1192 case 3:
1193 return nextSeat == 2;
1194 }
1195
1196 return false;
1197 }
1198
1200 {
1201 switch (pCurrentSeat)
1202 {
1203 case 0:
1204 return pDoorsSelection == "DoorsDriver";
1205
1206 case 1:
1207 return pDoorsSelection == "DoorsCoDriver";
1208
1209 case 2:
1210 return pDoorsSelection == "DoorsCargo1";
1211
1212 case 3:
1213 return pDoorsSelection == "DoorsCargo2";
1214 }
1215
1216 return false;
1217 }
1218
1220 {
1224
1225 GetInventory().CreateInInventory("Sedan_02_Wheel");
1226 GetInventory().CreateInInventory("Sedan_02_Wheel");
1227 GetInventory().CreateInInventory("Sedan_02_Wheel");
1228 GetInventory().CreateInInventory("Sedan_02_Wheel");
1229 GetInventory().CreateInInventory("Sedan_02_Wheel");
1230
1231 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1232 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1233 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1234 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1235 GetInventory().CreateInInventory("Sedan_02_Hood");
1236 GetInventory().CreateInInventory("Sedan_02_Trunk");
1237
1238
1239 GetInventory().CreateInInventory("Sedan_02_Wheel");
1240 GetInventory().CreateInInventory("Sedan_02_Wheel");
1241 }
1242}
1243
1245{
1247 {
1251
1252 GetInventory().CreateInInventory("Sedan_02_Wheel");
1253 GetInventory().CreateInInventory("Sedan_02_Wheel");
1254 GetInventory().CreateInInventory("Sedan_02_Wheel");
1255 GetInventory().CreateInInventory("Sedan_02_Wheel");
1256
1257 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1258 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1259 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1260 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1261 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1262 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1263
1264
1265 GetInventory().CreateInInventory("Sedan_02_Wheel");
1266 GetInventory().CreateInInventory("Sedan_02_Wheel");
1267 }
1268}
1269
1270class Sedan_02_Grey
extends Sedan_02
1271{
1273 {
1277
1278 GetInventory().CreateInInventory("Sedan_02_Wheel");
1279 GetInventory().CreateInInventory("Sedan_02_Wheel");
1280 GetInventory().CreateInInventory("Sedan_02_Wheel");
1281 GetInventory().CreateInInventory("Sedan_02_Wheel");
1282
1283 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1284 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1285 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1286 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1287 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1288 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1289
1290
1291 GetInventory().CreateInInventory("Sedan_02_Wheel");
1292 GetInventory().CreateInInventory("Sedan_02_Wheel");
1293 }
1294}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
void SpawnUniversalParts()
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
void SpawnAdditionalItems()
string m_EngineStartOK
Sounds.
string m_CarDoorCloseSound
string m_EngineStartBattery
string m_CarHornShortSoundName
string m_CarHornLongSoundName
string m_CarDoorOpenSound
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.