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

◆ OnEngineStart()

override void OnDebugSpawn::OnEngineStart ( )
protected

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

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