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

◆ GetElectricitySourceDeviceType()

override string OnDebugSpawn::GetElectricitySourceDeviceType ( )
protected

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

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