783{
787
789 {
790
791
792 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
793 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
794 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
795 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
796 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
797 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
798
799 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
800 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
801
802 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
803 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
804
805 SetEnginePos("0 0.7 1.6");
806 }
807
809 {
810 super.EEInit();
811
813 {
820
823 }
824 }
825
827 {
828 super.OnEngineStart();
829
831 {
833 }
834 }
835
837 {
838 super.OnEngineStop();
839
841 {
843 }
844 }
845
847 {
849 {
851 {
853 }
854 }
855 }
856
858 {
860 }
861
863 {
864 return 4.5;
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 return false;
900
901 string attType = attachment.GetType();
902
904 {
905 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
906 return false;
907 }
908
909 return true;
910 }
911
913 {
915 }
916
918 {
919
920 if (!super.CanDisplayAttachmentCategory(category_name))
921 return false;
922
923
925 if (category_name.
Contains(
"engine"))
926 {
928 return false;
929 }
930
931 return true;
932 }
933
935 {
936 if ( !super.CanDisplayCargo() )
937 return false;
938
940 return false;
941
942 return true;
943 }
944
946 {
948
949 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
950 if (!carDoor)
951 {
953 }
954
955 switch (slotType)
956 {
957 case "CivSedanDriverDoors":
958 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
959 break;
960
961 case "CivSedanCoDriverDoors":
962 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
963 break;
964
965 case "CivSedanCargo1Doors":
966 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
967 break;
968
969 case "CivSedanCargo2Doors":
970 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
971 break;
972
973 case "CivSedanTrunk":
974 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
975 break;
976
977 case "CivSedanHood":
978 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
979 break;
980 }
981
983 }
984
985
987 {
988 switch( posIdx )
989 {
990 case 0:
992 return false;
993
994 return true;
995 break;
996
997 case 1:
999 return false;
1000
1001 return true;
1002 break;
1003
1004 case 2:
1006 return false;
1007
1008 return true;
1009 break;
1010
1011 case 3:
1013 return false;
1014
1015 return true;
1016 break;
1017 }
1018
1019 return false;
1020 }
1021
1023 {
1024 switch( posIdx )
1025 {
1026 case 0:
1027 return "doors_driver";
1028 break;
1029 case 1:
1030 return "doors_codriver";
1031 break;
1032 case 2:
1033 return "doors_cargo1";
1034 break;
1035 case 3:
1036 return "doors_cargo2";
1037 break;
1038 }
1039
1040 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1041 }
1042
1044 {
1045 switch( posIdx )
1046 {
1047 case 0:
1048 return "CivSedanDriverDoors";
1049 break;
1050 case 1:
1051 return "CivSedanCoDriverDoors";
1052 break;
1053 case 2:
1054 return "CivSedanCargo1Doors";
1055 break;
1056 case 3:
1057 return "CivSedanCargo2Doors";
1058 break;
1059 }
1060
1061 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1062 }
1063
1064
1065
1067 {
1068 switch (ctrl)
1069 {
1071 float newValue = 0;
1073 {
1074 newValue += 0.25;
1075 }
1076
1078 {
1079 newValue += 0.25;
1080 }
1081
1083 {
1084 newValue += 0.25;
1085 }
1086
1088 {
1089 newValue += 0.25;
1090 }
1091
1093 {
1094 newValue -= 0.6;
1095 }
1096
1098 {
1099 newValue -= 0.6;
1100 }
1101
1103 break;
1104 }
1105
1106 return super.OnSound(ctrl, oldValue);
1107 }
1108
1110 {
1111 switch (selection)
1112 {
1113 case "doors_driver":
1114 return "DoorsDriver";
1115 case "doors_codriver":
1116 return "DoorsCoDriver";
1117 case "doors_cargo1":
1118 return "DoorsCargo1";
1119 case "doors_cargo2":
1120 return "DoorsCargo2";
1121 case "doors_hood":
1122 return "DoorsHood";
1123 case "doors_trunk":
1124 return "DoorsTrunk";
1125 }
1126
1127 return "";
1128 }
1129
1131 {
1132 return false;
1133 }
1134
1136 {
1137 return false;
1138 }
1139
1141 {
1142 switch (currentSeat)
1143 {
1144 case 0:
1145 return nextSeat == 1;
1146
1147 case 1:
1148 return nextSeat == 0;
1149
1150 case 2:
1151 return nextSeat == 3;
1152
1153 case 3:
1154 return nextSeat == 2;
1155 }
1156
1157 return false;
1158 }
1159
1161 {
1162 switch (pCurrentSeat)
1163 {
1164 case 0:
1165 return pDoorsSelection == "DoorsDriver";
1166
1167 case 1:
1168 return pDoorsSelection == "DoorsCoDriver";
1169
1170 case 2:
1171 return pDoorsSelection == "DoorsCargo1";
1172
1173 case 3:
1174 return pDoorsSelection == "DoorsCargo2";
1175 }
1176
1177 return false;
1178 }
1179
1181 {
1182 SpawnUniversalParts();
1183 SpawnAdditionalItems();
1184 FillUpCarFluids();
1185
1186 GetInventory().CreateInInventory("CivSedanWheel");
1187 GetInventory().CreateInInventory("CivSedanWheel");
1188 GetInventory().CreateInInventory("CivSedanWheel");
1189 GetInventory().CreateInInventory("CivSedanWheel");
1190
1191 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1192 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1193 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1194 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1195 GetInventory().CreateInInventory("CivSedanHood");
1196 GetInventory().CreateInInventory("CivSedanTrunk");
1197
1198
1199 GetInventory().CreateInInventory("CivSedanWheel");
1200 GetInventory().CreateInInventory("CivSedanWheel");
1201 }
1202
1204 {
1205 return 1.5;
1206 }
1207}
1208
1210{
1212 {
1213 SpawnUniversalParts();
1214 SpawnAdditionalItems();
1215 FillUpCarFluids();
1216
1217 GetInventory().CreateInInventory("CivSedanWheel");
1218 GetInventory().CreateInInventory("CivSedanWheel");
1219 GetInventory().CreateInInventory("CivSedanWheel");
1220 GetInventory().CreateInInventory("CivSedanWheel");
1221
1222 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1223 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1224 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1225 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1226 GetInventory().CreateInInventory("CivSedanHood_Wine");
1227 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1228
1229
1230 GetInventory().CreateInInventory("CivSedanWheel");
1231 GetInventory().CreateInInventory("CivSedanWheel");
1232 }
1233}
1234
1236{
1238 {
1239 SpawnUniversalParts();
1240 SpawnAdditionalItems();
1241 FillUpCarFluids();
1242
1243 GetInventory().CreateInInventory("CivSedanWheel");
1244 GetInventory().CreateInInventory("CivSedanWheel");
1245 GetInventory().CreateInInventory("CivSedanWheel");
1246 GetInventory().CreateInInventory("CivSedanWheel");
1247
1248 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1249 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1250 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1251 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1252 GetInventory().CreateInInventory("CivSedanHood_Black");
1253 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1254
1255
1256 GetInventory().CreateInInventory("CivSedanWheel");
1257 GetInventory().CreateInInventory("CivSedanWheel");
1258 }
1259}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
override float GetPushForceCoefficientMultiplier()
class CivilianSedan extends CarScript OnDebugSpawn()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
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()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
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)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
override void OnDebugSpawn()
Super root of all classes in Enforce script.
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.