618{
622
624 {
626
632
635
638
639 SetEnginePos("0 0.7 -1.7");
640 }
641
643 {
644 super.EEInit();
645
647 {
654
657 }
658 }
659
661 {
662 super.OnEngineStart();
663
665 {
667 }
668 }
669
671 {
672 super.OnEngineStop();
673
675 {
677 }
678 }
679
681 {
683 {
685 {
687 }
688 }
689 }
690
692 {
694 }
695
697 {
698 switch (posIdx)
699 {
700 case 0:
702 case 1:
704 case 2:
706 case 3:
708 }
709
710 return 0;
711 }
712
713
715 {
717 }
718
719
721 {
723 }
724
726 {
727 if (!super.CanReleaseAttachment(attachment))
728 {
729 return false;
730 }
731
732 string attType = attachment.GetType();
733 switch (attType)
734 {
735 case "CarBattery":
737 {
738 return false;
739 }
740 break;
741
742 case "SparkPlug":
744 {
745 return false;
746 }
747 break;
748
749 case "CarRadiator":
751 {
752 return false;
753 }
754 break;
755 }
756
757 return true;
758 }
759
761 {
763 }
764
766 {
767 if ( !super.CanDisplayAttachmentCategory(category_name))
768 {
769 return false;
770 }
771
773 if (category_name.
Contains(
"engine"))
774 {
776 {
777 return false;
778 }
779 }
780
781 if (category_name.
Contains(
"trunk"))
782 {
784 {
785 return false;
786 }
787 }
788
789 return true;
790 }
791
793 {
794 if ( !super.CanDisplayCargo() )
795 return false;
796
798 return false;
799
800 return true;
801 }
802
804 {
806
807 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
808 if (!carDoor)
809 {
811 }
812
813 switch (slotType)
814 {
815 case "Sedan_02_Door_1_1":
817
818 case "Sedan_02_Door_2_1":
820
821 case "Sedan_02_Door_1_2":
823
824 case "Sedan_02_Door_2_2":
826
827 case "Sedan_02_Hood":
829
830 case "Sedan_02_Trunk":
832 }
833
835 }
836
837
839 {
840 switch( posIdx )
841 {
842 case 0:
844 return false;
845
846 return true;
847 break;
848
849 case 1:
851 return false;
852
853 return true;
854 break;
855
856 case 2:
858 return false;
859
860 return true;
861 break;
862
863 case 3:
865 return false;
866
867 return true;
868 break;
869 }
870
871 return false;
872 }
873
875 {
876 switch( posIdx )
877 {
878 case 0:
879 return "doors_driver";
880 break;
881 case 1:
882 return "doors_codriver";
883 break;
884 case 2:
885 return "doors_cargo1";
886 break;
887 case 3:
888 return "doors_cargo2";
889 break;
890 }
891
892 return super.GetDoorSelectionNameFromSeatPos(posIdx);
893 }
894
896 {
897 switch( posIdx )
898 {
899 case 0:
900 return "Sedan_02_Door_1_1";
901 break;
902 case 1:
903 return "Sedan_02_Door_2_1";
904 break;
905 case 2:
906 return "Sedan_02_Door_1_2";
907 break;
908 case 3:
909 return "Sedan_02_Door_2_2";
910 break;
911 }
912
913 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
914 }
915
917 {
918 switch ( ctrl )
919 {
921 float newValue = 0;
923 {
924 newValue += 0.25;
925 }
926
928 {
929 newValue += 0.25;
930 }
931
933 {
934 newValue += 0.25;
935 }
936
938 {
939 newValue += 0.25;
940 }
941
943 break;
944 }
945
946 return super.OnSound(ctrl, oldValue);
947 }
948
950 {
951 switch( selection )
952 {
953 case "doors_driver":
954 return "DoorsDriver";
955 case "doors_codriver":
956 return "DoorsCoDriver";
957 case "doors_cargo1":
958 return "DoorsCargo1";
959 case "doors_cargo2":
960 return "DoorsCargo2";
961 case "doors_hood":
962 return "DoorsHood";
963 case "doors_trunk":
964 return "DoorsTrunk";
965 }
966
967 return "";
968 }
969
970
972 {
973 return false;
974 }
975
977 {
978 return false;
979 }
980
982 {
983 switch (currentSeat)
984 {
985 case 0:
986 return nextSeat == 1;
987
988 case 1:
989 return nextSeat == 0;
990
991 case 2:
992 return nextSeat == 3;
993
994 case 3:
995 return nextSeat == 2;
996 }
997
998 return false;
999 }
1000
1002 {
1003 switch (pCurrentSeat)
1004 {
1005 case 0:
1006 return pDoorsSelection == "DoorsDriver";
1007
1008 case 1:
1009 return pDoorsSelection == "DoorsCoDriver";
1010
1011 case 2:
1012 return pDoorsSelection == "DoorsCargo1";
1013
1014 case 3:
1015 return pDoorsSelection == "DoorsCargo2";
1016 }
1017
1018 return false;
1019 }
1020
1022 {
1026
1027 GetInventory().CreateInInventory("Sedan_02_Wheel");
1028 GetInventory().CreateInInventory("Sedan_02_Wheel");
1029 GetInventory().CreateInInventory("Sedan_02_Wheel");
1030 GetInventory().CreateInInventory("Sedan_02_Wheel");
1031 GetInventory().CreateInInventory("Sedan_02_Wheel");
1032
1033 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1034 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1035 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1036 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1037 GetInventory().CreateInInventory("Sedan_02_Hood");
1038 GetInventory().CreateInInventory("Sedan_02_Trunk");
1039
1040
1041 GetInventory().CreateInInventory("Sedan_02_Wheel");
1042 GetInventory().CreateInInventory("Sedan_02_Wheel");
1043 }
1044}
1045
1047{
1049 {
1053
1054 GetInventory().CreateInInventory("Sedan_02_Wheel");
1055 GetInventory().CreateInInventory("Sedan_02_Wheel");
1056 GetInventory().CreateInInventory("Sedan_02_Wheel");
1057 GetInventory().CreateInInventory("Sedan_02_Wheel");
1058
1059 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1060 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1061 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1062 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1063 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1064 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1065
1066
1067 GetInventory().CreateInInventory("Sedan_02_Wheel");
1068 GetInventory().CreateInInventory("Sedan_02_Wheel");
1069 }
1070}
1071
1072class Sedan_02_Grey
extends Sedan_02
1073{
1075 {
1079
1080 GetInventory().CreateInInventory("Sedan_02_Wheel");
1081 GetInventory().CreateInInventory("Sedan_02_Wheel");
1082 GetInventory().CreateInInventory("Sedan_02_Wheel");
1083 GetInventory().CreateInInventory("Sedan_02_Wheel");
1084
1085 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1086 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1087 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1088 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1089 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1090 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1091
1092
1093 GetInventory().CreateInInventory("Sedan_02_Wheel");
1094 GetInventory().CreateInInventory("Sedan_02_Wheel");
1095 }
1096}
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.