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

◆ GetElectricitySourceDeviceType()

override string OnDebugSpawn::GetElectricitySourceDeviceType ( )
protected

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

489 : CarScript
490{
494
495 void Hatchback_02()
496 {
497 //m_dmgContactCoef = 0.070;
498
499 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
500 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
501 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
502 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
503 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
504 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
505
506 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
507 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
508
509 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
510 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
511
512 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
513 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
514
515 SetEnginePos("0 0.7 1.4");
516
518 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
519 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
520 }
521
522 void ~Hatchback_02()
523 {
524 m_UTSource = null;
525 m_UTSSettings = null;
526 m_UTSLEngine = null;
527 }
528
529 override void EEInit()
530 {
531 super.EEInit();
532
533 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
534 {
536 m_UTSSettings.m_ManualUpdate = true;
538 m_UTSSettings.m_TemperatureCap = 0;
539 m_UTSSettings.m_RangeFull = 0.5;
540 m_UTSSettings.m_RangeMax = 2;
541
544 }
545 }
546
547 override bool NeedElectricitySourceDevice()
548 {
549 return true;
550 }
551
553 {
554 super.GetElectricitySourceDevice();
555
556 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
557 }
558
559 override string GetElectricitySourceDeviceType()
560 {
561 return "CarBattery";
562 }
563
564 override void OnEngineStart()
565 {
566 super.OnEngineStart();
567
568 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
569 {
570 if (m_UTSource)
571 m_UTSource.SetDefferedActive(true, 20.0);
572 }
573 }
574
575 override void OnEngineStop()
576 {
577 super.OnEngineStop();
578
579 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
580 {
581 if (m_UTSource)
582 m_UTSource.SetDefferedActive(false, 10.0);
583 }
584 }
585
586 override void EOnPostSimulate(IEntity other, float timeSlice)
587 {
588 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
589 {
590 if (m_UTSource && m_UTSource.IsActive())
591 {
593 }
594 }
595 }
596
597 override int GetAnimInstance()
598 {
599 return VehicleAnimInstances.GOLF;
600 }
601
602 override int GetSeatAnimationType(int posIdx)
603 {
604 switch (posIdx)
605 {
606 case 0:
607 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
608 case 1:
609 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
610 case 2:
611 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
612 case 3:
613 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
614 }
615
616 return 0;
617 }
618
619 override bool CanReleaseAttachment(EntityAI attachment)
620 {
621 if (!super.CanReleaseAttachment(attachment))
622 {
623 return false;
624 }
625
626 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
627 {
628 string attType = attachment.GetType();
629 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
630 {
631 return false;
632 }
633 }
634
635 return true;
636 }
637
638 override protected bool CanManipulateSpareWheel(string slotSelectionName)
639 {
640 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
641 }
642
643 override bool CanDisplayAttachmentCategory( string category_name )
644 {
645 //super
646 if ( !super.CanDisplayAttachmentCategory( category_name ) )
647 return false;
648 //
649
650 category_name.ToLower();
651 if ( category_name.Contains("engine") )
652 {
653 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
654 return false;
655 }
656
657 return true;
658 }
659
660 override bool CanDisplayCargo()
661 {
662 if ( !super.CanDisplayCargo() )
663 return false;
664
665 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
666 return false;
667
668 return true;
669 }
670
671 override int GetCarDoorsState(string slotType)
672 {
673 CarDoor carDoor;
674
675 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
676 if (!carDoor)
677 {
678 return CarDoorState.DOORS_MISSING;
679 }
680
681 switch (slotType)
682 {
683 case "Hatchback_02_Door_1_1":
684 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
685
686 case "Hatchback_02_Door_2_1":
687 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
688
689 case "Hatchback_02_Door_1_2":
690 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
691
692 case "Hatchback_02_Door_2_2":
693 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
694
695 case "Hatchback_02_Hood":
696 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
697
698 case "Hatchback_02_Trunk":
699 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
700 }
701
702 return CarDoorState.DOORS_MISSING;
703 }
704
705
706 override bool CrewCanGetThrough(int posIdx)
707 {
708 switch (posIdx)
709 {
710 case 0:
711 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
712 {
713 return false;
714 }
715
716 return true;
717
718 case 1:
719 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
720 {
721 return false;
722 }
723
724 return true;
725
726 case 2:
727 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
728 {
729 return false;
730 }
731
732 return true;
733
734 case 3:
735 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
736 {
737 return false;
738 }
739
740 return true;
741 }
742
743 return false;
744 }
745
746 override string GetDoorSelectionNameFromSeatPos(int posIdx)
747 {
748 switch( posIdx )
749 {
750 case 0:
751 return "doors_driver";
752 break;
753 case 1:
754 return "doors_codriver";
755 break;
756 case 2:
757 return "doors_cargo1";
758 break;
759 case 3:
760 return "doors_cargo2";
761 break;
762 }
763
764 return super.GetDoorSelectionNameFromSeatPos(posIdx);
765 }
766
767 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
768 {
769 switch( posIdx )
770 {
771 case 0:
772 return "Hatchback_02_Door_1_1";
773 break;
774 case 1:
775 return "Hatchback_02_Door_2_1";
776 break;
777 case 2:
778 return "Hatchback_02_Door_1_2";
779 break;
780 case 3:
781 return "Hatchback_02_Door_2_2";
782 break;
783 }
784
785 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
786 }
787
788 override float OnSound(CarSoundCtrl ctrl, float oldValue)
789 {
790 switch (ctrl)
791 {
792 case CarSoundCtrl.DOORS:
793 float newValue = 0;
794 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
795 {
796 newValue += 0.25;
797 }
798
799 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
800 {
801 newValue += 0.25;
802 }
803
804 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
805 {
806 newValue += 0.25;
807 }
808
809 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
810 {
811 newValue += 0.25;
812 }
813
814 return Math.Clamp(newValue, 0, 1);
815 break;
816 }
817
818 return super.OnSound(ctrl, oldValue);
819 }
820
821 override string GetAnimSourceFromSelection( string selection )
822 {
823 switch( selection )
824 {
825 case "doors_driver":
826 return "DoorsDriver";
827 case "doors_codriver":
828 return "DoorsCoDriver";
829 case "doors_cargo1":
830 return "DoorsCargo1";
831 case "doors_cargo2":
832 return "DoorsCargo2";
833 case "doors_hood":
834 return "DoorsHood";
835 case "doors_trunk":
836 return "DoorsTrunk";
837 }
838
839 return "";
840 }
841
842 override bool IsVitalGlowPlug()
843 {
844 return false;
845 }
846
847 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
848 {
849 switch (currentSeat)
850 {
851 case 0:
852 return nextSeat == 1;
853 case 1:
854 return nextSeat == 0;
855 case 2:
856 return nextSeat == 3;
857 case 3:
858 return nextSeat == 2;
859 }
860
861 return false;
862 }
863
864 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
865 {
866 switch (pCurrentSeat)
867 {
868 case 0:
869 return pDoorsSelection == "DoorsDriver";
870 case 1:
871 return pDoorsSelection == "DoorsCoDriver";
872 case 2:
873 return pDoorsSelection == "DoorsCargo1";
874 case 3:
875 return pDoorsSelection == "DoorsCargo2";
876 }
877
878 return false;
879 }
880
881 override void OnDebugSpawn()
882 {
884 SpawnAdditionalItems();
885 FillUpCarFluids();
886
887 GameInventory inventory = GetInventory();
888 inventory.CreateInInventory("Hatchback_02_Wheel");
889 inventory.CreateInInventory("Hatchback_02_Wheel");
890 inventory.CreateInInventory("Hatchback_02_Wheel");
891 inventory.CreateInInventory("Hatchback_02_Wheel");
892
893 inventory.CreateInInventory("Hatchback_02_Door_1_1");
894 inventory.CreateInInventory("Hatchback_02_Door_1_2");
895 inventory.CreateInInventory("Hatchback_02_Door_2_1");
896 inventory.CreateInInventory("Hatchback_02_Door_2_2");
897 inventory.CreateInInventory("Hatchback_02_Hood");
898 inventory.CreateInInventory("Hatchback_02_Trunk");
899
900 //-----IN CAR CARGO
901 inventory.CreateInInventory("Hatchback_02_Wheel");
902 inventory.CreateInInventory("Hatchback_02_Wheel");
903 }
904}
905
906class Hatchback_02_Black : Hatchback_02
907{
908 override void OnDebugSpawn()
909 {
911 SpawnAdditionalItems();
912 FillUpCarFluids();
913
914 GameInventory inventory = GetInventory();
915 inventory.CreateInInventory("Hatchback_02_Wheel");
916 inventory.CreateInInventory("Hatchback_02_Wheel");
917 inventory.CreateInInventory("Hatchback_02_Wheel");
918 inventory.CreateInInventory("Hatchback_02_Wheel");
919
920 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
921 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
922 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
923 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
924 inventory.CreateInInventory("Hatchback_02_Hood_Black");
925 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
926
927 //-----IN CAR CARGO
928 inventory.CreateInInventory("Hatchback_02_Wheel");
929 inventory.CreateInInventory("Hatchback_02_Wheel");
930 }
931}
932
934{
935 override void OnDebugSpawn()
936 {
938 SpawnAdditionalItems();
939 FillUpCarFluids();
940
941 GameInventory inventory = GetInventory();
942 inventory.CreateInInventory("Hatchback_02_Wheel");
943 inventory.CreateInInventory("Hatchback_02_Wheel");
944 inventory.CreateInInventory("Hatchback_02_Wheel");
945 inventory.CreateInInventory("Hatchback_02_Wheel");
946
947 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
948 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
949 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
950 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
951 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
952 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
953
954 //-----IN CAR CARGO
955 inventory.CreateInInventory("Hatchback_02_Wheel");
956 inventory.CreateInInventory("Hatchback_02_Wheel");
957 }
958}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения EnEntity.c:165
Определения EnMath.c:7
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.