752{
756
758 {
759 m_dmgContactCoef = 0.0790;
760
761 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
762 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
763 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
764 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
765 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
766 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
767
768 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
769 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
770
771 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
772 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
773
774 SetEnginePos("0 0.7 -1.7");
775 }
776
778 {
782 }
783
785 {
786 super.EEInit();
787
789 {
796
799 }
800 }
801
803 {
804 super.OnEngineStart();
805
807 {
810 }
811 }
812
814 {
815 super.OnEngineStop();
816
818 {
821 }
822 }
823
825 {
827 {
829 {
831 }
832 }
833 }
834
836 {
838 }
839
841 {
842 switch (posIdx)
843 {
844 case 0:
846 case 1:
848 case 2:
850 case 3:
852 }
853
854 return 0;
855 }
856
857
859 {
861 }
862
863
865 {
867 }
868
870 {
871 if (!super.CanReleaseAttachment(attachment))
872 {
873 return false;
874 }
875
876 string attType = attachment.GetType();
877 switch (attType)
878 {
879 case "CarBattery":
881 {
882 return false;
883 }
884 break;
885
886 case "SparkPlug":
888 {
889 return false;
890 }
891 break;
892
893 case "CarRadiator":
895 {
896 return false;
897 }
898 break;
899 }
900
901 return true;
902 }
903
905 {
907 }
908
910 {
911 if ( !super.CanDisplayAttachmentCategory(category_name))
912 {
913 return false;
914 }
915
917 if (category_name.
Contains(
"engine"))
918 {
920 {
921 return false;
922 }
923 }
924
925 if (category_name.
Contains(
"trunk"))
926 {
928 {
929 return false;
930 }
931 }
932
933 return true;
934 }
935
937 {
938 if ( !super.CanDisplayCargo() )
939 return false;
940
942 return false;
943
944 return true;
945 }
946
948 {
950
951 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
952 if (!carDoor)
953 {
955 }
956
957 switch (slotType)
958 {
959 case "Sedan_02_Door_1_1":
960 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
961
962 case "Sedan_02_Door_2_1":
963 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
964
965 case "Sedan_02_Door_1_2":
966 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
967
968 case "Sedan_02_Door_2_2":
969 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
970
971 case "Sedan_02_Hood":
972 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
973
974 case "Sedan_02_Trunk":
975 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
976 }
977
979 }
980
981
983 {
984 switch( posIdx )
985 {
986 case 0:
988 return false;
989
990 return true;
991 break;
992
993 case 1:
995 return false;
996
997 return true;
998 break;
999
1000 case 2:
1002 return false;
1003
1004 return true;
1005 break;
1006
1007 case 3:
1009 return false;
1010
1011 return true;
1012 break;
1013 }
1014
1015 return false;
1016 }
1017
1019 {
1020 switch( posIdx )
1021 {
1022 case 0:
1023 return "doors_driver";
1024 break;
1025 case 1:
1026 return "doors_codriver";
1027 break;
1028 case 2:
1029 return "doors_cargo1";
1030 break;
1031 case 3:
1032 return "doors_cargo2";
1033 break;
1034 }
1035
1036 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1037 }
1038
1040 {
1041 switch( posIdx )
1042 {
1043 case 0:
1044 return "Sedan_02_Door_1_1";
1045 break;
1046 case 1:
1047 return "Sedan_02_Door_2_1";
1048 break;
1049 case 2:
1050 return "Sedan_02_Door_1_2";
1051 break;
1052 case 3:
1053 return "Sedan_02_Door_2_2";
1054 break;
1055 }
1056
1057 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1058 }
1059
1061 {
1062 switch ( ctrl )
1063 {
1065 float newValue = 0;
1067 {
1068 newValue += 0.25;
1069 }
1070
1072 {
1073 newValue += 0.25;
1074 }
1075
1077 {
1078 newValue += 0.25;
1079 }
1080
1082 {
1083 newValue += 0.25;
1084 }
1085
1087 break;
1088 }
1089
1090 return super.OnSound(ctrl, oldValue);
1091 }
1092
1094 {
1095 switch( selection )
1096 {
1097 case "doors_driver":
1098 return "DoorsDriver";
1099 case "doors_codriver":
1100 return "DoorsCoDriver";
1101 case "doors_cargo1":
1102 return "DoorsCargo1";
1103 case "doors_cargo2":
1104 return "DoorsCargo2";
1105 case "doors_hood":
1106 return "DoorsHood";
1107 case "doors_trunk":
1108 return "DoorsTrunk";
1109 }
1110
1111 return "";
1112 }
1113
1114
1116 {
1117 return false;
1118 }
1119
1121 {
1122 return false;
1123 }
1124
1126 {
1127 switch (currentSeat)
1128 {
1129 case 0:
1130 return nextSeat == 1;
1131
1132 case 1:
1133 return nextSeat == 0;
1134
1135 case 2:
1136 return nextSeat == 3;
1137
1138 case 3:
1139 return nextSeat == 2;
1140 }
1141
1142 return false;
1143 }
1144
1146 {
1147 switch (pCurrentSeat)
1148 {
1149 case 0:
1150 return pDoorsSelection == "DoorsDriver";
1151
1152 case 1:
1153 return pDoorsSelection == "DoorsCoDriver";
1154
1155 case 2:
1156 return pDoorsSelection == "DoorsCargo1";
1157
1158 case 3:
1159 return pDoorsSelection == "DoorsCargo2";
1160 }
1161
1162 return false;
1163 }
1164
1166 {
1167 SpawnUniversalParts();
1168 SpawnAdditionalItems();
1169 FillUpCarFluids();
1170
1177
1184
1185
1188 }
1189}
1190
1192{
1194 {
1195 SpawnUniversalParts();
1196 SpawnAdditionalItems();
1197 FillUpCarFluids();
1198
1199 GameInventory inventory = GetInventory();
1204
1211
1212
1215 }
1216}
1217
1218class Sedan_02_Grey
extends Sedan_02
1219{
1221 {
1222 SpawnUniversalParts();
1223 SpawnAdditionalItems();
1224 FillUpCarFluids();
1225
1226 GameInventory inventory = GetInventory();
1231
1238
1239
1242 }
1243}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
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.