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

◆ NeedElectricitySourceDevice()

override bool OnDebugSpawn::NeedElectricitySourceDevice ( )
protected

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

524 : CarScript
525{
529
530 void Offroad_02()
531 {
532 //m_dmgContactCoef = 0.0365;
533
534 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
535 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
536 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
537 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
538 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
539 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
540
541 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
542 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
543
544 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
545 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
546
547 m_LightsComponent.RegisterSelection("BrakesOn", {
548 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
549 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
550 });
551 m_LightsComponent.RegisterSelection("BrakesOff", {
552 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
553 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
554 });
555
556 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
557 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
558
559 SetEnginePos("0 0.7 1.7");
560
562 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
563 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
564 }
565
566 void ~Offroad_02()
567 {
568 m_UTSource = null;
569 m_UTSSettings = null;
570 m_UTSLEngine = null;
571 }
572
573 override void EEInit()
574 {
575 super.EEInit();
576
577 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
578 {
580 m_UTSSettings.m_ManualUpdate = true;
582 m_UTSSettings.m_TemperatureCap = 0;
583 m_UTSSettings.m_RangeFull = 0.5;
584 m_UTSSettings.m_RangeMax = 2;
585
588 }
589 }
590
591 override bool HasGangedTailAndBrakeLights()
592 {
593 return true;
594 }
595
596 override bool NeedElectricitySourceDevice()
597 {
598 return true;
599 }
600
602 {
603 super.GetElectricitySourceDevice();
604
605 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
606 }
607
608 override string GetElectricitySourceDeviceType()
609 {
610 return "CarBattery";
611 }
612
613 override void OnEngineStart()
614 {
615 super.OnEngineStart();
616
617 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
618 {
619 if (m_UTSource)
620 m_UTSource.SetDefferedActive(true, 20.0);
621 }
622 }
623
624 override void OnEngineStop()
625 {
626 super.OnEngineStop();
627
628 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
629 {
630 if (m_UTSource)
631 m_UTSource.SetDefferedActive(false, 10.0);
632 }
633 }
634
635 override void EOnPostSimulate(IEntity other, float timeSlice)
636 {
637 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
638 {
639 if (m_UTSource && m_UTSource.IsActive())
640 {
642 }
643 }
644 }
645
646 override int GetAnimInstance()
647 {
648 return VehicleAnimInstances.HMMWV;
649 }
650
651 override float GetTransportCameraDistance()
652 {
653 return 5.1;
654 }
655
656 override float GetWeightCoef()
657 {
658 return 1.5;
659 }
660
661 override int GetSeatAnimationType(int posIdx)
662 {
663 switch (posIdx)
664 {
665 case 0:
666 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
667 case 1:
668 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
669 case 2:
670 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
671 case 3:
672 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
673 }
674
675 return 0;
676 }
677
678 override bool CanReleaseAttachment( EntityAI attachment )
679 {
680 if (!super.CanReleaseAttachment(attachment))
681 {
682 return false;
683 }
684
685 string attType = attachment.GetType();
686 switch (attType)
687 {
688 case "CarBattery":
689 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
690 {
691 return false;
692 }
693 break;
694
695 case "GlowPlug":
696 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
697 {
698 return false;
699 }
700 break;
701 }
702
703 return true;
704 }
705
706 override protected bool CanManipulateSpareWheel(string slotSelectionName)
707 {
708 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
709 }
710
711 override bool CanDisplayAttachmentCategory(string category_name)
712 {
713 if ( !super.CanDisplayAttachmentCategory(category_name))
714 {
715 return false;
716 }
717
718 category_name.ToLower();
719 if (category_name.Contains("engine"))
720 {
721 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
722 {
723 return false;
724 }
725 }
726
727 return true;
728 }
729
730 override bool CanDisplayCargo()
731 {
732 if ( !super.CanDisplayCargo() )
733 return false;
734
735 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
736 return false;
737
738 return true;
739 }
740
741 override int GetCarDoorsState(string slotType)
742 {
743 CarDoor carDoor;
744
745 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
746 if (!carDoor)
747 {
748 return CarDoorState.DOORS_MISSING;
749 }
750
751 switch (slotType)
752 {
753 case "Offroad_02_Door_1_1":
754 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
755
756 case "Offroad_02_Door_2_1":
757 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
758
759 case "Offroad_02_Door_1_2":
760 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
761
762 case "Offroad_02_Door_2_2":
763 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
764
765 case "Offroad_02_Hood":
766 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
767
768 case "Offroad_02_Trunk":
769 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
770 }
771
772 return CarDoorState.DOORS_MISSING;
773 }
774
775
776 override bool CrewCanGetThrough( int posIdx )
777 {
778 switch( posIdx )
779 {
780 case 0:
781 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
782 return false;
783
784 return true;
785 break;
786
787 case 1:
788 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
789 return false;
790
791 return true;
792 break;
793
794 case 2:
795 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
796 return false;
797
798 return true;
799 break;
800
801 case 3:
802 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
803 return false;
804
805 return true;
806 break;
807 }
808
809 return false;
810 }
811
812 override string GetDoorSelectionNameFromSeatPos(int posIdx)
813 {
814 switch( posIdx )
815 {
816 case 0:
817 return "doors_driver";
818 break;
819 case 1:
820 return "doors_codriver";
821 break;
822 case 2:
823 return "doors_cargo1";
824 break;
825 case 3:
826 return "doors_cargo2";
827 break;
828 }
829
830 return super.GetDoorSelectionNameFromSeatPos(posIdx);
831 }
832
833 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
834 {
835 switch (posIdx)
836 {
837 case 0:
838 return "Offroad_02_Door_1_1";
839 case 1:
840 return "Offroad_02_Door_2_1";
841 case 2:
842 return "Offroad_02_Door_1_2";
843 case 3:
844 return "Offroad_02_Door_2_2";
845 }
846
847 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
848 }
849
850 override float OnSound(CarSoundCtrl ctrl, float oldValue)
851 {
852 switch ( ctrl )
853 {
854 case CarSoundCtrl.DOORS:
855 float newValue = 0;
856 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
857 {
858 newValue += 0.25;
859 }
860
861 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
862 {
863 newValue += 0.25;
864 }
865
866 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
867 {
868 newValue += 0.25;
869 }
870
871 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
872 {
873 newValue += 0.25;
874 }
875
876 return Math.Clamp(newValue, 0, 1);
877 break;
878 }
879
880 return super.OnSound(ctrl, oldValue);
881 }
882
883 override string GetAnimSourceFromSelection(string selection)
884 {
885 switch (selection)
886 {
887 case "doors_driver":
888 return "DoorsDriver";
889 case "doors_codriver":
890 return "DoorsCoDriver";
891 case "doors_cargo1":
892 return "DoorsCargo1";
893 case "doors_cargo2":
894 return "DoorsCargo2";
895 case "doors_hood":
896 return "DoorsHood";
897 case "doors_trunk":
898 return "DoorsTrunk";
899 }
900
901 return "";
902 }
903
904 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
905 {
906 switch (currentSeat)
907 {
908 case 0:
909 return nextSeat == 1;
910 case 1:
911 return nextSeat == 0;
912 case 2:
913 return nextSeat == 3;
914 case 3:
915 return nextSeat == 2;
916 }
917
918 return false;
919 }
920
921 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
922 {
923 switch (pCurrentSeat)
924 {
925 case 0:
926 return pDoorsSelection == "DoorsDriver";
927 case 1:
928 return pDoorsSelection == "DoorsCoDriver";
929 case 2:
930 return pDoorsSelection == "DoorsCargo1";
931 case 3:
932 return pDoorsSelection == "DoorsCargo2";
933 }
934
935 return false;
936 }
937
938 override bool IsVitalSparkPlug()
939 {
940 return false;
941 }
942
943 override bool IsVitalRadiator()
944 {
945 return false;
946 }
947
948 override void OnDebugSpawn()
949 {
951 SpawnAdditionalItems();
952 FillUpCarFluids();
953
954 GameInventory inventory = GetInventory();
955 inventory.CreateInInventory("Offroad_02_Wheel");
956 inventory.CreateInInventory("Offroad_02_Wheel");
957 inventory.CreateInInventory("Offroad_02_Wheel");
958 inventory.CreateInInventory("Offroad_02_Wheel");
959
960 inventory.CreateInInventory("Offroad_02_Door_1_1");
961 inventory.CreateInInventory("Offroad_02_Door_1_2");
962 inventory.CreateInInventory("Offroad_02_Door_2_1");
963 inventory.CreateInInventory("Offroad_02_Door_2_2");
964 inventory.CreateInInventory("Offroad_02_Hood");
965 inventory.CreateInInventory("Offroad_02_Trunk");
966
967 //-----IN CAR CARGO
968 inventory.CreateInInventory("Offroad_02_Wheel");
969 inventory.CreateInInventory("Offroad_02_Wheel");
970 }
971}
972
973
974class Offroad_02_Beige : Offroad_02
975{
976 override void OnDebugSpawn()
977 {
979 SpawnAdditionalItems();
980 FillUpCarFluids();
981
982 GetInventory().CreateInInventory("Offroad_02_Wheel");
983 GetInventory().CreateInInventory("Offroad_02_Wheel");
984 GetInventory().CreateInInventory("Offroad_02_Wheel");
985 GetInventory().CreateInInventory("Offroad_02_Wheel");
986
987 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
988 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
989 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
990 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
991 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
992 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
993
994 //-----IN CAR CARGO
995 GetInventory().CreateInInventory("Offroad_02_Wheel");
996 GetInventory().CreateInInventory("Offroad_02_Wheel");
997 }
998}
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.