733{
737
739 {
740 m_dmgContactCoef = 0.0790;
741
742 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
743 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
744 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
745 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
746 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
747 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
748
749 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
750 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
751
752 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
753 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
754
755 SetEnginePos("0 0.7 -1.7");
756 }
757
759 {
760 super.EEInit();
761
763 {
770
773 }
774 }
775
777 {
778 super.OnEngineStart();
779
781 {
783 }
784 }
785
787 {
788 super.OnEngineStop();
789
791 {
793 }
794 }
795
797 {
799 {
801 {
803 }
804 }
805 }
806
808 {
810 }
811
813 {
814 switch (posIdx)
815 {
816 case 0:
818 case 1:
820 case 2:
822 case 3:
824 }
825
826 return 0;
827 }
828
829
831 {
833 }
834
835
837 {
839 }
840
842 {
843 if (!super.CanReleaseAttachment(attachment))
844 {
845 return false;
846 }
847
848 string attType = attachment.GetType();
849 switch (attType)
850 {
851 case "CarBattery":
853 {
854 return false;
855 }
856 break;
857
858 case "SparkPlug":
860 {
861 return false;
862 }
863 break;
864
865 case "CarRadiator":
867 {
868 return false;
869 }
870 break;
871 }
872
873 return true;
874 }
875
877 {
879 }
880
882 {
883 if ( !super.CanDisplayAttachmentCategory(category_name))
884 {
885 return false;
886 }
887
889 if (category_name.
Contains(
"engine"))
890 {
892 {
893 return false;
894 }
895 }
896
897 if (category_name.
Contains(
"trunk"))
898 {
900 {
901 return false;
902 }
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 "Sedan_02_Door_1_1":
932 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
933
934 case "Sedan_02_Door_2_1":
935 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
936
937 case "Sedan_02_Door_1_2":
938 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
939
940 case "Sedan_02_Door_2_2":
941 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
942
943 case "Sedan_02_Hood":
944 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
945
946 case "Sedan_02_Trunk":
947 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
948 }
949
951 }
952
953
955 {
956 switch( posIdx )
957 {
958 case 0:
960 return false;
961
962 return true;
963 break;
964
965 case 1:
967 return false;
968
969 return true;
970 break;
971
972 case 2:
974 return false;
975
976 return true;
977 break;
978
979 case 3:
981 return false;
982
983 return true;
984 break;
985 }
986
987 return false;
988 }
989
991 {
992 switch( posIdx )
993 {
994 case 0:
995 return "doors_driver";
996 break;
997 case 1:
998 return "doors_codriver";
999 break;
1000 case 2:
1001 return "doors_cargo1";
1002 break;
1003 case 3:
1004 return "doors_cargo2";
1005 break;
1006 }
1007
1008 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1009 }
1010
1012 {
1013 switch( posIdx )
1014 {
1015 case 0:
1016 return "Sedan_02_Door_1_1";
1017 break;
1018 case 1:
1019 return "Sedan_02_Door_2_1";
1020 break;
1021 case 2:
1022 return "Sedan_02_Door_1_2";
1023 break;
1024 case 3:
1025 return "Sedan_02_Door_2_2";
1026 break;
1027 }
1028
1029 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1030 }
1031
1033 {
1034 switch ( ctrl )
1035 {
1037 float newValue = 0;
1039 {
1040 newValue += 0.25;
1041 }
1042
1044 {
1045 newValue += 0.25;
1046 }
1047
1049 {
1050 newValue += 0.25;
1051 }
1052
1054 {
1055 newValue += 0.25;
1056 }
1057
1059 break;
1060 }
1061
1062 return super.OnSound(ctrl, oldValue);
1063 }
1064
1066 {
1067 switch( selection )
1068 {
1069 case "doors_driver":
1070 return "DoorsDriver";
1071 case "doors_codriver":
1072 return "DoorsCoDriver";
1073 case "doors_cargo1":
1074 return "DoorsCargo1";
1075 case "doors_cargo2":
1076 return "DoorsCargo2";
1077 case "doors_hood":
1078 return "DoorsHood";
1079 case "doors_trunk":
1080 return "DoorsTrunk";
1081 }
1082
1083 return "";
1084 }
1085
1086
1088 {
1089 return false;
1090 }
1091
1093 {
1094 return false;
1095 }
1096
1098 {
1099 switch (currentSeat)
1100 {
1101 case 0:
1102 return nextSeat == 1;
1103
1104 case 1:
1105 return nextSeat == 0;
1106
1107 case 2:
1108 return nextSeat == 3;
1109
1110 case 3:
1111 return nextSeat == 2;
1112 }
1113
1114 return false;
1115 }
1116
1118 {
1119 switch (pCurrentSeat)
1120 {
1121 case 0:
1122 return pDoorsSelection == "DoorsDriver";
1123
1124 case 1:
1125 return pDoorsSelection == "DoorsCoDriver";
1126
1127 case 2:
1128 return pDoorsSelection == "DoorsCargo1";
1129
1130 case 3:
1131 return pDoorsSelection == "DoorsCargo2";
1132 }
1133
1134 return false;
1135 }
1136
1138 {
1139 SpawnUniversalParts();
1140 SpawnAdditionalItems();
1141 FillUpCarFluids();
1142
1143 GetInventory().CreateInInventory("Sedan_02_Wheel");
1144 GetInventory().CreateInInventory("Sedan_02_Wheel");
1145 GetInventory().CreateInInventory("Sedan_02_Wheel");
1146 GetInventory().CreateInInventory("Sedan_02_Wheel");
1147 GetInventory().CreateInInventory("Sedan_02_Wheel");
1148
1149 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1150 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1151 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1152 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1153 GetInventory().CreateInInventory("Sedan_02_Hood");
1154 GetInventory().CreateInInventory("Sedan_02_Trunk");
1155
1156
1157 GetInventory().CreateInInventory("Sedan_02_Wheel");
1158 GetInventory().CreateInInventory("Sedan_02_Wheel");
1159 }
1160}
1161
1163{
1165 {
1166 SpawnUniversalParts();
1167 SpawnAdditionalItems();
1168 FillUpCarFluids();
1169
1170 GetInventory().CreateInInventory("Sedan_02_Wheel");
1171 GetInventory().CreateInInventory("Sedan_02_Wheel");
1172 GetInventory().CreateInInventory("Sedan_02_Wheel");
1173 GetInventory().CreateInInventory("Sedan_02_Wheel");
1174
1175 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1176 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1177 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1178 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1179 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1180 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1181
1182
1183 GetInventory().CreateInInventory("Sedan_02_Wheel");
1184 GetInventory().CreateInInventory("Sedan_02_Wheel");
1185 }
1186}
1187
1188class Sedan_02_Grey
extends Sedan_02
1189{
1191 {
1192 SpawnUniversalParts();
1193 SpawnAdditionalItems();
1194 FillUpCarFluids();
1195
1196 GetInventory().CreateInInventory("Sedan_02_Wheel");
1197 GetInventory().CreateInInventory("Sedan_02_Wheel");
1198 GetInventory().CreateInInventory("Sedan_02_Wheel");
1199 GetInventory().CreateInInventory("Sedan_02_Wheel");
1200
1201 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1202 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1203 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1204 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1205 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1206 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1207
1208
1209 GetInventory().CreateInInventory("Sedan_02_Wheel");
1210 GetInventory().CreateInInventory("Sedan_02_Wheel");
1211 }
1212}
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.