580{
584
586 {
588
594
597
600
601 SetEnginePos("0 0.7 -1.7");
602 }
603
605 {
606 super.EEInit();
607
609 {
616
619 }
620 }
621
623 {
624 super.OnEngineStart();
625
627 {
629 }
630 }
631
633 {
634 super.OnEngineStop();
635
637 {
639 }
640 }
641
643 {
645 {
647 {
649 }
650 }
651 }
652
654 {
656 }
657
659 {
660 switch (posIdx)
661 {
662 case 0:
664 case 1:
666 case 2:
668 case 3:
670 }
671
672 return 0;
673 }
674
675
677 {
679 }
680
681
683 {
685 }
686
688 {
689 if (!super.CanReleaseAttachment(attachment))
690 {
691 return false;
692 }
693
694 string attType = attachment.GetType();
695 switch (attType)
696 {
697 case "CarBattery":
699 {
700 return false;
701 }
702 break;
703
704 case "SparkPlug":
706 {
707 return false;
708 }
709 break;
710
711 case "CarRadiator":
713 {
714 return false;
715 }
716 break;
717 }
718
719 return true;
720 }
721
723 {
725 }
726
728 {
729 if ( !super.CanDisplayAttachmentCategory(category_name))
730 {
731 return false;
732 }
733
735 if (category_name.
Contains(
"engine"))
736 {
738 {
739 return false;
740 }
741 }
742
743 if (category_name.
Contains(
"trunk"))
744 {
746 {
747 return false;
748 }
749 }
750
751 return true;
752 }
753
755 {
756 if ( !super.CanDisplayCargo() )
757 return false;
758
760 return false;
761
762 return true;
763 }
764
766 {
768
769 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
770 if (!carDoor)
771 {
773 }
774
775 switch (slotType)
776 {
777 case "Sedan_02_Door_1_1":
779
780 case "Sedan_02_Door_2_1":
782
783 case "Sedan_02_Door_1_2":
785
786 case "Sedan_02_Door_2_2":
788
789 case "Sedan_02_Hood":
791
792 case "Sedan_02_Trunk":
794 }
795
797 }
798
799
801 {
802 switch( posIdx )
803 {
804 case 0:
806 return false;
807
808 return true;
809 break;
810
811 case 1:
813 return false;
814
815 return true;
816 break;
817
818 case 2:
820 return false;
821
822 return true;
823 break;
824
825 case 3:
827 return false;
828
829 return true;
830 break;
831 }
832
833 return false;
834 }
835
837 {
838 switch( posIdx )
839 {
840 case 0:
841 return "doors_driver";
842 break;
843 case 1:
844 return "doors_codriver";
845 break;
846 case 2:
847 return "doors_cargo1";
848 break;
849 case 3:
850 return "doors_cargo2";
851 break;
852 }
853
854 return super.GetDoorSelectionNameFromSeatPos(posIdx);
855 }
856
858 {
859 switch( posIdx )
860 {
861 case 0:
862 return "Sedan_02_Door_1_1";
863 break;
864 case 1:
865 return "Sedan_02_Door_2_1";
866 break;
867 case 2:
868 return "Sedan_02_Door_1_2";
869 break;
870 case 3:
871 return "Sedan_02_Door_2_2";
872 break;
873 }
874
875 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
876 }
877
879 {
880 switch ( ctrl )
881 {
883 float newValue = 0;
885 {
886 newValue += 0.25;
887 }
888
890 {
891 newValue += 0.25;
892 }
893
895 {
896 newValue += 0.25;
897 }
898
900 {
901 newValue += 0.25;
902 }
903
905 break;
906 }
907
908 return super.OnSound(ctrl, oldValue);
909 }
910
912 {
913 switch( selection )
914 {
915 case "doors_driver":
916 return "DoorsDriver";
917 case "doors_codriver":
918 return "DoorsCoDriver";
919 case "doors_cargo1":
920 return "DoorsCargo1";
921 case "doors_cargo2":
922 return "DoorsCargo2";
923 case "doors_hood":
924 return "DoorsHood";
925 case "doors_trunk":
926 return "DoorsTrunk";
927 }
928
929 return "";
930 }
931
932
934 {
935 return false;
936 }
937
939 {
940 return false;
941 }
942
944 {
945 switch (currentSeat)
946 {
947 case 0:
948 return nextSeat == 1;
949
950 case 1:
951 return nextSeat == 0;
952
953 case 2:
954 return nextSeat == 3;
955
956 case 3:
957 return nextSeat == 2;
958 }
959
960 return false;
961 }
962
964 {
965 switch (pCurrentSeat)
966 {
967 case 0:
968 return pDoorsSelection == "DoorsDriver";
969
970 case 1:
971 return pDoorsSelection == "DoorsCoDriver";
972
973 case 2:
974 return pDoorsSelection == "DoorsCargo1";
975
976 case 3:
977 return pDoorsSelection == "DoorsCargo2";
978 }
979
980 return false;
981 }
982
984 {
988
989 GetInventory().CreateInInventory("Sedan_02_Wheel");
990 GetInventory().CreateInInventory("Sedan_02_Wheel");
991 GetInventory().CreateInInventory("Sedan_02_Wheel");
992 GetInventory().CreateInInventory("Sedan_02_Wheel");
993 GetInventory().CreateInInventory("Sedan_02_Wheel");
994
995 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
996 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
997 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
998 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
999 GetInventory().CreateInInventory("Sedan_02_Hood");
1000 GetInventory().CreateInInventory("Sedan_02_Trunk");
1001
1002
1003 GetInventory().CreateInInventory("Sedan_02_Wheel");
1004 GetInventory().CreateInInventory("Sedan_02_Wheel");
1005 }
1006}
1007
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
1021 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1022 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1023 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1024 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1025 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1026 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1027
1028
1029 GetInventory().CreateInInventory("Sedan_02_Wheel");
1030 GetInventory().CreateInInventory("Sedan_02_Wheel");
1031 }
1032}
1033
1034class Sedan_02_Grey
extends Sedan_02
1035{
1037 {
1041
1042 GetInventory().CreateInInventory("Sedan_02_Wheel");
1043 GetInventory().CreateInInventory("Sedan_02_Wheel");
1044 GetInventory().CreateInInventory("Sedan_02_Wheel");
1045 GetInventory().CreateInInventory("Sedan_02_Wheel");
1046
1047 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1048 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1049 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1050 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1051 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1052 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1053
1054
1055 GetInventory().CreateInInventory("Sedan_02_Wheel");
1056 GetInventory().CreateInInventory("Sedan_02_Wheel");
1057 }
1058}
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.