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

◆ OnSound()

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

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

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