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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

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