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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

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