764{
768
770 {
772
778
781
784
785 SetEnginePos("0 0.7 -1.7");
786 }
787
789 {
790 super.EEInit();
791
793 {
800
803 }
804 }
805
807 {
808 super.OnEngineStart();
809
811 {
813 }
814 }
815
817 {
818 super.OnEngineStop();
819
821 {
823 }
824 }
825
827 {
829 {
831 {
833 }
834 }
835 }
836
838 {
840 }
841
843 {
844 switch (posIdx)
845 {
846 case 0:
848 case 1:
850 case 2:
852 case 3:
854 }
855
856 return 0;
857 }
858
859
861 {
863 }
864
865
867 {
869 }
870
872 {
873 if (!super.CanReleaseAttachment(attachment))
874 {
875 return false;
876 }
877
878 string attType = attachment.GetType();
879 switch (attType)
880 {
881 case "CarBattery":
883 {
884 return false;
885 }
886 break;
887
888 case "SparkPlug":
890 {
891 return false;
892 }
893 break;
894
895 case "CarRadiator":
897 {
898 return false;
899 }
900 break;
901 }
902
903 return true;
904 }
905
907 {
909 }
910
912 {
913 if ( !super.CanDisplayAttachmentCategory(category_name))
914 {
915 return false;
916 }
917
919 if (category_name.
Contains(
"engine"))
920 {
922 {
923 return false;
924 }
925 }
926
927 if (category_name.
Contains(
"trunk"))
928 {
930 {
931 return false;
932 }
933 }
934
935 return true;
936 }
937
939 {
940 if ( !super.CanDisplayCargo() )
941 return false;
942
944 return false;
945
946 return true;
947 }
948
950 {
952
953 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
954 if (!carDoor)
955 {
957 }
958
959 switch (slotType)
960 {
961 case "Sedan_02_Door_1_1":
963
964 case "Sedan_02_Door_2_1":
966
967 case "Sedan_02_Door_1_2":
969
970 case "Sedan_02_Door_2_2":
972
973 case "Sedan_02_Hood":
975
976 case "Sedan_02_Trunk":
978 }
979
981 }
982
983
985 {
986 switch( posIdx )
987 {
988 case 0:
990 return false;
991
992 return true;
993 break;
994
995 case 1:
997 return false;
998
999 return true;
1000 break;
1001
1002 case 2:
1004 return false;
1005
1006 return true;
1007 break;
1008
1009 case 3:
1011 return false;
1012
1013 return true;
1014 break;
1015 }
1016
1017 return false;
1018 }
1019
1021 {
1022 switch( posIdx )
1023 {
1024 case 0:
1025 return "doors_driver";
1026 break;
1027 case 1:
1028 return "doors_codriver";
1029 break;
1030 case 2:
1031 return "doors_cargo1";
1032 break;
1033 case 3:
1034 return "doors_cargo2";
1035 break;
1036 }
1037
1038 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1039 }
1040
1042 {
1043 switch( posIdx )
1044 {
1045 case 0:
1046 return "Sedan_02_Door_1_1";
1047 break;
1048 case 1:
1049 return "Sedan_02_Door_2_1";
1050 break;
1051 case 2:
1052 return "Sedan_02_Door_1_2";
1053 break;
1054 case 3:
1055 return "Sedan_02_Door_2_2";
1056 break;
1057 }
1058
1059 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1060 }
1061
1063 {
1064 switch ( ctrl )
1065 {
1067 float newValue = 0;
1069 {
1070 newValue += 0.25;
1071 }
1072
1074 {
1075 newValue += 0.25;
1076 }
1077
1079 {
1080 newValue += 0.25;
1081 }
1082
1084 {
1085 newValue += 0.25;
1086 }
1087
1089 break;
1090 }
1091
1092 return super.OnSound(ctrl, oldValue);
1093 }
1094
1096 {
1097 switch( selection )
1098 {
1099 case "doors_driver":
1100 return "DoorsDriver";
1101 case "doors_codriver":
1102 return "DoorsCoDriver";
1103 case "doors_cargo1":
1104 return "DoorsCargo1";
1105 case "doors_cargo2":
1106 return "DoorsCargo2";
1107 case "doors_hood":
1108 return "DoorsHood";
1109 case "doors_trunk":
1110 return "DoorsTrunk";
1111 }
1112
1113 return "";
1114 }
1115
1116
1118 {
1119 return false;
1120 }
1121
1123 {
1124 return false;
1125 }
1126
1128 {
1129 switch (currentSeat)
1130 {
1131 case 0:
1132 return nextSeat == 1;
1133
1134 case 1:
1135 return nextSeat == 0;
1136
1137 case 2:
1138 return nextSeat == 3;
1139
1140 case 3:
1141 return nextSeat == 2;
1142 }
1143
1144 return false;
1145 }
1146
1148 {
1149 switch (pCurrentSeat)
1150 {
1151 case 0:
1152 return pDoorsSelection == "DoorsDriver";
1153
1154 case 1:
1155 return pDoorsSelection == "DoorsCoDriver";
1156
1157 case 2:
1158 return pDoorsSelection == "DoorsCargo1";
1159
1160 case 3:
1161 return pDoorsSelection == "DoorsCargo2";
1162 }
1163
1164 return false;
1165 }
1166
1168 {
1172
1173 GetInventory().CreateInInventory("Sedan_02_Wheel");
1174 GetInventory().CreateInInventory("Sedan_02_Wheel");
1175 GetInventory().CreateInInventory("Sedan_02_Wheel");
1176 GetInventory().CreateInInventory("Sedan_02_Wheel");
1177 GetInventory().CreateInInventory("Sedan_02_Wheel");
1178
1179 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1180 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1181 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1182 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1183 GetInventory().CreateInInventory("Sedan_02_Hood");
1184 GetInventory().CreateInInventory("Sedan_02_Trunk");
1185
1186
1187 GetInventory().CreateInInventory("Sedan_02_Wheel");
1188 GetInventory().CreateInInventory("Sedan_02_Wheel");
1189 }
1190}
1191
1193{
1195 {
1199
1200 GetInventory().CreateInInventory("Sedan_02_Wheel");
1201 GetInventory().CreateInInventory("Sedan_02_Wheel");
1202 GetInventory().CreateInInventory("Sedan_02_Wheel");
1203 GetInventory().CreateInInventory("Sedan_02_Wheel");
1204
1205 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1206 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1207 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1208 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1209 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1210 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1211
1212
1213 GetInventory().CreateInInventory("Sedan_02_Wheel");
1214 GetInventory().CreateInInventory("Sedan_02_Wheel");
1215 }
1216}
1217
1218class Sedan_02_Grey
extends Sedan_02
1219{
1221 {
1225
1226 GetInventory().CreateInInventory("Sedan_02_Wheel");
1227 GetInventory().CreateInInventory("Sedan_02_Wheel");
1228 GetInventory().CreateInInventory("Sedan_02_Wheel");
1229 GetInventory().CreateInInventory("Sedan_02_Wheel");
1230
1231 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1232 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1233 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1234 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1235 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1236 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1237
1238
1239 GetInventory().CreateInInventory("Sedan_02_Wheel");
1240 GetInventory().CreateInInventory("Sedan_02_Wheel");
1241 }
1242}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
void SpawnUniversalParts()
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
void SpawnAdditionalItems()
string m_EngineStartOK
Sounds.
string m_CarDoorCloseSound
string m_EngineStartBattery
string m_CarHornShortSoundName
string m_CarHornLongSoundName
string m_CarDoorOpenSound
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.