788{
792
794 {
795 m_dmgContactCoef = 0.0790;
796
797 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
798 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
799 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
800 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
801 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
802 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
803
804 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
805 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
806
807 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
808 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
809
810 SetEnginePos("0 0.7 -1.7");
811 }
812
814 {
815 super.EEInit();
816
818 {
825
828 }
829 }
830
832 {
833 super.OnEngineStart();
834
836 {
838 }
839 }
840
842 {
843 super.OnEngineStop();
844
846 {
848 }
849 }
850
852 {
854 {
856 {
858 }
859 }
860 }
861
863 {
865 }
866
868 {
869 switch (posIdx)
870 {
871 case 0:
873 case 1:
875 case 2:
877 case 3:
879 }
880
881 return 0;
882 }
883
884
886 {
888 }
889
890
892 {
894 }
895
897 {
898 if (!super.CanReleaseAttachment(attachment))
899 {
900 return false;
901 }
902
903 string attType = attachment.GetType();
904 switch (attType)
905 {
906 case "CarBattery":
908 {
909 return false;
910 }
911 break;
912
913 case "SparkPlug":
915 {
916 return false;
917 }
918 break;
919
920 case "CarRadiator":
922 {
923 return false;
924 }
925 break;
926 }
927
928 return true;
929 }
930
932 {
934 }
935
937 {
938 if ( !super.CanDisplayAttachmentCategory(category_name))
939 {
940 return false;
941 }
942
944 if (category_name.
Contains(
"engine"))
945 {
947 {
948 return false;
949 }
950 }
951
952 if (category_name.
Contains(
"trunk"))
953 {
955 {
956 return false;
957 }
958 }
959
960 return true;
961 }
962
964 {
965 if ( !super.CanDisplayCargo() )
966 return false;
967
969 return false;
970
971 return true;
972 }
973
975 {
977
978 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
979 if (!carDoor)
980 {
982 }
983
984 switch (slotType)
985 {
986 case "Sedan_02_Door_1_1":
987 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
988
989 case "Sedan_02_Door_2_1":
990 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
991
992 case "Sedan_02_Door_1_2":
993 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
994
995 case "Sedan_02_Door_2_2":
996 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
997
998 case "Sedan_02_Hood":
999 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1000
1001 case "Sedan_02_Trunk":
1002 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1003 }
1004
1006 }
1007
1008
1010 {
1011 switch( posIdx )
1012 {
1013 case 0:
1015 return false;
1016
1017 return true;
1018 break;
1019
1020 case 1:
1022 return false;
1023
1024 return true;
1025 break;
1026
1027 case 2:
1029 return false;
1030
1031 return true;
1032 break;
1033
1034 case 3:
1036 return false;
1037
1038 return true;
1039 break;
1040 }
1041
1042 return false;
1043 }
1044
1046 {
1047 switch( posIdx )
1048 {
1049 case 0:
1050 return "doors_driver";
1051 break;
1052 case 1:
1053 return "doors_codriver";
1054 break;
1055 case 2:
1056 return "doors_cargo1";
1057 break;
1058 case 3:
1059 return "doors_cargo2";
1060 break;
1061 }
1062
1063 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1064 }
1065
1067 {
1068 switch( posIdx )
1069 {
1070 case 0:
1071 return "Sedan_02_Door_1_1";
1072 break;
1073 case 1:
1074 return "Sedan_02_Door_2_1";
1075 break;
1076 case 2:
1077 return "Sedan_02_Door_1_2";
1078 break;
1079 case 3:
1080 return "Sedan_02_Door_2_2";
1081 break;
1082 }
1083
1084 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1085 }
1086
1088 {
1089 switch ( ctrl )
1090 {
1092 float newValue = 0;
1094 {
1095 newValue += 0.25;
1096 }
1097
1099 {
1100 newValue += 0.25;
1101 }
1102
1104 {
1105 newValue += 0.25;
1106 }
1107
1109 {
1110 newValue += 0.25;
1111 }
1112
1114 break;
1115 }
1116
1117 return super.OnSound(ctrl, oldValue);
1118 }
1119
1121 {
1122 switch( selection )
1123 {
1124 case "doors_driver":
1125 return "DoorsDriver";
1126 case "doors_codriver":
1127 return "DoorsCoDriver";
1128 case "doors_cargo1":
1129 return "DoorsCargo1";
1130 case "doors_cargo2":
1131 return "DoorsCargo2";
1132 case "doors_hood":
1133 return "DoorsHood";
1134 case "doors_trunk":
1135 return "DoorsTrunk";
1136 }
1137
1138 return "";
1139 }
1140
1141
1143 {
1144 return false;
1145 }
1146
1148 {
1149 return false;
1150 }
1151
1153 {
1154 switch (currentSeat)
1155 {
1156 case 0:
1157 return nextSeat == 1;
1158
1159 case 1:
1160 return nextSeat == 0;
1161
1162 case 2:
1163 return nextSeat == 3;
1164
1165 case 3:
1166 return nextSeat == 2;
1167 }
1168
1169 return false;
1170 }
1171
1173 {
1174 switch (pCurrentSeat)
1175 {
1176 case 0:
1177 return pDoorsSelection == "DoorsDriver";
1178
1179 case 1:
1180 return pDoorsSelection == "DoorsCoDriver";
1181
1182 case 2:
1183 return pDoorsSelection == "DoorsCargo1";
1184
1185 case 3:
1186 return pDoorsSelection == "DoorsCargo2";
1187 }
1188
1189 return false;
1190 }
1191
1193 {
1194 SpawnUniversalParts();
1195 SpawnAdditionalItems();
1196 FillUpCarFluids();
1197
1198 GetInventory().CreateInInventory("Sedan_02_Wheel");
1199 GetInventory().CreateInInventory("Sedan_02_Wheel");
1200 GetInventory().CreateInInventory("Sedan_02_Wheel");
1201 GetInventory().CreateInInventory("Sedan_02_Wheel");
1202 GetInventory().CreateInInventory("Sedan_02_Wheel");
1203
1204 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1205 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1206 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1207 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1208 GetInventory().CreateInInventory("Sedan_02_Hood");
1209 GetInventory().CreateInInventory("Sedan_02_Trunk");
1210
1211
1212 GetInventory().CreateInInventory("Sedan_02_Wheel");
1213 GetInventory().CreateInInventory("Sedan_02_Wheel");
1214 }
1215}
1216
1218{
1220 {
1221 SpawnUniversalParts();
1222 SpawnAdditionalItems();
1223 FillUpCarFluids();
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
1230 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1231 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1232 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1233 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1234 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1235 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1236
1237
1238 GetInventory().CreateInInventory("Sedan_02_Wheel");
1239 GetInventory().CreateInInventory("Sedan_02_Wheel");
1240 }
1241}
1242
1243class Sedan_02_Grey
extends Sedan_02
1244{
1246 {
1247 SpawnUniversalParts();
1248 SpawnAdditionalItems();
1249 FillUpCarFluids();
1250
1251 GetInventory().CreateInInventory("Sedan_02_Wheel");
1252 GetInventory().CreateInInventory("Sedan_02_Wheel");
1253 GetInventory().CreateInInventory("Sedan_02_Wheel");
1254 GetInventory().CreateInInventory("Sedan_02_Wheel");
1255
1256 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1257 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1258 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1259 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1260 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1261 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1262
1263
1264 GetInventory().CreateInInventory("Sedan_02_Wheel");
1265 GetInventory().CreateInInventory("Sedan_02_Wheel");
1266 }
1267}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
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.