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

◆ OnSound()

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

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

731{
735
736 void Sedan_02()
737 {
738 m_dmgContactCoef = 0.0790;
739
740 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
741 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
742 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
743 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
744 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
745
746 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
747 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
748
749 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
750 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
751
752 SetEnginePos("0 0.7 -1.7");
753 }
754
755 override void EEInit()
756 {
757 super.EEInit();
758
759 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
760 {
762 m_UTSSettings.m_ManualUpdate = true;
764 m_UTSSettings.m_TemperatureCap = 0;
765 m_UTSSettings.m_RangeFull = 0.5;
766 m_UTSSettings.m_RangeMax = 2;
767
770 }
771 }
772
773 override void OnEngineStart()
774 {
775 super.OnEngineStart();
776
777 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
778 {
779 m_UTSource.SetDefferedActive(true, 20.0);
780 }
781 }
782
783 override void OnEngineStop()
784 {
785 super.OnEngineStop();
786
787 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
788 {
789 m_UTSource.SetDefferedActive(false, 10.0);
790 }
791 }
792
793 override void EOnPostSimulate(IEntity other, float timeSlice)
794 {
795 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
796 {
797 if (m_UTSource.IsActive())
798 {
800 }
801 }
802 }
803
804 override int GetAnimInstance()
805 {
806 return VehicleAnimInstances.S120;
807 }
808
809 override int GetSeatAnimationType(int posIdx)
810 {
811 switch (posIdx)
812 {
813 case 0:
814 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
815 case 1:
816 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
817 case 2:
818 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
819 case 3:
820 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
821 }
822
823 return 0;
824 }
825
826 // Override for car-specific light type
828 {
829 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
830 }
831
832 // Override for car-specific light type
834 {
835 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
836 }
837
838 override bool CanReleaseAttachment( EntityAI attachment )
839 {
840 if (!super.CanReleaseAttachment(attachment))
841 {
842 return false;
843 }
844
845 string attType = attachment.GetType();
846 switch (attType)
847 {
848 case "CarBattery":
849 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
850 {
851 return false;
852 }
853 break;
854
855 case "SparkPlug":
856 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
857 {
858 return false;
859 }
860 break;
861
862 case "CarRadiator":
863 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
864 {
865 return false;
866 }
867 break;
868 }
869
870 return true;
871 }
872
873 override protected bool CanManipulateSpareWheel(string slotSelectionName)
874 {
875 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
876 }
877
878 override bool CanDisplayAttachmentCategory(string category_name)
879 {
880 if ( !super.CanDisplayAttachmentCategory(category_name))
881 {
882 return false;
883 }
884
885 category_name.ToLower();
886 if (category_name.Contains("engine"))
887 {
888 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
889 {
890 return false;
891 }
892 }
893
894 if (category_name.Contains("trunk"))
895 {
896 if (GetCarDoorsState("Sedan_02_Hood") == 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 return false;
909
910 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
911 return false;
912
913 return true;
914 }
915
916 override int GetCarDoorsState(string slotType)
917 {
918 CarDoor carDoor;
919
920 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
921 if (!carDoor)
922 {
923 return CarDoorState.DOORS_MISSING;
924 }
925
926 switch (slotType)
927 {
928 case "Sedan_02_Door_1_1":
929 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
930
931 case "Sedan_02_Door_2_1":
932 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
933
934 case "Sedan_02_Door_1_2":
935 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
936
937 case "Sedan_02_Door_2_2":
938 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
939
940 case "Sedan_02_Hood":
941 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
942
943 case "Sedan_02_Trunk":
944 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
945 }
946
947 return CarDoorState.DOORS_MISSING;
948 }
949
950
951 override bool CrewCanGetThrough( int posIdx )
952 {
953 switch( posIdx )
954 {
955 case 0:
956 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
957 return false;
958
959 return true;
960 break;
961
962 case 1:
963 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
964 return false;
965
966 return true;
967 break;
968
969 case 2:
970 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
971 return false;
972
973 return true;
974 break;
975
976 case 3:
977 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
978 return false;
979
980 return true;
981 break;
982 }
983
984 return false;
985 }
986
987 override string GetDoorSelectionNameFromSeatPos(int posIdx)
988 {
989 switch( posIdx )
990 {
991 case 0:
992 return "doors_driver";
993 break;
994 case 1:
995 return "doors_codriver";
996 break;
997 case 2:
998 return "doors_cargo1";
999 break;
1000 case 3:
1001 return "doors_cargo2";
1002 break;
1003 }
1004
1005 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1006 }
1007
1008 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1009 {
1010 switch( posIdx )
1011 {
1012 case 0:
1013 return "Sedan_02_Door_1_1";
1014 break;
1015 case 1:
1016 return "Sedan_02_Door_2_1";
1017 break;
1018 case 2:
1019 return "Sedan_02_Door_1_2";
1020 break;
1021 case 3:
1022 return "Sedan_02_Door_2_2";
1023 break;
1024 }
1025
1026 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1027 }
1028
1029 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1030 {
1031 switch ( ctrl )
1032 {
1033 case CarSoundCtrl.DOORS:
1034 float newValue = 0;
1035 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1036 {
1037 newValue += 0.25;
1038 }
1039
1040 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1041 {
1042 newValue += 0.25;
1043 }
1044
1045 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1046 {
1047 newValue += 0.25;
1048 }
1049
1050 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1051 {
1052 newValue += 0.25;
1053 }
1054
1055 return Math.Clamp(newValue, 0, 1);
1056 break;
1057 }
1058
1059 return super.OnSound(ctrl, oldValue);
1060 }
1061
1062 override string GetAnimSourceFromSelection( string selection )
1063 {
1064 switch( selection )
1065 {
1066 case "doors_driver":
1067 return "DoorsDriver";
1068 case "doors_codriver":
1069 return "DoorsCoDriver";
1070 case "doors_cargo1":
1071 return "DoorsCargo1";
1072 case "doors_cargo2":
1073 return "DoorsCargo2";
1074 case "doors_hood":
1075 return "DoorsHood";
1076 case "doors_trunk":
1077 return "DoorsTrunk";
1078 }
1079
1080 return "";
1081 }
1082
1083
1084 override bool IsVitalTruckBattery()
1085 {
1086 return false;
1087 }
1088
1089 override bool IsVitalGlowPlug()
1090 {
1091 return false;
1092 }
1093
1094 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1095 {
1096 switch (currentSeat)
1097 {
1098 case 0:
1099 return nextSeat == 1;
1100
1101 case 1:
1102 return nextSeat == 0;
1103
1104 case 2:
1105 return nextSeat == 3;
1106
1107 case 3:
1108 return nextSeat == 2;
1109 }
1110
1111 return false;
1112 }
1113
1114 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1115 {
1116 switch (pCurrentSeat)
1117 {
1118 case 0:
1119 return pDoorsSelection == "DoorsDriver";
1120
1121 case 1:
1122 return pDoorsSelection == "DoorsCoDriver";
1123
1124 case 2:
1125 return pDoorsSelection == "DoorsCargo1";
1126
1127 case 3:
1128 return pDoorsSelection == "DoorsCargo2";
1129 }
1130
1131 return false;
1132 }
1133
1134 override void OnDebugSpawn()
1135 {
1139
1140 GetInventory().CreateInInventory("Sedan_02_Wheel");
1141 GetInventory().CreateInInventory("Sedan_02_Wheel");
1142 GetInventory().CreateInInventory("Sedan_02_Wheel");
1143 GetInventory().CreateInInventory("Sedan_02_Wheel");
1144 GetInventory().CreateInInventory("Sedan_02_Wheel");
1145
1146 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1147 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1148 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1149 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1150 GetInventory().CreateInInventory("Sedan_02_Hood");
1151 GetInventory().CreateInInventory("Sedan_02_Trunk");
1152
1153 //-----IN CAR CARGO
1154 GetInventory().CreateInInventory("Sedan_02_Wheel");
1155 GetInventory().CreateInInventory("Sedan_02_Wheel");
1156 }
1157}
1158
1159class Sedan_02_Red extends Sedan_02
1160{
1161 override void OnDebugSpawn()
1162 {
1166
1167 GetInventory().CreateInInventory("Sedan_02_Wheel");
1168 GetInventory().CreateInInventory("Sedan_02_Wheel");
1169 GetInventory().CreateInInventory("Sedan_02_Wheel");
1170 GetInventory().CreateInInventory("Sedan_02_Wheel");
1171
1172 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1173 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1174 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1175 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1176 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1177 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1178
1179 //-----IN CAR CARGO
1180 GetInventory().CreateInInventory("Sedan_02_Wheel");
1181 GetInventory().CreateInInventory("Sedan_02_Wheel");
1182 }
1183}
1184
1185class Sedan_02_Grey extends Sedan_02
1186{
1187 override void OnDebugSpawn()
1188 {
1192
1193 GetInventory().CreateInInventory("Sedan_02_Wheel");
1194 GetInventory().CreateInInventory("Sedan_02_Wheel");
1195 GetInventory().CreateInInventory("Sedan_02_Wheel");
1196 GetInventory().CreateInInventory("Sedan_02_Wheel");
1197
1198 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1199 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1200 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1201 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1202 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1203 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1204
1205 //-----IN CAR CARGO
1206 GetInventory().CreateInInventory("Sedan_02_Wheel");
1207 GetInventory().CreateInInventory("Sedan_02_Wheel");
1208 }
1209}
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
float m_dmgContactCoef
Определения CarScript.c:161
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:795
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:432
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:763
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:510
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:730
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:494
override void OnEngineStop()
Определения Sedan_02.c:484
override void EEInit()
Определения Sedan_02.c:456
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:539
override bool CanDisplayCargo()
Определения Sedan_02.c:606
override void OnEngineStart()
Определения Sedan_02.c:474
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:528
override int GetAnimInstance()
Определения Sedan_02.c:505
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:652
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:815
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:574
override bool IsVitalGlowPlug()
Определения Sedan_02.c:790
void Sedan_02()
Определения Sedan_02.c:437
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:534
override bool IsVitalTruckBattery()
Определения Sedan_02.c:785
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:688
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:617
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:579
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения Sedan_02.c:458
Определения Sedan_02.c:457
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
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.