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

◆ OnSound()

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

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

786 : CarScript
787{
791
792 void OffroadHatchback()
793 {
794 //m_dmgContactCoef = 0.075;
795
796 m_EngineStartOK = "offroad_engine_start_SoundSet";
797 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
798 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
799 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
800 m_EngineStop = "offroad_engine_stop_SoundSet";
801 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
802
803 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
804 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
805 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
806 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
807
810
811 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
812 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
813
814 SetEnginePos("0 0.7 1.2");
815
817 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
818 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
819 }
820
821 void ~OffroadHatchback()
822 {
823 m_UTSource = null;
824 m_UTSSettings = null;
825 m_UTSLEngine = null;
826 }
827
828 override void EEInit()
829 {
830 super.EEInit();
831
832 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
833 {
835 m_UTSSettings.m_ManualUpdate = true;
837 m_UTSSettings.m_TemperatureCap = 0;
838 m_UTSSettings.m_RangeFull = 0.5;
839 m_UTSSettings.m_RangeMax = 2;
840
843 }
844 }
845
846 override bool NeedElectricitySourceDevice()
847 {
848 return true;
849 }
850
852 {
853 super.GetElectricitySourceDevice();
854
855 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
856 }
857
858 override string GetElectricitySourceDeviceType()
859 {
860 return "CarBattery";
861 }
862
863 override void OnEngineStart()
864 {
865 super.OnEngineStart();
866
867 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
868 {
869 if (m_UTSource)
870 m_UTSource.SetDefferedActive(true, 20.0);
871 }
872 }
873
874 override void OnEngineStop()
875 {
876 super.OnEngineStop();
877
878 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
879 {
880 if (m_UTSource)
881 m_UTSource.SetDefferedActive(false, 10.0);
882 }
883 }
884
885 override void EOnPostSimulate(IEntity other, float timeSlice)
886 {
887 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
888 {
889 if (m_UTSource && m_UTSource.IsActive())
890 {
892 }
893 }
894 }
895
896 override int GetAnimInstance()
897 {
898 return VehicleAnimInstances.HATCHBACK;
899 }
900
901 override float GetTransportCameraDistance()
902 {
903 return 3.5;
904 }
905
906 override int GetSeatAnimationType( int posIdx )
907 {
908 switch (posIdx)
909 {
910 case 0:
911 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
912 case 1:
913 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
914 case 2:
915 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
916 case 3:
917 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
918 }
919
920 return 0;
921
922 }
923
924 override bool CanReleaseAttachment(EntityAI attachment)
925 {
926 if (!super.CanReleaseAttachment(attachment))
927 {
928 return false;
929 }
930
931 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
932 {
933 string attType = attachment.GetType();
934 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
935 {
936 return false;
937 }
938 }
939
940 return true;
941 }
942
943 override protected bool CanManipulateSpareWheel(string slotSelectionName)
944 {
945 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
946 }
947
948 override bool CanDisplayAttachmentCategory( string category_name )
949 {
950 if (!super.CanDisplayAttachmentCategory(category_name))
951 {
952 return false;
953 }
954
955 category_name.ToLower();
956 if (category_name.Contains("engine"))
957 {
958 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
959 {
960 return false;
961 }
962 }
963
964 return true;
965 }
966
967 override bool CanDisplayCargo()
968 {
969 if (!super.CanDisplayCargo())
970 {
971 return false;
972 }
973
974 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
975 {
976 return false;
977 }
978
979 return true;
980 }
981
982 override int GetCarDoorsState(string slotType)
983 {
984 CarDoor carDoor;
985
986 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
987 if (!carDoor)
988 {
989 return CarDoorState.DOORS_MISSING;
990 }
991
992 switch (slotType)
993 {
994 case "NivaDriverDoors":
995 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
996
997 case "NivaCoDriverDoors":
998 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
999
1000 case "NivaHood":
1001 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1002
1003 case "NivaTrunk":
1004 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1005 }
1006
1007 return CarDoorState.DOORS_MISSING;
1008 }
1009
1010 override bool CrewCanGetThrough(int posIdx)
1011 {
1012 CarDoor carDoor;
1013 switch (posIdx)
1014 {
1015 case 0:
1016 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1017 return false;
1018 else if (GetAnimationPhase("SeatDriver") > 0.5)
1019 return false;
1020
1021 return true;
1022
1023 case 1:
1024 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1025 return false;
1026 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
1027 return false;
1028
1029 return true;
1030
1031 case 2:
1032 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1033 return false;
1034 else if (GetAnimationPhase("SeatDriver") <= 0.5)
1035 return false;
1036
1037 return true;
1038
1039 case 3:
1040 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1041 return false;
1042 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
1043 return false;
1044
1045 return true;
1046 }
1047
1048 return false;
1049 }
1050
1051 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1052 {
1053 switch (posIdx)
1054 {
1055 case 0:
1056 case 2:
1057 return "doors_driver";
1058 case 1:
1059 case 3:
1060 return "doors_codriver";
1061 }
1062
1063 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1064 }
1065
1066 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1067 {
1068 switch (posIdx)
1069 {
1070 case 0:
1071 case 2:
1072 return "NivaDriverDoors";
1073 case 1:
1074 case 3:
1075 return "NivaCoDriverDoors";
1076 }
1077
1078 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1079 }
1080
1081 // 0 full ambient and engine sound
1082 // 1 zero ambient and engine sound
1083 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1084 {
1085 float tempCap = 0.0;
1086
1087 switch (ctrl)
1088 {
1089 case CarSoundCtrl.DOORS:
1090 float newValue = 0;
1091 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1092 {
1093 newValue += 0.5;
1094 }
1095
1096 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1097 {
1098 newValue += 0.5;
1099 }
1100
1101 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1102 {
1103 newValue += 0.3;
1104 }
1105
1106 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1107 {
1108 newValue -= 0.6;
1109 }
1110
1111 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1112 {
1113 newValue -= 0.2;
1114 }
1115
1116 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1117 {
1118 newValue -= 0.2;
1119 }
1120
1121 return Math.Clamp(newValue, 0, 1);
1122 break;
1123 }
1124
1125 return super.OnSound(ctrl, oldValue);
1126 }
1127
1128 override string GetAnimSourceFromSelection( string selection )
1129 {
1130 switch (selection)
1131 {
1132 case "doors_driver":
1133 return "DoorsDriver";
1134 case "doors_codriver":
1135 return "DoorsCoDriver";
1136 case "doors_hood":
1137 return "DoorsHood";
1138 case "doors_trunk":
1139 return "DoorsTrunk";
1140 case "seatback_driver":
1141 return "SeatDriver";
1142 case "seatback_codriver":
1143 return "SeatCoDriver";
1144 }
1145
1146 return "";
1147 }
1148
1149 override string GetDoorConditionPointFromSelection(string selection)
1150 {
1151 switch (selection)
1152 {
1153 case "seat_driver":
1154 case "seatback_driver":
1155 case "seat_cargo1":
1156 return "seat_con_1_1";
1157 case "seat_codriver":
1158 case "seatback_codriver":
1159 case "seat_cargo2":
1160 return "seat_con_2_1";
1161 }
1162
1163 return "";
1164 }
1165
1166 override int GetCrewIndex(string selection)
1167 {
1168 switch (selection)
1169 {
1170 case "seatback_driver":
1171 return 0;
1172 case "seatback_codriver":
1173 return 1;
1174 }
1175
1176 return -1;
1177 }
1178
1179 override bool IsVitalGlowPlug()
1180 {
1181 return false;
1182 }
1183
1184 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1185 {
1186 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1187 return false;
1188
1189 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1190 return false;
1191
1192 switch (currentSeat)
1193 {
1194 case 0:
1195 return nextSeat == 1;
1196
1197 case 1:
1198 return nextSeat == 0;
1199
1200 case 2:
1201 return nextSeat == 3;
1202
1203 case 3:
1204 return nextSeat == 2;
1205 }
1206
1207 return false;
1208 }
1209
1210 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1211 {
1212 switch (pCurrentSeat)
1213 {
1214 case 0:
1215 return pDoorsSelection == "DoorsDriver";
1216
1217 case 1:
1218 return pDoorsSelection == "DoorsCoDriver";
1219
1220 case 2:
1221 return pDoorsSelection == "DoorsDriver";
1222
1223 case 3:
1224 return pDoorsSelection == "DoorsCoDriver";
1225 }
1226
1227 return false;
1228 }
1229
1230 override int GetSeatIndexFromDoor( string pDoorSelection )
1231 {
1232 switch (pDoorSelection)
1233 {
1234 case "DoorsDriver":
1235 return 0;
1236 case "DoorsCoDriver":
1237 return 1;
1238 }
1239
1240 return -1;
1241 }
1242
1243 override void SetActions()
1244 {
1245 super.SetActions();
1246
1248 }
1249
1250 override void OnDebugSpawn()
1251 {
1253 SpawnAdditionalItems();
1254 FillUpCarFluids();
1255
1256 GameInventory inventory = GetInventory();
1257 inventory.CreateInInventory("HatchbackWheel");
1258 inventory.CreateInInventory("HatchbackWheel");
1259 inventory.CreateInInventory("HatchbackWheel" );
1260 inventory.CreateInInventory("HatchbackWheel");
1261
1262 inventory.CreateInInventory("HatchbackDoors_Driver");
1263 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1264 inventory.CreateInInventory("HatchbackHood");
1265 inventory.CreateInInventory("HatchbackTrunk");
1266
1267 //-----IN CAR CARGO
1268 inventory.CreateInInventory("HatchbackWheel");
1269 inventory.CreateInInventory("HatchbackWheel");
1270 }
1271}
1272
1273class OffroadHatchback_White : OffroadHatchback
1274{
1275 override void OnDebugSpawn()
1276 {
1278 SpawnAdditionalItems();
1279 FillUpCarFluids();
1280
1281 GameInventory inventory = GetInventory();
1282 inventory.CreateInInventory("HatchbackWheel");
1283 inventory.CreateInInventory("HatchbackWheel");
1284 inventory.CreateInInventory("HatchbackWheel");
1285 inventory.CreateInInventory("HatchbackWheel");
1286
1287 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1288 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1289 inventory.CreateInInventory("HatchbackHood_White");
1290 inventory.CreateInInventory("HatchbackTrunk_White");
1291
1292
1293 //-----IN CAR CARGO
1294 inventory.CreateInInventory("HatchbackWheel");
1295 inventory.CreateInInventory("HatchbackWheel");
1296 }
1297}
1298
1300{
1301 override void OnDebugSpawn()
1302 {
1304 SpawnAdditionalItems();
1305 FillUpCarFluids();
1306
1307 GameInventory inventory = GetInventory();
1308 inventory.CreateInInventory("HatchbackWheel");
1309 inventory.CreateInInventory("HatchbackWheel");
1310 inventory.CreateInInventory("HatchbackWheel");
1311 inventory.CreateInInventory("HatchbackWheel");
1312
1313 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1314 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1315 inventory.CreateInInventory("HatchbackHood_Blue");
1316 inventory.CreateInInventory("HatchbackTrunk_Blue");
1317
1318 //-----IN CAR CARGO
1319 inventory.CreateInInventory("HatchbackWheel");
1320 inventory.CreateInInventory("HatchbackWheel");
1321 }
1322}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
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
OffroadHatchbackLightProfileFront VehicleLightProfileFront OffroadHatchbackLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override void SetActions()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override string GetDoorConditionPointFromSelection(string selection)
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()
override EntityAI GetElectricitySourceDevice()
void ~OffroadHatchback()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
OffroadHatchback CarScript OnDebugSpawn()
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override int GetSeatIndexFromDoor(string pDoorSelection)
override string GetElectricitySourceDeviceType()
void OffroadHatchback()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override int GetCrewIndex(string selection)
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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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.