653{
657
659 {
661
667
670
673
674 SetEnginePos("0 0.7 -1.7");
675 }
676
678 {
679 super.EEInit();
680
682 {
689
692 }
693 }
694
696 {
697 super.OnEngineStart();
698
700 {
702 }
703 }
704
706 {
707 super.OnEngineStop();
708
710 {
712 }
713 }
714
716 {
718 {
720 {
722 }
723 }
724 }
725
727 {
729 }
730
732 {
733 switch (posIdx)
734 {
735 case 0:
737 case 1:
739 case 2:
741 case 3:
743 }
744
745 return 0;
746 }
747
748
750 {
752 }
753
754
756 {
758 }
759
761 {
762 if (!super.CanReleaseAttachment(attachment))
763 {
764 return false;
765 }
766
767 string attType = attachment.GetType();
768 switch (attType)
769 {
770 case "CarBattery":
772 {
773 return false;
774 }
775 break;
776
777 case "SparkPlug":
779 {
780 return false;
781 }
782 break;
783
784 case "CarRadiator":
786 {
787 return false;
788 }
789 break;
790 }
791
792 return true;
793 }
794
796 {
798 }
799
801 {
802 if ( !super.CanDisplayAttachmentCategory(category_name))
803 {
804 return false;
805 }
806
808 if (category_name.
Contains(
"engine"))
809 {
811 {
812 return false;
813 }
814 }
815
816 if (category_name.
Contains(
"trunk"))
817 {
819 {
820 return false;
821 }
822 }
823
824 return true;
825 }
826
828 {
829 if ( !super.CanDisplayCargo() )
830 return false;
831
833 return false;
834
835 return true;
836 }
837
839 {
841
842 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
843 if (!carDoor)
844 {
846 }
847
848 switch (slotType)
849 {
850 case "Sedan_02_Door_1_1":
852
853 case "Sedan_02_Door_2_1":
855
856 case "Sedan_02_Door_1_2":
858
859 case "Sedan_02_Door_2_2":
861
862 case "Sedan_02_Hood":
864
865 case "Sedan_02_Trunk":
867 }
868
870 }
871
872
874 {
875 switch( posIdx )
876 {
877 case 0:
879 return false;
880
881 return true;
882 break;
883
884 case 1:
886 return false;
887
888 return true;
889 break;
890
891 case 2:
893 return false;
894
895 return true;
896 break;
897
898 case 3:
900 return false;
901
902 return true;
903 break;
904 }
905
906 return false;
907 }
908
910 {
911 switch( posIdx )
912 {
913 case 0:
914 return "doors_driver";
915 break;
916 case 1:
917 return "doors_codriver";
918 break;
919 case 2:
920 return "doors_cargo1";
921 break;
922 case 3:
923 return "doors_cargo2";
924 break;
925 }
926
927 return super.GetDoorSelectionNameFromSeatPos(posIdx);
928 }
929
931 {
932 switch( posIdx )
933 {
934 case 0:
935 return "Sedan_02_Door_1_1";
936 break;
937 case 1:
938 return "Sedan_02_Door_2_1";
939 break;
940 case 2:
941 return "Sedan_02_Door_1_2";
942 break;
943 case 3:
944 return "Sedan_02_Door_2_2";
945 break;
946 }
947
948 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
949 }
950
952 {
953 switch ( ctrl )
954 {
956 float newValue = 0;
958 {
959 newValue += 0.25;
960 }
961
963 {
964 newValue += 0.25;
965 }
966
968 {
969 newValue += 0.25;
970 }
971
973 {
974 newValue += 0.25;
975 }
976
978 break;
979 }
980
981 return super.OnSound(ctrl, oldValue);
982 }
983
985 {
986 switch( selection )
987 {
988 case "doors_driver":
989 return "DoorsDriver";
990 case "doors_codriver":
991 return "DoorsCoDriver";
992 case "doors_cargo1":
993 return "DoorsCargo1";
994 case "doors_cargo2":
995 return "DoorsCargo2";
996 case "doors_hood":
997 return "DoorsHood";
998 case "doors_trunk":
999 return "DoorsTrunk";
1000 }
1001
1002 return "";
1003 }
1004
1005
1007 {
1008 return false;
1009 }
1010
1012 {
1013 return false;
1014 }
1015
1017 {
1018 switch (currentSeat)
1019 {
1020 case 0:
1021 return nextSeat == 1;
1022
1023 case 1:
1024 return nextSeat == 0;
1025
1026 case 2:
1027 return nextSeat == 3;
1028
1029 case 3:
1030 return nextSeat == 2;
1031 }
1032
1033 return false;
1034 }
1035
1037 {
1038 switch (pCurrentSeat)
1039 {
1040 case 0:
1041 return pDoorsSelection == "DoorsDriver";
1042
1043 case 1:
1044 return pDoorsSelection == "DoorsCoDriver";
1045
1046 case 2:
1047 return pDoorsSelection == "DoorsCargo1";
1048
1049 case 3:
1050 return pDoorsSelection == "DoorsCargo2";
1051 }
1052
1053 return false;
1054 }
1055
1057 {
1061
1062 GetInventory().CreateInInventory("Sedan_02_Wheel");
1063 GetInventory().CreateInInventory("Sedan_02_Wheel");
1064 GetInventory().CreateInInventory("Sedan_02_Wheel");
1065 GetInventory().CreateInInventory("Sedan_02_Wheel");
1066 GetInventory().CreateInInventory("Sedan_02_Wheel");
1067
1068 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1069 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1070 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1071 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1072 GetInventory().CreateInInventory("Sedan_02_Hood");
1073 GetInventory().CreateInInventory("Sedan_02_Trunk");
1074
1075
1076 GetInventory().CreateInInventory("Sedan_02_Wheel");
1077 GetInventory().CreateInInventory("Sedan_02_Wheel");
1078 }
1079}
1080
1082{
1084 {
1088
1089 GetInventory().CreateInInventory("Sedan_02_Wheel");
1090 GetInventory().CreateInInventory("Sedan_02_Wheel");
1091 GetInventory().CreateInInventory("Sedan_02_Wheel");
1092 GetInventory().CreateInInventory("Sedan_02_Wheel");
1093
1094 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1095 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1096 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1097 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1098 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1099 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1100
1101
1102 GetInventory().CreateInInventory("Sedan_02_Wheel");
1103 GetInventory().CreateInInventory("Sedan_02_Wheel");
1104 }
1105}
1106
1107class Sedan_02_Grey
extends Sedan_02
1108{
1110 {
1114
1115 GetInventory().CreateInInventory("Sedan_02_Wheel");
1116 GetInventory().CreateInInventory("Sedan_02_Wheel");
1117 GetInventory().CreateInInventory("Sedan_02_Wheel");
1118 GetInventory().CreateInInventory("Sedan_02_Wheel");
1119
1120 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1121 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1122 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1123 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1124 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1125 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1126
1127
1128 GetInventory().CreateInInventory("Sedan_02_Wheel");
1129 GetInventory().CreateInInventory("Sedan_02_Wheel");
1130 }
1131}
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.