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

◆ OnSound()

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

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

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