563{
567
569 {
570
571
572 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
573 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
574 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
575 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
576 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
577 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
578
579 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
580 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
581
582 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
583 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
584
585 SetEnginePos("0 0.7 1.6");
586 }
587
589 {
593 }
594
596 {
597 super.EEInit();
598
600 {
607
610 }
611 }
612
614 {
615 super.OnEngineStart();
616
618 {
621 }
622 }
623
625 {
626 super.OnEngineStop();
627
629 {
632 }
633 }
634
636 {
638 {
640 {
642 }
643 }
644 }
645
647 {
649 }
650
652 {
653 return 4.5;
654 }
655
657 {
658 switch (posIdx)
659 {
660 case 0:
662 case 1:
664 case 2:
666 case 3:
668 }
669
670 return 0;
671 }
672
673
675 {
677 }
678
679
681 {
683 }
684
686 {
687 if( !super.CanReleaseAttachment( attachment ) )
688 return false;
689
690 string attType = attachment.GetType();
691
693 {
694 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
695 return false;
696 }
697
698 return true;
699 }
700
702 {
704 }
705
707 {
708
709 if (!super.CanDisplayAttachmentCategory(category_name))
710 return false;
711
712
714 if (category_name.
Contains(
"engine"))
715 {
717 return false;
718 }
719
720 return true;
721 }
722
724 {
725 if ( !super.CanDisplayCargo() )
726 return false;
727
729 return false;
730
731 return true;
732 }
733
735 {
737
738 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
739 if (!carDoor)
740 {
742 }
743
744 switch (slotType)
745 {
746 case "CivSedanDriverDoors":
747 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
748 break;
749
750 case "CivSedanCoDriverDoors":
751 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
752 break;
753
754 case "CivSedanCargo1Doors":
755 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
756 break;
757
758 case "CivSedanCargo2Doors":
759 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
760 break;
761
762 case "CivSedanTrunk":
763 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
764 break;
765
766 case "CivSedanHood":
767 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
768 break;
769 }
770
772 }
773
774
776 {
777 switch( posIdx )
778 {
779 case 0:
781 return false;
782
783 return true;
784 break;
785
786 case 1:
788 return false;
789
790 return true;
791 break;
792
793 case 2:
795 return false;
796
797 return true;
798 break;
799
800 case 3:
802 return false;
803
804 return true;
805 break;
806 }
807
808 return false;
809 }
810
812 {
813 switch( posIdx )
814 {
815 case 0:
816 return "doors_driver";
817 break;
818 case 1:
819 return "doors_codriver";
820 break;
821 case 2:
822 return "doors_cargo1";
823 break;
824 case 3:
825 return "doors_cargo2";
826 break;
827 }
828
829 return super.GetDoorSelectionNameFromSeatPos(posIdx);
830 }
831
833 {
834 switch( posIdx )
835 {
836 case 0:
837 return "CivSedanDriverDoors";
838 break;
839 case 1:
840 return "CivSedanCoDriverDoors";
841 break;
842 case 2:
843 return "CivSedanCargo1Doors";
844 break;
845 case 3:
846 return "CivSedanCargo2Doors";
847 break;
848 }
849
850 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
851 }
852
853
854
856 {
857 switch (ctrl)
858 {
860 float newValue = 0;
862 {
863 newValue += 0.25;
864 }
865
867 {
868 newValue += 0.25;
869 }
870
872 {
873 newValue += 0.25;
874 }
875
877 {
878 newValue += 0.25;
879 }
880
882 {
883 newValue -= 0.6;
884 }
885
887 {
888 newValue -= 0.6;
889 }
890
892 break;
893 }
894
895 return super.OnSound(ctrl, oldValue);
896 }
897
899 {
900 switch (selection)
901 {
902 case "doors_driver":
903 return "DoorsDriver";
904 case "doors_codriver":
905 return "DoorsCoDriver";
906 case "doors_cargo1":
907 return "DoorsCargo1";
908 case "doors_cargo2":
909 return "DoorsCargo2";
910 case "doors_hood":
911 return "DoorsHood";
912 case "doors_trunk":
913 return "DoorsTrunk";
914 }
915
916 return "";
917 }
918
920 {
921 return false;
922 }
923
925 {
926 return false;
927 }
928
930 {
931 switch (currentSeat)
932 {
933 case 0:
934 return nextSeat == 1;
935
936 case 1:
937 return nextSeat == 0;
938
939 case 2:
940 return nextSeat == 3;
941
942 case 3:
943 return nextSeat == 2;
944 }
945
946 return false;
947 }
948
950 {
951 switch (pCurrentSeat)
952 {
953 case 0:
954 return pDoorsSelection == "DoorsDriver";
955
956 case 1:
957 return pDoorsSelection == "DoorsCoDriver";
958
959 case 2:
960 return pDoorsSelection == "DoorsCargo1";
961
962 case 3:
963 return pDoorsSelection == "DoorsCargo2";
964 }
965
966 return false;
967 }
968
970 {
971 SpawnUniversalParts();
972 SpawnAdditionalItems();
973 FillUpCarFluids();
974
980
987
988
991 }
992
994 {
995 return 1.5;
996 }
997}
998
1000{
1002 {
1003 SpawnUniversalParts();
1004 SpawnAdditionalItems();
1005 FillUpCarFluids();
1006
1007 GameInventory inventory = GetInventory();
1012
1019
1020
1023 }
1024}
1025
1027{
1029 {
1030 SpawnUniversalParts();
1031 SpawnAdditionalItems();
1032 FillUpCarFluids();
1033
1034 GameInventory inventory = GetInventory();
1039
1046
1047
1050 }
1051}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
override float GetPushForceCoefficientMultiplier()
class CivilianSedan extends CarScript OnDebugSpawn()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
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()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
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)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
override void OnDebugSpawn()
Super root of all classes in Enforce script.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
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.