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

◆ OnSound()

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

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

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