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

◆ GetElectricitySourceDevice()

override EntityAI OnDebugSpawn::GetElectricitySourceDevice ( )
protected

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

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