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

◆ EOnPostSimulate()

override void OnDebugSpawn::EOnPostSimulate ( IEntity other,
float timeSlice )
protected

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

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