495{
499
501 {
503
509
512
515
516 SetEnginePos("0 0.7 -1.7");
517 }
518
520 {
521 super.EEInit();
522
524 {
531
534 }
535 }
536
538 {
539 super.OnEngineStart();
540
542 {
544 }
545 }
546
548 {
549 super.OnEngineStop();
550
552 {
554 }
555 }
556
558 {
560 {
562 {
564 }
565 }
566 }
567
569 {
571 }
572
574 {
575 switch (posIdx)
576 {
577 case 0:
579 case 1:
581 case 2:
583 case 3:
585 }
586
587 return 0;
588 }
589
590
592 {
594 }
595
596
598 {
600 }
601
603 {
604 if (!super.CanReleaseAttachment(attachment))
605 {
606 return false;
607 }
608
609 string attType = attachment.GetType();
610 switch (attType)
611 {
612 case "CarBattery":
614 {
615 return false;
616 }
617 break;
618
619 case "SparkPlug":
621 {
622 return false;
623 }
624 break;
625
626 case "CarRadiator":
628 {
629 return false;
630 }
631 break;
632 }
633
634 return true;
635 }
636
638 {
640 }
641
643 {
644 if ( !super.CanDisplayAttachmentCategory(category_name))
645 {
646 return false;
647 }
648
650 if (category_name.
Contains(
"engine"))
651 {
653 {
654 return false;
655 }
656 }
657
658 if (category_name.
Contains(
"trunk"))
659 {
661 {
662 return false;
663 }
664 }
665
666 return true;
667 }
668
670 {
671 if ( !super.CanDisplayCargo() )
672 return false;
673
675 return false;
676
677 return true;
678 }
679
681 {
683
684 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
685 if (!carDoor)
686 {
688 }
689
690 switch (slotType)
691 {
692 case "Sedan_02_Door_1_1":
694
695 case "Sedan_02_Door_2_1":
697
698 case "Sedan_02_Door_1_2":
700
701 case "Sedan_02_Door_2_2":
703
704 case "Sedan_02_Hood":
706
707 case "Sedan_02_Trunk":
709 }
710
712 }
713
714
716 {
717 switch( posIdx )
718 {
719 case 0:
721 return false;
722
723 return true;
724 break;
725
726 case 1:
728 return false;
729
730 return true;
731 break;
732
733 case 2:
735 return false;
736
737 return true;
738 break;
739
740 case 3:
742 return false;
743
744 return true;
745 break;
746 }
747
748 return false;
749 }
750
752 {
753 switch( posIdx )
754 {
755 case 0:
756 return "doors_driver";
757 break;
758 case 1:
759 return "doors_codriver";
760 break;
761 case 2:
762 return "doors_cargo1";
763 break;
764 case 3:
765 return "doors_cargo2";
766 break;
767 }
768
769 return super.GetDoorSelectionNameFromSeatPos(posIdx);
770 }
771
773 {
774 switch( posIdx )
775 {
776 case 0:
777 return "Sedan_02_Door_1_1";
778 break;
779 case 1:
780 return "Sedan_02_Door_2_1";
781 break;
782 case 2:
783 return "Sedan_02_Door_1_2";
784 break;
785 case 3:
786 return "Sedan_02_Door_2_2";
787 break;
788 }
789
790 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
791 }
792
794 {
795 switch ( ctrl )
796 {
798 float newValue = 0;
800 {
801 newValue += 0.25;
802 }
803
805 {
806 newValue += 0.25;
807 }
808
810 {
811 newValue += 0.25;
812 }
813
815 {
816 newValue += 0.25;
817 }
818
820 break;
821 }
822
823 return super.OnSound(ctrl, oldValue);
824 }
825
827 {
828 switch( selection )
829 {
830 case "doors_driver":
831 return "DoorsDriver";
832 case "doors_codriver":
833 return "DoorsCoDriver";
834 case "doors_cargo1":
835 return "DoorsCargo1";
836 case "doors_cargo2":
837 return "DoorsCargo2";
838 case "doors_hood":
839 return "DoorsHood";
840 case "doors_trunk":
841 return "DoorsTrunk";
842 }
843
844 return "";
845 }
846
847
849 {
850 return false;
851 }
852
854 {
855 return false;
856 }
857
859 {
860 switch (currentSeat)
861 {
862 case 0:
863 return nextSeat == 1;
864
865 case 1:
866 return nextSeat == 0;
867
868 case 2:
869 return nextSeat == 3;
870
871 case 3:
872 return nextSeat == 2;
873 }
874
875 return false;
876 }
877
879 {
880 switch (pCurrentSeat)
881 {
882 case 0:
883 return pDoorsSelection == "DoorsDriver";
884
885 case 1:
886 return pDoorsSelection == "DoorsCoDriver";
887
888 case 2:
889 return pDoorsSelection == "DoorsCargo1";
890
891 case 3:
892 return pDoorsSelection == "DoorsCargo2";
893 }
894
895 return false;
896 }
897
899 {
903
904 GetInventory().CreateInInventory("Sedan_02_Wheel");
905 GetInventory().CreateInInventory("Sedan_02_Wheel");
906 GetInventory().CreateInInventory("Sedan_02_Wheel");
907 GetInventory().CreateInInventory("Sedan_02_Wheel");
908 GetInventory().CreateInInventory("Sedan_02_Wheel");
909
910 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
911 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
912 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
913 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
914 GetInventory().CreateInInventory("Sedan_02_Hood");
915 GetInventory().CreateInInventory("Sedan_02_Trunk");
916
917
918 GetInventory().CreateInInventory("Sedan_02_Wheel");
919 GetInventory().CreateInInventory("Sedan_02_Wheel");
920 }
921}
922
924{
926 {
930
931 GetInventory().CreateInInventory("Sedan_02_Wheel");
932 GetInventory().CreateInInventory("Sedan_02_Wheel");
933 GetInventory().CreateInInventory("Sedan_02_Wheel");
934 GetInventory().CreateInInventory("Sedan_02_Wheel");
935
936 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
937 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
938 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
939 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
940 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
941 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
942
943
944 GetInventory().CreateInInventory("Sedan_02_Wheel");
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946 }
947}
948
950{
952 {
956
957 GetInventory().CreateInInventory("Sedan_02_Wheel");
958 GetInventory().CreateInInventory("Sedan_02_Wheel");
959 GetInventory().CreateInInventory("Sedan_02_Wheel");
960 GetInventory().CreateInInventory("Sedan_02_Wheel");
961
962 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
963 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
964 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
965 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
966 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
967 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
968
969
970 GetInventory().CreateInInventory("Sedan_02_Wheel");
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972 }
973}
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.