511{
515
517 {
519
525
528
531
532 SetEnginePos("0 0.7 -1.7");
533 }
534
536 {
537 super.EEInit();
538
540 {
547
550 }
551 }
552
554 {
555 super.OnEngineStart();
556
558 {
560 }
561 }
562
564 {
565 super.OnEngineStop();
566
568 {
570 }
571 }
572
574 {
576 {
578 {
580 }
581 }
582 }
583
585 {
587 }
588
590 {
591 switch (posIdx)
592 {
593 case 0:
595 case 1:
597 case 2:
599 case 3:
601 }
602
603 return 0;
604 }
605
606
608 {
610 }
611
612
614 {
616 }
617
619 {
620 if (!super.CanReleaseAttachment(attachment))
621 {
622 return false;
623 }
624
625 string attType = attachment.GetType();
626 switch (attType)
627 {
628 case "CarBattery":
630 {
631 return false;
632 }
633 break;
634
635 case "SparkPlug":
637 {
638 return false;
639 }
640 break;
641
642 case "CarRadiator":
644 {
645 return false;
646 }
647 break;
648 }
649
650 return true;
651 }
652
654 {
656 }
657
659 {
660 if ( !super.CanDisplayAttachmentCategory(category_name))
661 {
662 return false;
663 }
664
666 if (category_name.
Contains(
"engine"))
667 {
669 {
670 return false;
671 }
672 }
673
674 if (category_name.
Contains(
"trunk"))
675 {
677 {
678 return false;
679 }
680 }
681
682 return true;
683 }
684
686 {
687 if ( !super.CanDisplayCargo() )
688 return false;
689
691 return false;
692
693 return true;
694 }
695
697 {
699
700 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
701 if (!carDoor)
702 {
704 }
705
706 switch (slotType)
707 {
708 case "Sedan_02_Door_1_1":
710
711 case "Sedan_02_Door_2_1":
713
714 case "Sedan_02_Door_1_2":
716
717 case "Sedan_02_Door_2_2":
719
720 case "Sedan_02_Hood":
722
723 case "Sedan_02_Trunk":
725 }
726
728 }
729
730
732 {
733 switch( posIdx )
734 {
735 case 0:
737 return false;
738
739 return true;
740 break;
741
742 case 1:
744 return false;
745
746 return true;
747 break;
748
749 case 2:
751 return false;
752
753 return true;
754 break;
755
756 case 3:
758 return false;
759
760 return true;
761 break;
762 }
763
764 return false;
765 }
766
768 {
769 switch( posIdx )
770 {
771 case 0:
772 return "doors_driver";
773 break;
774 case 1:
775 return "doors_codriver";
776 break;
777 case 2:
778 return "doors_cargo1";
779 break;
780 case 3:
781 return "doors_cargo2";
782 break;
783 }
784
785 return super.GetDoorSelectionNameFromSeatPos(posIdx);
786 }
787
789 {
790 switch( posIdx )
791 {
792 case 0:
793 return "Sedan_02_Door_1_1";
794 break;
795 case 1:
796 return "Sedan_02_Door_2_1";
797 break;
798 case 2:
799 return "Sedan_02_Door_1_2";
800 break;
801 case 3:
802 return "Sedan_02_Door_2_2";
803 break;
804 }
805
806 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
807 }
808
810 {
811 switch ( ctrl )
812 {
814 float newValue = 0;
816 {
817 newValue += 0.25;
818 }
819
821 {
822 newValue += 0.25;
823 }
824
826 {
827 newValue += 0.25;
828 }
829
831 {
832 newValue += 0.25;
833 }
834
836 break;
837 }
838
839 return super.OnSound(ctrl, oldValue);
840 }
841
843 {
844 switch( selection )
845 {
846 case "doors_driver":
847 return "DoorsDriver";
848 case "doors_codriver":
849 return "DoorsCoDriver";
850 case "doors_cargo1":
851 return "DoorsCargo1";
852 case "doors_cargo2":
853 return "DoorsCargo2";
854 case "doors_hood":
855 return "DoorsHood";
856 case "doors_trunk":
857 return "DoorsTrunk";
858 }
859
860 return "";
861 }
862
863
865 {
866 return false;
867 }
868
870 {
871 return false;
872 }
873
875 {
876 switch (currentSeat)
877 {
878 case 0:
879 return nextSeat == 1;
880
881 case 1:
882 return nextSeat == 0;
883
884 case 2:
885 return nextSeat == 3;
886
887 case 3:
888 return nextSeat == 2;
889 }
890
891 return false;
892 }
893
895 {
896 switch (pCurrentSeat)
897 {
898 case 0:
899 return pDoorsSelection == "DoorsDriver";
900
901 case 1:
902 return pDoorsSelection == "DoorsCoDriver";
903
904 case 2:
905 return pDoorsSelection == "DoorsCargo1";
906
907 case 3:
908 return pDoorsSelection == "DoorsCargo2";
909 }
910
911 return false;
912 }
913
915 {
919
920 GetInventory().CreateInInventory("Sedan_02_Wheel");
921 GetInventory().CreateInInventory("Sedan_02_Wheel");
922 GetInventory().CreateInInventory("Sedan_02_Wheel");
923 GetInventory().CreateInInventory("Sedan_02_Wheel");
924 GetInventory().CreateInInventory("Sedan_02_Wheel");
925
926 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
927 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
928 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
929 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
930 GetInventory().CreateInInventory("Sedan_02_Hood");
931 GetInventory().CreateInInventory("Sedan_02_Trunk");
932
933
934 GetInventory().CreateInInventory("Sedan_02_Wheel");
935 GetInventory().CreateInInventory("Sedan_02_Wheel");
936 }
937}
938
940{
942 {
946
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949 GetInventory().CreateInInventory("Sedan_02_Wheel");
950 GetInventory().CreateInInventory("Sedan_02_Wheel");
951
952 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
953 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
954 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
955 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
956 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
957 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
958
959
960 GetInventory().CreateInInventory("Sedan_02_Wheel");
961 GetInventory().CreateInInventory("Sedan_02_Wheel");
962 }
963}
964
966{
968 {
972
973 GetInventory().CreateInInventory("Sedan_02_Wheel");
974 GetInventory().CreateInInventory("Sedan_02_Wheel");
975 GetInventory().CreateInInventory("Sedan_02_Wheel");
976 GetInventory().CreateInInventory("Sedan_02_Wheel");
977
978 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
979 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
980 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
981 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
982 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
983 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
984
985
986 GetInventory().CreateInInventory("Sedan_02_Wheel");
987 GetInventory().CreateInInventory("Sedan_02_Wheel");
988 }
989}
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.