582{
586
588 {
589
590
591 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
592 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
593 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
594 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
595 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
596 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
597
598 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
599 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
600
601 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
602 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
603
604 SetEnginePos("0 0.7 1.6");
605 }
606
608 {
609 super.EEInit();
610
612 {
619
622 }
623 }
624
626 {
627 super.OnEngineStart();
628
630 {
632 }
633 }
634
636 {
637 super.OnEngineStop();
638
640 {
642 }
643 }
644
646 {
648 {
650 {
652 }
653 }
654 }
655
657 {
659 }
660
662 {
663 return 4.5;
664 }
665
667 {
668 switch (posIdx)
669 {
670 case 0:
672 case 1:
674 case 2:
676 case 3:
678 }
679
680 return 0;
681 }
682
683
685 {
687 }
688
689
691 {
693 }
694
696 {
697 if( !super.CanReleaseAttachment( attachment ) )
698 return false;
699
700 string attType = attachment.GetType();
701
703 {
704 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
705 return false;
706 }
707
708 return true;
709 }
710
712 {
714 }
715
717 {
718
719 if (!super.CanDisplayAttachmentCategory(category_name))
720 return false;
721
722
724 if (category_name.
Contains(
"engine"))
725 {
727 return false;
728 }
729
730 return true;
731 }
732
734 {
735 if ( !super.CanDisplayCargo() )
736 return false;
737
739 return false;
740
741 return true;
742 }
743
745 {
747
748 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
749 if (!carDoor)
750 {
752 }
753
754 switch (slotType)
755 {
756 case "CivSedanDriverDoors":
757 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
758 break;
759
760 case "CivSedanCoDriverDoors":
761 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
762 break;
763
764 case "CivSedanCargo1Doors":
765 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
766 break;
767
768 case "CivSedanCargo2Doors":
769 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
770 break;
771
772 case "CivSedanTrunk":
773 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
774 break;
775
776 case "CivSedanHood":
777 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
778 break;
779 }
780
782 }
783
784
786 {
787 switch( posIdx )
788 {
789 case 0:
791 return false;
792
793 return true;
794 break;
795
796 case 1:
798 return false;
799
800 return true;
801 break;
802
803 case 2:
805 return false;
806
807 return true;
808 break;
809
810 case 3:
812 return false;
813
814 return true;
815 break;
816 }
817
818 return false;
819 }
820
822 {
823 switch( posIdx )
824 {
825 case 0:
826 return "doors_driver";
827 break;
828 case 1:
829 return "doors_codriver";
830 break;
831 case 2:
832 return "doors_cargo1";
833 break;
834 case 3:
835 return "doors_cargo2";
836 break;
837 }
838
839 return super.GetDoorSelectionNameFromSeatPos(posIdx);
840 }
841
843 {
844 switch( posIdx )
845 {
846 case 0:
847 return "CivSedanDriverDoors";
848 break;
849 case 1:
850 return "CivSedanCoDriverDoors";
851 break;
852 case 2:
853 return "CivSedanCargo1Doors";
854 break;
855 case 3:
856 return "CivSedanCargo2Doors";
857 break;
858 }
859
860 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
861 }
862
863
864
866 {
867 switch (ctrl)
868 {
870 float newValue = 0;
872 {
873 newValue += 0.25;
874 }
875
877 {
878 newValue += 0.25;
879 }
880
882 {
883 newValue += 0.25;
884 }
885
887 {
888 newValue += 0.25;
889 }
890
892 {
893 newValue -= 0.6;
894 }
895
897 {
898 newValue -= 0.6;
899 }
900
902 break;
903 }
904
905 return super.OnSound(ctrl, oldValue);
906 }
907
909 {
910 switch (selection)
911 {
912 case "doors_driver":
913 return "DoorsDriver";
914 case "doors_codriver":
915 return "DoorsCoDriver";
916 case "doors_cargo1":
917 return "DoorsCargo1";
918 case "doors_cargo2":
919 return "DoorsCargo2";
920 case "doors_hood":
921 return "DoorsHood";
922 case "doors_trunk":
923 return "DoorsTrunk";
924 }
925
926 return "";
927 }
928
930 {
931 return false;
932 }
933
935 {
936 return false;
937 }
938
940 {
941 switch (currentSeat)
942 {
943 case 0:
944 return nextSeat == 1;
945
946 case 1:
947 return nextSeat == 0;
948
949 case 2:
950 return nextSeat == 3;
951
952 case 3:
953 return nextSeat == 2;
954 }
955
956 return false;
957 }
958
960 {
961 switch (pCurrentSeat)
962 {
963 case 0:
964 return pDoorsSelection == "DoorsDriver";
965
966 case 1:
967 return pDoorsSelection == "DoorsCoDriver";
968
969 case 2:
970 return pDoorsSelection == "DoorsCargo1";
971
972 case 3:
973 return pDoorsSelection == "DoorsCargo2";
974 }
975
976 return false;
977 }
978
980 {
981 SpawnUniversalParts();
982 SpawnAdditionalItems();
983 FillUpCarFluids();
984
985 GetInventory().CreateInInventory("CivSedanWheel");
986 GetInventory().CreateInInventory("CivSedanWheel");
987 GetInventory().CreateInInventory("CivSedanWheel");
988 GetInventory().CreateInInventory("CivSedanWheel");
989
990 GetInventory().CreateInInventory("CivSedanDoors_Driver");
991 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
992 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
993 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
994 GetInventory().CreateInInventory("CivSedanHood");
995 GetInventory().CreateInInventory("CivSedanTrunk");
996
997
998 GetInventory().CreateInInventory("CivSedanWheel");
999 GetInventory().CreateInInventory("CivSedanWheel");
1000 }
1001
1003 {
1004 return 1.5;
1005 }
1006}
1007
1009{
1011 {
1012 SpawnUniversalParts();
1013 SpawnAdditionalItems();
1014 FillUpCarFluids();
1015
1016 GetInventory().CreateInInventory("CivSedanWheel");
1017 GetInventory().CreateInInventory("CivSedanWheel");
1018 GetInventory().CreateInInventory("CivSedanWheel");
1019 GetInventory().CreateInInventory("CivSedanWheel");
1020
1021 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1022 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1023 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1024 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1025 GetInventory().CreateInInventory("CivSedanHood_Wine");
1026 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1027
1028
1029 GetInventory().CreateInInventory("CivSedanWheel");
1030 GetInventory().CreateInInventory("CivSedanWheel");
1031 }
1032}
1033
1035{
1037 {
1038 SpawnUniversalParts();
1039 SpawnAdditionalItems();
1040 FillUpCarFluids();
1041
1042 GetInventory().CreateInInventory("CivSedanWheel");
1043 GetInventory().CreateInInventory("CivSedanWheel");
1044 GetInventory().CreateInInventory("CivSedanWheel");
1045 GetInventory().CreateInInventory("CivSedanWheel");
1046
1047 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1048 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1049 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1050 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1051 GetInventory().CreateInInventory("CivSedanHood_Black");
1052 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1053
1054
1055 GetInventory().CreateInInventory("CivSedanWheel");
1056 GetInventory().CreateInInventory("CivSedanWheel");
1057 }
1058}
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.
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.