712{
716
718 {
719 m_dmgContactCoef = 0.0790;
720
721 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
722 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
723 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
724 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
725 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
726 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
727
728 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
729 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
730
731 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
732 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
733
734 SetEnginePos("0 0.7 -1.7");
735 }
736
738 {
739 super.EEInit();
740
742 {
749
752 }
753 }
754
756 {
757 super.OnEngineStart();
758
760 {
762 }
763 }
764
766 {
767 super.OnEngineStop();
768
770 {
772 }
773 }
774
776 {
778 {
780 {
782 }
783 }
784 }
785
787 {
789 }
790
792 {
793 switch (posIdx)
794 {
795 case 0:
797 case 1:
799 case 2:
801 case 3:
803 }
804
805 return 0;
806 }
807
808
810 {
812 }
813
814
816 {
818 }
819
821 {
822 if (!super.CanReleaseAttachment(attachment))
823 {
824 return false;
825 }
826
827 string attType = attachment.GetType();
828 switch (attType)
829 {
830 case "CarBattery":
832 {
833 return false;
834 }
835 break;
836
837 case "SparkPlug":
839 {
840 return false;
841 }
842 break;
843
844 case "CarRadiator":
846 {
847 return false;
848 }
849 break;
850 }
851
852 return true;
853 }
854
856 {
858 }
859
861 {
862 if ( !super.CanDisplayAttachmentCategory(category_name))
863 {
864 return false;
865 }
866
868 if (category_name.
Contains(
"engine"))
869 {
871 {
872 return false;
873 }
874 }
875
876 if (category_name.
Contains(
"trunk"))
877 {
879 {
880 return false;
881 }
882 }
883
884 return true;
885 }
886
888 {
889 if ( !super.CanDisplayCargo() )
890 return false;
891
893 return false;
894
895 return true;
896 }
897
899 {
901
902 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
903 if (!carDoor)
904 {
906 }
907
908 switch (slotType)
909 {
910 case "Sedan_02_Door_1_1":
911 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
912
913 case "Sedan_02_Door_2_1":
914 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
915
916 case "Sedan_02_Door_1_2":
917 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
918
919 case "Sedan_02_Door_2_2":
920 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
921
922 case "Sedan_02_Hood":
923 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
924
925 case "Sedan_02_Trunk":
926 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
927 }
928
930 }
931
932
934 {
935 switch( posIdx )
936 {
937 case 0:
939 return false;
940
941 return true;
942 break;
943
944 case 1:
946 return false;
947
948 return true;
949 break;
950
951 case 2:
953 return false;
954
955 return true;
956 break;
957
958 case 3:
960 return false;
961
962 return true;
963 break;
964 }
965
966 return false;
967 }
968
970 {
971 switch( posIdx )
972 {
973 case 0:
974 return "doors_driver";
975 break;
976 case 1:
977 return "doors_codriver";
978 break;
979 case 2:
980 return "doors_cargo1";
981 break;
982 case 3:
983 return "doors_cargo2";
984 break;
985 }
986
987 return super.GetDoorSelectionNameFromSeatPos(posIdx);
988 }
989
991 {
992 switch( posIdx )
993 {
994 case 0:
995 return "Sedan_02_Door_1_1";
996 break;
997 case 1:
998 return "Sedan_02_Door_2_1";
999 break;
1000 case 2:
1001 return "Sedan_02_Door_1_2";
1002 break;
1003 case 3:
1004 return "Sedan_02_Door_2_2";
1005 break;
1006 }
1007
1008 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1009 }
1010
1012 {
1013 switch ( ctrl )
1014 {
1016 float newValue = 0;
1018 {
1019 newValue += 0.25;
1020 }
1021
1023 {
1024 newValue += 0.25;
1025 }
1026
1028 {
1029 newValue += 0.25;
1030 }
1031
1033 {
1034 newValue += 0.25;
1035 }
1036
1038 break;
1039 }
1040
1041 return super.OnSound(ctrl, oldValue);
1042 }
1043
1045 {
1046 switch( selection )
1047 {
1048 case "doors_driver":
1049 return "DoorsDriver";
1050 case "doors_codriver":
1051 return "DoorsCoDriver";
1052 case "doors_cargo1":
1053 return "DoorsCargo1";
1054 case "doors_cargo2":
1055 return "DoorsCargo2";
1056 case "doors_hood":
1057 return "DoorsHood";
1058 case "doors_trunk":
1059 return "DoorsTrunk";
1060 }
1061
1062 return "";
1063 }
1064
1065
1067 {
1068 return false;
1069 }
1070
1072 {
1073 return false;
1074 }
1075
1077 {
1078 switch (currentSeat)
1079 {
1080 case 0:
1081 return nextSeat == 1;
1082
1083 case 1:
1084 return nextSeat == 0;
1085
1086 case 2:
1087 return nextSeat == 3;
1088
1089 case 3:
1090 return nextSeat == 2;
1091 }
1092
1093 return false;
1094 }
1095
1097 {
1098 switch (pCurrentSeat)
1099 {
1100 case 0:
1101 return pDoorsSelection == "DoorsDriver";
1102
1103 case 1:
1104 return pDoorsSelection == "DoorsCoDriver";
1105
1106 case 2:
1107 return pDoorsSelection == "DoorsCargo1";
1108
1109 case 3:
1110 return pDoorsSelection == "DoorsCargo2";
1111 }
1112
1113 return false;
1114 }
1115
1117 {
1118 SpawnUniversalParts();
1119 SpawnAdditionalItems();
1120 FillUpCarFluids();
1121
1122 GetInventory().CreateInInventory("Sedan_02_Wheel");
1123 GetInventory().CreateInInventory("Sedan_02_Wheel");
1124 GetInventory().CreateInInventory("Sedan_02_Wheel");
1125 GetInventory().CreateInInventory("Sedan_02_Wheel");
1126 GetInventory().CreateInInventory("Sedan_02_Wheel");
1127
1128 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1129 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1130 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1131 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1132 GetInventory().CreateInInventory("Sedan_02_Hood");
1133 GetInventory().CreateInInventory("Sedan_02_Trunk");
1134
1135
1136 GetInventory().CreateInInventory("Sedan_02_Wheel");
1137 GetInventory().CreateInInventory("Sedan_02_Wheel");
1138 }
1139}
1140
1142{
1144 {
1145 SpawnUniversalParts();
1146 SpawnAdditionalItems();
1147 FillUpCarFluids();
1148
1149 GetInventory().CreateInInventory("Sedan_02_Wheel");
1150 GetInventory().CreateInInventory("Sedan_02_Wheel");
1151 GetInventory().CreateInInventory("Sedan_02_Wheel");
1152 GetInventory().CreateInInventory("Sedan_02_Wheel");
1153
1154 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1155 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1156 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1157 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1158 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1159 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1160
1161
1162 GetInventory().CreateInInventory("Sedan_02_Wheel");
1163 GetInventory().CreateInInventory("Sedan_02_Wheel");
1164 }
1165}
1166
1167class Sedan_02_Grey
extends Sedan_02
1168{
1170 {
1171 SpawnUniversalParts();
1172 SpawnAdditionalItems();
1173 FillUpCarFluids();
1174
1175 GetInventory().CreateInInventory("Sedan_02_Wheel");
1176 GetInventory().CreateInInventory("Sedan_02_Wheel");
1177 GetInventory().CreateInInventory("Sedan_02_Wheel");
1178 GetInventory().CreateInInventory("Sedan_02_Wheel");
1179
1180 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1181 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1182 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1183 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1184 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1185 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1186
1187
1188 GetInventory().CreateInInventory("Sedan_02_Wheel");
1189 GetInventory().CreateInInventory("Sedan_02_Wheel");
1190 }
1191}
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.