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

◆ GetElectricitySourceDeviceType()

override string OnDebugSpawn::GetElectricitySourceDeviceType ( )
protected

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

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