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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

568 : CarScript
569{
573
574 void Hatchback_02()
575 {
576 //m_dmgContactCoef = 0.070;
577
578 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
579 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
580 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
581 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
582 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
583 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
584
585 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
586 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
587
588 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
589 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
590
591 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
592 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
593
594 SetEnginePos("0 0.7 1.4");
595
597 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
598 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
599 }
600
601 void ~Hatchback_02()
602 {
603 m_UTSource = null;
604 m_UTSSettings = null;
605 m_UTSLEngine = null;
606 }
607
608 override void EEInit()
609 {
610 super.EEInit();
611
612 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
613 {
615 m_UTSSettings.m_ManualUpdate = true;
617 m_UTSSettings.m_TemperatureCap = 0;
618 m_UTSSettings.m_RangeFull = 0.5;
619 m_UTSSettings.m_RangeMax = 2;
620
623 }
624 }
625
626 override bool NeedElectricitySourceDevice()
627 {
628 return true;
629 }
630
632 {
633 super.GetElectricitySourceDevice();
634
635 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
636 }
637
638 override string GetElectricitySourceDeviceType()
639 {
640 return "CarBattery";
641 }
642
643 override void OnEngineStart()
644 {
645 super.OnEngineStart();
646
647 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
648 {
649 if (m_UTSource)
650 m_UTSource.SetDefferedActive(true, 20.0);
651 }
652 }
653
654 override void OnEngineStop()
655 {
656 super.OnEngineStop();
657
658 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
659 {
660 if (m_UTSource)
661 m_UTSource.SetDefferedActive(false, 10.0);
662 }
663 }
664
665 override void EOnPostSimulate(IEntity other, float timeSlice)
666 {
667 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
668 {
669 if (m_UTSource && m_UTSource.IsActive())
670 {
672 }
673 }
674 }
675
676 override int GetAnimInstance()
677 {
678 return VehicleAnimInstances.GOLF;
679 }
680
681 override int GetSeatAnimationType(int posIdx)
682 {
683 switch (posIdx)
684 {
685 case 0:
686 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
687 case 1:
688 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
689 case 2:
690 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
691 case 3:
692 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
693 }
694
695 return 0;
696 }
697
698 override bool CanReleaseAttachment(EntityAI attachment)
699 {
700 if (!super.CanReleaseAttachment(attachment))
701 {
702 return false;
703 }
704
705 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
706 {
707 string attType = attachment.GetType();
708 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
709 {
710 return false;
711 }
712 }
713
714 return true;
715 }
716
717 override protected bool CanManipulateSpareWheel(string slotSelectionName)
718 {
719 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
720 }
721
722 override bool CanDisplayAttachmentCategory( string category_name )
723 {
724 //super
725 if ( !super.CanDisplayAttachmentCategory( category_name ) )
726 return false;
727 //
728
729 category_name.ToLower();
730 if ( category_name.Contains("engine") )
731 {
732 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
733 return false;
734 }
735
736 return true;
737 }
738
739 override bool CanDisplayCargo()
740 {
741 if ( !super.CanDisplayCargo() )
742 return false;
743
744 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
745 return false;
746
747 return true;
748 }
749
750 override int GetCarDoorsState(string slotType)
751 {
752 CarDoor carDoor;
753
754 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
755 if (!carDoor)
756 {
757 return CarDoorState.DOORS_MISSING;
758 }
759
760 switch (slotType)
761 {
762 case "Hatchback_02_Door_1_1":
763 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
764
765 case "Hatchback_02_Door_2_1":
766 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
767
768 case "Hatchback_02_Door_1_2":
769 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
770
771 case "Hatchback_02_Door_2_2":
772 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
773
774 case "Hatchback_02_Hood":
775 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
776
777 case "Hatchback_02_Trunk":
778 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
779 }
780
781 return CarDoorState.DOORS_MISSING;
782 }
783
784
785 override bool CrewCanGetThrough(int posIdx)
786 {
787 switch (posIdx)
788 {
789 case 0:
790 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
791 {
792 return false;
793 }
794
795 return true;
796
797 case 1:
798 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
799 {
800 return false;
801 }
802
803 return true;
804
805 case 2:
806 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
807 {
808 return false;
809 }
810
811 return true;
812
813 case 3:
814 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
815 {
816 return false;
817 }
818
819 return true;
820 }
821
822 return false;
823 }
824
825 override string GetDoorSelectionNameFromSeatPos(int posIdx)
826 {
827 switch( posIdx )
828 {
829 case 0:
830 return "doors_driver";
831 break;
832 case 1:
833 return "doors_codriver";
834 break;
835 case 2:
836 return "doors_cargo1";
837 break;
838 case 3:
839 return "doors_cargo2";
840 break;
841 }
842
843 return super.GetDoorSelectionNameFromSeatPos(posIdx);
844 }
845
846 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
847 {
848 switch( posIdx )
849 {
850 case 0:
851 return "Hatchback_02_Door_1_1";
852 break;
853 case 1:
854 return "Hatchback_02_Door_2_1";
855 break;
856 case 2:
857 return "Hatchback_02_Door_1_2";
858 break;
859 case 3:
860 return "Hatchback_02_Door_2_2";
861 break;
862 }
863
864 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
865 }
866
867 override float OnSound(CarSoundCtrl ctrl, float oldValue)
868 {
869 switch (ctrl)
870 {
871 case CarSoundCtrl.DOORS:
872 float newValue = 0;
873 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
874 {
875 newValue += 0.25;
876 }
877
878 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
879 {
880 newValue += 0.25;
881 }
882
883 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
884 {
885 newValue += 0.25;
886 }
887
888 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
889 {
890 newValue += 0.25;
891 }
892
893 return Math.Clamp(newValue, 0, 1);
894 break;
895 }
896
897 return super.OnSound(ctrl, oldValue);
898 }
899
900 override string GetAnimSourceFromSelection( string selection )
901 {
902 switch( selection )
903 {
904 case "doors_driver":
905 return "DoorsDriver";
906 case "doors_codriver":
907 return "DoorsCoDriver";
908 case "doors_cargo1":
909 return "DoorsCargo1";
910 case "doors_cargo2":
911 return "DoorsCargo2";
912 case "doors_hood":
913 return "DoorsHood";
914 case "doors_trunk":
915 return "DoorsTrunk";
916 }
917
918 return "";
919 }
920
921 override bool IsVitalGlowPlug()
922 {
923 return false;
924 }
925
926 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
927 {
928 switch (currentSeat)
929 {
930 case 0:
931 return nextSeat == 1;
932 case 1:
933 return nextSeat == 0;
934 case 2:
935 return nextSeat == 3;
936 case 3:
937 return nextSeat == 2;
938 }
939
940 return false;
941 }
942
943 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
944 {
945 switch (pCurrentSeat)
946 {
947 case 0:
948 return pDoorsSelection == "DoorsDriver";
949 case 1:
950 return pDoorsSelection == "DoorsCoDriver";
951 case 2:
952 return pDoorsSelection == "DoorsCargo1";
953 case 3:
954 return pDoorsSelection == "DoorsCargo2";
955 }
956
957 return false;
958 }
959
960 override void OnDebugSpawn()
961 {
963 SpawnAdditionalItems();
964 FillUpCarFluids();
965
966 GameInventory inventory = GetInventory();
967 inventory.CreateInInventory("Hatchback_02_Wheel");
968 inventory.CreateInInventory("Hatchback_02_Wheel");
969 inventory.CreateInInventory("Hatchback_02_Wheel");
970 inventory.CreateInInventory("Hatchback_02_Wheel");
971
972 inventory.CreateInInventory("Hatchback_02_Door_1_1");
973 inventory.CreateInInventory("Hatchback_02_Door_1_2");
974 inventory.CreateInInventory("Hatchback_02_Door_2_1");
975 inventory.CreateInInventory("Hatchback_02_Door_2_2");
976 inventory.CreateInInventory("Hatchback_02_Hood");
977 inventory.CreateInInventory("Hatchback_02_Trunk");
978
979 //-----IN CAR CARGO
980 inventory.CreateInInventory("Hatchback_02_Wheel");
981 inventory.CreateInInventory("Hatchback_02_Wheel");
982 }
983}
984
985class Hatchback_02_Black : Hatchback_02
986{
987 override void OnDebugSpawn()
988 {
990 SpawnAdditionalItems();
991 FillUpCarFluids();
992
993 GameInventory inventory = GetInventory();
994 inventory.CreateInInventory("Hatchback_02_Wheel");
995 inventory.CreateInInventory("Hatchback_02_Wheel");
996 inventory.CreateInInventory("Hatchback_02_Wheel");
997 inventory.CreateInInventory("Hatchback_02_Wheel");
998
999 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1000 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1001 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1002 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1003 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1004 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1005
1006 //-----IN CAR CARGO
1007 inventory.CreateInInventory("Hatchback_02_Wheel");
1008 inventory.CreateInInventory("Hatchback_02_Wheel");
1009 }
1010}
1011
1013{
1014 override void OnDebugSpawn()
1015 {
1017 SpawnAdditionalItems();
1018 FillUpCarFluids();
1019
1020 GameInventory inventory = GetInventory();
1021 inventory.CreateInInventory("Hatchback_02_Wheel");
1022 inventory.CreateInInventory("Hatchback_02_Wheel");
1023 inventory.CreateInInventory("Hatchback_02_Wheel");
1024 inventory.CreateInInventory("Hatchback_02_Wheel");
1025
1026 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1027 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1028 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1029 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1030 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1031 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1032
1033 //-----IN CAR CARGO
1034 inventory.CreateInInventory("Hatchback_02_Wheel");
1035 inventory.CreateInInventory("Hatchback_02_Wheel");
1036 }
1037}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения EnEntity.c:165
Определения EnMath.c:7
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.