529{
533
535 {
537
543
546
549
550 SetEnginePos("0 0.7 -1.7");
551 }
552
554 {
555 super.EEInit();
556
558 {
565
568 }
569 }
570
572 {
573 super.OnEngineStart();
574
576 {
578 }
579 }
580
582 {
583 super.OnEngineStop();
584
586 {
588 }
589 }
590
592 {
594 {
596 {
598 }
599 }
600 }
601
603 {
605 }
606
608 {
609 switch (posIdx)
610 {
611 case 0:
613 case 1:
615 case 2:
617 case 3:
619 }
620
621 return 0;
622 }
623
624
626 {
628 }
629
630
632 {
634 }
635
637 {
638 if (!super.CanReleaseAttachment(attachment))
639 {
640 return false;
641 }
642
643 string attType = attachment.GetType();
644 switch (attType)
645 {
646 case "CarBattery":
648 {
649 return false;
650 }
651 break;
652
653 case "SparkPlug":
655 {
656 return false;
657 }
658 break;
659
660 case "CarRadiator":
662 {
663 return false;
664 }
665 break;
666 }
667
668 return true;
669 }
670
672 {
674 }
675
677 {
678 if ( !super.CanDisplayAttachmentCategory(category_name))
679 {
680 return false;
681 }
682
684 if (category_name.
Contains(
"engine"))
685 {
687 {
688 return false;
689 }
690 }
691
692 if (category_name.
Contains(
"trunk"))
693 {
695 {
696 return false;
697 }
698 }
699
700 return true;
701 }
702
704 {
705 if ( !super.CanDisplayCargo() )
706 return false;
707
709 return false;
710
711 return true;
712 }
713
715 {
717
718 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
719 if (!carDoor)
720 {
722 }
723
724 switch (slotType)
725 {
726 case "Sedan_02_Door_1_1":
728
729 case "Sedan_02_Door_2_1":
731
732 case "Sedan_02_Door_1_2":
734
735 case "Sedan_02_Door_2_2":
737
738 case "Sedan_02_Hood":
740
741 case "Sedan_02_Trunk":
743 }
744
746 }
747
748
750 {
751 switch( posIdx )
752 {
753 case 0:
755 return false;
756
757 return true;
758 break;
759
760 case 1:
762 return false;
763
764 return true;
765 break;
766
767 case 2:
769 return false;
770
771 return true;
772 break;
773
774 case 3:
776 return false;
777
778 return true;
779 break;
780 }
781
782 return false;
783 }
784
786 {
787 switch( posIdx )
788 {
789 case 0:
790 return "doors_driver";
791 break;
792 case 1:
793 return "doors_codriver";
794 break;
795 case 2:
796 return "doors_cargo1";
797 break;
798 case 3:
799 return "doors_cargo2";
800 break;
801 }
802
803 return super.GetDoorSelectionNameFromSeatPos(posIdx);
804 }
805
807 {
808 switch( posIdx )
809 {
810 case 0:
811 return "Sedan_02_Door_1_1";
812 break;
813 case 1:
814 return "Sedan_02_Door_2_1";
815 break;
816 case 2:
817 return "Sedan_02_Door_1_2";
818 break;
819 case 3:
820 return "Sedan_02_Door_2_2";
821 break;
822 }
823
824 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
825 }
826
828 {
829 switch ( ctrl )
830 {
832 float newValue = 0;
834 {
835 newValue += 0.25;
836 }
837
839 {
840 newValue += 0.25;
841 }
842
844 {
845 newValue += 0.25;
846 }
847
849 {
850 newValue += 0.25;
851 }
852
854 break;
855 }
856
857 return super.OnSound(ctrl, oldValue);
858 }
859
861 {
862 switch( selection )
863 {
864 case "doors_driver":
865 return "DoorsDriver";
866 case "doors_codriver":
867 return "DoorsCoDriver";
868 case "doors_cargo1":
869 return "DoorsCargo1";
870 case "doors_cargo2":
871 return "DoorsCargo2";
872 case "doors_hood":
873 return "DoorsHood";
874 case "doors_trunk":
875 return "DoorsTrunk";
876 }
877
878 return "";
879 }
880
881
883 {
884 return false;
885 }
886
888 {
889 return false;
890 }
891
893 {
894 switch (currentSeat)
895 {
896 case 0:
897 return nextSeat == 1;
898
899 case 1:
900 return nextSeat == 0;
901
902 case 2:
903 return nextSeat == 3;
904
905 case 3:
906 return nextSeat == 2;
907 }
908
909 return false;
910 }
911
913 {
914 switch (pCurrentSeat)
915 {
916 case 0:
917 return pDoorsSelection == "DoorsDriver";
918
919 case 1:
920 return pDoorsSelection == "DoorsCoDriver";
921
922 case 2:
923 return pDoorsSelection == "DoorsCargo1";
924
925 case 3:
926 return pDoorsSelection == "DoorsCargo2";
927 }
928
929 return false;
930 }
931
933 {
937
938 GetInventory().CreateInInventory("Sedan_02_Wheel");
939 GetInventory().CreateInInventory("Sedan_02_Wheel");
940 GetInventory().CreateInInventory("Sedan_02_Wheel");
941 GetInventory().CreateInInventory("Sedan_02_Wheel");
942 GetInventory().CreateInInventory("Sedan_02_Wheel");
943
944 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
945 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
946 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
947 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
948 GetInventory().CreateInInventory("Sedan_02_Hood");
949 GetInventory().CreateInInventory("Sedan_02_Trunk");
950
951
952 GetInventory().CreateInInventory("Sedan_02_Wheel");
953 GetInventory().CreateInInventory("Sedan_02_Wheel");
954 }
955}
956
958{
960 {
964
965 GetInventory().CreateInInventory("Sedan_02_Wheel");
966 GetInventory().CreateInInventory("Sedan_02_Wheel");
967 GetInventory().CreateInInventory("Sedan_02_Wheel");
968 GetInventory().CreateInInventory("Sedan_02_Wheel");
969
970 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
971 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
972 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
973 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
974 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
975 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
976
977
978 GetInventory().CreateInInventory("Sedan_02_Wheel");
979 GetInventory().CreateInInventory("Sedan_02_Wheel");
980 }
981}
982
984{
986 {
990
991 GetInventory().CreateInInventory("Sedan_02_Wheel");
992 GetInventory().CreateInInventory("Sedan_02_Wheel");
993 GetInventory().CreateInInventory("Sedan_02_Wheel");
994 GetInventory().CreateInInventory("Sedan_02_Wheel");
995
996 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
997 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
998 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
999 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1000 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1001 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1002
1003
1004 GetInventory().CreateInInventory("Sedan_02_Wheel");
1005 GetInventory().CreateInInventory("Sedan_02_Wheel");
1006 }
1007}
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.