786{
790
792 {
794
800
803
806
807 SetEnginePos("0 0.7 -1.7");
808 }
809
811 {
812 super.EEInit();
813
815 {
822
825 }
826 }
827
829 {
830 super.OnEngineStart();
831
833 {
835 }
836 }
837
839 {
840 super.OnEngineStop();
841
843 {
845 }
846 }
847
849 {
851 {
853 {
855 }
856 }
857 }
858
860 {
862 }
863
865 {
866 switch (posIdx)
867 {
868 case 0:
870 case 1:
872 case 2:
874 case 3:
876 }
877
878 return 0;
879 }
880
881
883 {
885 }
886
887
889 {
891 }
892
894 {
895 if (!super.CanReleaseAttachment(attachment))
896 {
897 return false;
898 }
899
900 string attType = attachment.GetType();
901 switch (attType)
902 {
903 case "CarBattery":
905 {
906 return false;
907 }
908 break;
909
910 case "SparkPlug":
912 {
913 return false;
914 }
915 break;
916
917 case "CarRadiator":
919 {
920 return false;
921 }
922 break;
923 }
924
925 return true;
926 }
927
929 {
931 }
932
934 {
935 if ( !super.CanDisplayAttachmentCategory(category_name))
936 {
937 return false;
938 }
939
941 if (category_name.
Contains(
"engine"))
942 {
944 {
945 return false;
946 }
947 }
948
949 if (category_name.
Contains(
"trunk"))
950 {
952 {
953 return false;
954 }
955 }
956
957 return true;
958 }
959
961 {
962 if ( !super.CanDisplayCargo() )
963 return false;
964
966 return false;
967
968 return true;
969 }
970
972 {
974
975 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
976 if (!carDoor)
977 {
979 }
980
981 switch (slotType)
982 {
983 case "Sedan_02_Door_1_1":
985
986 case "Sedan_02_Door_2_1":
988
989 case "Sedan_02_Door_1_2":
991
992 case "Sedan_02_Door_2_2":
994
995 case "Sedan_02_Hood":
997
998 case "Sedan_02_Trunk":
1000 }
1001
1003 }
1004
1005
1007 {
1008 switch( posIdx )
1009 {
1010 case 0:
1012 return false;
1013
1014 return true;
1015 break;
1016
1017 case 1:
1019 return false;
1020
1021 return true;
1022 break;
1023
1024 case 2:
1026 return false;
1027
1028 return true;
1029 break;
1030
1031 case 3:
1033 return false;
1034
1035 return true;
1036 break;
1037 }
1038
1039 return false;
1040 }
1041
1043 {
1044 switch( posIdx )
1045 {
1046 case 0:
1047 return "doors_driver";
1048 break;
1049 case 1:
1050 return "doors_codriver";
1051 break;
1052 case 2:
1053 return "doors_cargo1";
1054 break;
1055 case 3:
1056 return "doors_cargo2";
1057 break;
1058 }
1059
1060 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1061 }
1062
1064 {
1065 switch( posIdx )
1066 {
1067 case 0:
1068 return "Sedan_02_Door_1_1";
1069 break;
1070 case 1:
1071 return "Sedan_02_Door_2_1";
1072 break;
1073 case 2:
1074 return "Sedan_02_Door_1_2";
1075 break;
1076 case 3:
1077 return "Sedan_02_Door_2_2";
1078 break;
1079 }
1080
1081 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1082 }
1083
1085 {
1086 switch ( ctrl )
1087 {
1089 float newValue = 0;
1091 {
1092 newValue += 0.25;
1093 }
1094
1096 {
1097 newValue += 0.25;
1098 }
1099
1101 {
1102 newValue += 0.25;
1103 }
1104
1106 {
1107 newValue += 0.25;
1108 }
1109
1111 break;
1112 }
1113
1114 return super.OnSound(ctrl, oldValue);
1115 }
1116
1118 {
1119 switch( selection )
1120 {
1121 case "doors_driver":
1122 return "DoorsDriver";
1123 case "doors_codriver":
1124 return "DoorsCoDriver";
1125 case "doors_cargo1":
1126 return "DoorsCargo1";
1127 case "doors_cargo2":
1128 return "DoorsCargo2";
1129 case "doors_hood":
1130 return "DoorsHood";
1131 case "doors_trunk":
1132 return "DoorsTrunk";
1133 }
1134
1135 return "";
1136 }
1137
1138
1140 {
1141 return false;
1142 }
1143
1145 {
1146 return false;
1147 }
1148
1150 {
1151 switch (currentSeat)
1152 {
1153 case 0:
1154 return nextSeat == 1;
1155
1156 case 1:
1157 return nextSeat == 0;
1158
1159 case 2:
1160 return nextSeat == 3;
1161
1162 case 3:
1163 return nextSeat == 2;
1164 }
1165
1166 return false;
1167 }
1168
1170 {
1171 switch (pCurrentSeat)
1172 {
1173 case 0:
1174 return pDoorsSelection == "DoorsDriver";
1175
1176 case 1:
1177 return pDoorsSelection == "DoorsCoDriver";
1178
1179 case 2:
1180 return pDoorsSelection == "DoorsCargo1";
1181
1182 case 3:
1183 return pDoorsSelection == "DoorsCargo2";
1184 }
1185
1186 return false;
1187 }
1188
1190 {
1194
1195 GetInventory().CreateInInventory("Sedan_02_Wheel");
1196 GetInventory().CreateInInventory("Sedan_02_Wheel");
1197 GetInventory().CreateInInventory("Sedan_02_Wheel");
1198 GetInventory().CreateInInventory("Sedan_02_Wheel");
1199 GetInventory().CreateInInventory("Sedan_02_Wheel");
1200
1201 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1202 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1203 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1204 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1205 GetInventory().CreateInInventory("Sedan_02_Hood");
1206 GetInventory().CreateInInventory("Sedan_02_Trunk");
1207
1208
1209 GetInventory().CreateInInventory("Sedan_02_Wheel");
1210 GetInventory().CreateInInventory("Sedan_02_Wheel");
1211 }
1212}
1213
1215{
1217 {
1221
1222 GetInventory().CreateInInventory("Sedan_02_Wheel");
1223 GetInventory().CreateInInventory("Sedan_02_Wheel");
1224 GetInventory().CreateInInventory("Sedan_02_Wheel");
1225 GetInventory().CreateInInventory("Sedan_02_Wheel");
1226
1227 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1228 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1229 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1230 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1231 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1232 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1233
1234
1235 GetInventory().CreateInInventory("Sedan_02_Wheel");
1236 GetInventory().CreateInInventory("Sedan_02_Wheel");
1237 }
1238}
1239
1240class Sedan_02_Grey
extends Sedan_02
1241{
1243 {
1247
1248 GetInventory().CreateInInventory("Sedan_02_Wheel");
1249 GetInventory().CreateInInventory("Sedan_02_Wheel");
1250 GetInventory().CreateInInventory("Sedan_02_Wheel");
1251 GetInventory().CreateInInventory("Sedan_02_Wheel");
1252
1253 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1254 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1255 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1256 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1257 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1258 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1259
1260
1261 GetInventory().CreateInInventory("Sedan_02_Wheel");
1262 GetInventory().CreateInInventory("Sedan_02_Wheel");
1263 }
1264}
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.