575{
579
581 {
583
589
592
595
596 SetEnginePos("0 0.7 -1.7");
597 }
598
600 {
601 super.EEInit();
602
604 {
611
614 }
615 }
616
618 {
619 super.OnEngineStart();
620
622 {
624 }
625 }
626
628 {
629 super.OnEngineStop();
630
632 {
634 }
635 }
636
638 {
640 {
642 {
644 }
645 }
646 }
647
649 {
651 }
652
654 {
655 switch (posIdx)
656 {
657 case 0:
659 case 1:
661 case 2:
663 case 3:
665 }
666
667 return 0;
668 }
669
670
672 {
674 }
675
676
678 {
680 }
681
683 {
684 if (!super.CanReleaseAttachment(attachment))
685 {
686 return false;
687 }
688
689 string attType = attachment.GetType();
690 switch (attType)
691 {
692 case "CarBattery":
694 {
695 return false;
696 }
697 break;
698
699 case "SparkPlug":
701 {
702 return false;
703 }
704 break;
705
706 case "CarRadiator":
708 {
709 return false;
710 }
711 break;
712 }
713
714 return true;
715 }
716
718 {
720 }
721
723 {
724 if ( !super.CanDisplayAttachmentCategory(category_name))
725 {
726 return false;
727 }
728
730 if (category_name.
Contains(
"engine"))
731 {
733 {
734 return false;
735 }
736 }
737
738 if (category_name.
Contains(
"trunk"))
739 {
741 {
742 return false;
743 }
744 }
745
746 return true;
747 }
748
750 {
751 if ( !super.CanDisplayCargo() )
752 return false;
753
755 return false;
756
757 return true;
758 }
759
761 {
763
764 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
765 if (!carDoor)
766 {
768 }
769
770 switch (slotType)
771 {
772 case "Sedan_02_Door_1_1":
774
775 case "Sedan_02_Door_2_1":
777
778 case "Sedan_02_Door_1_2":
780
781 case "Sedan_02_Door_2_2":
783
784 case "Sedan_02_Hood":
786
787 case "Sedan_02_Trunk":
789 }
790
792 }
793
794
796 {
797 switch( posIdx )
798 {
799 case 0:
801 return false;
802
803 return true;
804 break;
805
806 case 1:
808 return false;
809
810 return true;
811 break;
812
813 case 2:
815 return false;
816
817 return true;
818 break;
819
820 case 3:
822 return false;
823
824 return true;
825 break;
826 }
827
828 return false;
829 }
830
832 {
833 switch( posIdx )
834 {
835 case 0:
836 return "doors_driver";
837 break;
838 case 1:
839 return "doors_codriver";
840 break;
841 case 2:
842 return "doors_cargo1";
843 break;
844 case 3:
845 return "doors_cargo2";
846 break;
847 }
848
849 return super.GetDoorSelectionNameFromSeatPos(posIdx);
850 }
851
853 {
854 switch( posIdx )
855 {
856 case 0:
857 return "Sedan_02_Door_1_1";
858 break;
859 case 1:
860 return "Sedan_02_Door_2_1";
861 break;
862 case 2:
863 return "Sedan_02_Door_1_2";
864 break;
865 case 3:
866 return "Sedan_02_Door_2_2";
867 break;
868 }
869
870 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
871 }
872
874 {
875 switch ( ctrl )
876 {
878 float newValue = 0;
880 {
881 newValue += 0.25;
882 }
883
885 {
886 newValue += 0.25;
887 }
888
890 {
891 newValue += 0.25;
892 }
893
895 {
896 newValue += 0.25;
897 }
898
900 break;
901 }
902
903 return super.OnSound(ctrl, oldValue);
904 }
905
907 {
908 switch( selection )
909 {
910 case "doors_driver":
911 return "DoorsDriver";
912 case "doors_codriver":
913 return "DoorsCoDriver";
914 case "doors_cargo1":
915 return "DoorsCargo1";
916 case "doors_cargo2":
917 return "DoorsCargo2";
918 case "doors_hood":
919 return "DoorsHood";
920 case "doors_trunk":
921 return "DoorsTrunk";
922 }
923
924 return "";
925 }
926
927
929 {
930 return false;
931 }
932
934 {
935 return false;
936 }
937
939 {
940 switch (currentSeat)
941 {
942 case 0:
943 return nextSeat == 1;
944
945 case 1:
946 return nextSeat == 0;
947
948 case 2:
949 return nextSeat == 3;
950
951 case 3:
952 return nextSeat == 2;
953 }
954
955 return false;
956 }
957
959 {
960 switch (pCurrentSeat)
961 {
962 case 0:
963 return pDoorsSelection == "DoorsDriver";
964
965 case 1:
966 return pDoorsSelection == "DoorsCoDriver";
967
968 case 2:
969 return pDoorsSelection == "DoorsCargo1";
970
971 case 3:
972 return pDoorsSelection == "DoorsCargo2";
973 }
974
975 return false;
976 }
977
979 {
983
984 GetInventory().CreateInInventory("Sedan_02_Wheel");
985 GetInventory().CreateInInventory("Sedan_02_Wheel");
986 GetInventory().CreateInInventory("Sedan_02_Wheel");
987 GetInventory().CreateInInventory("Sedan_02_Wheel");
988 GetInventory().CreateInInventory("Sedan_02_Wheel");
989
990 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
991 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
992 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
993 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
994 GetInventory().CreateInInventory("Sedan_02_Hood");
995 GetInventory().CreateInInventory("Sedan_02_Trunk");
996
997
998 GetInventory().CreateInInventory("Sedan_02_Wheel");
999 GetInventory().CreateInInventory("Sedan_02_Wheel");
1000 }
1001}
1002
1004{
1006 {
1010
1011 GetInventory().CreateInInventory("Sedan_02_Wheel");
1012 GetInventory().CreateInInventory("Sedan_02_Wheel");
1013 GetInventory().CreateInInventory("Sedan_02_Wheel");
1014 GetInventory().CreateInInventory("Sedan_02_Wheel");
1015
1016 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1017 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1018 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1019 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1020 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1021 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1022
1023
1024 GetInventory().CreateInInventory("Sedan_02_Wheel");
1025 GetInventory().CreateInInventory("Sedan_02_Wheel");
1026 }
1027}
1028
1029class Sedan_02_Grey
extends Sedan_02
1030{
1032 {
1036
1037 GetInventory().CreateInInventory("Sedan_02_Wheel");
1038 GetInventory().CreateInInventory("Sedan_02_Wheel");
1039 GetInventory().CreateInInventory("Sedan_02_Wheel");
1040 GetInventory().CreateInInventory("Sedan_02_Wheel");
1041
1042 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1043 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1044 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1045 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1046 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1047 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1048
1049
1050 GetInventory().CreateInInventory("Sedan_02_Wheel");
1051 GetInventory().CreateInInventory("Sedan_02_Wheel");
1052 }
1053}
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.