689{
693
695 {
697
703
706
709
710 SetEnginePos("0 0.7 -1.7");
711 }
712
714 {
715 super.EEInit();
716
718 {
725
728 }
729 }
730
732 {
733 super.OnEngineStart();
734
736 {
738 }
739 }
740
742 {
743 super.OnEngineStop();
744
746 {
748 }
749 }
750
752 {
754 {
756 {
758 }
759 }
760 }
761
763 {
765 }
766
768 {
769 switch (posIdx)
770 {
771 case 0:
773 case 1:
775 case 2:
777 case 3:
779 }
780
781 return 0;
782 }
783
784
786 {
788 }
789
790
792 {
794 }
795
797 {
798 if (!super.CanReleaseAttachment(attachment))
799 {
800 return false;
801 }
802
803 string attType = attachment.GetType();
804 switch (attType)
805 {
806 case "CarBattery":
808 {
809 return false;
810 }
811 break;
812
813 case "SparkPlug":
815 {
816 return false;
817 }
818 break;
819
820 case "CarRadiator":
822 {
823 return false;
824 }
825 break;
826 }
827
828 return true;
829 }
830
832 {
834 }
835
837 {
838 if ( !super.CanDisplayAttachmentCategory(category_name))
839 {
840 return false;
841 }
842
844 if (category_name.
Contains(
"engine"))
845 {
847 {
848 return false;
849 }
850 }
851
852 if (category_name.
Contains(
"trunk"))
853 {
855 {
856 return false;
857 }
858 }
859
860 return true;
861 }
862
864 {
865 if ( !super.CanDisplayCargo() )
866 return false;
867
869 return false;
870
871 return true;
872 }
873
875 {
877
878 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
879 if (!carDoor)
880 {
882 }
883
884 switch (slotType)
885 {
886 case "Sedan_02_Door_1_1":
888
889 case "Sedan_02_Door_2_1":
891
892 case "Sedan_02_Door_1_2":
894
895 case "Sedan_02_Door_2_2":
897
898 case "Sedan_02_Hood":
900
901 case "Sedan_02_Trunk":
903 }
904
906 }
907
908
910 {
911 switch( posIdx )
912 {
913 case 0:
915 return false;
916
917 return true;
918 break;
919
920 case 1:
922 return false;
923
924 return true;
925 break;
926
927 case 2:
929 return false;
930
931 return true;
932 break;
933
934 case 3:
936 return false;
937
938 return true;
939 break;
940 }
941
942 return false;
943 }
944
946 {
947 switch( posIdx )
948 {
949 case 0:
950 return "doors_driver";
951 break;
952 case 1:
953 return "doors_codriver";
954 break;
955 case 2:
956 return "doors_cargo1";
957 break;
958 case 3:
959 return "doors_cargo2";
960 break;
961 }
962
963 return super.GetDoorSelectionNameFromSeatPos(posIdx);
964 }
965
967 {
968 switch( posIdx )
969 {
970 case 0:
971 return "Sedan_02_Door_1_1";
972 break;
973 case 1:
974 return "Sedan_02_Door_2_1";
975 break;
976 case 2:
977 return "Sedan_02_Door_1_2";
978 break;
979 case 3:
980 return "Sedan_02_Door_2_2";
981 break;
982 }
983
984 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
985 }
986
988 {
989 switch ( ctrl )
990 {
992 float newValue = 0;
994 {
995 newValue += 0.25;
996 }
997
999 {
1000 newValue += 0.25;
1001 }
1002
1004 {
1005 newValue += 0.25;
1006 }
1007
1009 {
1010 newValue += 0.25;
1011 }
1012
1014 break;
1015 }
1016
1017 return super.OnSound(ctrl, oldValue);
1018 }
1019
1021 {
1022 switch( selection )
1023 {
1024 case "doors_driver":
1025 return "DoorsDriver";
1026 case "doors_codriver":
1027 return "DoorsCoDriver";
1028 case "doors_cargo1":
1029 return "DoorsCargo1";
1030 case "doors_cargo2":
1031 return "DoorsCargo2";
1032 case "doors_hood":
1033 return "DoorsHood";
1034 case "doors_trunk":
1035 return "DoorsTrunk";
1036 }
1037
1038 return "";
1039 }
1040
1041
1043 {
1044 return false;
1045 }
1046
1048 {
1049 return false;
1050 }
1051
1053 {
1054 switch (currentSeat)
1055 {
1056 case 0:
1057 return nextSeat == 1;
1058
1059 case 1:
1060 return nextSeat == 0;
1061
1062 case 2:
1063 return nextSeat == 3;
1064
1065 case 3:
1066 return nextSeat == 2;
1067 }
1068
1069 return false;
1070 }
1071
1073 {
1074 switch (pCurrentSeat)
1075 {
1076 case 0:
1077 return pDoorsSelection == "DoorsDriver";
1078
1079 case 1:
1080 return pDoorsSelection == "DoorsCoDriver";
1081
1082 case 2:
1083 return pDoorsSelection == "DoorsCargo1";
1084
1085 case 3:
1086 return pDoorsSelection == "DoorsCargo2";
1087 }
1088
1089 return false;
1090 }
1091
1093 {
1097
1098 GetInventory().CreateInInventory("Sedan_02_Wheel");
1099 GetInventory().CreateInInventory("Sedan_02_Wheel");
1100 GetInventory().CreateInInventory("Sedan_02_Wheel");
1101 GetInventory().CreateInInventory("Sedan_02_Wheel");
1102 GetInventory().CreateInInventory("Sedan_02_Wheel");
1103
1104 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1105 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1106 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1107 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1108 GetInventory().CreateInInventory("Sedan_02_Hood");
1109 GetInventory().CreateInInventory("Sedan_02_Trunk");
1110
1111
1112 GetInventory().CreateInInventory("Sedan_02_Wheel");
1113 GetInventory().CreateInInventory("Sedan_02_Wheel");
1114 }
1115}
1116
1118{
1120 {
1124
1125 GetInventory().CreateInInventory("Sedan_02_Wheel");
1126 GetInventory().CreateInInventory("Sedan_02_Wheel");
1127 GetInventory().CreateInInventory("Sedan_02_Wheel");
1128 GetInventory().CreateInInventory("Sedan_02_Wheel");
1129
1130 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1131 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1132 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1133 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1134 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1135 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1136
1137
1138 GetInventory().CreateInInventory("Sedan_02_Wheel");
1139 GetInventory().CreateInInventory("Sedan_02_Wheel");
1140 }
1141}
1142
1143class Sedan_02_Grey
extends Sedan_02
1144{
1146 {
1150
1151 GetInventory().CreateInInventory("Sedan_02_Wheel");
1152 GetInventory().CreateInInventory("Sedan_02_Wheel");
1153 GetInventory().CreateInInventory("Sedan_02_Wheel");
1154 GetInventory().CreateInInventory("Sedan_02_Wheel");
1155
1156 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1157 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1158 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1159 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1160 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1161 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1162
1163
1164 GetInventory().CreateInInventory("Sedan_02_Wheel");
1165 GetInventory().CreateInInventory("Sedan_02_Wheel");
1166 }
1167}
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.