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

◆ GetElectricitySourceDevice()

override EntityAI OnDebugSpawn::GetElectricitySourceDevice ( )
protected

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

554 : CarScript
555{
559
560 void OffroadHatchback()
561 {
562 //m_dmgContactCoef = 0.075;
563
564 m_EngineStartOK = "offroad_engine_start_SoundSet";
565 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
566 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
567 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
568 m_EngineStop = "offroad_engine_stop_SoundSet";
569 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
570
571 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
572 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
573 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
574 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
575
578
579 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
580 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
581
582 SetEnginePos("0 0.7 1.2");
583
585 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
586 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
587 }
588
589 void ~OffroadHatchback()
590 {
591 m_UTSource = null;
592 m_UTSSettings = null;
593 m_UTSLEngine = null;
594 }
595
596 override void EEInit()
597 {
598 super.EEInit();
599
600 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
601 {
603 m_UTSSettings.m_ManualUpdate = true;
605 m_UTSSettings.m_TemperatureCap = 0;
606 m_UTSSettings.m_RangeFull = 0.5;
607 m_UTSSettings.m_RangeMax = 2;
608
611 }
612 }
613
614 override bool NeedElectricitySourceDevice()
615 {
616 return true;
617 }
618
620 {
621 super.GetElectricitySourceDevice();
622
623 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
624 }
625
626 override string GetElectricitySourceDeviceType()
627 {
628 return "CarBattery";
629 }
630
631 override void OnEngineStart()
632 {
633 super.OnEngineStart();
634
635 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
636 {
637 if (m_UTSource)
638 m_UTSource.SetDefferedActive(true, 20.0);
639 }
640 }
641
642 override void OnEngineStop()
643 {
644 super.OnEngineStop();
645
646 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
647 {
648 if (m_UTSource)
649 m_UTSource.SetDefferedActive(false, 10.0);
650 }
651 }
652
653 override void EOnPostSimulate(IEntity other, float timeSlice)
654 {
655 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
656 {
657 if (m_UTSource && m_UTSource.IsActive())
658 {
660 }
661 }
662 }
663
664 override int GetAnimInstance()
665 {
666 return VehicleAnimInstances.HATCHBACK;
667 }
668
669 override float GetTransportCameraDistance()
670 {
671 return 3.5;
672 }
673
674 override int GetSeatAnimationType( int posIdx )
675 {
676 switch (posIdx)
677 {
678 case 0:
679 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
680 case 1:
681 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
682 case 2:
683 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
684 case 3:
685 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
686 }
687
688 return 0;
689
690 }
691
692 override bool CanReleaseAttachment(EntityAI attachment)
693 {
694 if (!super.CanReleaseAttachment(attachment))
695 {
696 return false;
697 }
698
699 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
700 {
701 string attType = attachment.GetType();
702 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
703 {
704 return false;
705 }
706 }
707
708 return true;
709 }
710
711 override protected bool CanManipulateSpareWheel(string slotSelectionName)
712 {
713 return GetCarDoorsState("NivaHood") != 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("NivaHood") == 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 {
739 return false;
740 }
741
742 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
743 {
744 return false;
745 }
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 "NivaDriverDoors":
763 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
764
765 case "NivaCoDriverDoors":
766 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
767
768 case "NivaHood":
769 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
770
771 case "NivaTrunk":
772 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
773 }
774
775 return CarDoorState.DOORS_MISSING;
776 }
777
778 override bool CrewCanGetThrough(int posIdx)
779 {
780 CarDoor carDoor;
781 switch (posIdx)
782 {
783 case 0:
784 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
785 return false;
786 else if (GetAnimationPhase("SeatDriver") > 0.5)
787 return false;
788
789 return true;
790
791 case 1:
792 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
793 return false;
794 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
795 return false;
796
797 return true;
798
799 case 2:
800 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
801 return false;
802 else if (GetAnimationPhase("SeatDriver") <= 0.5)
803 return false;
804
805 return true;
806
807 case 3:
808 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
809 return false;
810 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
811 return false;
812
813 return true;
814 }
815
816 return false;
817 }
818
819 override string GetDoorSelectionNameFromSeatPos(int posIdx)
820 {
821 switch (posIdx)
822 {
823 case 0:
824 case 2:
825 return "doors_driver";
826 case 1:
827 case 3:
828 return "doors_codriver";
829 }
830
831 return super.GetDoorSelectionNameFromSeatPos(posIdx);
832 }
833
834 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
835 {
836 switch (posIdx)
837 {
838 case 0:
839 case 2:
840 return "NivaDriverDoors";
841 case 1:
842 case 3:
843 return "NivaCoDriverDoors";
844 }
845
846 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
847 }
848
849 // 0 full ambient and engine sound
850 // 1 zero ambient and engine sound
851 override float OnSound(CarSoundCtrl ctrl, float oldValue)
852 {
853 float tempCap = 0.0;
854
855 switch (ctrl)
856 {
857 case CarSoundCtrl.DOORS:
858 float newValue = 0;
859 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
860 {
861 newValue += 0.5;
862 }
863
864 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
865 {
866 newValue += 0.5;
867 }
868
869 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
870 {
871 newValue += 0.3;
872 }
873
874 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
875 {
876 newValue -= 0.6;
877 }
878
879 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
880 {
881 newValue -= 0.2;
882 }
883
884 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
885 {
886 newValue -= 0.2;
887 }
888
889 return Math.Clamp(newValue, 0, 1);
890 break;
891 }
892
893 return super.OnSound(ctrl, oldValue);
894 }
895
896 override string GetAnimSourceFromSelection( string selection )
897 {
898 switch (selection)
899 {
900 case "doors_driver":
901 return "DoorsDriver";
902 case "doors_codriver":
903 return "DoorsCoDriver";
904 case "doors_hood":
905 return "DoorsHood";
906 case "doors_trunk":
907 return "DoorsTrunk";
908 case "seatback_driver":
909 return "SeatDriver";
910 case "seatback_codriver":
911 return "SeatCoDriver";
912 }
913
914 return "";
915 }
916
917 override string GetDoorConditionPointFromSelection(string selection)
918 {
919 switch (selection)
920 {
921 case "seat_driver":
922 case "seatback_driver":
923 case "seat_cargo1":
924 return "seat_con_1_1";
925 case "seat_codriver":
926 case "seatback_codriver":
927 case "seat_cargo2":
928 return "seat_con_2_1";
929 }
930
931 return "";
932 }
933
934 override int GetCrewIndex(string selection)
935 {
936 switch (selection)
937 {
938 case "seatback_driver":
939 return 0;
940 case "seatback_codriver":
941 return 1;
942 }
943
944 return -1;
945 }
946
947 override bool IsVitalGlowPlug()
948 {
949 return false;
950 }
951
952 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
953 {
954 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
955 return false;
956
957 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
958 return false;
959
960 switch (currentSeat)
961 {
962 case 0:
963 return nextSeat == 1;
964
965 case 1:
966 return nextSeat == 0;
967
968 case 2:
969 return nextSeat == 3;
970
971 case 3:
972 return nextSeat == 2;
973 }
974
975 return false;
976 }
977
978 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
979 {
980 switch (pCurrentSeat)
981 {
982 case 0:
983 return pDoorsSelection == "DoorsDriver";
984
985 case 1:
986 return pDoorsSelection == "DoorsCoDriver";
987
988 case 2:
989 return pDoorsSelection == "DoorsDriver";
990
991 case 3:
992 return pDoorsSelection == "DoorsCoDriver";
993 }
994
995 return false;
996 }
997
998 override int GetSeatIndexFromDoor( string pDoorSelection )
999 {
1000 switch (pDoorSelection)
1001 {
1002 case "DoorsDriver":
1003 return 0;
1004 case "DoorsCoDriver":
1005 return 1;
1006 }
1007
1008 return -1;
1009 }
1010
1011 override void SetActions()
1012 {
1013 super.SetActions();
1014
1016 }
1017
1018 override void OnDebugSpawn()
1019 {
1021 SpawnAdditionalItems();
1022 FillUpCarFluids();
1023
1024 GameInventory inventory = GetInventory();
1025 inventory.CreateInInventory("HatchbackWheel");
1026 inventory.CreateInInventory("HatchbackWheel");
1027 inventory.CreateInInventory("HatchbackWheel" );
1028 inventory.CreateInInventory("HatchbackWheel");
1029
1030 inventory.CreateInInventory("HatchbackDoors_Driver");
1031 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1032 inventory.CreateInInventory("HatchbackHood");
1033 inventory.CreateInInventory("HatchbackTrunk");
1034
1035 //-----IN CAR CARGO
1036 inventory.CreateInInventory("HatchbackWheel");
1037 inventory.CreateInInventory("HatchbackWheel");
1038 }
1039}
1040
1041class OffroadHatchback_White : OffroadHatchback
1042{
1043 override void OnDebugSpawn()
1044 {
1046 SpawnAdditionalItems();
1047 FillUpCarFluids();
1048
1049 GameInventory inventory = GetInventory();
1050 inventory.CreateInInventory("HatchbackWheel");
1051 inventory.CreateInInventory("HatchbackWheel");
1052 inventory.CreateInInventory("HatchbackWheel");
1053 inventory.CreateInInventory("HatchbackWheel");
1054
1055 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1056 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1057 inventory.CreateInInventory("HatchbackHood_White");
1058 inventory.CreateInInventory("HatchbackTrunk_White");
1059
1060
1061 //-----IN CAR CARGO
1062 inventory.CreateInInventory("HatchbackWheel");
1063 inventory.CreateInInventory("HatchbackWheel");
1064 }
1065}
1066
1068{
1069 override void OnDebugSpawn()
1070 {
1072 SpawnAdditionalItems();
1073 FillUpCarFluids();
1074
1075 GameInventory inventory = GetInventory();
1076 inventory.CreateInInventory("HatchbackWheel");
1077 inventory.CreateInInventory("HatchbackWheel");
1078 inventory.CreateInInventory("HatchbackWheel");
1079 inventory.CreateInInventory("HatchbackWheel");
1080
1081 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1082 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1083 inventory.CreateInInventory("HatchbackHood_Blue");
1084 inventory.CreateInInventory("HatchbackTrunk_Blue");
1085
1086 //-----IN CAR CARGO
1087 inventory.CreateInInventory("HatchbackWheel");
1088 inventory.CreateInInventory("HatchbackWheel");
1089 }
1090}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
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
OffroadHatchbackLightProfileFront VehicleLightProfileFront OffroadHatchbackLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override void SetActions()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override string GetDoorConditionPointFromSelection(string selection)
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()
override EntityAI GetElectricitySourceDevice()
void ~OffroadHatchback()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
OffroadHatchback CarScript OnDebugSpawn()
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override int GetSeatIndexFromDoor(string pDoorSelection)
override string GetElectricitySourceDeviceType()
void OffroadHatchback()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override int GetCrewIndex(string selection)
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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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.