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

◆ HasGangedTailAndBrakeLights()

override bool OnDebugSpawn::HasGangedTailAndBrakeLights ( )
protected

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

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

Используется в Car::UpdateLightsServer() и UpdateLightsServer().