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

◆ GetElectricitySourceDeviceType()

override string OnDebugSpawn::GetElectricitySourceDeviceType ( )
protected

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

518 : CarScript
519{
523
524 void Sedan_02()
525 {
526 m_dmgContactCoef = 0.0790;
527
528 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
529 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
530 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
531 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
532 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
533 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
534
535 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
536 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
537
538 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Sedan_02LightProfileFront()));
539 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Sedan_02LightProfileRear()));
540
541 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Sedan_02_Horn_Short_SoundSet");
542 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Sedan_02_Horn_SoundSet");
543
544 SetEnginePos("0 0.7 -1.7");
545
547 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
548 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
549 }
550
551 void ~Sedan_02()
552 {
553 m_UTSource = null;
554 m_UTSSettings = null;
555 m_UTSLEngine = null;
556 }
557
558 override void EEInit()
559 {
560 super.EEInit();
561
562 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
563 {
565 m_UTSSettings.m_ManualUpdate = true;
567 m_UTSSettings.m_TemperatureCap = 0;
568 m_UTSSettings.m_RangeFull = 0.5;
569 m_UTSSettings.m_RangeMax = 2;
570
573 }
574 }
575
576 override bool NeedElectricitySourceDevice()
577 {
578 return true;
579 }
580
582 {
583 super.GetElectricitySourceDevice();
584
585 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
586 }
587
588 override string GetElectricitySourceDeviceType()
589 {
590 return "CarBattery";
591 }
592
593 override void OnEngineStart()
594 {
595 super.OnEngineStart();
596
597 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
598 {
599 if (m_UTSource)
600 m_UTSource.SetDefferedActive(true, 20.0);
601 }
602 }
603
604 override void OnEngineStop()
605 {
606 super.OnEngineStop();
607
608 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
609 {
610 if (m_UTSource)
611 m_UTSource.SetDefferedActive(false, 10.0);
612 }
613 }
614
615 override void EOnPostSimulate(IEntity other, float timeSlice)
616 {
617 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
618 {
619 if (m_UTSource && m_UTSource.IsActive())
620 {
622 }
623 }
624 }
625
626 override int GetAnimInstance()
627 {
628 return VehicleAnimInstances.S120;
629 }
630
631 override int GetSeatAnimationType(int posIdx)
632 {
633 switch (posIdx)
634 {
635 case 0:
636 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
637 case 1:
638 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
639 case 2:
640 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
641 case 3:
642 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
643 }
644
645 return 0;
646 }
647
648 override bool CanReleaseAttachment( EntityAI attachment )
649 {
650 if (!super.CanReleaseAttachment(attachment))
651 {
652 return false;
653 }
654
655 string attType = attachment.GetType();
656 switch (attType)
657 {
658 case "CarBattery":
659 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
660 {
661 return false;
662 }
663 break;
664
665 case "SparkPlug":
666 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
667 {
668 return false;
669 }
670 break;
671
672 case "CarRadiator":
673 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
674 {
675 return false;
676 }
677 break;
678 }
679
680 return true;
681 }
682
683 override protected bool CanManipulateSpareWheel(string slotSelectionName)
684 {
685 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
686 }
687
688 override bool CanDisplayAttachmentCategory(string category_name)
689 {
690 if ( !super.CanDisplayAttachmentCategory(category_name))
691 {
692 return false;
693 }
694
695 category_name.ToLower();
696 if (category_name.Contains("engine"))
697 {
698 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
699 {
700 return false;
701 }
702 }
703
704 if (category_name.Contains("trunk"))
705 {
706 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
707 {
708 return false;
709 }
710 }
711
712 return true;
713 }
714
715 override bool CanDisplayCargo()
716 {
717 if ( !super.CanDisplayCargo() )
718 return false;
719
720 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
721 return false;
722
723 return true;
724 }
725
726 override int GetCarDoorsState(string slotType)
727 {
728 CarDoor carDoor;
729
730 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
731 if (!carDoor)
732 {
733 return CarDoorState.DOORS_MISSING;
734 }
735
736 switch (slotType)
737 {
738 case "Sedan_02_Door_1_1":
739 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
740
741 case "Sedan_02_Door_2_1":
742 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
743
744 case "Sedan_02_Door_1_2":
745 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
746
747 case "Sedan_02_Door_2_2":
748 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
749
750 case "Sedan_02_Hood":
751 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
752
753 case "Sedan_02_Trunk":
754 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
755 }
756
757 return CarDoorState.DOORS_MISSING;
758 }
759
760
761 override bool CrewCanGetThrough( int posIdx )
762 {
763 switch( posIdx )
764 {
765 case 0:
766 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
767 return false;
768
769 return true;
770 break;
771
772 case 1:
773 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
774 return false;
775
776 return true;
777 break;
778
779 case 2:
780 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
781 return false;
782
783 return true;
784 break;
785
786 case 3:
787 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
788 return false;
789
790 return true;
791 break;
792 }
793
794 return false;
795 }
796
797 override string GetDoorSelectionNameFromSeatPos(int posIdx)
798 {
799 switch( posIdx )
800 {
801 case 0:
802 return "doors_driver";
803 break;
804 case 1:
805 return "doors_codriver";
806 break;
807 case 2:
808 return "doors_cargo1";
809 break;
810 case 3:
811 return "doors_cargo2";
812 break;
813 }
814
815 return super.GetDoorSelectionNameFromSeatPos(posIdx);
816 }
817
818 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
819 {
820 switch( posIdx )
821 {
822 case 0:
823 return "Sedan_02_Door_1_1";
824 break;
825 case 1:
826 return "Sedan_02_Door_2_1";
827 break;
828 case 2:
829 return "Sedan_02_Door_1_2";
830 break;
831 case 3:
832 return "Sedan_02_Door_2_2";
833 break;
834 }
835
836 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
837 }
838
839 override float OnSound(CarSoundCtrl ctrl, float oldValue)
840 {
841 switch ( ctrl )
842 {
843 case CarSoundCtrl.DOORS:
844 float newValue = 0;
845 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
846 {
847 newValue += 0.25;
848 }
849
850 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
851 {
852 newValue += 0.25;
853 }
854
855 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
856 {
857 newValue += 0.25;
858 }
859
860 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
861 {
862 newValue += 0.25;
863 }
864
865 return Math.Clamp(newValue, 0, 1);
866 break;
867 }
868
869 return super.OnSound(ctrl, oldValue);
870 }
871
872 override string GetAnimSourceFromSelection( string selection )
873 {
874 switch( selection )
875 {
876 case "doors_driver":
877 return "DoorsDriver";
878 case "doors_codriver":
879 return "DoorsCoDriver";
880 case "doors_cargo1":
881 return "DoorsCargo1";
882 case "doors_cargo2":
883 return "DoorsCargo2";
884 case "doors_hood":
885 return "DoorsHood";
886 case "doors_trunk":
887 return "DoorsTrunk";
888 }
889
890 return "";
891 }
892
893 override bool IsVitalGlowPlug()
894 {
895 return false;
896 }
897
898 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
899 {
900 switch (currentSeat)
901 {
902 case 0:
903 return nextSeat == 1;
904
905 case 1:
906 return nextSeat == 0;
907
908 case 2:
909 return nextSeat == 3;
910
911 case 3:
912 return nextSeat == 2;
913 }
914
915 return false;
916 }
917
918 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
919 {
920 switch (pCurrentSeat)
921 {
922 case 0:
923 return pDoorsSelection == "DoorsDriver";
924
925 case 1:
926 return pDoorsSelection == "DoorsCoDriver";
927
928 case 2:
929 return pDoorsSelection == "DoorsCargo1";
930
931 case 3:
932 return pDoorsSelection == "DoorsCargo2";
933 }
934
935 return false;
936 }
937
938 override void OnDebugSpawn()
939 {
941 SpawnAdditionalItems();
942 FillUpCarFluids();
943
944 GameInventory inventory = GetInventory();
945 inventory.CreateInInventory("Sedan_02_Wheel");
946 inventory.CreateInInventory("Sedan_02_Wheel");
947 inventory.CreateInInventory("Sedan_02_Wheel");
948 inventory.CreateInInventory("Sedan_02_Wheel");
949 inventory.CreateInInventory("Sedan_02_Wheel");
950
951 inventory.CreateInInventory("Sedan_02_Door_1_1");
952 inventory.CreateInInventory("Sedan_02_Door_1_2");
953 inventory.CreateInInventory("Sedan_02_Door_2_1");
954 inventory.CreateInInventory("Sedan_02_Door_2_2");
955 inventory.CreateInInventory("Sedan_02_Hood");
956 inventory.CreateInInventory("Sedan_02_Trunk");
957
958 //-----IN CAR CARGO
959 inventory.CreateInInventory("Sedan_02_Wheel");
960 inventory.CreateInInventory("Sedan_02_Wheel");
961 }
962}
963
964class Sedan_02_Red : Sedan_02
965{
966 override void OnDebugSpawn()
967 {
969 SpawnAdditionalItems();
970 FillUpCarFluids();
971
972 GameInventory inventory = GetInventory();
973 inventory.CreateInInventory("Sedan_02_Wheel");
974 inventory.CreateInInventory("Sedan_02_Wheel");
975 inventory.CreateInInventory("Sedan_02_Wheel");
976 inventory.CreateInInventory("Sedan_02_Wheel");
977
978 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
979 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
980 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
981 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
982 inventory.CreateInInventory("Sedan_02_Hood_Red");
983 inventory.CreateInInventory("Sedan_02_Trunk_Red");
984
985 //-----IN CAR CARGO
986 inventory.CreateInInventory("Sedan_02_Wheel");
987 inventory.CreateInInventory("Sedan_02_Wheel");
988 }
989}
990
992{
993 override void OnDebugSpawn()
994 {
996 SpawnAdditionalItems();
997 FillUpCarFluids();
998
999 GameInventory inventory = GetInventory();
1000 inventory.CreateInInventory("Sedan_02_Wheel");
1001 inventory.CreateInInventory("Sedan_02_Wheel");
1002 inventory.CreateInInventory("Sedan_02_Wheel");
1003 inventory.CreateInInventory("Sedan_02_Wheel");
1004
1005 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1006 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1007 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1008 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1009 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1010 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1011
1012 //-----IN CAR CARGO
1013 inventory.CreateInInventory("Sedan_02_Wheel");
1014 inventory.CreateInInventory("Sedan_02_Wheel");
1015 }
1016}
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
Sedan_02LightProfileFront VehicleLightProfileFront Sedan_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
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 ~Sedan_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()
Sedan_02 CarScript OnDebugSpawn()
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()
void Sedan_02()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
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()
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
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.