653{
657
659 {
660
661
662 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
663 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
664 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
665 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
666 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
667 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
668
669 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
670 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
671
672 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
673 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
674
675 SetEnginePos("0 0.7 1.6");
676 }
677
679 {
683 }
684
686 {
687 super.EEInit();
688
690 {
697
700 }
701 }
702
704 {
705 super.OnEngineStart();
706
708 {
711 }
712 }
713
715 {
716 super.OnEngineStop();
717
719 {
722 }
723 }
724
726 {
728 {
730 {
732 }
733 }
734 }
735
737 {
739 }
740
742 {
743 return 4.5;
744 }
745
747 {
748 switch (posIdx)
749 {
750 case 0:
752 case 1:
754 case 2:
756 case 3:
758 }
759
760 return 0;
761 }
762
763
765 {
767 }
768
769
771 {
773 }
774
776 {
777 if( !super.CanReleaseAttachment( attachment ) )
778 return false;
779
780 string attType = attachment.GetType();
781
783 {
784 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
785 return false;
786 }
787
788 return true;
789 }
790
792 {
794 }
795
797 {
798
799 if (!super.CanDisplayAttachmentCategory(category_name))
800 return false;
801
802
804 if (category_name.
Contains(
"engine"))
805 {
807 return false;
808 }
809
810 return true;
811 }
812
814 {
815 if ( !super.CanDisplayCargo() )
816 return false;
817
819 return false;
820
821 return true;
822 }
823
825 {
827
828 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
829 if (!carDoor)
830 {
832 }
833
834 switch (slotType)
835 {
836 case "CivSedanDriverDoors":
837 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
838 break;
839
840 case "CivSedanCoDriverDoors":
841 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
842 break;
843
844 case "CivSedanCargo1Doors":
845 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
846 break;
847
848 case "CivSedanCargo2Doors":
849 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
850 break;
851
852 case "CivSedanTrunk":
853 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
854 break;
855
856 case "CivSedanHood":
857 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
858 break;
859 }
860
862 }
863
864
866 {
867 switch( posIdx )
868 {
869 case 0:
871 return false;
872
873 return true;
874 break;
875
876 case 1:
878 return false;
879
880 return true;
881 break;
882
883 case 2:
885 return false;
886
887 return true;
888 break;
889
890 case 3:
892 return false;
893
894 return true;
895 break;
896 }
897
898 return false;
899 }
900
902 {
903 switch( posIdx )
904 {
905 case 0:
906 return "doors_driver";
907 break;
908 case 1:
909 return "doors_codriver";
910 break;
911 case 2:
912 return "doors_cargo1";
913 break;
914 case 3:
915 return "doors_cargo2";
916 break;
917 }
918
919 return super.GetDoorSelectionNameFromSeatPos(posIdx);
920 }
921
923 {
924 switch( posIdx )
925 {
926 case 0:
927 return "CivSedanDriverDoors";
928 break;
929 case 1:
930 return "CivSedanCoDriverDoors";
931 break;
932 case 2:
933 return "CivSedanCargo1Doors";
934 break;
935 case 3:
936 return "CivSedanCargo2Doors";
937 break;
938 }
939
940 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
941 }
942
943
944
946 {
947 switch (ctrl)
948 {
950 float newValue = 0;
952 {
953 newValue += 0.25;
954 }
955
957 {
958 newValue += 0.25;
959 }
960
962 {
963 newValue += 0.25;
964 }
965
967 {
968 newValue += 0.25;
969 }
970
972 {
973 newValue -= 0.6;
974 }
975
977 {
978 newValue -= 0.6;
979 }
980
982 break;
983 }
984
985 return super.OnSound(ctrl, oldValue);
986 }
987
989 {
990 switch (selection)
991 {
992 case "doors_driver":
993 return "DoorsDriver";
994 case "doors_codriver":
995 return "DoorsCoDriver";
996 case "doors_cargo1":
997 return "DoorsCargo1";
998 case "doors_cargo2":
999 return "DoorsCargo2";
1000 case "doors_hood":
1001 return "DoorsHood";
1002 case "doors_trunk":
1003 return "DoorsTrunk";
1004 }
1005
1006 return "";
1007 }
1008
1010 {
1011 return false;
1012 }
1013
1015 {
1016 return false;
1017 }
1018
1020 {
1021 switch (currentSeat)
1022 {
1023 case 0:
1024 return nextSeat == 1;
1025
1026 case 1:
1027 return nextSeat == 0;
1028
1029 case 2:
1030 return nextSeat == 3;
1031
1032 case 3:
1033 return nextSeat == 2;
1034 }
1035
1036 return false;
1037 }
1038
1040 {
1041 switch (pCurrentSeat)
1042 {
1043 case 0:
1044 return pDoorsSelection == "DoorsDriver";
1045
1046 case 1:
1047 return pDoorsSelection == "DoorsCoDriver";
1048
1049 case 2:
1050 return pDoorsSelection == "DoorsCargo1";
1051
1052 case 3:
1053 return pDoorsSelection == "DoorsCargo2";
1054 }
1055
1056 return false;
1057 }
1058
1060 {
1061 SpawnUniversalParts();
1062 SpawnAdditionalItems();
1063 FillUpCarFluids();
1064
1070
1077
1078
1081 }
1082
1084 {
1085 return 1.5;
1086 }
1087}
1088
1090{
1092 {
1093 SpawnUniversalParts();
1094 SpawnAdditionalItems();
1095 FillUpCarFluids();
1096
1097 GameInventory inventory = GetInventory();
1102
1109
1110
1113 }
1114}
1115
1117{
1119 {
1120 SpawnUniversalParts();
1121 SpawnAdditionalItems();
1122 FillUpCarFluids();
1123
1124 GameInventory inventory = GetInventory();
1129
1136
1137
1140 }
1141}
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.