710{
714
716 {
717
718
719 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
720 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
721 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
722 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
723 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
724 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
725
726 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
727 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
728
729 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
730 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
731
732 SetEnginePos("0 0.7 1.6");
733 }
734
736 {
740 }
741
743 {
744 super.EEInit();
745
747 {
754
757 }
758 }
759
761 {
762 super.OnEngineStart();
763
765 {
768 }
769 }
770
772 {
773 super.OnEngineStop();
774
776 {
779 }
780 }
781
783 {
785 {
787 {
789 }
790 }
791 }
792
794 {
796 }
797
799 {
800 return 4.5;
801 }
802
804 {
805 switch (posIdx)
806 {
807 case 0:
809 case 1:
811 case 2:
813 case 3:
815 }
816
817 return 0;
818 }
819
820
822 {
824 }
825
826
828 {
830 }
831
833 {
834 if( !super.CanReleaseAttachment( attachment ) )
835 return false;
836
837 string attType = attachment.GetType();
838
840 {
841 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
842 return false;
843 }
844
845 return true;
846 }
847
849 {
851 }
852
854 {
855
856 if (!super.CanDisplayAttachmentCategory(category_name))
857 return false;
858
859
861 if (category_name.
Contains(
"engine"))
862 {
864 return false;
865 }
866
867 return true;
868 }
869
871 {
872 if ( !super.CanDisplayCargo() )
873 return false;
874
876 return false;
877
878 return true;
879 }
880
882 {
884
885 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
886 if (!carDoor)
887 {
889 }
890
891 switch (slotType)
892 {
893 case "CivSedanDriverDoors":
894 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
895 break;
896
897 case "CivSedanCoDriverDoors":
898 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
899 break;
900
901 case "CivSedanCargo1Doors":
902 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
903 break;
904
905 case "CivSedanCargo2Doors":
906 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
907 break;
908
909 case "CivSedanTrunk":
910 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
911 break;
912
913 case "CivSedanHood":
914 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
915 break;
916 }
917
919 }
920
921
923 {
924 switch( posIdx )
925 {
926 case 0:
928 return false;
929
930 return true;
931 break;
932
933 case 1:
935 return false;
936
937 return true;
938 break;
939
940 case 2:
942 return false;
943
944 return true;
945 break;
946
947 case 3:
949 return false;
950
951 return true;
952 break;
953 }
954
955 return false;
956 }
957
959 {
960 switch( posIdx )
961 {
962 case 0:
963 return "doors_driver";
964 break;
965 case 1:
966 return "doors_codriver";
967 break;
968 case 2:
969 return "doors_cargo1";
970 break;
971 case 3:
972 return "doors_cargo2";
973 break;
974 }
975
976 return super.GetDoorSelectionNameFromSeatPos(posIdx);
977 }
978
980 {
981 switch( posIdx )
982 {
983 case 0:
984 return "CivSedanDriverDoors";
985 break;
986 case 1:
987 return "CivSedanCoDriverDoors";
988 break;
989 case 2:
990 return "CivSedanCargo1Doors";
991 break;
992 case 3:
993 return "CivSedanCargo2Doors";
994 break;
995 }
996
997 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
998 }
999
1000
1001
1003 {
1004 switch (ctrl)
1005 {
1007 float newValue = 0;
1009 {
1010 newValue += 0.25;
1011 }
1012
1014 {
1015 newValue += 0.25;
1016 }
1017
1019 {
1020 newValue += 0.25;
1021 }
1022
1024 {
1025 newValue += 0.25;
1026 }
1027
1029 {
1030 newValue -= 0.6;
1031 }
1032
1034 {
1035 newValue -= 0.6;
1036 }
1037
1039 break;
1040 }
1041
1042 return super.OnSound(ctrl, oldValue);
1043 }
1044
1046 {
1047 switch (selection)
1048 {
1049 case "doors_driver":
1050 return "DoorsDriver";
1051 case "doors_codriver":
1052 return "DoorsCoDriver";
1053 case "doors_cargo1":
1054 return "DoorsCargo1";
1055 case "doors_cargo2":
1056 return "DoorsCargo2";
1057 case "doors_hood":
1058 return "DoorsHood";
1059 case "doors_trunk":
1060 return "DoorsTrunk";
1061 }
1062
1063 return "";
1064 }
1065
1067 {
1068 return false;
1069 }
1070
1072 {
1073 return false;
1074 }
1075
1077 {
1078 switch (currentSeat)
1079 {
1080 case 0:
1081 return nextSeat == 1;
1082
1083 case 1:
1084 return nextSeat == 0;
1085
1086 case 2:
1087 return nextSeat == 3;
1088
1089 case 3:
1090 return nextSeat == 2;
1091 }
1092
1093 return false;
1094 }
1095
1097 {
1098 switch (pCurrentSeat)
1099 {
1100 case 0:
1101 return pDoorsSelection == "DoorsDriver";
1102
1103 case 1:
1104 return pDoorsSelection == "DoorsCoDriver";
1105
1106 case 2:
1107 return pDoorsSelection == "DoorsCargo1";
1108
1109 case 3:
1110 return pDoorsSelection == "DoorsCargo2";
1111 }
1112
1113 return false;
1114 }
1115
1117 {
1118 SpawnUniversalParts();
1119 SpawnAdditionalItems();
1120 FillUpCarFluids();
1121
1127
1134
1135
1138 }
1139
1141 {
1142 return 1.5;
1143 }
1144}
1145
1147{
1149 {
1150 SpawnUniversalParts();
1151 SpawnAdditionalItems();
1152 FillUpCarFluids();
1153
1154 GameInventory inventory = GetInventory();
1159
1166
1167
1170 }
1171}
1172
1174{
1176 {
1177 SpawnUniversalParts();
1178 SpawnAdditionalItems();
1179 FillUpCarFluids();
1180
1181 GameInventory inventory = GetInventory();
1186
1193
1194
1197 }
1198}
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.