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

◆ NeedElectricitySourceDevice()

override bool OnDebugSpawn::NeedElectricitySourceDevice ( )
protected

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

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