607{
611
613 {
615
621
624
627
628 SetEnginePos("0 0.7 -1.7");
629 }
630
632 {
633 super.EEInit();
634
636 {
643
646 }
647 }
648
650 {
651 super.OnEngineStart();
652
654 {
656 }
657 }
658
660 {
661 super.OnEngineStop();
662
664 {
666 }
667 }
668
670 {
672 {
674 {
676 }
677 }
678 }
679
681 {
683 }
684
686 {
687 switch (posIdx)
688 {
689 case 0:
691 case 1:
693 case 2:
695 case 3:
697 }
698
699 return 0;
700 }
701
702
704 {
706 }
707
708
710 {
712 }
713
715 {
716 if (!super.CanReleaseAttachment(attachment))
717 {
718 return false;
719 }
720
721 string attType = attachment.GetType();
722 switch (attType)
723 {
724 case "CarBattery":
726 {
727 return false;
728 }
729 break;
730
731 case "SparkPlug":
733 {
734 return false;
735 }
736 break;
737
738 case "CarRadiator":
740 {
741 return false;
742 }
743 break;
744 }
745
746 return true;
747 }
748
750 {
752 }
753
755 {
756 if ( !super.CanDisplayAttachmentCategory(category_name))
757 {
758 return false;
759 }
760
762 if (category_name.
Contains(
"engine"))
763 {
765 {
766 return false;
767 }
768 }
769
770 if (category_name.
Contains(
"trunk"))
771 {
773 {
774 return false;
775 }
776 }
777
778 return true;
779 }
780
782 {
783 if ( !super.CanDisplayCargo() )
784 return false;
785
787 return false;
788
789 return true;
790 }
791
793 {
795
796 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
797 if (!carDoor)
798 {
800 }
801
802 switch (slotType)
803 {
804 case "Sedan_02_Door_1_1":
806
807 case "Sedan_02_Door_2_1":
809
810 case "Sedan_02_Door_1_2":
812
813 case "Sedan_02_Door_2_2":
815
816 case "Sedan_02_Hood":
818
819 case "Sedan_02_Trunk":
821 }
822
824 }
825
826
828 {
829 switch( posIdx )
830 {
831 case 0:
833 return false;
834
835 return true;
836 break;
837
838 case 1:
840 return false;
841
842 return true;
843 break;
844
845 case 2:
847 return false;
848
849 return true;
850 break;
851
852 case 3:
854 return false;
855
856 return true;
857 break;
858 }
859
860 return false;
861 }
862
864 {
865 switch( posIdx )
866 {
867 case 0:
868 return "doors_driver";
869 break;
870 case 1:
871 return "doors_codriver";
872 break;
873 case 2:
874 return "doors_cargo1";
875 break;
876 case 3:
877 return "doors_cargo2";
878 break;
879 }
880
881 return super.GetDoorSelectionNameFromSeatPos(posIdx);
882 }
883
885 {
886 switch( posIdx )
887 {
888 case 0:
889 return "Sedan_02_Door_1_1";
890 break;
891 case 1:
892 return "Sedan_02_Door_2_1";
893 break;
894 case 2:
895 return "Sedan_02_Door_1_2";
896 break;
897 case 3:
898 return "Sedan_02_Door_2_2";
899 break;
900 }
901
902 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
903 }
904
906 {
907 switch ( ctrl )
908 {
910 float newValue = 0;
912 {
913 newValue += 0.25;
914 }
915
917 {
918 newValue += 0.25;
919 }
920
922 {
923 newValue += 0.25;
924 }
925
927 {
928 newValue += 0.25;
929 }
930
932 break;
933 }
934
935 return super.OnSound(ctrl, oldValue);
936 }
937
939 {
940 switch( selection )
941 {
942 case "doors_driver":
943 return "DoorsDriver";
944 case "doors_codriver":
945 return "DoorsCoDriver";
946 case "doors_cargo1":
947 return "DoorsCargo1";
948 case "doors_cargo2":
949 return "DoorsCargo2";
950 case "doors_hood":
951 return "DoorsHood";
952 case "doors_trunk":
953 return "DoorsTrunk";
954 }
955
956 return "";
957 }
958
959
961 {
962 return false;
963 }
964
966 {
967 return false;
968 }
969
971 {
972 switch (currentSeat)
973 {
974 case 0:
975 return nextSeat == 1;
976
977 case 1:
978 return nextSeat == 0;
979
980 case 2:
981 return nextSeat == 3;
982
983 case 3:
984 return nextSeat == 2;
985 }
986
987 return false;
988 }
989
991 {
992 switch (pCurrentSeat)
993 {
994 case 0:
995 return pDoorsSelection == "DoorsDriver";
996
997 case 1:
998 return pDoorsSelection == "DoorsCoDriver";
999
1000 case 2:
1001 return pDoorsSelection == "DoorsCargo1";
1002
1003 case 3:
1004 return pDoorsSelection == "DoorsCargo2";
1005 }
1006
1007 return false;
1008 }
1009
1011 {
1015
1016 GetInventory().CreateInInventory("Sedan_02_Wheel");
1017 GetInventory().CreateInInventory("Sedan_02_Wheel");
1018 GetInventory().CreateInInventory("Sedan_02_Wheel");
1019 GetInventory().CreateInInventory("Sedan_02_Wheel");
1020 GetInventory().CreateInInventory("Sedan_02_Wheel");
1021
1022 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1023 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1024 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1025 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1026 GetInventory().CreateInInventory("Sedan_02_Hood");
1027 GetInventory().CreateInInventory("Sedan_02_Trunk");
1028
1029
1030 GetInventory().CreateInInventory("Sedan_02_Wheel");
1031 GetInventory().CreateInInventory("Sedan_02_Wheel");
1032 }
1033}
1034
1036{
1038 {
1042
1043 GetInventory().CreateInInventory("Sedan_02_Wheel");
1044 GetInventory().CreateInInventory("Sedan_02_Wheel");
1045 GetInventory().CreateInInventory("Sedan_02_Wheel");
1046 GetInventory().CreateInInventory("Sedan_02_Wheel");
1047
1048 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1049 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1050 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1051 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1052 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1053 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1054
1055
1056 GetInventory().CreateInInventory("Sedan_02_Wheel");
1057 GetInventory().CreateInInventory("Sedan_02_Wheel");
1058 }
1059}
1060
1061class Sedan_02_Grey
extends Sedan_02
1062{
1064 {
1068
1069 GetInventory().CreateInInventory("Sedan_02_Wheel");
1070 GetInventory().CreateInInventory("Sedan_02_Wheel");
1071 GetInventory().CreateInInventory("Sedan_02_Wheel");
1072 GetInventory().CreateInInventory("Sedan_02_Wheel");
1073
1074 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1075 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1076 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1077 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1078 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1079 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1080
1081
1082 GetInventory().CreateInInventory("Sedan_02_Wheel");
1083 GetInventory().CreateInInventory("Sedan_02_Wheel");
1084 }
1085}
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.