DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnSound()

override float OnDebugSpawn::OnSound ( CarSoundCtrl ctrl,
float oldValue )
protected

См. определение в файле Vehicles/InheritedCars/Offroad_02.c строка 778

778 : CarScript
779{
783
784 void Offroad_02()
785 {
786 //m_dmgContactCoef = 0.0365;
787
788 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
789 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
790 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
791 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
792 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
793 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
794
795 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
796 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
797
798 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
799 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
800
801 m_LightsComponent.RegisterSelection("BrakesOn", {
802 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
803 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
804 });
805 m_LightsComponent.RegisterSelection("BrakesOff", {
806 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
807 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
808 });
809
810 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
811 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
812
813 SetEnginePos("0 0.7 1.7");
814
816 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
817 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
818 }
819
820 void ~Offroad_02()
821 {
822 m_UTSource = null;
823 m_UTSSettings = null;
824 m_UTSLEngine = null;
825 }
826
827 override void EEInit()
828 {
829 super.EEInit();
830
831 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
832 {
834 m_UTSSettings.m_ManualUpdate = true;
836 m_UTSSettings.m_TemperatureCap = 0;
837 m_UTSSettings.m_RangeFull = 0.5;
838 m_UTSSettings.m_RangeMax = 2;
839
842 }
843 }
844
845 override bool HasGangedTailAndBrakeLights()
846 {
847 return true;
848 }
849
850 override bool NeedElectricitySourceDevice()
851 {
852 return true;
853 }
854
856 {
857 super.GetElectricitySourceDevice();
858
859 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
860 }
861
862 override string GetElectricitySourceDeviceType()
863 {
864 return "CarBattery";
865 }
866
867 override void OnEngineStart()
868 {
869 super.OnEngineStart();
870
871 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
872 {
873 if (m_UTSource)
874 m_UTSource.SetDefferedActive(true, 20.0);
875 }
876 }
877
878 override void OnEngineStop()
879 {
880 super.OnEngineStop();
881
882 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
883 {
884 if (m_UTSource)
885 m_UTSource.SetDefferedActive(false, 10.0);
886 }
887 }
888
889 override void EOnPostSimulate(IEntity other, float timeSlice)
890 {
891 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
892 {
893 if (m_UTSource && m_UTSource.IsActive())
894 {
896 }
897 }
898 }
899
900 override int GetAnimInstance()
901 {
902 return VehicleAnimInstances.HMMWV;
903 }
904
905 override float GetTransportCameraDistance()
906 {
907 return 5.1;
908 }
909
910 override float GetWeightCoef()
911 {
912 return 1.5;
913 }
914
915 override int GetSeatAnimationType(int posIdx)
916 {
917 switch (posIdx)
918 {
919 case 0:
920 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
921 case 1:
922 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
923 case 2:
924 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
925 case 3:
926 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
927 }
928
929 return 0;
930 }
931
932 override bool CanReleaseAttachment( EntityAI attachment )
933 {
934 if (!super.CanReleaseAttachment(attachment))
935 {
936 return false;
937 }
938
939 string attType = attachment.GetType();
940 switch (attType)
941 {
942 case "CarBattery":
943 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
944 {
945 return false;
946 }
947 break;
948
949 case "GlowPlug":
950 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
951 {
952 return false;
953 }
954 break;
955 }
956
957 return true;
958 }
959
960 override protected bool CanManipulateSpareWheel(string slotSelectionName)
961 {
962 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
963 }
964
965 override bool CanDisplayAttachmentCategory(string category_name)
966 {
967 if ( !super.CanDisplayAttachmentCategory(category_name))
968 {
969 return false;
970 }
971
972 category_name.ToLower();
973 if (category_name.Contains("engine"))
974 {
975 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
976 {
977 return false;
978 }
979 }
980
981 return true;
982 }
983
984 override bool CanDisplayCargo()
985 {
986 if ( !super.CanDisplayCargo() )
987 return false;
988
989 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
990 return false;
991
992 return true;
993 }
994
995 override int GetCarDoorsState(string slotType)
996 {
997 CarDoor carDoor;
998
999 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1000 if (!carDoor)
1001 {
1002 return CarDoorState.DOORS_MISSING;
1003 }
1004
1005 switch (slotType)
1006 {
1007 case "Offroad_02_Door_1_1":
1008 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1009
1010 case "Offroad_02_Door_2_1":
1011 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1012
1013 case "Offroad_02_Door_1_2":
1014 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1015
1016 case "Offroad_02_Door_2_2":
1017 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1018
1019 case "Offroad_02_Hood":
1020 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1021
1022 case "Offroad_02_Trunk":
1023 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1024 }
1025
1026 return CarDoorState.DOORS_MISSING;
1027 }
1028
1029
1030 override bool CrewCanGetThrough( int posIdx )
1031 {
1032 switch( posIdx )
1033 {
1034 case 0:
1035 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1036 return false;
1037
1038 return true;
1039 break;
1040
1041 case 1:
1042 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1043 return false;
1044
1045 return true;
1046 break;
1047
1048 case 2:
1049 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1050 return false;
1051
1052 return true;
1053 break;
1054
1055 case 3:
1056 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1057 return false;
1058
1059 return true;
1060 break;
1061 }
1062
1063 return false;
1064 }
1065
1066 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1067 {
1068 switch( posIdx )
1069 {
1070 case 0:
1071 return "doors_driver";
1072 break;
1073 case 1:
1074 return "doors_codriver";
1075 break;
1076 case 2:
1077 return "doors_cargo1";
1078 break;
1079 case 3:
1080 return "doors_cargo2";
1081 break;
1082 }
1083
1084 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1085 }
1086
1087 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1088 {
1089 switch (posIdx)
1090 {
1091 case 0:
1092 return "Offroad_02_Door_1_1";
1093 case 1:
1094 return "Offroad_02_Door_2_1";
1095 case 2:
1096 return "Offroad_02_Door_1_2";
1097 case 3:
1098 return "Offroad_02_Door_2_2";
1099 }
1100
1101 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1102 }
1103
1104 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1105 {
1106 switch ( ctrl )
1107 {
1108 case CarSoundCtrl.DOORS:
1109 float newValue = 0;
1110 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1111 {
1112 newValue += 0.25;
1113 }
1114
1115 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1116 {
1117 newValue += 0.25;
1118 }
1119
1120 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1121 {
1122 newValue += 0.25;
1123 }
1124
1125 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1126 {
1127 newValue += 0.25;
1128 }
1129
1130 return Math.Clamp(newValue, 0, 1);
1131 break;
1132 }
1133
1134 return super.OnSound(ctrl, oldValue);
1135 }
1136
1137 override string GetAnimSourceFromSelection(string selection)
1138 {
1139 switch (selection)
1140 {
1141 case "doors_driver":
1142 return "DoorsDriver";
1143 case "doors_codriver":
1144 return "DoorsCoDriver";
1145 case "doors_cargo1":
1146 return "DoorsCargo1";
1147 case "doors_cargo2":
1148 return "DoorsCargo2";
1149 case "doors_hood":
1150 return "DoorsHood";
1151 case "doors_trunk":
1152 return "DoorsTrunk";
1153 }
1154
1155 return "";
1156 }
1157
1158 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1159 {
1160 switch (currentSeat)
1161 {
1162 case 0:
1163 return nextSeat == 1;
1164 case 1:
1165 return nextSeat == 0;
1166 case 2:
1167 return nextSeat == 3;
1168 case 3:
1169 return nextSeat == 2;
1170 }
1171
1172 return false;
1173 }
1174
1175 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1176 {
1177 switch (pCurrentSeat)
1178 {
1179 case 0:
1180 return pDoorsSelection == "DoorsDriver";
1181 case 1:
1182 return pDoorsSelection == "DoorsCoDriver";
1183 case 2:
1184 return pDoorsSelection == "DoorsCargo1";
1185 case 3:
1186 return pDoorsSelection == "DoorsCargo2";
1187 }
1188
1189 return false;
1190 }
1191
1192 override bool IsVitalSparkPlug()
1193 {
1194 return false;
1195 }
1196
1197 override bool IsVitalRadiator()
1198 {
1199 return false;
1200 }
1201
1202 override void OnDebugSpawn()
1203 {
1205 SpawnAdditionalItems();
1206 FillUpCarFluids();
1207
1208 GameInventory inventory = GetInventory();
1209 inventory.CreateInInventory("Offroad_02_Wheel");
1210 inventory.CreateInInventory("Offroad_02_Wheel");
1211 inventory.CreateInInventory("Offroad_02_Wheel");
1212 inventory.CreateInInventory("Offroad_02_Wheel");
1213
1214 inventory.CreateInInventory("Offroad_02_Door_1_1");
1215 inventory.CreateInInventory("Offroad_02_Door_1_2");
1216 inventory.CreateInInventory("Offroad_02_Door_2_1");
1217 inventory.CreateInInventory("Offroad_02_Door_2_2");
1218 inventory.CreateInInventory("Offroad_02_Hood");
1219 inventory.CreateInInventory("Offroad_02_Trunk");
1220
1221 //-----IN CAR CARGO
1222 inventory.CreateInInventory("Offroad_02_Wheel");
1223 inventory.CreateInInventory("Offroad_02_Wheel");
1224 }
1225}
1226
1227
1228class Offroad_02_Beige : Offroad_02
1229{
1230 override void OnDebugSpawn()
1231 {
1233 SpawnAdditionalItems();
1234 FillUpCarFluids();
1235
1236 GetInventory().CreateInInventory("Offroad_02_Wheel");
1237 GetInventory().CreateInInventory("Offroad_02_Wheel");
1238 GetInventory().CreateInInventory("Offroad_02_Wheel");
1239 GetInventory().CreateInInventory("Offroad_02_Wheel");
1240
1241 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1242 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1243 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1244 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1245 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1246 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1247
1248 //-----IN CAR CARGO
1249 GetInventory().CreateInInventory("Offroad_02_Wheel");
1250 GetInventory().CreateInInventory("Offroad_02_Wheel");
1251 }
1252}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
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()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
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
Определения 3_Game/DayZ/constants.c:856
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.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.