542{
546
548 {
549 m_dmgContactCoef = 0.0790;
550
551 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
552 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
553 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
554 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
555 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
556 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
557
558 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
559 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
560
561 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
562 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
563
564 SetEnginePos("0 0.7 -1.7");
565 }
566
568 {
569 super.EEInit();
570
572 {
579
582 }
583 }
584
586 {
587 super.OnEngineStart();
588
590 {
592 }
593 }
594
596 {
597 super.OnEngineStop();
598
600 {
602 }
603 }
604
606 {
608 {
610 {
612 }
613 }
614 }
615
617 {
619 }
620
622 {
623 switch (posIdx)
624 {
625 case 0:
627 case 1:
629 case 2:
631 case 3:
633 }
634
635 return 0;
636 }
637
638
640 {
642 }
643
644
646 {
648 }
649
651 {
652 if (!super.CanReleaseAttachment(attachment))
653 {
654 return false;
655 }
656
657 string attType = attachment.GetType();
658 switch (attType)
659 {
660 case "CarBattery":
662 {
663 return false;
664 }
665 break;
666
667 case "SparkPlug":
669 {
670 return false;
671 }
672 break;
673
674 case "CarRadiator":
676 {
677 return false;
678 }
679 break;
680 }
681
682 return true;
683 }
684
686 {
688 }
689
691 {
692 if ( !super.CanDisplayAttachmentCategory(category_name))
693 {
694 return false;
695 }
696
698 if (category_name.
Contains(
"engine"))
699 {
701 {
702 return false;
703 }
704 }
705
706 if (category_name.
Contains(
"trunk"))
707 {
709 {
710 return false;
711 }
712 }
713
714 return true;
715 }
716
718 {
719 if ( !super.CanDisplayCargo() )
720 return false;
721
723 return false;
724
725 return true;
726 }
727
729 {
731
732 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
733 if (!carDoor)
734 {
736 }
737
738 switch (slotType)
739 {
740 case "Sedan_02_Door_1_1":
741 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
742
743 case "Sedan_02_Door_2_1":
744 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
745
746 case "Sedan_02_Door_1_2":
747 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
748
749 case "Sedan_02_Door_2_2":
750 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
751
752 case "Sedan_02_Hood":
753 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
754
755 case "Sedan_02_Trunk":
756 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
757 }
758
760 }
761
762
764 {
765 switch( posIdx )
766 {
767 case 0:
769 return false;
770
771 return true;
772 break;
773
774 case 1:
776 return false;
777
778 return true;
779 break;
780
781 case 2:
783 return false;
784
785 return true;
786 break;
787
788 case 3:
790 return false;
791
792 return true;
793 break;
794 }
795
796 return false;
797 }
798
800 {
801 switch( posIdx )
802 {
803 case 0:
804 return "doors_driver";
805 break;
806 case 1:
807 return "doors_codriver";
808 break;
809 case 2:
810 return "doors_cargo1";
811 break;
812 case 3:
813 return "doors_cargo2";
814 break;
815 }
816
817 return super.GetDoorSelectionNameFromSeatPos(posIdx);
818 }
819
821 {
822 switch( posIdx )
823 {
824 case 0:
825 return "Sedan_02_Door_1_1";
826 break;
827 case 1:
828 return "Sedan_02_Door_2_1";
829 break;
830 case 2:
831 return "Sedan_02_Door_1_2";
832 break;
833 case 3:
834 return "Sedan_02_Door_2_2";
835 break;
836 }
837
838 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
839 }
840
842 {
843 switch ( ctrl )
844 {
846 float newValue = 0;
848 {
849 newValue += 0.25;
850 }
851
853 {
854 newValue += 0.25;
855 }
856
858 {
859 newValue += 0.25;
860 }
861
863 {
864 newValue += 0.25;
865 }
866
868 break;
869 }
870
871 return super.OnSound(ctrl, oldValue);
872 }
873
875 {
876 switch( selection )
877 {
878 case "doors_driver":
879 return "DoorsDriver";
880 case "doors_codriver":
881 return "DoorsCoDriver";
882 case "doors_cargo1":
883 return "DoorsCargo1";
884 case "doors_cargo2":
885 return "DoorsCargo2";
886 case "doors_hood":
887 return "DoorsHood";
888 case "doors_trunk":
889 return "DoorsTrunk";
890 }
891
892 return "";
893 }
894
895
897 {
898 return false;
899 }
900
902 {
903 return false;
904 }
905
907 {
908 switch (currentSeat)
909 {
910 case 0:
911 return nextSeat == 1;
912
913 case 1:
914 return nextSeat == 0;
915
916 case 2:
917 return nextSeat == 3;
918
919 case 3:
920 return nextSeat == 2;
921 }
922
923 return false;
924 }
925
927 {
928 switch (pCurrentSeat)
929 {
930 case 0:
931 return pDoorsSelection == "DoorsDriver";
932
933 case 1:
934 return pDoorsSelection == "DoorsCoDriver";
935
936 case 2:
937 return pDoorsSelection == "DoorsCargo1";
938
939 case 3:
940 return pDoorsSelection == "DoorsCargo2";
941 }
942
943 return false;
944 }
945
947 {
948 SpawnUniversalParts();
949 SpawnAdditionalItems();
950 FillUpCarFluids();
951
952 GetInventory().CreateInInventory("Sedan_02_Wheel");
953 GetInventory().CreateInInventory("Sedan_02_Wheel");
954 GetInventory().CreateInInventory("Sedan_02_Wheel");
955 GetInventory().CreateInInventory("Sedan_02_Wheel");
956 GetInventory().CreateInInventory("Sedan_02_Wheel");
957
958 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
959 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
960 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
961 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
962 GetInventory().CreateInInventory("Sedan_02_Hood");
963 GetInventory().CreateInInventory("Sedan_02_Trunk");
964
965
966 GetInventory().CreateInInventory("Sedan_02_Wheel");
967 GetInventory().CreateInInventory("Sedan_02_Wheel");
968 }
969}
970
972{
974 {
975 SpawnUniversalParts();
976 SpawnAdditionalItems();
977 FillUpCarFluids();
978
979 GetInventory().CreateInInventory("Sedan_02_Wheel");
980 GetInventory().CreateInInventory("Sedan_02_Wheel");
981 GetInventory().CreateInInventory("Sedan_02_Wheel");
982 GetInventory().CreateInInventory("Sedan_02_Wheel");
983
984 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
985 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
986 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
987 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
988 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
989 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
990
991
992 GetInventory().CreateInInventory("Sedan_02_Wheel");
993 GetInventory().CreateInInventory("Sedan_02_Wheel");
994 }
995}
996
998{
1000 {
1001 SpawnUniversalParts();
1002 SpawnAdditionalItems();
1003 FillUpCarFluids();
1004
1005 GetInventory().CreateInInventory("Sedan_02_Wheel");
1006 GetInventory().CreateInInventory("Sedan_02_Wheel");
1007 GetInventory().CreateInInventory("Sedan_02_Wheel");
1008 GetInventory().CreateInInventory("Sedan_02_Wheel");
1009
1010 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1011 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1012 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1013 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1014 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1015 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1016
1017
1018 GetInventory().CreateInInventory("Sedan_02_Wheel");
1019 GetInventory().CreateInInventory("Sedan_02_Wheel");
1020 }
1021}
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.