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

◆ OnSound()

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

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

680{
684
685 void Hatchback_02()
686 {
687 //m_dmgContactCoef = 0.070;
688
689 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
690 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
691 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
692 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
693 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
694
695 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
696 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
697
698 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
699 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
700
701 SetEnginePos("0 0.7 1.4");
702 }
703
704 override void EEInit()
705 {
706 super.EEInit();
707
708 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
709 {
711 m_UTSSettings.m_ManualUpdate = true;
713 m_UTSSettings.m_TemperatureCap = 0;
714 m_UTSSettings.m_RangeFull = 0.5;
715 m_UTSSettings.m_RangeMax = 2;
716
719 }
720 }
721
722 override void OnEngineStart()
723 {
724 super.OnEngineStart();
725
726 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
727 {
728 m_UTSource.SetDefferedActive(true, 20.0);
729 }
730 }
731
732 override void OnEngineStop()
733 {
734 super.OnEngineStop();
735
736 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
737 {
738 m_UTSource.SetDefferedActive(false, 10.0);
739 }
740 }
741
742 override void EOnPostSimulate(IEntity other, float timeSlice)
743 {
744 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
745 {
746 if (m_UTSource.IsActive())
747 {
749 }
750 }
751 }
752
753 override int GetAnimInstance()
754 {
755 return VehicleAnimInstances.GOLF;
756 }
757
758 override int GetSeatAnimationType(int posIdx)
759 {
760 switch (posIdx)
761 {
762 case 0:
763 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
764 case 1:
765 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
766 case 2:
767 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
768 case 3:
769 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
770 }
771
772 return 0;
773 }
774
775 // Override for car-specific light type
777 {
778 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
779 }
780
781 // Override for car-specific light type
783 {
784 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
785 }
786
787 override bool CanReleaseAttachment(EntityAI attachment)
788 {
789 if (!super.CanReleaseAttachment(attachment))
790 {
791 return false;
792 }
793
794 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
795 {
796 string attType = attachment.GetType();
797 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
798 {
799 return false;
800 }
801 }
802
803 return true;
804 }
805
806 override protected bool CanManipulateSpareWheel(string slotSelectionName)
807 {
808 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
809 }
810
811 override bool CanDisplayAttachmentCategory( string category_name )
812 {
813 //super
814 if ( !super.CanDisplayAttachmentCategory( category_name ) )
815 return false;
816 //
817
818 category_name.ToLower();
819 if ( category_name.Contains("engine") )
820 {
821 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
822 return false;
823 }
824
825 return true;
826 }
827
828 override bool CanDisplayCargo()
829 {
830 if ( !super.CanDisplayCargo() )
831 return false;
832
833 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
834 return false;
835
836 return true;
837 }
838
839 override int GetCarDoorsState(string slotType)
840 {
841 CarDoor carDoor;
842
843 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
844 if (!carDoor)
845 {
846 return CarDoorState.DOORS_MISSING;
847 }
848
849 switch (slotType)
850 {
851 case "Hatchback_02_Door_1_1":
852 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
853
854 case "Hatchback_02_Door_2_1":
855 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
856
857 case "Hatchback_02_Door_1_2":
858 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
859
860 case "Hatchback_02_Door_2_2":
861 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
862
863 case "Hatchback_02_Hood":
864 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
865
866 case "Hatchback_02_Trunk":
867 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
868 }
869
870 return CarDoorState.DOORS_MISSING;
871 }
872
873
874 override bool CrewCanGetThrough(int posIdx)
875 {
876 switch (posIdx)
877 {
878 case 0:
879 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
880 {
881 return false;
882 }
883
884 return true;
885
886 case 1:
887 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
888 {
889 return false;
890 }
891
892 return true;
893
894 case 2:
895 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
896 {
897 return false;
898 }
899
900 return true;
901
902 case 3:
903 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
904 {
905 return false;
906 }
907
908 return true;
909 }
910
911 return false;
912 }
913
914 override string GetDoorSelectionNameFromSeatPos(int posIdx)
915 {
916 switch( posIdx )
917 {
918 case 0:
919 return "doors_driver";
920 break;
921 case 1:
922 return "doors_codriver";
923 break;
924 case 2:
925 return "doors_cargo1";
926 break;
927 case 3:
928 return "doors_cargo2";
929 break;
930 }
931
932 return super.GetDoorSelectionNameFromSeatPos(posIdx);
933 }
934
935 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
936 {
937 switch( posIdx )
938 {
939 case 0:
940 return "Hatchback_02_Door_1_1";
941 break;
942 case 1:
943 return "Hatchback_02_Door_2_1";
944 break;
945 case 2:
946 return "Hatchback_02_Door_1_2";
947 break;
948 case 3:
949 return "Hatchback_02_Door_2_2";
950 break;
951 }
952
953 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
954 }
955
956 override float OnSound(CarSoundCtrl ctrl, float oldValue)
957 {
958 switch (ctrl)
959 {
960 case CarSoundCtrl.DOORS:
961 float newValue = 0;
962 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
963 {
964 newValue += 0.25;
965 }
966
967 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
968 {
969 newValue += 0.25;
970 }
971
972 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
973 {
974 newValue += 0.25;
975 }
976
977 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
978 {
979 newValue += 0.25;
980 }
981
982 return Math.Clamp(newValue, 0, 1);
983 break;
984 }
985
986 return super.OnSound(ctrl, oldValue);
987 }
988
989 override string GetAnimSourceFromSelection( string selection )
990 {
991 switch( selection )
992 {
993 case "doors_driver":
994 return "DoorsDriver";
995 case "doors_codriver":
996 return "DoorsCoDriver";
997 case "doors_cargo1":
998 return "DoorsCargo1";
999 case "doors_cargo2":
1000 return "DoorsCargo2";
1001 case "doors_hood":
1002 return "DoorsHood";
1003 case "doors_trunk":
1004 return "DoorsTrunk";
1005 }
1006
1007 return "";
1008 }
1009
1010
1011 override bool IsVitalTruckBattery()
1012 {
1013 return false;
1014 }
1015
1016 override bool IsVitalGlowPlug()
1017 {
1018 return false;
1019 }
1020
1021 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1022 {
1023 switch (currentSeat)
1024 {
1025 case 0:
1026 return nextSeat == 1;
1027 case 1:
1028 return nextSeat == 0;
1029 case 2:
1030 return nextSeat == 3;
1031 case 3:
1032 return nextSeat == 2;
1033 }
1034
1035 return false;
1036 }
1037
1038 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1039 {
1040 switch (pCurrentSeat)
1041 {
1042 case 0:
1043 return pDoorsSelection == "DoorsDriver";
1044 case 1:
1045 return pDoorsSelection == "DoorsCoDriver";
1046 case 2:
1047 return pDoorsSelection == "DoorsCargo1";
1048 case 3:
1049 return pDoorsSelection == "DoorsCargo2";
1050 }
1051
1052 return false;
1053 }
1054
1055 override void OnDebugSpawn()
1056 {
1060
1061 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1062 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1063 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1064 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1065
1066 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1067 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1068 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1069 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1070 GetInventory().CreateInInventory("Hatchback_02_Hood");
1071 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1072
1073 //-----IN CAR CARGO
1074 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1075 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1076 }
1077}
1078
1079class Hatchback_02_Black extends Hatchback_02
1080{
1081 override void OnDebugSpawn()
1082 {
1086
1087 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1088 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1089 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1090 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1091
1092 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1093 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1094 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1095 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1096 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1097 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1098
1099 //-----IN CAR CARGO
1100 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1101 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1102 }
1103};
1104
1105class Hatchback_02_Blue extends Hatchback_02
1106{
1107 override void OnDebugSpawn()
1108 {
1112
1113 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1114 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1115 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1116 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1117
1118 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1119 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1120 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1121 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1122 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1123 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1124
1125 //-----IN CAR CARGO
1126 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1127 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1128 }
1129}
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
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:403
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:744
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:712
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:481
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:679
void Hatchback_02()
Определения Hatchback_02.c:408
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:465
override void OnEngineStop()
Определения Hatchback_02.c:455
override void EEInit()
Определения Hatchback_02.c:427
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:510
override bool CanDisplayCargo()
Определения Hatchback_02.c:551
override void OnEngineStart()
Определения Hatchback_02.c:445
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:505
override int GetAnimInstance()
Определения Hatchback_02.c:476
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:597
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:761
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:529
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:739
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:499
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:734
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:637
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:562
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:534
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
override void OnDebugSpawn()
Определения Hatchback_02.c:429
Определения Hatchback_02.c:428
Определения 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
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.