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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

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