757{
761
763 {
764
765
766 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
767 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
768 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
769 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
770 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
771 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
772
773 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
774 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
775
776 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
777 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
778
779 SetEnginePos("0 0.7 1.6");
780 }
781
783 {
784 super.EEInit();
785
787 {
794
797 }
798 }
799
801 {
802 super.OnEngineStart();
803
805 {
807 }
808 }
809
811 {
812 super.OnEngineStop();
813
815 {
817 }
818 }
819
821 {
823 {
825 {
827 }
828 }
829 }
830
832 {
834 }
835
837 {
838 return 4.5;
839 }
840
842 {
843 switch (posIdx)
844 {
845 case 0:
847 case 1:
849 case 2:
851 case 3:
853 }
854
855 return 0;
856 }
857
858
860 {
862 }
863
864
866 {
868 }
869
871 {
872 if( !super.CanReleaseAttachment( attachment ) )
873 return false;
874
875 string attType = attachment.GetType();
876
878 {
879 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
880 return false;
881 }
882
883 return true;
884 }
885
887 {
889 }
890
892 {
893
894 if (!super.CanDisplayAttachmentCategory(category_name))
895 return false;
896
897
899 if (category_name.
Contains(
"engine"))
900 {
902 return false;
903 }
904
905 return true;
906 }
907
909 {
910 if ( !super.CanDisplayCargo() )
911 return false;
912
914 return false;
915
916 return true;
917 }
918
920 {
922
923 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
924 if (!carDoor)
925 {
927 }
928
929 switch (slotType)
930 {
931 case "CivSedanDriverDoors":
932 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
933 break;
934
935 case "CivSedanCoDriverDoors":
936 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
937 break;
938
939 case "CivSedanCargo1Doors":
940 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
941 break;
942
943 case "CivSedanCargo2Doors":
944 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
945 break;
946
947 case "CivSedanTrunk":
948 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
949 break;
950
951 case "CivSedanHood":
952 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
953 break;
954 }
955
957 }
958
959
961 {
962 switch( posIdx )
963 {
964 case 0:
966 return false;
967
968 return true;
969 break;
970
971 case 1:
973 return false;
974
975 return true;
976 break;
977
978 case 2:
980 return false;
981
982 return true;
983 break;
984
985 case 3:
987 return false;
988
989 return true;
990 break;
991 }
992
993 return false;
994 }
995
997 {
998 switch( posIdx )
999 {
1000 case 0:
1001 return "doors_driver";
1002 break;
1003 case 1:
1004 return "doors_codriver";
1005 break;
1006 case 2:
1007 return "doors_cargo1";
1008 break;
1009 case 3:
1010 return "doors_cargo2";
1011 break;
1012 }
1013
1014 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1015 }
1016
1018 {
1019 switch( posIdx )
1020 {
1021 case 0:
1022 return "CivSedanDriverDoors";
1023 break;
1024 case 1:
1025 return "CivSedanCoDriverDoors";
1026 break;
1027 case 2:
1028 return "CivSedanCargo1Doors";
1029 break;
1030 case 3:
1031 return "CivSedanCargo2Doors";
1032 break;
1033 }
1034
1035 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1036 }
1037
1038
1039
1041 {
1042 switch (ctrl)
1043 {
1045 float newValue = 0;
1047 {
1048 newValue += 0.25;
1049 }
1050
1052 {
1053 newValue += 0.25;
1054 }
1055
1057 {
1058 newValue += 0.25;
1059 }
1060
1062 {
1063 newValue += 0.25;
1064 }
1065
1067 {
1068 newValue -= 0.6;
1069 }
1070
1072 {
1073 newValue -= 0.6;
1074 }
1075
1077 break;
1078 }
1079
1080 return super.OnSound(ctrl, oldValue);
1081 }
1082
1084 {
1085 switch (selection)
1086 {
1087 case "doors_driver":
1088 return "DoorsDriver";
1089 case "doors_codriver":
1090 return "DoorsCoDriver";
1091 case "doors_cargo1":
1092 return "DoorsCargo1";
1093 case "doors_cargo2":
1094 return "DoorsCargo2";
1095 case "doors_hood":
1096 return "DoorsHood";
1097 case "doors_trunk":
1098 return "DoorsTrunk";
1099 }
1100
1101 return "";
1102 }
1103
1105 {
1106 return false;
1107 }
1108
1110 {
1111 return false;
1112 }
1113
1115 {
1116 switch (currentSeat)
1117 {
1118 case 0:
1119 return nextSeat == 1;
1120
1121 case 1:
1122 return nextSeat == 0;
1123
1124 case 2:
1125 return nextSeat == 3;
1126
1127 case 3:
1128 return nextSeat == 2;
1129 }
1130
1131 return false;
1132 }
1133
1135 {
1136 switch (pCurrentSeat)
1137 {
1138 case 0:
1139 return pDoorsSelection == "DoorsDriver";
1140
1141 case 1:
1142 return pDoorsSelection == "DoorsCoDriver";
1143
1144 case 2:
1145 return pDoorsSelection == "DoorsCargo1";
1146
1147 case 3:
1148 return pDoorsSelection == "DoorsCargo2";
1149 }
1150
1151 return false;
1152 }
1153
1155 {
1156 SpawnUniversalParts();
1157 SpawnAdditionalItems();
1158 FillUpCarFluids();
1159
1160 GetInventory().CreateInInventory("CivSedanWheel");
1161 GetInventory().CreateInInventory("CivSedanWheel");
1162 GetInventory().CreateInInventory("CivSedanWheel");
1163 GetInventory().CreateInInventory("CivSedanWheel");
1164
1165 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1166 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1167 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1168 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1169 GetInventory().CreateInInventory("CivSedanHood");
1170 GetInventory().CreateInInventory("CivSedanTrunk");
1171
1172
1173 GetInventory().CreateInInventory("CivSedanWheel");
1174 GetInventory().CreateInInventory("CivSedanWheel");
1175 }
1176
1178 {
1179 return 1.5;
1180 }
1181}
1182
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_Wine");
1197 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1198 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1199 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1200 GetInventory().CreateInInventory("CivSedanHood_Wine");
1201 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1202
1203
1204 GetInventory().CreateInInventory("CivSedanWheel");
1205 GetInventory().CreateInInventory("CivSedanWheel");
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_Black");
1223 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1224 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1225 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1226 GetInventory().CreateInInventory("CivSedanHood_Black");
1227 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1228
1229
1230 GetInventory().CreateInInventory("CivSedanWheel");
1231 GetInventory().CreateInInventory("CivSedanWheel");
1232 }
1233}
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.