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

◆ OnSound()

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

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

712{
716
717 void CivilianSedan()
718 {
719 //m_dmgContactCoef = 0.065;
720
721 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
722 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
723 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
724 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
725 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
726
727 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
728 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
729
730 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
731 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
732
733 SetEnginePos("0 0.7 1.6");
734 }
735
736 override void EEInit()
737 {
738 super.EEInit();
739
740 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
741 {
743 m_UTSSettings.m_ManualUpdate = true;
745 m_UTSSettings.m_TemperatureCap = 0;
746 m_UTSSettings.m_RangeFull = 0.5;
747 m_UTSSettings.m_RangeMax = 2;
748
751 }
752 }
753
754 override void OnEngineStart()
755 {
756 super.OnEngineStart();
757
758 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
759 {
760 m_UTSource.SetDefferedActive(true, 20.0);
761 }
762 }
763
764 override void OnEngineStop()
765 {
766 super.OnEngineStop();
767
768 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
769 {
770 m_UTSource.SetDefferedActive(false, 10.0);
771 }
772 }
773
774 override void EOnPostSimulate(IEntity other, float timeSlice)
775 {
776 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
777 {
778 if (m_UTSource.IsActive())
779 {
781 }
782 }
783 }
784
785 override int GetAnimInstance()
786 {
787 return VehicleAnimInstances.SEDAN;
788 }
789
790 override float GetTransportCameraDistance()
791 {
792 return 4.5;
793 }
794
795 override int GetSeatAnimationType(int posIdx)
796 {
797 switch (posIdx)
798 {
799 case 0:
800 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
801 case 1:
802 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
803 case 2:
804 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
805 case 3:
806 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
807 }
808
809 return 0;
810 }
811
812 // Override for car-specific light type
814 {
815 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
816 }
817
818 // Override for car-specific light type
820 {
821 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
822 }
823
824 override bool CanReleaseAttachment( EntityAI attachment )
825 {
826 if( !super.CanReleaseAttachment( attachment ) )
827 return false;
828
829 string attType = attachment.GetType();
830
831 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
832 {
833 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
834 return false;
835 }
836
837 return true;
838 }
839
840 override protected bool CanManipulateSpareWheel(string slotSelectionName)
841 {
842 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
843 }
844
845 override bool CanDisplayAttachmentCategory(string category_name)
846 {
847 //super
848 if (!super.CanDisplayAttachmentCategory(category_name))
849 return false;
850 //
851
852 category_name.ToLower();
853 if (category_name.Contains("engine"))
854 {
855 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
856 return false;
857 }
858
859 return true;
860 }
861
862 override bool CanDisplayCargo()
863 {
864 if ( !super.CanDisplayCargo() )
865 return false;
866
867 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
868 return false;
869
870 return true;
871 }
872
873 override int GetCarDoorsState( string slotType )
874 {
875 CarDoor carDoor;
876
877 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
878 if (!carDoor)
879 {
880 return CarDoorState.DOORS_MISSING;
881 }
882
883 switch (slotType)
884 {
885 case "CivSedanDriverDoors":
886 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
887 break;
888
889 case "CivSedanCoDriverDoors":
890 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
891 break;
892
893 case "CivSedanCargo1Doors":
894 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
895 break;
896
897 case "CivSedanCargo2Doors":
898 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
899 break;
900
901 case "CivSedanTrunk":
902 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
903 break;
904
905 case "CivSedanHood":
906 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
907 break;
908 }
909
910 return CarDoorState.DOORS_MISSING;
911 }
912
913
914 override bool CrewCanGetThrough( int posIdx )
915 {
916 switch( posIdx )
917 {
918 case 0:
919 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
920 return false;
921
922 return true;
923 break;
924
925 case 1:
926 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
927 return false;
928
929 return true;
930 break;
931
932 case 2:
933 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
934 return false;
935
936 return true;
937 break;
938
939 case 3:
940 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
941 return false;
942
943 return true;
944 break;
945 }
946
947 return false;
948 }
949
950 override string GetDoorSelectionNameFromSeatPos(int posIdx)
951 {
952 switch( posIdx )
953 {
954 case 0:
955 return "doors_driver";
956 break;
957 case 1:
958 return "doors_codriver";
959 break;
960 case 2:
961 return "doors_cargo1";
962 break;
963 case 3:
964 return "doors_cargo2";
965 break;
966 }
967
968 return super.GetDoorSelectionNameFromSeatPos(posIdx);
969 }
970
971 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
972 {
973 switch( posIdx )
974 {
975 case 0:
976 return "CivSedanDriverDoors";
977 break;
978 case 1:
979 return "CivSedanCoDriverDoors";
980 break;
981 case 2:
982 return "CivSedanCargo1Doors";
983 break;
984 case 3:
985 return "CivSedanCargo2Doors";
986 break;
987 }
988
989 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
990 }
991
992 // 0 full ambient and engine sound
993 // 1 zero ambient and engine sound
994 override float OnSound(CarSoundCtrl ctrl, float oldValue)
995 {
996 switch (ctrl)
997 {
998 case CarSoundCtrl.DOORS:
999 float newValue = 0;
1000 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
1001 {
1002 newValue += 0.25;
1003 }
1004
1005 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1006 {
1007 newValue += 0.25;
1008 }
1009
1010 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
1011 {
1012 newValue += 0.25;
1013 }
1014
1015 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
1016 {
1017 newValue += 0.25;
1018 }
1019
1020 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1021 {
1022 newValue -= 0.6;
1023 }
1024
1025 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
1026 {
1027 newValue -= 0.6;
1028 }
1029
1030 return Math.Clamp(newValue, 0, 1);
1031 break;
1032 }
1033
1034 return super.OnSound(ctrl, oldValue);
1035 }
1036
1037 override string GetAnimSourceFromSelection(string selection)
1038 {
1039 switch (selection)
1040 {
1041 case "doors_driver":
1042 return "DoorsDriver";
1043 case "doors_codriver":
1044 return "DoorsCoDriver";
1045 case "doors_cargo1":
1046 return "DoorsCargo1";
1047 case "doors_cargo2":
1048 return "DoorsCargo2";
1049 case "doors_hood":
1050 return "DoorsHood";
1051 case "doors_trunk":
1052 return "DoorsTrunk";
1053 }
1054
1055 return "";
1056 }
1057
1058 override bool IsVitalTruckBattery()
1059 {
1060 return false;
1061 }
1062
1063 override bool IsVitalGlowPlug()
1064 {
1065 return false;
1066 }
1067
1068 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1069 {
1070 switch (currentSeat)
1071 {
1072 case 0:
1073 return nextSeat == 1;
1074
1075 case 1:
1076 return nextSeat == 0;
1077
1078 case 2:
1079 return nextSeat == 3;
1080
1081 case 3:
1082 return nextSeat == 2;
1083 }
1084
1085 return false;
1086 }
1087
1088 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1089 {
1090 switch (pCurrentSeat)
1091 {
1092 case 0:
1093 return pDoorsSelection == "DoorsDriver";
1094
1095 case 1:
1096 return pDoorsSelection == "DoorsCoDriver";
1097
1098 case 2:
1099 return pDoorsSelection == "DoorsCargo1";
1100
1101 case 3:
1102 return pDoorsSelection == "DoorsCargo2";
1103 }
1104
1105 return false;
1106 }
1107
1108 override void OnDebugSpawn()
1109 {
1113
1114 GetInventory().CreateInInventory("CivSedanWheel");
1115 GetInventory().CreateInInventory("CivSedanWheel");
1116 GetInventory().CreateInInventory("CivSedanWheel");
1117 GetInventory().CreateInInventory("CivSedanWheel");
1118
1119 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1120 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1121 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1122 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1123 GetInventory().CreateInInventory("CivSedanHood");
1124 GetInventory().CreateInInventory("CivSedanTrunk");
1125
1126 //-----IN CAR CARGO
1127 GetInventory().CreateInInventory("CivSedanWheel");
1128 GetInventory().CreateInInventory("CivSedanWheel");
1129 }
1130
1131 override float GetPushForceCoefficientMultiplier()
1132 {
1133 return 1.5;
1134 }
1135}
1136
1137class CivilianSedan_Wine extends CivilianSedan
1138{
1139 override void OnDebugSpawn()
1140 {
1144
1145 GetInventory().CreateInInventory("CivSedanWheel");
1146 GetInventory().CreateInInventory("CivSedanWheel");
1147 GetInventory().CreateInInventory("CivSedanWheel");
1148 GetInventory().CreateInInventory("CivSedanWheel");
1149
1150 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1151 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1152 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1153 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1154 GetInventory().CreateInInventory("CivSedanHood_Wine");
1155 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1156
1157 //-----IN CAR CARGO
1158 GetInventory().CreateInInventory("CivSedanWheel");
1159 GetInventory().CreateInInventory("CivSedanWheel");
1160 }
1161}
1162
1163class CivilianSedan_Black extends CivilianSedan
1164{
1165 override void OnDebugSpawn()
1166 {
1170
1171 GetInventory().CreateInInventory("CivSedanWheel");
1172 GetInventory().CreateInInventory("CivSedanWheel");
1173 GetInventory().CreateInInventory("CivSedanWheel");
1174 GetInventory().CreateInInventory("CivSedanWheel");
1175
1176 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1177 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1178 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1179 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1180 GetInventory().CreateInInventory("CivSedanHood_Black");
1181 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1182
1183 //-----IN CAR CARGO
1184 GetInventory().CreateInInventory("CivSedanWheel");
1185 GetInventory().CreateInInventory("CivSedanWheel");
1186 }
1187}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
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_CarDoorOpenSound
Определения CarScript.c:213
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:848
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:429
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:785
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:754
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:512
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:711
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:688
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:491
override void OnEngineStop()
Определения CivilianSedan.c:481
void CivilianSedan()
Определения CivilianSedan.c:434
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
override float GetTransportCameraDistance()
Определения CivilianSedan.c:507
override void EEInit()
Определения CivilianSedan.c:453
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:541
override bool CanDisplayCargo()
Определения CivilianSedan.c:579
override void OnEngineStart()
Определения CivilianSedan.c:471
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:530
override int GetAnimInstance()
Определения CivilianSedan.c:502
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:631
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:805
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:557
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:780
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:536
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:775
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:667
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:590
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:562
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:455
Определения CivilianSedan.c:454
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
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.