710{
714
716 {
718
724
727
730
731 SetEnginePos("0 0.7 -1.7");
732 }
733
735 {
736 super.EEInit();
737
739 {
746
749 }
750 }
751
753 {
754 super.OnEngineStart();
755
757 {
759 }
760 }
761
763 {
764 super.OnEngineStop();
765
767 {
769 }
770 }
771
773 {
775 {
777 {
779 }
780 }
781 }
782
784 {
786 }
787
789 {
790 switch (posIdx)
791 {
792 case 0:
794 case 1:
796 case 2:
798 case 3:
800 }
801
802 return 0;
803 }
804
805
807 {
809 }
810
811
813 {
815 }
816
818 {
819 if (!super.CanReleaseAttachment(attachment))
820 {
821 return false;
822 }
823
824 string attType = attachment.GetType();
825 switch (attType)
826 {
827 case "CarBattery":
829 {
830 return false;
831 }
832 break;
833
834 case "SparkPlug":
836 {
837 return false;
838 }
839 break;
840
841 case "CarRadiator":
843 {
844 return false;
845 }
846 break;
847 }
848
849 return true;
850 }
851
853 {
855 }
856
858 {
859 if ( !super.CanDisplayAttachmentCategory(category_name))
860 {
861 return false;
862 }
863
865 if (category_name.
Contains(
"engine"))
866 {
868 {
869 return false;
870 }
871 }
872
873 if (category_name.
Contains(
"trunk"))
874 {
876 {
877 return false;
878 }
879 }
880
881 return true;
882 }
883
885 {
886 if ( !super.CanDisplayCargo() )
887 return false;
888
890 return false;
891
892 return true;
893 }
894
896 {
898
899 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
900 if (!carDoor)
901 {
903 }
904
905 switch (slotType)
906 {
907 case "Sedan_02_Door_1_1":
909
910 case "Sedan_02_Door_2_1":
912
913 case "Sedan_02_Door_1_2":
915
916 case "Sedan_02_Door_2_2":
918
919 case "Sedan_02_Hood":
921
922 case "Sedan_02_Trunk":
924 }
925
927 }
928
929
931 {
932 switch( posIdx )
933 {
934 case 0:
936 return false;
937
938 return true;
939 break;
940
941 case 1:
943 return false;
944
945 return true;
946 break;
947
948 case 2:
950 return false;
951
952 return true;
953 break;
954
955 case 3:
957 return false;
958
959 return true;
960 break;
961 }
962
963 return false;
964 }
965
967 {
968 switch( posIdx )
969 {
970 case 0:
971 return "doors_driver";
972 break;
973 case 1:
974 return "doors_codriver";
975 break;
976 case 2:
977 return "doors_cargo1";
978 break;
979 case 3:
980 return "doors_cargo2";
981 break;
982 }
983
984 return super.GetDoorSelectionNameFromSeatPos(posIdx);
985 }
986
988 {
989 switch( posIdx )
990 {
991 case 0:
992 return "Sedan_02_Door_1_1";
993 break;
994 case 1:
995 return "Sedan_02_Door_2_1";
996 break;
997 case 2:
998 return "Sedan_02_Door_1_2";
999 break;
1000 case 3:
1001 return "Sedan_02_Door_2_2";
1002 break;
1003 }
1004
1005 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1006 }
1007
1009 {
1010 switch ( ctrl )
1011 {
1013 float newValue = 0;
1015 {
1016 newValue += 0.25;
1017 }
1018
1020 {
1021 newValue += 0.25;
1022 }
1023
1025 {
1026 newValue += 0.25;
1027 }
1028
1030 {
1031 newValue += 0.25;
1032 }
1033
1035 break;
1036 }
1037
1038 return super.OnSound(ctrl, oldValue);
1039 }
1040
1042 {
1043 switch( selection )
1044 {
1045 case "doors_driver":
1046 return "DoorsDriver";
1047 case "doors_codriver":
1048 return "DoorsCoDriver";
1049 case "doors_cargo1":
1050 return "DoorsCargo1";
1051 case "doors_cargo2":
1052 return "DoorsCargo2";
1053 case "doors_hood":
1054 return "DoorsHood";
1055 case "doors_trunk":
1056 return "DoorsTrunk";
1057 }
1058
1059 return "";
1060 }
1061
1062
1064 {
1065 return false;
1066 }
1067
1069 {
1070 return false;
1071 }
1072
1074 {
1075 switch (currentSeat)
1076 {
1077 case 0:
1078 return nextSeat == 1;
1079
1080 case 1:
1081 return nextSeat == 0;
1082
1083 case 2:
1084 return nextSeat == 3;
1085
1086 case 3:
1087 return nextSeat == 2;
1088 }
1089
1090 return false;
1091 }
1092
1094 {
1095 switch (pCurrentSeat)
1096 {
1097 case 0:
1098 return pDoorsSelection == "DoorsDriver";
1099
1100 case 1:
1101 return pDoorsSelection == "DoorsCoDriver";
1102
1103 case 2:
1104 return pDoorsSelection == "DoorsCargo1";
1105
1106 case 3:
1107 return pDoorsSelection == "DoorsCargo2";
1108 }
1109
1110 return false;
1111 }
1112
1114 {
1118
1119 GetInventory().CreateInInventory("Sedan_02_Wheel");
1120 GetInventory().CreateInInventory("Sedan_02_Wheel");
1121 GetInventory().CreateInInventory("Sedan_02_Wheel");
1122 GetInventory().CreateInInventory("Sedan_02_Wheel");
1123 GetInventory().CreateInInventory("Sedan_02_Wheel");
1124
1125 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1126 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1127 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1128 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1129 GetInventory().CreateInInventory("Sedan_02_Hood");
1130 GetInventory().CreateInInventory("Sedan_02_Trunk");
1131
1132
1133 GetInventory().CreateInInventory("Sedan_02_Wheel");
1134 GetInventory().CreateInInventory("Sedan_02_Wheel");
1135 }
1136}
1137
1139{
1141 {
1145
1146 GetInventory().CreateInInventory("Sedan_02_Wheel");
1147 GetInventory().CreateInInventory("Sedan_02_Wheel");
1148 GetInventory().CreateInInventory("Sedan_02_Wheel");
1149 GetInventory().CreateInInventory("Sedan_02_Wheel");
1150
1151 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1152 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1153 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1154 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1155 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1156 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1157
1158
1159 GetInventory().CreateInInventory("Sedan_02_Wheel");
1160 GetInventory().CreateInInventory("Sedan_02_Wheel");
1161 }
1162}
1163
1164class Sedan_02_Grey
extends Sedan_02
1165{
1167 {
1171
1172 GetInventory().CreateInInventory("Sedan_02_Wheel");
1173 GetInventory().CreateInInventory("Sedan_02_Wheel");
1174 GetInventory().CreateInInventory("Sedan_02_Wheel");
1175 GetInventory().CreateInInventory("Sedan_02_Wheel");
1176
1177 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1178 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1179 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1180 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1181 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1182 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1183
1184
1185 GetInventory().CreateInInventory("Sedan_02_Wheel");
1186 GetInventory().CreateInInventory("Sedan_02_Wheel");
1187 }
1188}
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.