796{
800
802 {
804
810
813
816
817 SetEnginePos("0 0.7 -1.7");
818 }
819
821 {
822 super.EEInit();
823
825 {
832
835 }
836 }
837
839 {
840 super.OnEngineStart();
841
843 {
845 }
846 }
847
849 {
850 super.OnEngineStop();
851
853 {
855 }
856 }
857
859 {
861 {
863 {
865 }
866 }
867 }
868
870 {
872 }
873
875 {
876 switch (posIdx)
877 {
878 case 0:
880 case 1:
882 case 2:
884 case 3:
886 }
887
888 return 0;
889 }
890
891
893 {
895 }
896
897
899 {
901 }
902
904 {
905 if (!super.CanReleaseAttachment(attachment))
906 {
907 return false;
908 }
909
910 string attType = attachment.GetType();
911 switch (attType)
912 {
913 case "CarBattery":
915 {
916 return false;
917 }
918 break;
919
920 case "SparkPlug":
922 {
923 return false;
924 }
925 break;
926
927 case "CarRadiator":
929 {
930 return false;
931 }
932 break;
933 }
934
935 return true;
936 }
937
939 {
941 }
942
944 {
945 if ( !super.CanDisplayAttachmentCategory(category_name))
946 {
947 return false;
948 }
949
951 if (category_name.
Contains(
"engine"))
952 {
954 {
955 return false;
956 }
957 }
958
959 if (category_name.
Contains(
"trunk"))
960 {
962 {
963 return false;
964 }
965 }
966
967 return true;
968 }
969
971 {
972 if ( !super.CanDisplayCargo() )
973 return false;
974
976 return false;
977
978 return true;
979 }
980
982 {
984
985 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
986 if (!carDoor)
987 {
989 }
990
991 switch (slotType)
992 {
993 case "Sedan_02_Door_1_1":
995
996 case "Sedan_02_Door_2_1":
998
999 case "Sedan_02_Door_1_2":
1001
1002 case "Sedan_02_Door_2_2":
1004
1005 case "Sedan_02_Hood":
1007
1008 case "Sedan_02_Trunk":
1010 }
1011
1013 }
1014
1015
1017 {
1018 switch( posIdx )
1019 {
1020 case 0:
1022 return false;
1023
1024 return true;
1025 break;
1026
1027 case 1:
1029 return false;
1030
1031 return true;
1032 break;
1033
1034 case 2:
1036 return false;
1037
1038 return true;
1039 break;
1040
1041 case 3:
1043 return false;
1044
1045 return true;
1046 break;
1047 }
1048
1049 return false;
1050 }
1051
1053 {
1054 switch( posIdx )
1055 {
1056 case 0:
1057 return "doors_driver";
1058 break;
1059 case 1:
1060 return "doors_codriver";
1061 break;
1062 case 2:
1063 return "doors_cargo1";
1064 break;
1065 case 3:
1066 return "doors_cargo2";
1067 break;
1068 }
1069
1070 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1071 }
1072
1074 {
1075 switch( posIdx )
1076 {
1077 case 0:
1078 return "Sedan_02_Door_1_1";
1079 break;
1080 case 1:
1081 return "Sedan_02_Door_2_1";
1082 break;
1083 case 2:
1084 return "Sedan_02_Door_1_2";
1085 break;
1086 case 3:
1087 return "Sedan_02_Door_2_2";
1088 break;
1089 }
1090
1091 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1092 }
1093
1095 {
1096 switch ( ctrl )
1097 {
1099 float newValue = 0;
1101 {
1102 newValue += 0.25;
1103 }
1104
1106 {
1107 newValue += 0.25;
1108 }
1109
1111 {
1112 newValue += 0.25;
1113 }
1114
1116 {
1117 newValue += 0.25;
1118 }
1119
1121 break;
1122 }
1123
1124 return super.OnSound(ctrl, oldValue);
1125 }
1126
1128 {
1129 switch( selection )
1130 {
1131 case "doors_driver":
1132 return "DoorsDriver";
1133 case "doors_codriver":
1134 return "DoorsCoDriver";
1135 case "doors_cargo1":
1136 return "DoorsCargo1";
1137 case "doors_cargo2":
1138 return "DoorsCargo2";
1139 case "doors_hood":
1140 return "DoorsHood";
1141 case "doors_trunk":
1142 return "DoorsTrunk";
1143 }
1144
1145 return "";
1146 }
1147
1148
1150 {
1151 return false;
1152 }
1153
1155 {
1156 return false;
1157 }
1158
1160 {
1161 switch (currentSeat)
1162 {
1163 case 0:
1164 return nextSeat == 1;
1165
1166 case 1:
1167 return nextSeat == 0;
1168
1169 case 2:
1170 return nextSeat == 3;
1171
1172 case 3:
1173 return nextSeat == 2;
1174 }
1175
1176 return false;
1177 }
1178
1180 {
1181 switch (pCurrentSeat)
1182 {
1183 case 0:
1184 return pDoorsSelection == "DoorsDriver";
1185
1186 case 1:
1187 return pDoorsSelection == "DoorsCoDriver";
1188
1189 case 2:
1190 return pDoorsSelection == "DoorsCargo1";
1191
1192 case 3:
1193 return pDoorsSelection == "DoorsCargo2";
1194 }
1195
1196 return false;
1197 }
1198
1200 {
1204
1205 GetInventory().CreateInInventory("Sedan_02_Wheel");
1206 GetInventory().CreateInInventory("Sedan_02_Wheel");
1207 GetInventory().CreateInInventory("Sedan_02_Wheel");
1208 GetInventory().CreateInInventory("Sedan_02_Wheel");
1209 GetInventory().CreateInInventory("Sedan_02_Wheel");
1210
1211 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1212 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1213 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1214 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1215 GetInventory().CreateInInventory("Sedan_02_Hood");
1216 GetInventory().CreateInInventory("Sedan_02_Trunk");
1217
1218
1219 GetInventory().CreateInInventory("Sedan_02_Wheel");
1220 GetInventory().CreateInInventory("Sedan_02_Wheel");
1221 }
1222}
1223
1225{
1227 {
1231
1232 GetInventory().CreateInInventory("Sedan_02_Wheel");
1233 GetInventory().CreateInInventory("Sedan_02_Wheel");
1234 GetInventory().CreateInInventory("Sedan_02_Wheel");
1235 GetInventory().CreateInInventory("Sedan_02_Wheel");
1236
1237 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1238 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1239 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1240 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1241 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1242 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1243
1244
1245 GetInventory().CreateInInventory("Sedan_02_Wheel");
1246 GetInventory().CreateInInventory("Sedan_02_Wheel");
1247 }
1248}
1249
1250class Sedan_02_Grey
extends Sedan_02
1251{
1253 {
1257
1258 GetInventory().CreateInInventory("Sedan_02_Wheel");
1259 GetInventory().CreateInInventory("Sedan_02_Wheel");
1260 GetInventory().CreateInInventory("Sedan_02_Wheel");
1261 GetInventory().CreateInInventory("Sedan_02_Wheel");
1262
1263 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1264 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1265 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1266 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1267 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1268 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1269
1270
1271 GetInventory().CreateInInventory("Sedan_02_Wheel");
1272 GetInventory().CreateInInventory("Sedan_02_Wheel");
1273 }
1274}
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.