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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

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