778{
782
784 {
785
786
787 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
788 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
789 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
790 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
791 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
792 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
793
794 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
795 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
796
797 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
798 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
799
800 SetEnginePos("0 0.7 1.6");
801 }
802
804 {
805 super.EEInit();
806
808 {
815
818 }
819 }
820
822 {
823 super.OnEngineStart();
824
826 {
828 }
829 }
830
832 {
833 super.OnEngineStop();
834
836 {
838 }
839 }
840
842 {
844 {
846 {
848 }
849 }
850 }
851
853 {
855 }
856
858 {
859 return 4.5;
860 }
861
863 {
864 switch (posIdx)
865 {
866 case 0:
868 case 1:
870 case 2:
872 case 3:
874 }
875
876 return 0;
877 }
878
879
881 {
883 }
884
885
887 {
889 }
890
892 {
893 if( !super.CanReleaseAttachment( attachment ) )
894 return false;
895
896 string attType = attachment.GetType();
897
899 {
900 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
901 return false;
902 }
903
904 return true;
905 }
906
908 {
910 }
911
913 {
914
915 if (!super.CanDisplayAttachmentCategory(category_name))
916 return false;
917
918
920 if (category_name.
Contains(
"engine"))
921 {
923 return false;
924 }
925
926 return true;
927 }
928
930 {
931 if ( !super.CanDisplayCargo() )
932 return false;
933
935 return false;
936
937 return true;
938 }
939
941 {
943
944 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
945 if (!carDoor)
946 {
948 }
949
950 switch (slotType)
951 {
952 case "CivSedanDriverDoors":
953 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
954 break;
955
956 case "CivSedanCoDriverDoors":
957 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
958 break;
959
960 case "CivSedanCargo1Doors":
961 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
962 break;
963
964 case "CivSedanCargo2Doors":
965 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
966 break;
967
968 case "CivSedanTrunk":
969 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
970 break;
971
972 case "CivSedanHood":
973 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
974 break;
975 }
976
978 }
979
980
982 {
983 switch( posIdx )
984 {
985 case 0:
987 return false;
988
989 return true;
990 break;
991
992 case 1:
994 return false;
995
996 return true;
997 break;
998
999 case 2:
1001 return false;
1002
1003 return true;
1004 break;
1005
1006 case 3:
1008 return false;
1009
1010 return true;
1011 break;
1012 }
1013
1014 return false;
1015 }
1016
1018 {
1019 switch( posIdx )
1020 {
1021 case 0:
1022 return "doors_driver";
1023 break;
1024 case 1:
1025 return "doors_codriver";
1026 break;
1027 case 2:
1028 return "doors_cargo1";
1029 break;
1030 case 3:
1031 return "doors_cargo2";
1032 break;
1033 }
1034
1035 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1036 }
1037
1039 {
1040 switch( posIdx )
1041 {
1042 case 0:
1043 return "CivSedanDriverDoors";
1044 break;
1045 case 1:
1046 return "CivSedanCoDriverDoors";
1047 break;
1048 case 2:
1049 return "CivSedanCargo1Doors";
1050 break;
1051 case 3:
1052 return "CivSedanCargo2Doors";
1053 break;
1054 }
1055
1056 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1057 }
1058
1059
1060
1062 {
1063 switch (ctrl)
1064 {
1066 float newValue = 0;
1068 {
1069 newValue += 0.25;
1070 }
1071
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.6;
1090 }
1091
1093 {
1094 newValue -= 0.6;
1095 }
1096
1098 break;
1099 }
1100
1101 return super.OnSound(ctrl, oldValue);
1102 }
1103
1105 {
1106 switch (selection)
1107 {
1108 case "doors_driver":
1109 return "DoorsDriver";
1110 case "doors_codriver":
1111 return "DoorsCoDriver";
1112 case "doors_cargo1":
1113 return "DoorsCargo1";
1114 case "doors_cargo2":
1115 return "DoorsCargo2";
1116 case "doors_hood":
1117 return "DoorsHood";
1118 case "doors_trunk":
1119 return "DoorsTrunk";
1120 }
1121
1122 return "";
1123 }
1124
1126 {
1127 return false;
1128 }
1129
1131 {
1132 return false;
1133 }
1134
1136 {
1137 switch (currentSeat)
1138 {
1139 case 0:
1140 return nextSeat == 1;
1141
1142 case 1:
1143 return nextSeat == 0;
1144
1145 case 2:
1146 return nextSeat == 3;
1147
1148 case 3:
1149 return nextSeat == 2;
1150 }
1151
1152 return false;
1153 }
1154
1156 {
1157 switch (pCurrentSeat)
1158 {
1159 case 0:
1160 return pDoorsSelection == "DoorsDriver";
1161
1162 case 1:
1163 return pDoorsSelection == "DoorsCoDriver";
1164
1165 case 2:
1166 return pDoorsSelection == "DoorsCargo1";
1167
1168 case 3:
1169 return pDoorsSelection == "DoorsCargo2";
1170 }
1171
1172 return false;
1173 }
1174
1176 {
1177 SpawnUniversalParts();
1178 SpawnAdditionalItems();
1179 FillUpCarFluids();
1180
1181 GetInventory().CreateInInventory("CivSedanWheel");
1182 GetInventory().CreateInInventory("CivSedanWheel");
1183 GetInventory().CreateInInventory("CivSedanWheel");
1184 GetInventory().CreateInInventory("CivSedanWheel");
1185
1186 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1187 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1188 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1189 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1190 GetInventory().CreateInInventory("CivSedanHood");
1191 GetInventory().CreateInInventory("CivSedanTrunk");
1192
1193
1194 GetInventory().CreateInInventory("CivSedanWheel");
1195 GetInventory().CreateInInventory("CivSedanWheel");
1196 }
1197
1199 {
1200 return 1.5;
1201 }
1202}
1203
1205{
1207 {
1208 SpawnUniversalParts();
1209 SpawnAdditionalItems();
1210 FillUpCarFluids();
1211
1212 GetInventory().CreateInInventory("CivSedanWheel");
1213 GetInventory().CreateInInventory("CivSedanWheel");
1214 GetInventory().CreateInInventory("CivSedanWheel");
1215 GetInventory().CreateInInventory("CivSedanWheel");
1216
1217 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1218 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1219 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1220 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1221 GetInventory().CreateInInventory("CivSedanHood_Wine");
1222 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1223
1224
1225 GetInventory().CreateInInventory("CivSedanWheel");
1226 GetInventory().CreateInInventory("CivSedanWheel");
1227 }
1228}
1229
1231{
1233 {
1234 SpawnUniversalParts();
1235 SpawnAdditionalItems();
1236 FillUpCarFluids();
1237
1238 GetInventory().CreateInInventory("CivSedanWheel");
1239 GetInventory().CreateInInventory("CivSedanWheel");
1240 GetInventory().CreateInInventory("CivSedanWheel");
1241 GetInventory().CreateInInventory("CivSedanWheel");
1242
1243 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1244 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1245 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1246 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1247 GetInventory().CreateInInventory("CivSedanHood_Black");
1248 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1249
1250
1251 GetInventory().CreateInInventory("CivSedanWheel");
1252 GetInventory().CreateInInventory("CivSedanWheel");
1253 }
1254}
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.