733{
737
739 {
740
741
742 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
743 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
744 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
745 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
746 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
747 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
748
749 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
750 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
751
752 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
753 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
754
755 SetEnginePos("0 0.7 1.6");
756 }
757
759 {
763 }
764
766 {
767 super.EEInit();
768
770 {
777
780 }
781 }
782
784 {
785 super.OnEngineStart();
786
788 {
791 }
792 }
793
795 {
796 super.OnEngineStop();
797
799 {
802 }
803 }
804
806 {
808 {
810 {
812 }
813 }
814 }
815
817 {
819 }
820
822 {
823 return 4.5;
824 }
825
827 {
828 switch (posIdx)
829 {
830 case 0:
832 case 1:
834 case 2:
836 case 3:
838 }
839
840 return 0;
841 }
842
843
845 {
847 }
848
849
851 {
853 }
854
856 {
857 if( !super.CanReleaseAttachment( attachment ) )
858 return false;
859
860 string attType = attachment.GetType();
861
863 {
864 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
865 return false;
866 }
867
868 return true;
869 }
870
872 {
874 }
875
877 {
878
879 if (!super.CanDisplayAttachmentCategory(category_name))
880 return false;
881
882
884 if (category_name.
Contains(
"engine"))
885 {
887 return false;
888 }
889
890 return true;
891 }
892
894 {
895 if ( !super.CanDisplayCargo() )
896 return false;
897
899 return false;
900
901 return true;
902 }
903
905 {
907
908 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
909 if (!carDoor)
910 {
912 }
913
914 switch (slotType)
915 {
916 case "CivSedanDriverDoors":
917 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
918 break;
919
920 case "CivSedanCoDriverDoors":
921 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
922 break;
923
924 case "CivSedanCargo1Doors":
925 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
926 break;
927
928 case "CivSedanCargo2Doors":
929 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
930 break;
931
932 case "CivSedanTrunk":
933 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
934 break;
935
936 case "CivSedanHood":
937 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
938 break;
939 }
940
942 }
943
944
946 {
947 switch( posIdx )
948 {
949 case 0:
951 return false;
952
953 return true;
954 break;
955
956 case 1:
958 return false;
959
960 return true;
961 break;
962
963 case 2:
965 return false;
966
967 return true;
968 break;
969
970 case 3:
972 return false;
973
974 return true;
975 break;
976 }
977
978 return false;
979 }
980
982 {
983 switch( posIdx )
984 {
985 case 0:
986 return "doors_driver";
987 break;
988 case 1:
989 return "doors_codriver";
990 break;
991 case 2:
992 return "doors_cargo1";
993 break;
994 case 3:
995 return "doors_cargo2";
996 break;
997 }
998
999 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1000 }
1001
1003 {
1004 switch( posIdx )
1005 {
1006 case 0:
1007 return "CivSedanDriverDoors";
1008 break;
1009 case 1:
1010 return "CivSedanCoDriverDoors";
1011 break;
1012 case 2:
1013 return "CivSedanCargo1Doors";
1014 break;
1015 case 3:
1016 return "CivSedanCargo2Doors";
1017 break;
1018 }
1019
1020 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1021 }
1022
1023
1024
1026 {
1027 switch (ctrl)
1028 {
1030 float newValue = 0;
1032 {
1033 newValue += 0.25;
1034 }
1035
1037 {
1038 newValue += 0.25;
1039 }
1040
1042 {
1043 newValue += 0.25;
1044 }
1045
1047 {
1048 newValue += 0.25;
1049 }
1050
1052 {
1053 newValue -= 0.6;
1054 }
1055
1057 {
1058 newValue -= 0.6;
1059 }
1060
1062 break;
1063 }
1064
1065 return super.OnSound(ctrl, oldValue);
1066 }
1067
1069 {
1070 switch (selection)
1071 {
1072 case "doors_driver":
1073 return "DoorsDriver";
1074 case "doors_codriver":
1075 return "DoorsCoDriver";
1076 case "doors_cargo1":
1077 return "DoorsCargo1";
1078 case "doors_cargo2":
1079 return "DoorsCargo2";
1080 case "doors_hood":
1081 return "DoorsHood";
1082 case "doors_trunk":
1083 return "DoorsTrunk";
1084 }
1085
1086 return "";
1087 }
1088
1090 {
1091 return false;
1092 }
1093
1095 {
1096 return false;
1097 }
1098
1100 {
1101 switch (currentSeat)
1102 {
1103 case 0:
1104 return nextSeat == 1;
1105
1106 case 1:
1107 return nextSeat == 0;
1108
1109 case 2:
1110 return nextSeat == 3;
1111
1112 case 3:
1113 return nextSeat == 2;
1114 }
1115
1116 return false;
1117 }
1118
1120 {
1121 switch (pCurrentSeat)
1122 {
1123 case 0:
1124 return pDoorsSelection == "DoorsDriver";
1125
1126 case 1:
1127 return pDoorsSelection == "DoorsCoDriver";
1128
1129 case 2:
1130 return pDoorsSelection == "DoorsCargo1";
1131
1132 case 3:
1133 return pDoorsSelection == "DoorsCargo2";
1134 }
1135
1136 return false;
1137 }
1138
1140 {
1141 SpawnUniversalParts();
1142 SpawnAdditionalItems();
1143 FillUpCarFluids();
1144
1150
1157
1158
1161 }
1162
1164 {
1165 return 1.5;
1166 }
1167}
1168
1170{
1172 {
1173 SpawnUniversalParts();
1174 SpawnAdditionalItems();
1175 FillUpCarFluids();
1176
1177 GameInventory inventory = GetInventory();
1182
1189
1190
1193 }
1194}
1195
1197{
1199 {
1200 SpawnUniversalParts();
1201 SpawnAdditionalItems();
1202 FillUpCarFluids();
1203
1204 GameInventory inventory = GetInventory();
1209
1216
1217
1220 }
1221}
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.