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

◆ OnSound()

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

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

745{
749
750 void OffroadHatchback()
751 {
752 //m_dmgContactCoef = 0.075;
753
754 m_EngineStartOK = "offroad_engine_start_SoundSet";
755 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
756 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
757 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
758 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
759
760 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
761 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
762 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
763 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
764
765 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
766 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
767
768 SetEnginePos("0 0.7 1.2");
769 }
770
771 override void EEInit()
772 {
773 super.EEInit();
774
775 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
776 {
778 m_UTSSettings.m_ManualUpdate = true;
780 m_UTSSettings.m_TemperatureCap = 0;
781 m_UTSSettings.m_RangeFull = 0.5;
782 m_UTSSettings.m_RangeMax = 2;
783
786 }
787 }
788
789 override void OnEngineStart()
790 {
791 super.OnEngineStart();
792
793 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
794 {
795 m_UTSource.SetDefferedActive(true, 20.0);
796 }
797 }
798
799 override void OnEngineStop()
800 {
801 super.OnEngineStop();
802
803 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
804 {
805 m_UTSource.SetDefferedActive(false, 10.0);
806 }
807 }
808
809 override void EOnPostSimulate(IEntity other, float timeSlice)
810 {
811 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
812 {
813 if (m_UTSource.IsActive())
814 {
816 }
817 }
818 }
819
820 override int GetAnimInstance()
821 {
822 return VehicleAnimInstances.HATCHBACK;
823 }
824
825 override float GetTransportCameraDistance()
826 {
827 return 3.5;
828 }
829
830 override int GetSeatAnimationType( int posIdx )
831 {
832 switch (posIdx)
833 {
834 case 0:
835 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
836 case 1:
837 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
838 case 2:
839 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
840 case 3:
841 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
842 }
843
844 return 0;
845
846 }
847
848
850 {
851 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
852 }
853
855 {
856 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
857 }
858
859 override bool CanReleaseAttachment(EntityAI attachment)
860 {
861 if (!super.CanReleaseAttachment(attachment))
862 {
863 return false;
864 }
865
866 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
867 {
868 string attType = attachment.GetType();
869 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
870 {
871 return false;
872 }
873 }
874
875 return true;
876 }
877
878 override protected bool CanManipulateSpareWheel(string slotSelectionName)
879 {
880 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
881 }
882
883 override bool CanDisplayAttachmentCategory( string category_name )
884 {
885 if (!super.CanDisplayAttachmentCategory(category_name))
886 {
887 return false;
888 }
889
890 category_name.ToLower();
891 if (category_name.Contains("engine"))
892 {
893 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
894 {
895 return false;
896 }
897 }
898
899 return true;
900 }
901
902 override bool CanDisplayCargo()
903 {
904 if (!super.CanDisplayCargo())
905 {
906 return false;
907 }
908
909 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
910 {
911 return false;
912 }
913
914 return true;
915 }
916
917 override int GetCarDoorsState(string slotType)
918 {
919 CarDoor carDoor;
920
921 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
922 if (!carDoor)
923 {
924 return CarDoorState.DOORS_MISSING;
925 }
926
927 switch (slotType)
928 {
929 case "NivaDriverDoors":
930 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
931
932 case "NivaCoDriverDoors":
933 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
934
935 case "NivaHood":
936 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
937
938 case "NivaTrunk":
939 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
940 }
941
942 return CarDoorState.DOORS_MISSING;
943 }
944
945 override bool CrewCanGetThrough(int posIdx)
946 {
947 CarDoor carDoor;
948 switch (posIdx)
949 {
950 case 0:
951 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
952 return false;
953 else if (GetAnimationPhase("SeatDriver") > 0.5)
954 return false;
955
956 return true;
957
958 case 1:
959 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
960 return false;
961 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
962 return false;
963
964 return true;
965
966 case 2:
967 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
968 return false;
969 else if (GetAnimationPhase("SeatDriver") <= 0.5)
970 return false;
971
972 return true;
973
974 case 3:
975 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
976 return false;
977 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
978 return false;
979
980 return true;
981 }
982
983 return false;
984 }
985
986 override string GetDoorSelectionNameFromSeatPos(int posIdx)
987 {
988 switch (posIdx)
989 {
990 case 0:
991 case 2:
992 return "doors_driver";
993 case 1:
994 case 3:
995 return "doors_codriver";
996 }
997
998 return super.GetDoorSelectionNameFromSeatPos(posIdx);
999 }
1000
1001 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1002 {
1003 switch (posIdx)
1004 {
1005 case 0:
1006 case 2:
1007 return "NivaDriverDoors";
1008 case 1:
1009 case 3:
1010 return "NivaCoDriverDoors";
1011 }
1012
1013 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1014 }
1015
1016 // 0 full ambient and engine sound
1017 // 1 zero ambient and engine sound
1018 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1019 {
1020 float tempCap = 0.0;
1021
1022 switch (ctrl)
1023 {
1024 case CarSoundCtrl.DOORS:
1025 float newValue = 0;
1026 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1027 {
1028 newValue += 0.5;
1029 }
1030
1031 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1032 {
1033 newValue += 0.5;
1034 }
1035
1036 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1037 {
1038 newValue += 0.3;
1039 }
1040
1041 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1042 {
1043 newValue -= 0.6;
1044 }
1045
1046 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1047 {
1048 newValue -= 0.2;
1049 }
1050
1051 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1052 {
1053 newValue -= 0.2;
1054 }
1055
1056 return Math.Clamp(newValue, 0, 1);
1057 break;
1058 }
1059
1060 return super.OnSound(ctrl, oldValue);
1061 }
1062
1063 override string GetAnimSourceFromSelection( string selection )
1064 {
1065 switch (selection)
1066 {
1067 case "doors_driver":
1068 return "DoorsDriver";
1069 case "doors_codriver":
1070 return "DoorsCoDriver";
1071 case "doors_hood":
1072 return "DoorsHood";
1073 case "doors_trunk":
1074 return "DoorsTrunk";
1075 case "seatback_driver":
1076 return "SeatDriver";
1077 case "seatback_codriver":
1078 return "SeatCoDriver";
1079 }
1080
1081 return "";
1082 }
1083
1084 override string GetDoorConditionPointFromSelection(string selection)
1085 {
1086 switch (selection)
1087 {
1088 case "seat_driver":
1089 case "seatback_driver":
1090 case "seat_cargo1":
1091 return "seat_con_1_1";
1092 case "seat_codriver":
1093 case "seatback_codriver":
1094 case "seat_cargo2":
1095 return "seat_con_2_1";
1096 }
1097
1098 return "";
1099 }
1100
1101 override int GetCrewIndex(string selection)
1102 {
1103 switch (selection)
1104 {
1105 case "seatback_driver":
1106 return 0;
1107 case "seatback_codriver":
1108 return 1;
1109 }
1110
1111 return -1;
1112 }
1113
1114 override bool IsVitalTruckBattery()
1115 {
1116 return false;
1117 }
1118
1119 override bool IsVitalGlowPlug()
1120 {
1121 return false;
1122 }
1123
1124 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1125 {
1126 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1127 return false;
1128
1129 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1130 return false;
1131
1132 switch (currentSeat)
1133 {
1134 case 0:
1135 return nextSeat == 1;
1136
1137 case 1:
1138 return nextSeat == 0;
1139
1140 case 2:
1141 return nextSeat == 3;
1142
1143 case 3:
1144 return nextSeat == 2;
1145 }
1146
1147 return false;
1148 }
1149
1150 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1151 {
1152 switch (pCurrentSeat)
1153 {
1154 case 0:
1155 return pDoorsSelection == "DoorsDriver";
1156
1157 case 1:
1158 return pDoorsSelection == "DoorsCoDriver";
1159
1160 case 2:
1161 return pDoorsSelection == "DoorsDriver";
1162
1163 case 3:
1164 return pDoorsSelection == "DoorsCoDriver";
1165 }
1166
1167 return false;
1168 }
1169
1170 override int GetSeatIndexFromDoor( string pDoorSelection )
1171 {
1172 switch (pDoorSelection)
1173 {
1174 case "DoorsDriver":
1175 return 0;
1176 case "DoorsCoDriver":
1177 return 1;
1178 }
1179
1180 return -1;
1181 }
1182
1183 override void SetActions()
1184 {
1185 super.SetActions();
1186
1188 }
1189
1190 override void OnDebugSpawn()
1191 {
1195
1196 GetInventory().CreateInInventory("HatchbackWheel");
1197 GetInventory().CreateInInventory("HatchbackWheel");
1198 GetInventory().CreateInInventory("HatchbackWheel" );
1199 GetInventory().CreateInInventory("HatchbackWheel");
1200
1201 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1202 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1203 GetInventory().CreateInInventory("HatchbackHood");
1204 GetInventory().CreateInInventory("HatchbackTrunk");
1205
1206 //-----IN CAR CARGO
1207 GetInventory().CreateInInventory("HatchbackWheel");
1208 GetInventory().CreateInInventory("HatchbackWheel");
1209 }
1210}
1211
1212class OffroadHatchback_White extends OffroadHatchback
1213{
1214 override void OnDebugSpawn()
1215 {
1219
1220 GetInventory().CreateInInventory("HatchbackWheel");
1221 GetInventory().CreateInInventory("HatchbackWheel");
1222 GetInventory().CreateInInventory("HatchbackWheel");
1223 GetInventory().CreateInInventory("HatchbackWheel");
1224
1225 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1226 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1227 GetInventory().CreateInInventory("HatchbackHood_White");
1228 GetInventory().CreateInInventory("HatchbackTrunk_White");
1229
1230 //-----IN CAR CARGO
1231 GetInventory().CreateInInventory("HatchbackWheel");
1232 GetInventory().CreateInInventory("HatchbackWheel");
1233 }
1234}
1235
1236class OffroadHatchback_Blue extends OffroadHatchback
1237{
1238 override void OnDebugSpawn()
1239 {
1243
1244 GetInventory().CreateInInventory("HatchbackWheel");
1245 GetInventory().CreateInInventory("HatchbackWheel");
1246 GetInventory().CreateInInventory("HatchbackWheel");
1247 GetInventory().CreateInInventory("HatchbackWheel");
1248
1249 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1250 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1251 GetInventory().CreateInInventory("HatchbackHood_Blue");
1252 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1253
1254 //-----IN CAR CARGO
1255 GetInventory().CreateInInventory("HatchbackWheel");
1256 GetInventory().CreateInInventory("HatchbackWheel");
1257 }
1258}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
string m_CarSeatShiftInSound
Определения CarScript.c:215
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
Определения CarScript.c:2513
CarDoorState
Определения CarScript.c:2
void SpawnAdditionalItems()
Определения CarScript.c:2839
string m_EngineStartOK
Sounds.
Определения CarScript.c:207
string m_CarDoorCloseSound
Определения CarScript.c:214
string m_EngineStartBattery
Определения CarScript.c:208
string m_EngineStartPlug
Определения CarScript.c:209
string m_EngineStartFuel
Определения CarScript.c:210
string m_CarHornShortSoundName
Определения CarScript.c:218
void FillUpCarFluids()
Определения CarScript.c:2869
string m_CarHornLongSoundName
Определения CarScript.c:219
string m_EngineStopFuel
Определения CarScript.c:211
string m_CarSeatShiftOutSound
Определения CarScript.c:216
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override void SetActions()
Определения OffroadHatchback.c:909
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:850
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:789
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:556
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:810
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:744
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:727
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:535
override void OnEngineStop()
Определения OffroadHatchback.c:525
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:551
override void EEInit()
Определения OffroadHatchback.c:497
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:585
override bool CanDisplayCargo()
Определения OffroadHatchback.c:628
override void OnEngineStart()
Определения OffroadHatchback.c:515
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:580
override int GetAnimInstance()
Определения OffroadHatchback.c:546
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:671
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:876
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:604
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:845
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:575
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:471
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:896
void OffroadHatchback()
Определения OffroadHatchback.c:476
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:840
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:712
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:643
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:827
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:609
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:495
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:38
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
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
Определения constants.c:806
const int STATE_RUINED
Определения constants.c:846
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.