766{
770
772 {
773 m_dmgContactCoef = 0.0790;
774
775 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
776 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
777 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
778 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
779 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
780 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
781
782 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
783 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
784
785 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
786 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
787
788 SetEnginePos("0 0.7 -1.7");
789 }
790
792 {
793 super.EEInit();
794
796 {
803
806 }
807 }
808
810 {
811 super.OnEngineStart();
812
814 {
816 }
817 }
818
820 {
821 super.OnEngineStop();
822
824 {
826 }
827 }
828
830 {
832 {
834 {
836 }
837 }
838 }
839
841 {
843 }
844
846 {
847 switch (posIdx)
848 {
849 case 0:
851 case 1:
853 case 2:
855 case 3:
857 }
858
859 return 0;
860 }
861
862
864 {
866 }
867
868
870 {
872 }
873
875 {
876 if (!super.CanReleaseAttachment(attachment))
877 {
878 return false;
879 }
880
881 string attType = attachment.GetType();
882 switch (attType)
883 {
884 case "CarBattery":
886 {
887 return false;
888 }
889 break;
890
891 case "SparkPlug":
893 {
894 return false;
895 }
896 break;
897
898 case "CarRadiator":
900 {
901 return false;
902 }
903 break;
904 }
905
906 return true;
907 }
908
910 {
912 }
913
915 {
916 if ( !super.CanDisplayAttachmentCategory(category_name))
917 {
918 return false;
919 }
920
922 if (category_name.
Contains(
"engine"))
923 {
925 {
926 return false;
927 }
928 }
929
930 if (category_name.
Contains(
"trunk"))
931 {
933 {
934 return false;
935 }
936 }
937
938 return true;
939 }
940
942 {
943 if ( !super.CanDisplayCargo() )
944 return false;
945
947 return false;
948
949 return true;
950 }
951
953 {
955
956 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
957 if (!carDoor)
958 {
960 }
961
962 switch (slotType)
963 {
964 case "Sedan_02_Door_1_1":
965 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
966
967 case "Sedan_02_Door_2_1":
968 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
969
970 case "Sedan_02_Door_1_2":
971 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
972
973 case "Sedan_02_Door_2_2":
974 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
975
976 case "Sedan_02_Hood":
977 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
978
979 case "Sedan_02_Trunk":
980 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
981 }
982
984 }
985
986
988 {
989 switch( posIdx )
990 {
991 case 0:
993 return false;
994
995 return true;
996 break;
997
998 case 1:
1000 return false;
1001
1002 return true;
1003 break;
1004
1005 case 2:
1007 return false;
1008
1009 return true;
1010 break;
1011
1012 case 3:
1014 return false;
1015
1016 return true;
1017 break;
1018 }
1019
1020 return false;
1021 }
1022
1024 {
1025 switch( posIdx )
1026 {
1027 case 0:
1028 return "doors_driver";
1029 break;
1030 case 1:
1031 return "doors_codriver";
1032 break;
1033 case 2:
1034 return "doors_cargo1";
1035 break;
1036 case 3:
1037 return "doors_cargo2";
1038 break;
1039 }
1040
1041 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1042 }
1043
1045 {
1046 switch( posIdx )
1047 {
1048 case 0:
1049 return "Sedan_02_Door_1_1";
1050 break;
1051 case 1:
1052 return "Sedan_02_Door_2_1";
1053 break;
1054 case 2:
1055 return "Sedan_02_Door_1_2";
1056 break;
1057 case 3:
1058 return "Sedan_02_Door_2_2";
1059 break;
1060 }
1061
1062 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1063 }
1064
1066 {
1067 switch ( ctrl )
1068 {
1070 float newValue = 0;
1072 {
1073 newValue += 0.25;
1074 }
1075
1077 {
1078 newValue += 0.25;
1079 }
1080
1082 {
1083 newValue += 0.25;
1084 }
1085
1087 {
1088 newValue += 0.25;
1089 }
1090
1092 break;
1093 }
1094
1095 return super.OnSound(ctrl, oldValue);
1096 }
1097
1099 {
1100 switch( selection )
1101 {
1102 case "doors_driver":
1103 return "DoorsDriver";
1104 case "doors_codriver":
1105 return "DoorsCoDriver";
1106 case "doors_cargo1":
1107 return "DoorsCargo1";
1108 case "doors_cargo2":
1109 return "DoorsCargo2";
1110 case "doors_hood":
1111 return "DoorsHood";
1112 case "doors_trunk":
1113 return "DoorsTrunk";
1114 }
1115
1116 return "";
1117 }
1118
1119
1121 {
1122 return false;
1123 }
1124
1126 {
1127 return false;
1128 }
1129
1131 {
1132 switch (currentSeat)
1133 {
1134 case 0:
1135 return nextSeat == 1;
1136
1137 case 1:
1138 return nextSeat == 0;
1139
1140 case 2:
1141 return nextSeat == 3;
1142
1143 case 3:
1144 return nextSeat == 2;
1145 }
1146
1147 return false;
1148 }
1149
1151 {
1152 switch (pCurrentSeat)
1153 {
1154 case 0:
1155 return pDoorsSelection == "DoorsDriver";
1156
1157 case 1:
1158 return pDoorsSelection == "DoorsCoDriver";
1159
1160 case 2:
1161 return pDoorsSelection == "DoorsCargo1";
1162
1163 case 3:
1164 return pDoorsSelection == "DoorsCargo2";
1165 }
1166
1167 return false;
1168 }
1169
1171 {
1172 SpawnUniversalParts();
1173 SpawnAdditionalItems();
1174 FillUpCarFluids();
1175
1176 GetInventory().CreateInInventory("Sedan_02_Wheel");
1177 GetInventory().CreateInInventory("Sedan_02_Wheel");
1178 GetInventory().CreateInInventory("Sedan_02_Wheel");
1179 GetInventory().CreateInInventory("Sedan_02_Wheel");
1180 GetInventory().CreateInInventory("Sedan_02_Wheel");
1181
1182 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1183 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1184 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1185 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1186 GetInventory().CreateInInventory("Sedan_02_Hood");
1187 GetInventory().CreateInInventory("Sedan_02_Trunk");
1188
1189
1190 GetInventory().CreateInInventory("Sedan_02_Wheel");
1191 GetInventory().CreateInInventory("Sedan_02_Wheel");
1192 }
1193}
1194
1196{
1198 {
1199 SpawnUniversalParts();
1200 SpawnAdditionalItems();
1201 FillUpCarFluids();
1202
1203 GetInventory().CreateInInventory("Sedan_02_Wheel");
1204 GetInventory().CreateInInventory("Sedan_02_Wheel");
1205 GetInventory().CreateInInventory("Sedan_02_Wheel");
1206 GetInventory().CreateInInventory("Sedan_02_Wheel");
1207
1208 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1209 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1210 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1211 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1212 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1213 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1214
1215
1216 GetInventory().CreateInInventory("Sedan_02_Wheel");
1217 GetInventory().CreateInInventory("Sedan_02_Wheel");
1218 }
1219}
1220
1221class Sedan_02_Grey
extends Sedan_02
1222{
1224 {
1225 SpawnUniversalParts();
1226 SpawnAdditionalItems();
1227 FillUpCarFluids();
1228
1229 GetInventory().CreateInInventory("Sedan_02_Wheel");
1230 GetInventory().CreateInInventory("Sedan_02_Wheel");
1231 GetInventory().CreateInInventory("Sedan_02_Wheel");
1232 GetInventory().CreateInInventory("Sedan_02_Wheel");
1233
1234 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1235 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1236 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1237 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1238 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1239 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1240
1241
1242 GetInventory().CreateInInventory("Sedan_02_Wheel");
1243 GetInventory().CreateInInventory("Sedan_02_Wheel");
1244 }
1245}
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.