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

◆ OnSound()

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

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

751 : CarScript
752{
756
757 void CivilianSedan()
758 {
759 //m_dmgContactCoef = 0.065;
760
761 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
762 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
763 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
764 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
765 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
766 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
767
768 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
769 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
770
771 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new CivilianSedanLightProfileFront()));
772 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new CivilianSedanLightProfileRear()));
773
774 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "CivilianSedan_Horn_Short_SoundSet");
775 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "CivilianSedan_Horn_SoundSet");
776
777 SetEnginePos("0 0.7 1.6");
778
780 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
781 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
782 }
783
784 void ~CivilianSedan()
785 {
786 m_UTSource = null;
787 m_UTSSettings = null;
788 m_UTSLEngine = null;
789 }
790
791 override void EEInit()
792 {
793 super.EEInit();
794
795 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
796 {
798 m_UTSSettings.m_ManualUpdate = true;
800 m_UTSSettings.m_TemperatureCap = 0;
801 m_UTSSettings.m_RangeFull = 0.5;
802 m_UTSSettings.m_RangeMax = 2;
803
806 }
807 }
808
809 override bool NeedElectricitySourceDevice()
810 {
811 return true;
812 }
813
815 {
816 super.GetElectricitySourceDevice();
817
818 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
819 }
820
821 override string GetElectricitySourceDeviceType()
822 {
823 return "CarBattery";
824 }
825
826 override void OnEngineStart()
827 {
828 super.OnEngineStart();
829
830 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
831 {
832 if (m_UTSource)
833 m_UTSource.SetDefferedActive(true, 20.0);
834 }
835 }
836
837 override void OnEngineStop()
838 {
839 super.OnEngineStop();
840
841 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
842 {
843 if (m_UTSource)
844 m_UTSource.SetDefferedActive(false, 10.0);
845 }
846 }
847
848 override void EOnPostSimulate(IEntity other, float timeSlice)
849 {
850 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
851 {
852 if (m_UTSource && m_UTSource.IsActive())
853 {
855 }
856 }
857 }
858
859 override int GetAnimInstance()
860 {
861 return VehicleAnimInstances.SEDAN;
862 }
863
864 override float GetTransportCameraDistance()
865 {
866 return 4.5;
867 }
868
869 override int GetSeatAnimationType(int posIdx)
870 {
871 switch (posIdx)
872 {
873 case 0:
874 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
875 case 1:
876 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
877 case 2:
878 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
879 case 3:
880 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
881 }
882
883 return 0;
884 }
885
886 override bool CanReleaseAttachment( EntityAI attachment )
887 {
888 if( !super.CanReleaseAttachment( attachment ) )
889 return false;
890
891 string attType = attachment.GetType();
892
893 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
894 {
895 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
896 return false;
897 }
898
899 return true;
900 }
901
902 override protected bool CanManipulateSpareWheel(string slotSelectionName)
903 {
904 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
905 }
906
907 override bool CanDisplayAttachmentCategory(string category_name)
908 {
909 //super
910 if (!super.CanDisplayAttachmentCategory(category_name))
911 return false;
912 //
913
914 category_name.ToLower();
915 if (category_name.Contains("engine"))
916 {
917 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
918 return false;
919 }
920
921 return true;
922 }
923
924 override bool CanDisplayCargo()
925 {
926 if ( !super.CanDisplayCargo() )
927 return false;
928
929 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
930 return false;
931
932 return true;
933 }
934
935 override int GetCarDoorsState( string slotType )
936 {
937 CarDoor carDoor;
938
939 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
940 if (!carDoor)
941 {
942 return CarDoorState.DOORS_MISSING;
943 }
944
945 switch (slotType)
946 {
947 case "CivSedanDriverDoors":
948 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
949 break;
950
951 case "CivSedanCoDriverDoors":
952 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
953 break;
954
955 case "CivSedanCargo1Doors":
956 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
957 break;
958
959 case "CivSedanCargo2Doors":
960 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
961 break;
962
963 case "CivSedanTrunk":
964 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
965 break;
966
967 case "CivSedanHood":
968 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
969 break;
970 }
971
972 return CarDoorState.DOORS_MISSING;
973 }
974
975
976 override bool CrewCanGetThrough( int posIdx )
977 {
978 switch( posIdx )
979 {
980 case 0:
981 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
982 return false;
983
984 return true;
985 break;
986
987 case 1:
988 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
989 return false;
990
991 return true;
992 break;
993
994 case 2:
995 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
996 return false;
997
998 return true;
999 break;
1000
1001 case 3:
1002 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
1003 return false;
1004
1005 return true;
1006 break;
1007 }
1008
1009 return false;
1010 }
1011
1012 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1013 {
1014 switch( posIdx )
1015 {
1016 case 0:
1017 return "doors_driver";
1018 break;
1019 case 1:
1020 return "doors_codriver";
1021 break;
1022 case 2:
1023 return "doors_cargo1";
1024 break;
1025 case 3:
1026 return "doors_cargo2";
1027 break;
1028 }
1029
1030 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1031 }
1032
1033 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1034 {
1035 switch( posIdx )
1036 {
1037 case 0:
1038 return "CivSedanDriverDoors";
1039 break;
1040 case 1:
1041 return "CivSedanCoDriverDoors";
1042 break;
1043 case 2:
1044 return "CivSedanCargo1Doors";
1045 break;
1046 case 3:
1047 return "CivSedanCargo2Doors";
1048 break;
1049 }
1050
1051 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1052 }
1053
1054 // 0 full ambient and engine sound
1055 // 1 zero ambient and engine sound
1056 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1057 {
1058 switch (ctrl)
1059 {
1060 case CarSoundCtrl.DOORS:
1061 float newValue = 0;
1062 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
1063 {
1064 newValue += 0.25;
1065 }
1066
1067 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1068 {
1069 newValue += 0.25;
1070 }
1071
1072 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
1073 {
1074 newValue += 0.25;
1075 }
1076
1077 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
1078 {
1079 newValue += 0.25;
1080 }
1081
1082 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1083 {
1084 newValue -= 0.6;
1085 }
1086
1087 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
1088 {
1089 newValue -= 0.6;
1090 }
1091
1092 return Math.Clamp(newValue, 0, 1);
1093 break;
1094 }
1095
1096 return super.OnSound(ctrl, oldValue);
1097 }
1098
1099 override string GetAnimSourceFromSelection(string selection)
1100 {
1101 switch (selection)
1102 {
1103 case "doors_driver":
1104 return "DoorsDriver";
1105 case "doors_codriver":
1106 return "DoorsCoDriver";
1107 case "doors_cargo1":
1108 return "DoorsCargo1";
1109 case "doors_cargo2":
1110 return "DoorsCargo2";
1111 case "doors_hood":
1112 return "DoorsHood";
1113 case "doors_trunk":
1114 return "DoorsTrunk";
1115 }
1116
1117 return "";
1118 }
1119
1120 override bool IsVitalGlowPlug()
1121 {
1122 return false;
1123 }
1124
1125 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1126 {
1127 switch (currentSeat)
1128 {
1129 case 0:
1130 return nextSeat == 1;
1131
1132 case 1:
1133 return nextSeat == 0;
1134
1135 case 2:
1136 return nextSeat == 3;
1137
1138 case 3:
1139 return nextSeat == 2;
1140 }
1141
1142 return false;
1143 }
1144
1145 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1146 {
1147 switch (pCurrentSeat)
1148 {
1149 case 0:
1150 return pDoorsSelection == "DoorsDriver";
1151
1152 case 1:
1153 return pDoorsSelection == "DoorsCoDriver";
1154
1155 case 2:
1156 return pDoorsSelection == "DoorsCargo1";
1157
1158 case 3:
1159 return pDoorsSelection == "DoorsCargo2";
1160 }
1161
1162 return false;
1163 }
1164
1165 override void OnDebugSpawn()
1166 {
1168 SpawnAdditionalItems();
1169 FillUpCarFluids();
1170
1171 GameInventory inventory = GetInventory();
1172 inventory.CreateInInventory("CivSedanWheel");
1173 inventory.CreateInInventory("CivSedanWheel");
1174 inventory.CreateInInventory("CivSedanWheel");
1175 inventory.CreateInInventory("CivSedanWheel");
1176
1177 inventory.CreateInInventory("CivSedanDoors_Driver");
1178 inventory.CreateInInventory("CivSedanDoors_CoDriver");
1179 inventory.CreateInInventory("CivSedanDoors_BackLeft");
1180 inventory.CreateInInventory("CivSedanDoors_BackRight");
1181 inventory.CreateInInventory("CivSedanHood");
1182 inventory.CreateInInventory("CivSedanTrunk");
1183
1184 //-----IN CAR CARGO
1185 inventory.CreateInInventory("CivSedanWheel");
1186 inventory.CreateInInventory("CivSedanWheel");
1187 }
1188
1189 override float GetPushForceCoefficientMultiplier()
1190 {
1191 return 1.5;
1192 }
1193}
1194
1195class CivilianSedan_Wine : CivilianSedan
1196{
1197 override void OnDebugSpawn()
1198 {
1200 SpawnAdditionalItems();
1201 FillUpCarFluids();
1202
1203 GameInventory inventory = GetInventory();
1204 inventory.CreateInInventory("CivSedanWheel");
1205 inventory.CreateInInventory("CivSedanWheel");
1206 inventory.CreateInInventory("CivSedanWheel");
1207 inventory.CreateInInventory("CivSedanWheel");
1208
1209 inventory.CreateInInventory("CivSedanDoors_Driver_Wine");
1210 inventory.CreateInInventory("CivSedanDoors_CoDriver_Wine");
1211 inventory.CreateInInventory("CivSedanDoors_BackLeft_Wine");
1212 inventory.CreateInInventory("CivSedanDoors_BackRight_Wine");
1213 inventory.CreateInInventory("CivSedanHood_Wine");
1214 inventory.CreateInInventory("CivSedanTrunk_Wine");
1215
1216 //-----IN CAR CARGO
1217 inventory.CreateInInventory("CivSedanWheel");
1218 inventory.CreateInInventory("CivSedanWheel");
1219 }
1220}
1221
1223{
1224 override void OnDebugSpawn()
1225 {
1227 SpawnAdditionalItems();
1228 FillUpCarFluids();
1229
1230 GameInventory inventory = GetInventory();
1231 inventory.CreateInInventory("CivSedanWheel");
1232 inventory.CreateInInventory("CivSedanWheel");
1233 inventory.CreateInInventory("CivSedanWheel");
1234 inventory.CreateInInventory("CivSedanWheel");
1235
1236 inventory.CreateInInventory("CivSedanDoors_Driver_Black");
1237 inventory.CreateInInventory("CivSedanDoors_CoDriver_Black");
1238 inventory.CreateInInventory("CivSedanDoors_BackLeft_Black");
1239 inventory.CreateInInventory("CivSedanDoors_BackRight_Black");
1240 inventory.CreateInInventory("CivSedanHood_Black");
1241 inventory.CreateInInventory("CivSedanTrunk_Black");
1242
1243 //-----IN CAR CARGO
1244 inventory.CreateInInventory("CivSedanWheel");
1245 inventory.CreateInInventory("CivSedanWheel");
1246 }
1247}
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
CivilianSedanLightProfileFront VehicleLightProfileFront CivilianSedanLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
override float GetPushForceCoefficientMultiplier()
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()
void ~CivilianSedan()
void CivilianSedan()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
CivilianSedan CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
override void OnDebugSpawn()
override void OnDebugSpawn()
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
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.