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

◆ OnSound()

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

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

718 : CarScript
719{
723
724 void Hatchback_02()
725 {
726 //m_dmgContactCoef = 0.070;
727
728 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
729 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
730 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
731 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
732 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
733 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
734
735 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
736 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
737
738 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
739 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
740
741 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
742 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
743
744 SetEnginePos("0 0.7 1.4");
745
747 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
748 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
749 }
750
751 void ~Hatchback_02()
752 {
753 m_UTSource = null;
754 m_UTSSettings = null;
755 m_UTSLEngine = null;
756 }
757
758 override void EEInit()
759 {
760 super.EEInit();
761
762 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
763 {
765 m_UTSSettings.m_ManualUpdate = true;
767 m_UTSSettings.m_TemperatureCap = 0;
768 m_UTSSettings.m_RangeFull = 0.5;
769 m_UTSSettings.m_RangeMax = 2;
770
773 }
774 }
775
776 override bool NeedElectricitySourceDevice()
777 {
778 return true;
779 }
780
782 {
783 super.GetElectricitySourceDevice();
784
785 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
786 }
787
788 override string GetElectricitySourceDeviceType()
789 {
790 return "CarBattery";
791 }
792
793 override void OnEngineStart()
794 {
795 super.OnEngineStart();
796
797 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
798 {
799 if (m_UTSource)
800 m_UTSource.SetDefferedActive(true, 20.0);
801 }
802 }
803
804 override void OnEngineStop()
805 {
806 super.OnEngineStop();
807
808 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
809 {
810 if (m_UTSource)
811 m_UTSource.SetDefferedActive(false, 10.0);
812 }
813 }
814
815 override void EOnPostSimulate(IEntity other, float timeSlice)
816 {
817 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
818 {
819 if (m_UTSource && m_UTSource.IsActive())
820 {
822 }
823 }
824 }
825
826 override int GetAnimInstance()
827 {
828 return VehicleAnimInstances.GOLF;
829 }
830
831 override int GetSeatAnimationType(int posIdx)
832 {
833 switch (posIdx)
834 {
835 case 0:
836 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
837 case 1:
838 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
839 case 2:
840 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
841 case 3:
842 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
843 }
844
845 return 0;
846 }
847
848 override bool CanReleaseAttachment(EntityAI attachment)
849 {
850 if (!super.CanReleaseAttachment(attachment))
851 {
852 return false;
853 }
854
855 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
856 {
857 string attType = attachment.GetType();
858 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
859 {
860 return false;
861 }
862 }
863
864 return true;
865 }
866
867 override protected bool CanManipulateSpareWheel(string slotSelectionName)
868 {
869 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
870 }
871
872 override bool CanDisplayAttachmentCategory( string category_name )
873 {
874 //super
875 if ( !super.CanDisplayAttachmentCategory( category_name ) )
876 return false;
877 //
878
879 category_name.ToLower();
880 if ( category_name.Contains("engine") )
881 {
882 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
883 return false;
884 }
885
886 return true;
887 }
888
889 override bool CanDisplayCargo()
890 {
891 if ( !super.CanDisplayCargo() )
892 return false;
893
894 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
895 return false;
896
897 return true;
898 }
899
900 override int GetCarDoorsState(string slotType)
901 {
902 CarDoor carDoor;
903
904 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
905 if (!carDoor)
906 {
907 return CarDoorState.DOORS_MISSING;
908 }
909
910 switch (slotType)
911 {
912 case "Hatchback_02_Door_1_1":
913 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
914
915 case "Hatchback_02_Door_2_1":
916 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
917
918 case "Hatchback_02_Door_1_2":
919 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
920
921 case "Hatchback_02_Door_2_2":
922 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
923
924 case "Hatchback_02_Hood":
925 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
926
927 case "Hatchback_02_Trunk":
928 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
929 }
930
931 return CarDoorState.DOORS_MISSING;
932 }
933
934
935 override bool CrewCanGetThrough(int posIdx)
936 {
937 switch (posIdx)
938 {
939 case 0:
940 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
941 {
942 return false;
943 }
944
945 return true;
946
947 case 1:
948 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
949 {
950 return false;
951 }
952
953 return true;
954
955 case 2:
956 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
957 {
958 return false;
959 }
960
961 return true;
962
963 case 3:
964 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
965 {
966 return false;
967 }
968
969 return true;
970 }
971
972 return false;
973 }
974
975 override string GetDoorSelectionNameFromSeatPos(int posIdx)
976 {
977 switch( posIdx )
978 {
979 case 0:
980 return "doors_driver";
981 break;
982 case 1:
983 return "doors_codriver";
984 break;
985 case 2:
986 return "doors_cargo1";
987 break;
988 case 3:
989 return "doors_cargo2";
990 break;
991 }
992
993 return super.GetDoorSelectionNameFromSeatPos(posIdx);
994 }
995
996 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
997 {
998 switch( posIdx )
999 {
1000 case 0:
1001 return "Hatchback_02_Door_1_1";
1002 break;
1003 case 1:
1004 return "Hatchback_02_Door_2_1";
1005 break;
1006 case 2:
1007 return "Hatchback_02_Door_1_2";
1008 break;
1009 case 3:
1010 return "Hatchback_02_Door_2_2";
1011 break;
1012 }
1013
1014 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1015 }
1016
1017 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1018 {
1019 switch (ctrl)
1020 {
1021 case CarSoundCtrl.DOORS:
1022 float newValue = 0;
1023 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1024 {
1025 newValue += 0.25;
1026 }
1027
1028 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1029 {
1030 newValue += 0.25;
1031 }
1032
1033 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1034 {
1035 newValue += 0.25;
1036 }
1037
1038 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1039 {
1040 newValue += 0.25;
1041 }
1042
1043 return Math.Clamp(newValue, 0, 1);
1044 break;
1045 }
1046
1047 return super.OnSound(ctrl, oldValue);
1048 }
1049
1050 override string GetAnimSourceFromSelection( string selection )
1051 {
1052 switch( selection )
1053 {
1054 case "doors_driver":
1055 return "DoorsDriver";
1056 case "doors_codriver":
1057 return "DoorsCoDriver";
1058 case "doors_cargo1":
1059 return "DoorsCargo1";
1060 case "doors_cargo2":
1061 return "DoorsCargo2";
1062 case "doors_hood":
1063 return "DoorsHood";
1064 case "doors_trunk":
1065 return "DoorsTrunk";
1066 }
1067
1068 return "";
1069 }
1070
1071 override bool IsVitalGlowPlug()
1072 {
1073 return false;
1074 }
1075
1076 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1077 {
1078 switch (currentSeat)
1079 {
1080 case 0:
1081 return nextSeat == 1;
1082 case 1:
1083 return nextSeat == 0;
1084 case 2:
1085 return nextSeat == 3;
1086 case 3:
1087 return nextSeat == 2;
1088 }
1089
1090 return false;
1091 }
1092
1093 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1094 {
1095 switch (pCurrentSeat)
1096 {
1097 case 0:
1098 return pDoorsSelection == "DoorsDriver";
1099 case 1:
1100 return pDoorsSelection == "DoorsCoDriver";
1101 case 2:
1102 return pDoorsSelection == "DoorsCargo1";
1103 case 3:
1104 return pDoorsSelection == "DoorsCargo2";
1105 }
1106
1107 return false;
1108 }
1109
1110 override void OnDebugSpawn()
1111 {
1113 SpawnAdditionalItems();
1114 FillUpCarFluids();
1115
1116 GameInventory inventory = GetInventory();
1117 inventory.CreateInInventory("Hatchback_02_Wheel");
1118 inventory.CreateInInventory("Hatchback_02_Wheel");
1119 inventory.CreateInInventory("Hatchback_02_Wheel");
1120 inventory.CreateInInventory("Hatchback_02_Wheel");
1121
1122 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1123 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1124 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1125 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1126 inventory.CreateInInventory("Hatchback_02_Hood");
1127 inventory.CreateInInventory("Hatchback_02_Trunk");
1128
1129 //-----IN CAR CARGO
1130 inventory.CreateInInventory("Hatchback_02_Wheel");
1131 inventory.CreateInInventory("Hatchback_02_Wheel");
1132 }
1133}
1134
1135class Hatchback_02_Black : Hatchback_02
1136{
1137 override void OnDebugSpawn()
1138 {
1140 SpawnAdditionalItems();
1141 FillUpCarFluids();
1142
1143 GameInventory inventory = GetInventory();
1144 inventory.CreateInInventory("Hatchback_02_Wheel");
1145 inventory.CreateInInventory("Hatchback_02_Wheel");
1146 inventory.CreateInInventory("Hatchback_02_Wheel");
1147 inventory.CreateInInventory("Hatchback_02_Wheel");
1148
1149 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1150 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1151 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1152 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1153 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1154 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1155
1156 //-----IN CAR CARGO
1157 inventory.CreateInInventory("Hatchback_02_Wheel");
1158 inventory.CreateInInventory("Hatchback_02_Wheel");
1159 }
1160}
1161
1163{
1164 override void OnDebugSpawn()
1165 {
1167 SpawnAdditionalItems();
1168 FillUpCarFluids();
1169
1170 GameInventory inventory = GetInventory();
1171 inventory.CreateInInventory("Hatchback_02_Wheel");
1172 inventory.CreateInInventory("Hatchback_02_Wheel");
1173 inventory.CreateInInventory("Hatchback_02_Wheel");
1174 inventory.CreateInInventory("Hatchback_02_Wheel");
1175
1176 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1177 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1178 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1179 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1180 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1181 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1182
1183 //-----IN CAR CARGO
1184 inventory.CreateInInventory("Hatchback_02_Wheel");
1185 inventory.CreateInInventory("Hatchback_02_Wheel");
1186 }
1187}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
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)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения 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
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.