535{
539
541 {
543
549
552
555
556 SetEnginePos("0 0.7 -1.7");
557 }
558
560 {
561 super.EEInit();
562
564 {
571
574 }
575 }
576
578 {
579 super.OnEngineStart();
580
582 {
584 }
585 }
586
588 {
589 super.OnEngineStop();
590
592 {
594 }
595 }
596
598 {
600 {
602 {
604 }
605 }
606 }
607
609 {
611 }
612
614 {
615 switch (posIdx)
616 {
617 case 0:
619 case 1:
621 case 2:
623 case 3:
625 }
626
627 return 0;
628 }
629
630
632 {
634 }
635
636
638 {
640 }
641
643 {
644 if (!super.CanReleaseAttachment(attachment))
645 {
646 return false;
647 }
648
649 string attType = attachment.GetType();
650 switch (attType)
651 {
652 case "CarBattery":
654 {
655 return false;
656 }
657 break;
658
659 case "SparkPlug":
661 {
662 return false;
663 }
664 break;
665
666 case "CarRadiator":
668 {
669 return false;
670 }
671 break;
672 }
673
674 return true;
675 }
676
678 {
680 }
681
683 {
684 if ( !super.CanDisplayAttachmentCategory(category_name))
685 {
686 return false;
687 }
688
690 if (category_name.
Contains(
"engine"))
691 {
693 {
694 return false;
695 }
696 }
697
698 if (category_name.
Contains(
"trunk"))
699 {
701 {
702 return false;
703 }
704 }
705
706 return true;
707 }
708
710 {
711 if ( !super.CanDisplayCargo() )
712 return false;
713
715 return false;
716
717 return true;
718 }
719
721 {
723
724 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
725 if (!carDoor)
726 {
728 }
729
730 switch (slotType)
731 {
732 case "Sedan_02_Door_1_1":
734
735 case "Sedan_02_Door_2_1":
737
738 case "Sedan_02_Door_1_2":
740
741 case "Sedan_02_Door_2_2":
743
744 case "Sedan_02_Hood":
746
747 case "Sedan_02_Trunk":
749 }
750
752 }
753
754
756 {
757 switch( posIdx )
758 {
759 case 0:
761 return false;
762
763 return true;
764 break;
765
766 case 1:
768 return false;
769
770 return true;
771 break;
772
773 case 2:
775 return false;
776
777 return true;
778 break;
779
780 case 3:
782 return false;
783
784 return true;
785 break;
786 }
787
788 return false;
789 }
790
792 {
793 switch( posIdx )
794 {
795 case 0:
796 return "doors_driver";
797 break;
798 case 1:
799 return "doors_codriver";
800 break;
801 case 2:
802 return "doors_cargo1";
803 break;
804 case 3:
805 return "doors_cargo2";
806 break;
807 }
808
809 return super.GetDoorSelectionNameFromSeatPos(posIdx);
810 }
811
813 {
814 switch( posIdx )
815 {
816 case 0:
817 return "Sedan_02_Door_1_1";
818 break;
819 case 1:
820 return "Sedan_02_Door_2_1";
821 break;
822 case 2:
823 return "Sedan_02_Door_1_2";
824 break;
825 case 3:
826 return "Sedan_02_Door_2_2";
827 break;
828 }
829
830 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
831 }
832
834 {
835 switch ( ctrl )
836 {
838 float newValue = 0;
840 {
841 newValue += 0.25;
842 }
843
845 {
846 newValue += 0.25;
847 }
848
850 {
851 newValue += 0.25;
852 }
853
855 {
856 newValue += 0.25;
857 }
858
860 break;
861 }
862
863 return super.OnSound(ctrl, oldValue);
864 }
865
867 {
868 switch( selection )
869 {
870 case "doors_driver":
871 return "DoorsDriver";
872 case "doors_codriver":
873 return "DoorsCoDriver";
874 case "doors_cargo1":
875 return "DoorsCargo1";
876 case "doors_cargo2":
877 return "DoorsCargo2";
878 case "doors_hood":
879 return "DoorsHood";
880 case "doors_trunk":
881 return "DoorsTrunk";
882 }
883
884 return "";
885 }
886
887
889 {
890 return false;
891 }
892
894 {
895 return false;
896 }
897
899 {
900 switch (currentSeat)
901 {
902 case 0:
903 return nextSeat == 1;
904
905 case 1:
906 return nextSeat == 0;
907
908 case 2:
909 return nextSeat == 3;
910
911 case 3:
912 return nextSeat == 2;
913 }
914
915 return false;
916 }
917
919 {
920 switch (pCurrentSeat)
921 {
922 case 0:
923 return pDoorsSelection == "DoorsDriver";
924
925 case 1:
926 return pDoorsSelection == "DoorsCoDriver";
927
928 case 2:
929 return pDoorsSelection == "DoorsCargo1";
930
931 case 3:
932 return pDoorsSelection == "DoorsCargo2";
933 }
934
935 return false;
936 }
937
939 {
943
944 GetInventory().CreateInInventory("Sedan_02_Wheel");
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946 GetInventory().CreateInInventory("Sedan_02_Wheel");
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949
950 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
951 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
952 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
953 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
954 GetInventory().CreateInInventory("Sedan_02_Hood");
955 GetInventory().CreateInInventory("Sedan_02_Trunk");
956
957
958 GetInventory().CreateInInventory("Sedan_02_Wheel");
959 GetInventory().CreateInInventory("Sedan_02_Wheel");
960 }
961}
962
964{
966 {
970
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972 GetInventory().CreateInInventory("Sedan_02_Wheel");
973 GetInventory().CreateInInventory("Sedan_02_Wheel");
974 GetInventory().CreateInInventory("Sedan_02_Wheel");
975
976 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
977 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
978 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
979 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
980 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
981 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
982
983
984 GetInventory().CreateInInventory("Sedan_02_Wheel");
985 GetInventory().CreateInInventory("Sedan_02_Wheel");
986 }
987}
988
990{
992 {
996
997 GetInventory().CreateInInventory("Sedan_02_Wheel");
998 GetInventory().CreateInInventory("Sedan_02_Wheel");
999 GetInventory().CreateInInventory("Sedan_02_Wheel");
1000 GetInventory().CreateInInventory("Sedan_02_Wheel");
1001
1002 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1003 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1004 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1005 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1006 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1007 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1008
1009
1010 GetInventory().CreateInInventory("Sedan_02_Wheel");
1011 GetInventory().CreateInInventory("Sedan_02_Wheel");
1012 }
1013}
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.