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

◆ OnSound()

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

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

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