537{
541
543 {
544 m_dmgContactCoef = 0.0790;
545
546 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
547 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
548 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
549 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
550 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
551 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
552
553 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
554 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
555
556 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
557 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
558
559 SetEnginePos("0 0.7 -1.7");
560 }
561
563 {
564 super.EEInit();
565
567 {
574
577 }
578 }
579
581 {
582 super.OnEngineStart();
583
585 {
587 }
588 }
589
591 {
592 super.OnEngineStop();
593
595 {
597 }
598 }
599
601 {
603 {
605 {
607 }
608 }
609 }
610
612 {
614 }
615
617 {
618 switch (posIdx)
619 {
620 case 0:
622 case 1:
624 case 2:
626 case 3:
628 }
629
630 return 0;
631 }
632
633
635 {
637 }
638
639
641 {
643 }
644
646 {
647 if (!super.CanReleaseAttachment(attachment))
648 {
649 return false;
650 }
651
652 string attType = attachment.GetType();
653 switch (attType)
654 {
655 case "CarBattery":
657 {
658 return false;
659 }
660 break;
661
662 case "SparkPlug":
664 {
665 return false;
666 }
667 break;
668
669 case "CarRadiator":
671 {
672 return false;
673 }
674 break;
675 }
676
677 return true;
678 }
679
681 {
683 }
684
686 {
687 if ( !super.CanDisplayAttachmentCategory(category_name))
688 {
689 return false;
690 }
691
693 if (category_name.
Contains(
"engine"))
694 {
696 {
697 return false;
698 }
699 }
700
701 if (category_name.
Contains(
"trunk"))
702 {
704 {
705 return false;
706 }
707 }
708
709 return true;
710 }
711
713 {
714 if ( !super.CanDisplayCargo() )
715 return false;
716
718 return false;
719
720 return true;
721 }
722
724 {
726
727 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
728 if (!carDoor)
729 {
731 }
732
733 switch (slotType)
734 {
735 case "Sedan_02_Door_1_1":
736 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
737
738 case "Sedan_02_Door_2_1":
739 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
740
741 case "Sedan_02_Door_1_2":
742 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
743
744 case "Sedan_02_Door_2_2":
745 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
746
747 case "Sedan_02_Hood":
748 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
749
750 case "Sedan_02_Trunk":
751 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
752 }
753
755 }
756
757
759 {
760 switch( posIdx )
761 {
762 case 0:
764 return false;
765
766 return true;
767 break;
768
769 case 1:
771 return false;
772
773 return true;
774 break;
775
776 case 2:
778 return false;
779
780 return true;
781 break;
782
783 case 3:
785 return false;
786
787 return true;
788 break;
789 }
790
791 return false;
792 }
793
795 {
796 switch( posIdx )
797 {
798 case 0:
799 return "doors_driver";
800 break;
801 case 1:
802 return "doors_codriver";
803 break;
804 case 2:
805 return "doors_cargo1";
806 break;
807 case 3:
808 return "doors_cargo2";
809 break;
810 }
811
812 return super.GetDoorSelectionNameFromSeatPos(posIdx);
813 }
814
816 {
817 switch( posIdx )
818 {
819 case 0:
820 return "Sedan_02_Door_1_1";
821 break;
822 case 1:
823 return "Sedan_02_Door_2_1";
824 break;
825 case 2:
826 return "Sedan_02_Door_1_2";
827 break;
828 case 3:
829 return "Sedan_02_Door_2_2";
830 break;
831 }
832
833 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
834 }
835
837 {
838 switch ( ctrl )
839 {
841 float newValue = 0;
843 {
844 newValue += 0.25;
845 }
846
848 {
849 newValue += 0.25;
850 }
851
853 {
854 newValue += 0.25;
855 }
856
858 {
859 newValue += 0.25;
860 }
861
863 break;
864 }
865
866 return super.OnSound(ctrl, oldValue);
867 }
868
870 {
871 switch( selection )
872 {
873 case "doors_driver":
874 return "DoorsDriver";
875 case "doors_codriver":
876 return "DoorsCoDriver";
877 case "doors_cargo1":
878 return "DoorsCargo1";
879 case "doors_cargo2":
880 return "DoorsCargo2";
881 case "doors_hood":
882 return "DoorsHood";
883 case "doors_trunk":
884 return "DoorsTrunk";
885 }
886
887 return "";
888 }
889
890
892 {
893 return false;
894 }
895
897 {
898 return false;
899 }
900
902 {
903 switch (currentSeat)
904 {
905 case 0:
906 return nextSeat == 1;
907
908 case 1:
909 return nextSeat == 0;
910
911 case 2:
912 return nextSeat == 3;
913
914 case 3:
915 return nextSeat == 2;
916 }
917
918 return false;
919 }
920
922 {
923 switch (pCurrentSeat)
924 {
925 case 0:
926 return pDoorsSelection == "DoorsDriver";
927
928 case 1:
929 return pDoorsSelection == "DoorsCoDriver";
930
931 case 2:
932 return pDoorsSelection == "DoorsCargo1";
933
934 case 3:
935 return pDoorsSelection == "DoorsCargo2";
936 }
937
938 return false;
939 }
940
942 {
943 SpawnUniversalParts();
944 SpawnAdditionalItems();
945 FillUpCarFluids();
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 GetInventory().CreateInInventory("Sedan_02_Wheel");
952
953 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
954 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
955 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
956 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
957 GetInventory().CreateInInventory("Sedan_02_Hood");
958 GetInventory().CreateInInventory("Sedan_02_Trunk");
959
960
961 GetInventory().CreateInInventory("Sedan_02_Wheel");
962 GetInventory().CreateInInventory("Sedan_02_Wheel");
963 }
964}
965
967{
969 {
970 SpawnUniversalParts();
971 SpawnAdditionalItems();
972 FillUpCarFluids();
973
974 GetInventory().CreateInInventory("Sedan_02_Wheel");
975 GetInventory().CreateInInventory("Sedan_02_Wheel");
976 GetInventory().CreateInInventory("Sedan_02_Wheel");
977 GetInventory().CreateInInventory("Sedan_02_Wheel");
978
979 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
980 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
981 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
982 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
983 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
984 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
985
986
987 GetInventory().CreateInInventory("Sedan_02_Wheel");
988 GetInventory().CreateInInventory("Sedan_02_Wheel");
989 }
990}
991
993{
995 {
996 SpawnUniversalParts();
997 SpawnAdditionalItems();
998 FillUpCarFluids();
999
1000 GetInventory().CreateInInventory("Sedan_02_Wheel");
1001 GetInventory().CreateInInventory("Sedan_02_Wheel");
1002 GetInventory().CreateInInventory("Sedan_02_Wheel");
1003 GetInventory().CreateInInventory("Sedan_02_Wheel");
1004
1005 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1006 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1007 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1008 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1009 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1010 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1011
1012
1013 GetInventory().CreateInInventory("Sedan_02_Wheel");
1014 GetInventory().CreateInInventory("Sedan_02_Wheel");
1015 }
1016}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
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.