770{
774
776 {
777 m_dmgContactCoef = 0.0790;
778
785
786 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
787 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
788
791
794
796
798 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
799 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
800 }
801
803 {
807 }
808
810 {
811 super.EEInit();
812
814 {
821
824 }
825 }
826
828 {
829 return true;
830 }
831
833 {
834 super.GetElectricitySourceDevice();
835
837 }
838
840 {
841 return "CarBattery";
842 }
843
845 {
846 super.OnEngineStart();
847
849 {
852 }
853 }
854
856 {
857 super.OnEngineStop();
858
860 {
863 }
864 }
865
867 {
869 {
871 {
873 }
874 }
875 }
876
878 {
880 }
881
883 {
884 switch (posIdx)
885 {
886 case 0:
888 case 1:
890 case 2:
892 case 3:
894 }
895
896 return 0;
897 }
898
900 {
901 if (!super.CanReleaseAttachment(attachment))
902 {
903 return false;
904 }
905
906 string attType = attachment.GetType();
907 switch (attType)
908 {
909 case "CarBattery":
911 {
912 return false;
913 }
914 break;
915
916 case "SparkPlug":
918 {
919 return false;
920 }
921 break;
922
923 case "CarRadiator":
925 {
926 return false;
927 }
928 break;
929 }
930
931 return true;
932 }
933
935 {
937 }
938
940 {
941 if ( !super.CanDisplayAttachmentCategory(category_name))
942 {
943 return false;
944 }
945
947 if (category_name.
Contains(
"engine"))
948 {
950 {
951 return false;
952 }
953 }
954
955 if (category_name.
Contains(
"trunk"))
956 {
958 {
959 return false;
960 }
961 }
962
963 return true;
964 }
965
967 {
968 if ( !super.CanDisplayCargo() )
969 return false;
970
972 return false;
973
974 return true;
975 }
976
978 {
980
981 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
982 if (!carDoor)
983 {
985 }
986
987 switch (slotType)
988 {
989 case "Sedan_02_Door_1_1":
990 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
991
992 case "Sedan_02_Door_2_1":
993 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
994
995 case "Sedan_02_Door_1_2":
996 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
997
998 case "Sedan_02_Door_2_2":
999 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1000
1001 case "Sedan_02_Hood":
1002 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1003
1004 case "Sedan_02_Trunk":
1005 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1006 }
1007
1009 }
1010
1011
1013 {
1014 switch( posIdx )
1015 {
1016 case 0:
1018 return false;
1019
1020 return true;
1021 break;
1022
1023 case 1:
1025 return false;
1026
1027 return true;
1028 break;
1029
1030 case 2:
1032 return false;
1033
1034 return true;
1035 break;
1036
1037 case 3:
1039 return false;
1040
1041 return true;
1042 break;
1043 }
1044
1045 return false;
1046 }
1047
1049 {
1050 switch( posIdx )
1051 {
1052 case 0:
1053 return "doors_driver";
1054 break;
1055 case 1:
1056 return "doors_codriver";
1057 break;
1058 case 2:
1059 return "doors_cargo1";
1060 break;
1061 case 3:
1062 return "doors_cargo2";
1063 break;
1064 }
1065
1066 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1067 }
1068
1070 {
1071 switch( posIdx )
1072 {
1073 case 0:
1074 return "Sedan_02_Door_1_1";
1075 break;
1076 case 1:
1077 return "Sedan_02_Door_2_1";
1078 break;
1079 case 2:
1080 return "Sedan_02_Door_1_2";
1081 break;
1082 case 3:
1083 return "Sedan_02_Door_2_2";
1084 break;
1085 }
1086
1087 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1088 }
1089
1091 {
1092 switch ( ctrl )
1093 {
1095 float newValue = 0;
1097 {
1098 newValue += 0.25;
1099 }
1100
1102 {
1103 newValue += 0.25;
1104 }
1105
1107 {
1108 newValue += 0.25;
1109 }
1110
1112 {
1113 newValue += 0.25;
1114 }
1115
1117 break;
1118 }
1119
1120 return super.OnSound(ctrl, oldValue);
1121 }
1122
1124 {
1125 switch( selection )
1126 {
1127 case "doors_driver":
1128 return "DoorsDriver";
1129 case "doors_codriver":
1130 return "DoorsCoDriver";
1131 case "doors_cargo1":
1132 return "DoorsCargo1";
1133 case "doors_cargo2":
1134 return "DoorsCargo2";
1135 case "doors_hood":
1136 return "DoorsHood";
1137 case "doors_trunk":
1138 return "DoorsTrunk";
1139 }
1140
1141 return "";
1142 }
1143
1145 {
1146 return false;
1147 }
1148
1150 {
1151 switch (currentSeat)
1152 {
1153 case 0:
1154 return nextSeat == 1;
1155
1156 case 1:
1157 return nextSeat == 0;
1158
1159 case 2:
1160 return nextSeat == 3;
1161
1162 case 3:
1163 return nextSeat == 2;
1164 }
1165
1166 return false;
1167 }
1168
1170 {
1171 switch (pCurrentSeat)
1172 {
1173 case 0:
1174 return pDoorsSelection == "DoorsDriver";
1175
1176 case 1:
1177 return pDoorsSelection == "DoorsCoDriver";
1178
1179 case 2:
1180 return pDoorsSelection == "DoorsCargo1";
1181
1182 case 3:
1183 return pDoorsSelection == "DoorsCargo2";
1184 }
1185
1186 return false;
1187 }
1188
1190 {
1192 SpawnAdditionalItems();
1193 FillUpCarFluids();
1194
1201
1208
1209
1212 }
1213}
1214
1216{
1218 {
1220 SpawnAdditionalItems();
1221 FillUpCarFluids();
1222
1223 GameInventory inventory = GetInventory();
1228
1235
1236
1239 }
1240}
1241
1243{
1245 {
1247 SpawnAdditionalItems();
1248 FillUpCarFluids();
1249
1250 GameInventory inventory = GetInventory();
1255
1262
1263
1266 }
1267}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
string m_EngineStartBattery
ref VehicleHornComponent m_HornComponent
ref VehicleLightsComponent m_LightsComponent
void Sedan_02LightProfileFront()
Sedan_02LightProfileFront VehicleLightProfileFront Sedan_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
void VehicleLightData(VehicleLightProfileBase profile)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
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()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
Sedan_02 CarScript OnDebugSpawn()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
Super root of all classes in Enforce script.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
override void OnDebugSpawn()
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
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.