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

◆ GetElectricitySourceDeviceType()

override string OnDebugSpawn::GetElectricitySourceDeviceType ( )
protected

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

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

Используется в SpawnUniversalParts().