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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

610{
614
615 void OffroadHatchback()
616 {
617 //m_dmgContactCoef = 0.075;
618
619 m_EngineStartOK = "offroad_engine_start_SoundSet";
620 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
621 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
622 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
623 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
624
625 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
626 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
627 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
628 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
629
630 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
631 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
632
633 SetEnginePos("0 0.7 1.2");
634 }
635
636 override void EEInit()
637 {
638 super.EEInit();
639
640 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
641 {
643 m_UTSSettings.m_ManualUpdate = true;
645 m_UTSSettings.m_TemperatureCap = 0;
646 m_UTSSettings.m_RangeFull = 0.5;
647 m_UTSSettings.m_RangeMax = 2;
648
651 }
652 }
653
654 override void OnEngineStart()
655 {
656 super.OnEngineStart();
657
658 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
659 {
660 m_UTSource.SetDefferedActive(true, 20.0);
661 }
662 }
663
664 override void OnEngineStop()
665 {
666 super.OnEngineStop();
667
668 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
669 {
670 m_UTSource.SetDefferedActive(false, 10.0);
671 }
672 }
673
674 override void EOnPostSimulate(IEntity other, float timeSlice)
675 {
676 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
677 {
678 if (m_UTSource.IsActive())
679 {
681 }
682 }
683 }
684
685 override int GetAnimInstance()
686 {
687 return VehicleAnimInstances.HATCHBACK;
688 }
689
690 override float GetTransportCameraDistance()
691 {
692 return 3.5;
693 }
694
695 override int GetSeatAnimationType( int posIdx )
696 {
697 switch (posIdx)
698 {
699 case 0:
700 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
701 case 1:
702 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
703 case 2:
704 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
705 case 3:
706 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
707 }
708
709 return 0;
710
711 }
712
713
715 {
716 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
717 }
718
720 {
721 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
722 }
723
724 override bool CanReleaseAttachment(EntityAI attachment)
725 {
726 if (!super.CanReleaseAttachment(attachment))
727 {
728 return false;
729 }
730
731 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
732 {
733 string attType = attachment.GetType();
734 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
735 {
736 return false;
737 }
738 }
739
740 return true;
741 }
742
743 override protected bool CanManipulateSpareWheel(string slotSelectionName)
744 {
745 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
746 }
747
748 override bool CanDisplayAttachmentCategory( string category_name )
749 {
750 if (!super.CanDisplayAttachmentCategory(category_name))
751 {
752 return false;
753 }
754
755 category_name.ToLower();
756 if (category_name.Contains("engine"))
757 {
758 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
759 {
760 return false;
761 }
762 }
763
764 return true;
765 }
766
767 override bool CanDisplayCargo()
768 {
769 if (!super.CanDisplayCargo())
770 {
771 return false;
772 }
773
774 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
775 {
776 return false;
777 }
778
779 return true;
780 }
781
782 override int GetCarDoorsState(string slotType)
783 {
784 CarDoor carDoor;
785
786 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
787 if (!carDoor)
788 {
789 return CarDoorState.DOORS_MISSING;
790 }
791
792 switch (slotType)
793 {
794 case "NivaDriverDoors":
795 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
796
797 case "NivaCoDriverDoors":
798 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
799
800 case "NivaHood":
801 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
802
803 case "NivaTrunk":
804 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
805 }
806
807 return CarDoorState.DOORS_MISSING;
808 }
809
810 override bool CrewCanGetThrough(int posIdx)
811 {
812 CarDoor carDoor;
813 switch (posIdx)
814 {
815 case 0:
816 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
817 return false;
818 else if (GetAnimationPhase("SeatDriver") > 0.5)
819 return false;
820
821 return true;
822
823 case 1:
824 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
825 return false;
826 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
827 return false;
828
829 return true;
830
831 case 2:
832 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
833 return false;
834 else if (GetAnimationPhase("SeatDriver") <= 0.5)
835 return false;
836
837 return true;
838
839 case 3:
840 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
841 return false;
842 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
843 return false;
844
845 return true;
846 }
847
848 return false;
849 }
850
851 override string GetDoorSelectionNameFromSeatPos(int posIdx)
852 {
853 switch (posIdx)
854 {
855 case 0:
856 case 2:
857 return "doors_driver";
858 case 1:
859 case 3:
860 return "doors_codriver";
861 }
862
863 return super.GetDoorSelectionNameFromSeatPos(posIdx);
864 }
865
866 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
867 {
868 switch (posIdx)
869 {
870 case 0:
871 case 2:
872 return "NivaDriverDoors";
873 case 1:
874 case 3:
875 return "NivaCoDriverDoors";
876 }
877
878 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
879 }
880
881 // 0 full ambient and engine sound
882 // 1 zero ambient and engine sound
883 override float OnSound(CarSoundCtrl ctrl, float oldValue)
884 {
885 float tempCap = 0.0;
886
887 switch (ctrl)
888 {
889 case CarSoundCtrl.DOORS:
890 float newValue = 0;
891 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
892 {
893 newValue += 0.5;
894 }
895
896 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
897 {
898 newValue += 0.5;
899 }
900
901 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
902 {
903 newValue += 0.3;
904 }
905
906 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
907 {
908 newValue -= 0.6;
909 }
910
911 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
912 {
913 newValue -= 0.2;
914 }
915
916 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
917 {
918 newValue -= 0.2;
919 }
920
921 return Math.Clamp(newValue, 0, 1);
922 break;
923 }
924
925 return super.OnSound(ctrl, oldValue);
926 }
927
928 override string GetAnimSourceFromSelection( string selection )
929 {
930 switch (selection)
931 {
932 case "doors_driver":
933 return "DoorsDriver";
934 case "doors_codriver":
935 return "DoorsCoDriver";
936 case "doors_hood":
937 return "DoorsHood";
938 case "doors_trunk":
939 return "DoorsTrunk";
940 case "seatback_driver":
941 return "SeatDriver";
942 case "seatback_codriver":
943 return "SeatCoDriver";
944 }
945
946 return "";
947 }
948
949 override string GetDoorConditionPointFromSelection(string selection)
950 {
951 switch (selection)
952 {
953 case "seat_driver":
954 case "seatback_driver":
955 case "seat_cargo1":
956 return "seat_con_1_1";
957 case "seat_codriver":
958 case "seatback_codriver":
959 case "seat_cargo2":
960 return "seat_con_2_1";
961 }
962
963 return "";
964 }
965
966 override int GetCrewIndex(string selection)
967 {
968 switch (selection)
969 {
970 case "seatback_driver":
971 return 0;
972 case "seatback_codriver":
973 return 1;
974 }
975
976 return -1;
977 }
978
979 override bool IsVitalTruckBattery()
980 {
981 return false;
982 }
983
984 override bool IsVitalGlowPlug()
985 {
986 return false;
987 }
988
989 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
990 {
991 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
992 return false;
993
994 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
995 return false;
996
997 switch (currentSeat)
998 {
999 case 0:
1000 return nextSeat == 1;
1001
1002 case 1:
1003 return nextSeat == 0;
1004
1005 case 2:
1006 return nextSeat == 3;
1007
1008 case 3:
1009 return nextSeat == 2;
1010 }
1011
1012 return false;
1013 }
1014
1015 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1016 {
1017 switch (pCurrentSeat)
1018 {
1019 case 0:
1020 return pDoorsSelection == "DoorsDriver";
1021
1022 case 1:
1023 return pDoorsSelection == "DoorsCoDriver";
1024
1025 case 2:
1026 return pDoorsSelection == "DoorsDriver";
1027
1028 case 3:
1029 return pDoorsSelection == "DoorsCoDriver";
1030 }
1031
1032 return false;
1033 }
1034
1035 override int GetSeatIndexFromDoor( string pDoorSelection )
1036 {
1037 switch (pDoorSelection)
1038 {
1039 case "DoorsDriver":
1040 return 0;
1041 case "DoorsCoDriver":
1042 return 1;
1043 }
1044
1045 return -1;
1046 }
1047
1048 override void SetActions()
1049 {
1050 super.SetActions();
1051
1053 }
1054
1055 override void OnDebugSpawn()
1056 {
1060
1061 GetInventory().CreateInInventory("HatchbackWheel");
1062 GetInventory().CreateInInventory("HatchbackWheel");
1063 GetInventory().CreateInInventory("HatchbackWheel" );
1064 GetInventory().CreateInInventory("HatchbackWheel");
1065
1066 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1067 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1068 GetInventory().CreateInInventory("HatchbackHood");
1069 GetInventory().CreateInInventory("HatchbackTrunk");
1070
1071 //-----IN CAR CARGO
1072 GetInventory().CreateInInventory("HatchbackWheel");
1073 GetInventory().CreateInInventory("HatchbackWheel");
1074 }
1075}
1076
1077class OffroadHatchback_White extends OffroadHatchback
1078{
1079 override void OnDebugSpawn()
1080 {
1084
1085 GetInventory().CreateInInventory("HatchbackWheel");
1086 GetInventory().CreateInInventory("HatchbackWheel");
1087 GetInventory().CreateInInventory("HatchbackWheel");
1088 GetInventory().CreateInInventory("HatchbackWheel");
1089
1090 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1091 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1092 GetInventory().CreateInInventory("HatchbackHood_White");
1093 GetInventory().CreateInInventory("HatchbackTrunk_White");
1094
1095 //-----IN CAR CARGO
1096 GetInventory().CreateInInventory("HatchbackWheel");
1097 GetInventory().CreateInInventory("HatchbackWheel");
1098 }
1099}
1100
1101class OffroadHatchback_Blue extends OffroadHatchback
1102{
1103 override void OnDebugSpawn()
1104 {
1108
1109 GetInventory().CreateInInventory("HatchbackWheel");
1110 GetInventory().CreateInInventory("HatchbackWheel");
1111 GetInventory().CreateInInventory("HatchbackWheel");
1112 GetInventory().CreateInInventory("HatchbackWheel");
1113
1114 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1115 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1116 GetInventory().CreateInInventory("HatchbackHood_Blue");
1117 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1118
1119 //-----IN CAR CARGO
1120 GetInventory().CreateInInventory("HatchbackWheel");
1121 GetInventory().CreateInInventory("HatchbackWheel");
1122 }
1123}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
string m_CarSeatShiftInSound
Определения CarScript.c:215
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_CarSeatShiftOutSound
Определения CarScript.c:216
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 void SetActions()
Определения OffroadHatchback.c:909
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:850
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:789
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:556
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:810
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:744
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:727
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:535
override void OnEngineStop()
Определения OffroadHatchback.c:525
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:551
override void EEInit()
Определения OffroadHatchback.c:497
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:585
override bool CanDisplayCargo()
Определения OffroadHatchback.c:628
override void OnEngineStart()
Определения OffroadHatchback.c:515
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:580
override int GetAnimInstance()
Определения OffroadHatchback.c:546
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:671
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:876
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:604
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:845
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:575
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:471
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:896
void OffroadHatchback()
Определения OffroadHatchback.c:476
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:840
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:712
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:643
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:827
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:609
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()
Определения OffroadHatchback.c:495
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.