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

◆ GetElectricitySourceDevice()

override EntityAI OnDebugSpawn::GetElectricitySourceDevice ( )
protected

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

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