788{
792
794 {
795
796
797 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
798 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
799 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
800 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
801 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
802 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
803
804 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
805 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
806
807 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
808 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
809
810 SetEnginePos("0 0.7 1.6");
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 return 4.5;
870 }
871
873 {
874 switch (posIdx)
875 {
876 case 0:
878 case 1:
880 case 2:
882 case 3:
884 }
885
886 return 0;
887 }
888
889
891 {
893 }
894
895
897 {
899 }
900
902 {
903 if( !super.CanReleaseAttachment( attachment ) )
904 return false;
905
906 string attType = attachment.GetType();
907
909 {
910 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
911 return false;
912 }
913
914 return true;
915 }
916
918 {
920 }
921
923 {
924
925 if (!super.CanDisplayAttachmentCategory(category_name))
926 return false;
927
928
930 if (category_name.
Contains(
"engine"))
931 {
933 return false;
934 }
935
936 return true;
937 }
938
940 {
941 if ( !super.CanDisplayCargo() )
942 return false;
943
945 return false;
946
947 return true;
948 }
949
951 {
953
954 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
955 if (!carDoor)
956 {
958 }
959
960 switch (slotType)
961 {
962 case "CivSedanDriverDoors":
963 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
964 break;
965
966 case "CivSedanCoDriverDoors":
967 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
968 break;
969
970 case "CivSedanCargo1Doors":
971 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
972 break;
973
974 case "CivSedanCargo2Doors":
975 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
976 break;
977
978 case "CivSedanTrunk":
979 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
980 break;
981
982 case "CivSedanHood":
983 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
984 break;
985 }
986
988 }
989
990
992 {
993 switch( posIdx )
994 {
995 case 0:
997 return false;
998
999 return true;
1000 break;
1001
1002 case 1:
1004 return false;
1005
1006 return true;
1007 break;
1008
1009 case 2:
1011 return false;
1012
1013 return true;
1014 break;
1015
1016 case 3:
1018 return false;
1019
1020 return true;
1021 break;
1022 }
1023
1024 return false;
1025 }
1026
1028 {
1029 switch( posIdx )
1030 {
1031 case 0:
1032 return "doors_driver";
1033 break;
1034 case 1:
1035 return "doors_codriver";
1036 break;
1037 case 2:
1038 return "doors_cargo1";
1039 break;
1040 case 3:
1041 return "doors_cargo2";
1042 break;
1043 }
1044
1045 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1046 }
1047
1049 {
1050 switch( posIdx )
1051 {
1052 case 0:
1053 return "CivSedanDriverDoors";
1054 break;
1055 case 1:
1056 return "CivSedanCoDriverDoors";
1057 break;
1058 case 2:
1059 return "CivSedanCargo1Doors";
1060 break;
1061 case 3:
1062 return "CivSedanCargo2Doors";
1063 break;
1064 }
1065
1066 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1067 }
1068
1069
1070
1072 {
1073 switch (ctrl)
1074 {
1076 float newValue = 0;
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.25;
1095 }
1096
1098 {
1099 newValue -= 0.6;
1100 }
1101
1103 {
1104 newValue -= 0.6;
1105 }
1106
1108 break;
1109 }
1110
1111 return super.OnSound(ctrl, oldValue);
1112 }
1113
1115 {
1116 switch (selection)
1117 {
1118 case "doors_driver":
1119 return "DoorsDriver";
1120 case "doors_codriver":
1121 return "DoorsCoDriver";
1122 case "doors_cargo1":
1123 return "DoorsCargo1";
1124 case "doors_cargo2":
1125 return "DoorsCargo2";
1126 case "doors_hood":
1127 return "DoorsHood";
1128 case "doors_trunk":
1129 return "DoorsTrunk";
1130 }
1131
1132 return "";
1133 }
1134
1136 {
1137 return false;
1138 }
1139
1141 {
1142 return false;
1143 }
1144
1146 {
1147 switch (currentSeat)
1148 {
1149 case 0:
1150 return nextSeat == 1;
1151
1152 case 1:
1153 return nextSeat == 0;
1154
1155 case 2:
1156 return nextSeat == 3;
1157
1158 case 3:
1159 return nextSeat == 2;
1160 }
1161
1162 return false;
1163 }
1164
1166 {
1167 switch (pCurrentSeat)
1168 {
1169 case 0:
1170 return pDoorsSelection == "DoorsDriver";
1171
1172 case 1:
1173 return pDoorsSelection == "DoorsCoDriver";
1174
1175 case 2:
1176 return pDoorsSelection == "DoorsCargo1";
1177
1178 case 3:
1179 return pDoorsSelection == "DoorsCargo2";
1180 }
1181
1182 return false;
1183 }
1184
1186 {
1187 SpawnUniversalParts();
1188 SpawnAdditionalItems();
1189 FillUpCarFluids();
1190
1191 GetInventory().CreateInInventory("CivSedanWheel");
1192 GetInventory().CreateInInventory("CivSedanWheel");
1193 GetInventory().CreateInInventory("CivSedanWheel");
1194 GetInventory().CreateInInventory("CivSedanWheel");
1195
1196 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1197 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1198 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1199 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1200 GetInventory().CreateInInventory("CivSedanHood");
1201 GetInventory().CreateInInventory("CivSedanTrunk");
1202
1203
1204 GetInventory().CreateInInventory("CivSedanWheel");
1205 GetInventory().CreateInInventory("CivSedanWheel");
1206 }
1207
1209 {
1210 return 1.5;
1211 }
1212}
1213
1215{
1217 {
1218 SpawnUniversalParts();
1219 SpawnAdditionalItems();
1220 FillUpCarFluids();
1221
1222 GetInventory().CreateInInventory("CivSedanWheel");
1223 GetInventory().CreateInInventory("CivSedanWheel");
1224 GetInventory().CreateInInventory("CivSedanWheel");
1225 GetInventory().CreateInInventory("CivSedanWheel");
1226
1227 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1228 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1229 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1230 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1231 GetInventory().CreateInInventory("CivSedanHood_Wine");
1232 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1233
1234
1235 GetInventory().CreateInInventory("CivSedanWheel");
1236 GetInventory().CreateInInventory("CivSedanWheel");
1237 }
1238}
1239
1241{
1243 {
1244 SpawnUniversalParts();
1245 SpawnAdditionalItems();
1246 FillUpCarFluids();
1247
1248 GetInventory().CreateInInventory("CivSedanWheel");
1249 GetInventory().CreateInInventory("CivSedanWheel");
1250 GetInventory().CreateInInventory("CivSedanWheel");
1251 GetInventory().CreateInInventory("CivSedanWheel");
1252
1253 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1254 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1255 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1256 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1257 GetInventory().CreateInInventory("CivSedanHood_Black");
1258 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1259
1260
1261 GetInventory().CreateInInventory("CivSedanWheel");
1262 GetInventory().CreateInInventory("CivSedanWheel");
1263 }
1264}
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.