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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

634 : CarScript
635{
639
640 void Offroad_02()
641 {
642 //m_dmgContactCoef = 0.0365;
643
644 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
645 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
646 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
647 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
648 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
649 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
650
651 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
652 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
653
654 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
655 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
656
657 m_LightsComponent.RegisterSelection("BrakesOn", {
658 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
659 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
660 });
661 m_LightsComponent.RegisterSelection("BrakesOff", {
662 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
663 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
664 });
665
666 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
667 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
668
669 SetEnginePos("0 0.7 1.7");
670
672 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
673 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
674 }
675
676 void ~Offroad_02()
677 {
678 m_UTSource = null;
679 m_UTSSettings = null;
680 m_UTSLEngine = null;
681 }
682
683 override void EEInit()
684 {
685 super.EEInit();
686
687 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
688 {
690 m_UTSSettings.m_ManualUpdate = true;
692 m_UTSSettings.m_TemperatureCap = 0;
693 m_UTSSettings.m_RangeFull = 0.5;
694 m_UTSSettings.m_RangeMax = 2;
695
698 }
699 }
700
701 override bool HasGangedTailAndBrakeLights()
702 {
703 return true;
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.HMMWV;
759 }
760
761 override float GetTransportCameraDistance()
762 {
763 return 5.1;
764 }
765
766 override float GetWeightCoef()
767 {
768 return 1.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 override bool CanReleaseAttachment( EntityAI attachment )
789 {
790 if (!super.CanReleaseAttachment(attachment))
791 {
792 return false;
793 }
794
795 string attType = attachment.GetType();
796 switch (attType)
797 {
798 case "CarBattery":
799 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
800 {
801 return false;
802 }
803 break;
804
805 case "GlowPlug":
806 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
807 {
808 return false;
809 }
810 break;
811 }
812
813 return true;
814 }
815
816 override protected bool CanManipulateSpareWheel(string slotSelectionName)
817 {
818 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
819 }
820
821 override bool CanDisplayAttachmentCategory(string category_name)
822 {
823 if ( !super.CanDisplayAttachmentCategory(category_name))
824 {
825 return false;
826 }
827
828 category_name.ToLower();
829 if (category_name.Contains("engine"))
830 {
831 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
832 {
833 return false;
834 }
835 }
836
837 return true;
838 }
839
840 override bool CanDisplayCargo()
841 {
842 if ( !super.CanDisplayCargo() )
843 return false;
844
845 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
846 return false;
847
848 return true;
849 }
850
851 override int GetCarDoorsState(string slotType)
852 {
853 CarDoor carDoor;
854
855 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
856 if (!carDoor)
857 {
858 return CarDoorState.DOORS_MISSING;
859 }
860
861 switch (slotType)
862 {
863 case "Offroad_02_Door_1_1":
864 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
865
866 case "Offroad_02_Door_2_1":
867 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
868
869 case "Offroad_02_Door_1_2":
870 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
871
872 case "Offroad_02_Door_2_2":
873 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
874
875 case "Offroad_02_Hood":
876 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
877
878 case "Offroad_02_Trunk":
879 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
880 }
881
882 return CarDoorState.DOORS_MISSING;
883 }
884
885
886 override bool CrewCanGetThrough( int posIdx )
887 {
888 switch( posIdx )
889 {
890 case 0:
891 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
892 return false;
893
894 return true;
895 break;
896
897 case 1:
898 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
899 return false;
900
901 return true;
902 break;
903
904 case 2:
905 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
906 return false;
907
908 return true;
909 break;
910
911 case 3:
912 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
913 return false;
914
915 return true;
916 break;
917 }
918
919 return false;
920 }
921
922 override string GetDoorSelectionNameFromSeatPos(int posIdx)
923 {
924 switch( posIdx )
925 {
926 case 0:
927 return "doors_driver";
928 break;
929 case 1:
930 return "doors_codriver";
931 break;
932 case 2:
933 return "doors_cargo1";
934 break;
935 case 3:
936 return "doors_cargo2";
937 break;
938 }
939
940 return super.GetDoorSelectionNameFromSeatPos(posIdx);
941 }
942
943 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
944 {
945 switch (posIdx)
946 {
947 case 0:
948 return "Offroad_02_Door_1_1";
949 case 1:
950 return "Offroad_02_Door_2_1";
951 case 2:
952 return "Offroad_02_Door_1_2";
953 case 3:
954 return "Offroad_02_Door_2_2";
955 }
956
957 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
958 }
959
960 override float OnSound(CarSoundCtrl ctrl, float oldValue)
961 {
962 switch ( ctrl )
963 {
964 case CarSoundCtrl.DOORS:
965 float newValue = 0;
966 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
967 {
968 newValue += 0.25;
969 }
970
971 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
972 {
973 newValue += 0.25;
974 }
975
976 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
977 {
978 newValue += 0.25;
979 }
980
981 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
982 {
983 newValue += 0.25;
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_cargo1":
1002 return "DoorsCargo1";
1003 case "doors_cargo2":
1004 return "DoorsCargo2";
1005 case "doors_hood":
1006 return "DoorsHood";
1007 case "doors_trunk":
1008 return "DoorsTrunk";
1009 }
1010
1011 return "";
1012 }
1013
1014 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1015 {
1016 switch (currentSeat)
1017 {
1018 case 0:
1019 return nextSeat == 1;
1020 case 1:
1021 return nextSeat == 0;
1022 case 2:
1023 return nextSeat == 3;
1024 case 3:
1025 return nextSeat == 2;
1026 }
1027
1028 return false;
1029 }
1030
1031 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1032 {
1033 switch (pCurrentSeat)
1034 {
1035 case 0:
1036 return pDoorsSelection == "DoorsDriver";
1037 case 1:
1038 return pDoorsSelection == "DoorsCoDriver";
1039 case 2:
1040 return pDoorsSelection == "DoorsCargo1";
1041 case 3:
1042 return pDoorsSelection == "DoorsCargo2";
1043 }
1044
1045 return false;
1046 }
1047
1048 override bool IsVitalSparkPlug()
1049 {
1050 return false;
1051 }
1052
1053 override bool IsVitalRadiator()
1054 {
1055 return false;
1056 }
1057
1058 override void OnDebugSpawn()
1059 {
1061 SpawnAdditionalItems();
1062 FillUpCarFluids();
1063
1064 GameInventory inventory = GetInventory();
1065 inventory.CreateInInventory("Offroad_02_Wheel");
1066 inventory.CreateInInventory("Offroad_02_Wheel");
1067 inventory.CreateInInventory("Offroad_02_Wheel");
1068 inventory.CreateInInventory("Offroad_02_Wheel");
1069
1070 inventory.CreateInInventory("Offroad_02_Door_1_1");
1071 inventory.CreateInInventory("Offroad_02_Door_1_2");
1072 inventory.CreateInInventory("Offroad_02_Door_2_1");
1073 inventory.CreateInInventory("Offroad_02_Door_2_2");
1074 inventory.CreateInInventory("Offroad_02_Hood");
1075 inventory.CreateInInventory("Offroad_02_Trunk");
1076
1077 //-----IN CAR CARGO
1078 inventory.CreateInInventory("Offroad_02_Wheel");
1079 inventory.CreateInInventory("Offroad_02_Wheel");
1080 }
1081}
1082
1083
1084class Offroad_02_Beige : Offroad_02
1085{
1086 override void OnDebugSpawn()
1087 {
1089 SpawnAdditionalItems();
1090 FillUpCarFluids();
1091
1092 GetInventory().CreateInInventory("Offroad_02_Wheel");
1093 GetInventory().CreateInInventory("Offroad_02_Wheel");
1094 GetInventory().CreateInInventory("Offroad_02_Wheel");
1095 GetInventory().CreateInInventory("Offroad_02_Wheel");
1096
1097 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1098 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1099 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1100 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1101 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1102 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1103
1104 //-----IN CAR CARGO
1105 GetInventory().CreateInInventory("Offroad_02_Wheel");
1106 GetInventory().CreateInInventory("Offroad_02_Wheel");
1107 }
1108}
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
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
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()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
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
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.