791{
795
797 {
799
805
808
811
812 SetEnginePos("0 0.7 -1.7");
813 }
814
816 {
817 super.EEInit();
818
820 {
827
830 }
831 }
832
834 {
835 super.OnEngineStart();
836
838 {
840 }
841 }
842
844 {
845 super.OnEngineStop();
846
848 {
850 }
851 }
852
854 {
856 {
858 {
860 }
861 }
862 }
863
865 {
867 }
868
870 {
871 switch (posIdx)
872 {
873 case 0:
875 case 1:
877 case 2:
879 case 3:
881 }
882
883 return 0;
884 }
885
886
888 {
890 }
891
892
894 {
896 }
897
899 {
900 if (!super.CanReleaseAttachment(attachment))
901 {
902 return false;
903 }
904
905 string attType = attachment.GetType();
906 switch (attType)
907 {
908 case "CarBattery":
910 {
911 return false;
912 }
913 break;
914
915 case "SparkPlug":
917 {
918 return false;
919 }
920 break;
921
922 case "CarRadiator":
924 {
925 return false;
926 }
927 break;
928 }
929
930 return true;
931 }
932
934 {
936 }
937
939 {
940 if ( !super.CanDisplayAttachmentCategory(category_name))
941 {
942 return false;
943 }
944
946 if (category_name.
Contains(
"engine"))
947 {
949 {
950 return false;
951 }
952 }
953
954 if (category_name.
Contains(
"trunk"))
955 {
957 {
958 return false;
959 }
960 }
961
962 return true;
963 }
964
966 {
967 if ( !super.CanDisplayCargo() )
968 return false;
969
971 return false;
972
973 return true;
974 }
975
977 {
979
980 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
981 if (!carDoor)
982 {
984 }
985
986 switch (slotType)
987 {
988 case "Sedan_02_Door_1_1":
990
991 case "Sedan_02_Door_2_1":
993
994 case "Sedan_02_Door_1_2":
996
997 case "Sedan_02_Door_2_2":
999
1000 case "Sedan_02_Hood":
1002
1003 case "Sedan_02_Trunk":
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 "Sedan_02_Door_1_1";
1074 break;
1075 case 1:
1076 return "Sedan_02_Door_2_1";
1077 break;
1078 case 2:
1079 return "Sedan_02_Door_1_2";
1080 break;
1081 case 3:
1082 return "Sedan_02_Door_2_2";
1083 break;
1084 }
1085
1086 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1087 }
1088
1090 {
1091 switch ( ctrl )
1092 {
1094 float newValue = 0;
1096 {
1097 newValue += 0.25;
1098 }
1099
1101 {
1102 newValue += 0.25;
1103 }
1104
1106 {
1107 newValue += 0.25;
1108 }
1109
1111 {
1112 newValue += 0.25;
1113 }
1114
1116 break;
1117 }
1118
1119 return super.OnSound(ctrl, oldValue);
1120 }
1121
1123 {
1124 switch( selection )
1125 {
1126 case "doors_driver":
1127 return "DoorsDriver";
1128 case "doors_codriver":
1129 return "DoorsCoDriver";
1130 case "doors_cargo1":
1131 return "DoorsCargo1";
1132 case "doors_cargo2":
1133 return "DoorsCargo2";
1134 case "doors_hood":
1135 return "DoorsHood";
1136 case "doors_trunk":
1137 return "DoorsTrunk";
1138 }
1139
1140 return "";
1141 }
1142
1143
1145 {
1146 return false;
1147 }
1148
1150 {
1151 return false;
1152 }
1153
1155 {
1156 switch (currentSeat)
1157 {
1158 case 0:
1159 return nextSeat == 1;
1160
1161 case 1:
1162 return nextSeat == 0;
1163
1164 case 2:
1165 return nextSeat == 3;
1166
1167 case 3:
1168 return nextSeat == 2;
1169 }
1170
1171 return false;
1172 }
1173
1175 {
1176 switch (pCurrentSeat)
1177 {
1178 case 0:
1179 return pDoorsSelection == "DoorsDriver";
1180
1181 case 1:
1182 return pDoorsSelection == "DoorsCoDriver";
1183
1184 case 2:
1185 return pDoorsSelection == "DoorsCargo1";
1186
1187 case 3:
1188 return pDoorsSelection == "DoorsCargo2";
1189 }
1190
1191 return false;
1192 }
1193
1195 {
1199
1200 GetInventory().CreateInInventory("Sedan_02_Wheel");
1201 GetInventory().CreateInInventory("Sedan_02_Wheel");
1202 GetInventory().CreateInInventory("Sedan_02_Wheel");
1203 GetInventory().CreateInInventory("Sedan_02_Wheel");
1204 GetInventory().CreateInInventory("Sedan_02_Wheel");
1205
1206 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1207 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1208 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1209 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1210 GetInventory().CreateInInventory("Sedan_02_Hood");
1211 GetInventory().CreateInInventory("Sedan_02_Trunk");
1212
1213
1214 GetInventory().CreateInInventory("Sedan_02_Wheel");
1215 GetInventory().CreateInInventory("Sedan_02_Wheel");
1216 }
1217}
1218
1220{
1222 {
1226
1227 GetInventory().CreateInInventory("Sedan_02_Wheel");
1228 GetInventory().CreateInInventory("Sedan_02_Wheel");
1229 GetInventory().CreateInInventory("Sedan_02_Wheel");
1230 GetInventory().CreateInInventory("Sedan_02_Wheel");
1231
1232 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1233 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1234 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1235 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1236 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1237 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1238
1239
1240 GetInventory().CreateInInventory("Sedan_02_Wheel");
1241 GetInventory().CreateInInventory("Sedan_02_Wheel");
1242 }
1243}
1244
1245class Sedan_02_Grey
extends Sedan_02
1246{
1248 {
1252
1253 GetInventory().CreateInInventory("Sedan_02_Wheel");
1254 GetInventory().CreateInInventory("Sedan_02_Wheel");
1255 GetInventory().CreateInInventory("Sedan_02_Wheel");
1256 GetInventory().CreateInInventory("Sedan_02_Wheel");
1257
1258 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1259 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1260 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1261 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1262 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1263 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1264
1265
1266 GetInventory().CreateInInventory("Sedan_02_Wheel");
1267 GetInventory().CreateInInventory("Sedan_02_Wheel");
1268 }
1269}
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.