731{
735
737 {
739
745
748
751
752 SetEnginePos("0 0.7 -1.7");
753 }
754
756 {
757 super.EEInit();
758
760 {
767
770 }
771 }
772
774 {
775 super.OnEngineStart();
776
778 {
780 }
781 }
782
784 {
785 super.OnEngineStop();
786
788 {
790 }
791 }
792
794 {
796 {
798 {
800 }
801 }
802 }
803
805 {
807 }
808
810 {
811 switch (posIdx)
812 {
813 case 0:
815 case 1:
817 case 2:
819 case 3:
821 }
822
823 return 0;
824 }
825
826
828 {
830 }
831
832
834 {
836 }
837
839 {
840 if (!super.CanReleaseAttachment(attachment))
841 {
842 return false;
843 }
844
845 string attType = attachment.GetType();
846 switch (attType)
847 {
848 case "CarBattery":
850 {
851 return false;
852 }
853 break;
854
855 case "SparkPlug":
857 {
858 return false;
859 }
860 break;
861
862 case "CarRadiator":
864 {
865 return false;
866 }
867 break;
868 }
869
870 return true;
871 }
872
874 {
876 }
877
879 {
880 if ( !super.CanDisplayAttachmentCategory(category_name))
881 {
882 return false;
883 }
884
886 if (category_name.
Contains(
"engine"))
887 {
889 {
890 return false;
891 }
892 }
893
894 if (category_name.
Contains(
"trunk"))
895 {
897 {
898 return false;
899 }
900 }
901
902 return true;
903 }
904
906 {
907 if ( !super.CanDisplayCargo() )
908 return false;
909
911 return false;
912
913 return true;
914 }
915
917 {
919
920 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
921 if (!carDoor)
922 {
924 }
925
926 switch (slotType)
927 {
928 case "Sedan_02_Door_1_1":
930
931 case "Sedan_02_Door_2_1":
933
934 case "Sedan_02_Door_1_2":
936
937 case "Sedan_02_Door_2_2":
939
940 case "Sedan_02_Hood":
942
943 case "Sedan_02_Trunk":
945 }
946
948 }
949
950
952 {
953 switch( posIdx )
954 {
955 case 0:
957 return false;
958
959 return true;
960 break;
961
962 case 1:
964 return false;
965
966 return true;
967 break;
968
969 case 2:
971 return false;
972
973 return true;
974 break;
975
976 case 3:
978 return false;
979
980 return true;
981 break;
982 }
983
984 return false;
985 }
986
988 {
989 switch( posIdx )
990 {
991 case 0:
992 return "doors_driver";
993 break;
994 case 1:
995 return "doors_codriver";
996 break;
997 case 2:
998 return "doors_cargo1";
999 break;
1000 case 3:
1001 return "doors_cargo2";
1002 break;
1003 }
1004
1005 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1006 }
1007
1009 {
1010 switch( posIdx )
1011 {
1012 case 0:
1013 return "Sedan_02_Door_1_1";
1014 break;
1015 case 1:
1016 return "Sedan_02_Door_2_1";
1017 break;
1018 case 2:
1019 return "Sedan_02_Door_1_2";
1020 break;
1021 case 3:
1022 return "Sedan_02_Door_2_2";
1023 break;
1024 }
1025
1026 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1027 }
1028
1030 {
1031 switch ( ctrl )
1032 {
1034 float newValue = 0;
1036 {
1037 newValue += 0.25;
1038 }
1039
1041 {
1042 newValue += 0.25;
1043 }
1044
1046 {
1047 newValue += 0.25;
1048 }
1049
1051 {
1052 newValue += 0.25;
1053 }
1054
1056 break;
1057 }
1058
1059 return super.OnSound(ctrl, oldValue);
1060 }
1061
1063 {
1064 switch( selection )
1065 {
1066 case "doors_driver":
1067 return "DoorsDriver";
1068 case "doors_codriver":
1069 return "DoorsCoDriver";
1070 case "doors_cargo1":
1071 return "DoorsCargo1";
1072 case "doors_cargo2":
1073 return "DoorsCargo2";
1074 case "doors_hood":
1075 return "DoorsHood";
1076 case "doors_trunk":
1077 return "DoorsTrunk";
1078 }
1079
1080 return "";
1081 }
1082
1083
1085 {
1086 return false;
1087 }
1088
1090 {
1091 return false;
1092 }
1093
1095 {
1096 switch (currentSeat)
1097 {
1098 case 0:
1099 return nextSeat == 1;
1100
1101 case 1:
1102 return nextSeat == 0;
1103
1104 case 2:
1105 return nextSeat == 3;
1106
1107 case 3:
1108 return nextSeat == 2;
1109 }
1110
1111 return false;
1112 }
1113
1115 {
1116 switch (pCurrentSeat)
1117 {
1118 case 0:
1119 return pDoorsSelection == "DoorsDriver";
1120
1121 case 1:
1122 return pDoorsSelection == "DoorsCoDriver";
1123
1124 case 2:
1125 return pDoorsSelection == "DoorsCargo1";
1126
1127 case 3:
1128 return pDoorsSelection == "DoorsCargo2";
1129 }
1130
1131 return false;
1132 }
1133
1135 {
1139
1140 GetInventory().CreateInInventory("Sedan_02_Wheel");
1141 GetInventory().CreateInInventory("Sedan_02_Wheel");
1142 GetInventory().CreateInInventory("Sedan_02_Wheel");
1143 GetInventory().CreateInInventory("Sedan_02_Wheel");
1144 GetInventory().CreateInInventory("Sedan_02_Wheel");
1145
1146 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1147 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1148 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1149 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1150 GetInventory().CreateInInventory("Sedan_02_Hood");
1151 GetInventory().CreateInInventory("Sedan_02_Trunk");
1152
1153
1154 GetInventory().CreateInInventory("Sedan_02_Wheel");
1155 GetInventory().CreateInInventory("Sedan_02_Wheel");
1156 }
1157}
1158
1160{
1162 {
1166
1167 GetInventory().CreateInInventory("Sedan_02_Wheel");
1168 GetInventory().CreateInInventory("Sedan_02_Wheel");
1169 GetInventory().CreateInInventory("Sedan_02_Wheel");
1170 GetInventory().CreateInInventory("Sedan_02_Wheel");
1171
1172 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1173 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1174 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1175 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1176 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1177 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1178
1179
1180 GetInventory().CreateInInventory("Sedan_02_Wheel");
1181 GetInventory().CreateInInventory("Sedan_02_Wheel");
1182 }
1183}
1184
1185class Sedan_02_Grey
extends Sedan_02
1186{
1188 {
1192
1193 GetInventory().CreateInInventory("Sedan_02_Wheel");
1194 GetInventory().CreateInInventory("Sedan_02_Wheel");
1195 GetInventory().CreateInInventory("Sedan_02_Wheel");
1196 GetInventory().CreateInInventory("Sedan_02_Wheel");
1197
1198 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1199 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1200 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1201 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1202 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1203 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1204
1205
1206 GetInventory().CreateInInventory("Sedan_02_Wheel");
1207 GetInventory().CreateInInventory("Sedan_02_Wheel");
1208 }
1209}
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.