506{
510
512 {
514
520
523
526
527 SetEnginePos("0 0.7 -1.7");
528 }
529
531 {
532 super.EEInit();
533
535 {
542
545 }
546 }
547
549 {
550 super.OnEngineStart();
551
553 {
555 }
556 }
557
559 {
560 super.OnEngineStop();
561
563 {
565 }
566 }
567
569 {
571 {
573 {
575 }
576 }
577 }
578
580 {
582 }
583
585 {
586 switch (posIdx)
587 {
588 case 0:
590 case 1:
592 case 2:
594 case 3:
596 }
597
598 return 0;
599 }
600
601
603 {
605 }
606
607
609 {
611 }
612
614 {
615 if (!super.CanReleaseAttachment(attachment))
616 {
617 return false;
618 }
619
620 string attType = attachment.GetType();
621 switch (attType)
622 {
623 case "CarBattery":
625 {
626 return false;
627 }
628 break;
629
630 case "SparkPlug":
632 {
633 return false;
634 }
635 break;
636
637 case "CarRadiator":
639 {
640 return false;
641 }
642 break;
643 }
644
645 return true;
646 }
647
649 {
651 }
652
654 {
655 if ( !super.CanDisplayAttachmentCategory(category_name))
656 {
657 return false;
658 }
659
661 if (category_name.
Contains(
"engine"))
662 {
664 {
665 return false;
666 }
667 }
668
669 if (category_name.
Contains(
"trunk"))
670 {
672 {
673 return false;
674 }
675 }
676
677 return true;
678 }
679
681 {
682 if ( !super.CanDisplayCargo() )
683 return false;
684
686 return false;
687
688 return true;
689 }
690
692 {
694
695 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
696 if (!carDoor)
697 {
699 }
700
701 switch (slotType)
702 {
703 case "Sedan_02_Door_1_1":
705
706 case "Sedan_02_Door_2_1":
708
709 case "Sedan_02_Door_1_2":
711
712 case "Sedan_02_Door_2_2":
714
715 case "Sedan_02_Hood":
717
718 case "Sedan_02_Trunk":
720 }
721
723 }
724
725
727 {
728 switch( posIdx )
729 {
730 case 0:
732 return false;
733
734 return true;
735 break;
736
737 case 1:
739 return false;
740
741 return true;
742 break;
743
744 case 2:
746 return false;
747
748 return true;
749 break;
750
751 case 3:
753 return false;
754
755 return true;
756 break;
757 }
758
759 return false;
760 }
761
763 {
764 switch( posIdx )
765 {
766 case 0:
767 return "doors_driver";
768 break;
769 case 1:
770 return "doors_codriver";
771 break;
772 case 2:
773 return "doors_cargo1";
774 break;
775 case 3:
776 return "doors_cargo2";
777 break;
778 }
779
780 return super.GetDoorSelectionNameFromSeatPos(posIdx);
781 }
782
784 {
785 switch( posIdx )
786 {
787 case 0:
788 return "Sedan_02_Door_1_1";
789 break;
790 case 1:
791 return "Sedan_02_Door_2_1";
792 break;
793 case 2:
794 return "Sedan_02_Door_1_2";
795 break;
796 case 3:
797 return "Sedan_02_Door_2_2";
798 break;
799 }
800
801 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
802 }
803
805 {
806 switch ( ctrl )
807 {
809 float newValue = 0;
811 {
812 newValue += 0.25;
813 }
814
816 {
817 newValue += 0.25;
818 }
819
821 {
822 newValue += 0.25;
823 }
824
826 {
827 newValue += 0.25;
828 }
829
831 break;
832 }
833
834 return super.OnSound(ctrl, oldValue);
835 }
836
838 {
839 switch( selection )
840 {
841 case "doors_driver":
842 return "DoorsDriver";
843 case "doors_codriver":
844 return "DoorsCoDriver";
845 case "doors_cargo1":
846 return "DoorsCargo1";
847 case "doors_cargo2":
848 return "DoorsCargo2";
849 case "doors_hood":
850 return "DoorsHood";
851 case "doors_trunk":
852 return "DoorsTrunk";
853 }
854
855 return "";
856 }
857
858
860 {
861 return false;
862 }
863
865 {
866 return false;
867 }
868
870 {
871 switch (currentSeat)
872 {
873 case 0:
874 return nextSeat == 1;
875
876 case 1:
877 return nextSeat == 0;
878
879 case 2:
880 return nextSeat == 3;
881
882 case 3:
883 return nextSeat == 2;
884 }
885
886 return false;
887 }
888
890 {
891 switch (pCurrentSeat)
892 {
893 case 0:
894 return pDoorsSelection == "DoorsDriver";
895
896 case 1:
897 return pDoorsSelection == "DoorsCoDriver";
898
899 case 2:
900 return pDoorsSelection == "DoorsCargo1";
901
902 case 3:
903 return pDoorsSelection == "DoorsCargo2";
904 }
905
906 return false;
907 }
908
910 {
914
915 GetInventory().CreateInInventory("Sedan_02_Wheel");
916 GetInventory().CreateInInventory("Sedan_02_Wheel");
917 GetInventory().CreateInInventory("Sedan_02_Wheel");
918 GetInventory().CreateInInventory("Sedan_02_Wheel");
919 GetInventory().CreateInInventory("Sedan_02_Wheel");
920
921 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
922 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
923 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
924 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
925 GetInventory().CreateInInventory("Sedan_02_Hood");
926 GetInventory().CreateInInventory("Sedan_02_Trunk");
927
928
929 GetInventory().CreateInInventory("Sedan_02_Wheel");
930 GetInventory().CreateInInventory("Sedan_02_Wheel");
931 }
932}
933
935{
937 {
941
942 GetInventory().CreateInInventory("Sedan_02_Wheel");
943 GetInventory().CreateInInventory("Sedan_02_Wheel");
944 GetInventory().CreateInInventory("Sedan_02_Wheel");
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946
947 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
948 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
949 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
950 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
951 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
952 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
953
954
955 GetInventory().CreateInInventory("Sedan_02_Wheel");
956 GetInventory().CreateInInventory("Sedan_02_Wheel");
957 }
958}
959
961{
963 {
967
968 GetInventory().CreateInInventory("Sedan_02_Wheel");
969 GetInventory().CreateInInventory("Sedan_02_Wheel");
970 GetInventory().CreateInInventory("Sedan_02_Wheel");
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972
973 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
974 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
975 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
976 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
977 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
978 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
979
980
981 GetInventory().CreateInInventory("Sedan_02_Wheel");
982 GetInventory().CreateInInventory("Sedan_02_Wheel");
983 }
984}
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.