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

◆ NeedElectricitySourceDevice()

override bool OnDebugSpawn::NeedElectricitySourceDevice ( )
protected

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

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