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

◆ EOnPostSimulate()

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

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

588 : CarScript
589{
593
594 void OffroadHatchback()
595 {
596 //m_dmgContactCoef = 0.075;
597
598 m_EngineStartOK = "offroad_engine_start_SoundSet";
599 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
600 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
601 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
602 m_EngineStop = "offroad_engine_stop_SoundSet";
603 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
604
605 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
606 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
607 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
608 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
609
612
613 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
614 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
615
616 SetEnginePos("0 0.7 1.2");
617
619 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
620 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
621 }
622
623 void ~OffroadHatchback()
624 {
625 m_UTSource = null;
626 m_UTSSettings = null;
627 m_UTSLEngine = null;
628 }
629
630 override void EEInit()
631 {
632 super.EEInit();
633
634 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
635 {
637 m_UTSSettings.m_ManualUpdate = true;
639 m_UTSSettings.m_TemperatureCap = 0;
640 m_UTSSettings.m_RangeFull = 0.5;
641 m_UTSSettings.m_RangeMax = 2;
642
645 }
646 }
647
648 override bool NeedElectricitySourceDevice()
649 {
650 return true;
651 }
652
654 {
655 super.GetElectricitySourceDevice();
656
657 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
658 }
659
660 override string GetElectricitySourceDeviceType()
661 {
662 return "CarBattery";
663 }
664
665 override void OnEngineStart()
666 {
667 super.OnEngineStart();
668
669 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
670 {
671 if (m_UTSource)
672 m_UTSource.SetDefferedActive(true, 20.0);
673 }
674 }
675
676 override void OnEngineStop()
677 {
678 super.OnEngineStop();
679
680 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
681 {
682 if (m_UTSource)
683 m_UTSource.SetDefferedActive(false, 10.0);
684 }
685 }
686
687 override void EOnPostSimulate(IEntity other, float timeSlice)
688 {
689 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
690 {
691 if (m_UTSource && m_UTSource.IsActive())
692 {
694 }
695 }
696 }
697
698 override int GetAnimInstance()
699 {
700 return VehicleAnimInstances.HATCHBACK;
701 }
702
703 override float GetTransportCameraDistance()
704 {
705 return 3.5;
706 }
707
708 override int GetSeatAnimationType( int posIdx )
709 {
710 switch (posIdx)
711 {
712 case 0:
713 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
714 case 1:
715 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
716 case 2:
717 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
718 case 3:
719 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
720 }
721
722 return 0;
723
724 }
725
726 override bool CanReleaseAttachment(EntityAI attachment)
727 {
728 if (!super.CanReleaseAttachment(attachment))
729 {
730 return false;
731 }
732
733 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
734 {
735 string attType = attachment.GetType();
736 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
737 {
738 return false;
739 }
740 }
741
742 return true;
743 }
744
745 override protected bool CanManipulateSpareWheel(string slotSelectionName)
746 {
747 return GetCarDoorsState("NivaHood") != 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("NivaHood") == 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 {
773 return false;
774 }
775
776 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
777 {
778 return false;
779 }
780
781 return true;
782 }
783
784 override int GetCarDoorsState(string slotType)
785 {
786 CarDoor carDoor;
787
788 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
789 if (!carDoor)
790 {
791 return CarDoorState.DOORS_MISSING;
792 }
793
794 switch (slotType)
795 {
796 case "NivaDriverDoors":
797 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
798
799 case "NivaCoDriverDoors":
800 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
801
802 case "NivaHood":
803 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
804
805 case "NivaTrunk":
806 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
807 }
808
809 return CarDoorState.DOORS_MISSING;
810 }
811
812 override bool CrewCanGetThrough(int posIdx)
813 {
814 CarDoor carDoor;
815 switch (posIdx)
816 {
817 case 0:
818 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
819 return false;
820 else if (GetAnimationPhase("SeatDriver") > 0.5)
821 return false;
822
823 return true;
824
825 case 1:
826 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
827 return false;
828 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
829 return false;
830
831 return true;
832
833 case 2:
834 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
835 return false;
836 else if (GetAnimationPhase("SeatDriver") <= 0.5)
837 return false;
838
839 return true;
840
841 case 3:
842 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
843 return false;
844 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
845 return false;
846
847 return true;
848 }
849
850 return false;
851 }
852
853 override string GetDoorSelectionNameFromSeatPos(int posIdx)
854 {
855 switch (posIdx)
856 {
857 case 0:
858 case 2:
859 return "doors_driver";
860 case 1:
861 case 3:
862 return "doors_codriver";
863 }
864
865 return super.GetDoorSelectionNameFromSeatPos(posIdx);
866 }
867
868 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
869 {
870 switch (posIdx)
871 {
872 case 0:
873 case 2:
874 return "NivaDriverDoors";
875 case 1:
876 case 3:
877 return "NivaCoDriverDoors";
878 }
879
880 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
881 }
882
883 // 0 full ambient and engine sound
884 // 1 zero ambient and engine sound
885 override float OnSound(CarSoundCtrl ctrl, float oldValue)
886 {
887 float tempCap = 0.0;
888
889 switch (ctrl)
890 {
891 case CarSoundCtrl.DOORS:
892 float newValue = 0;
893 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
894 {
895 newValue += 0.5;
896 }
897
898 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
899 {
900 newValue += 0.5;
901 }
902
903 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
904 {
905 newValue += 0.3;
906 }
907
908 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
909 {
910 newValue -= 0.6;
911 }
912
913 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
914 {
915 newValue -= 0.2;
916 }
917
918 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
919 {
920 newValue -= 0.2;
921 }
922
923 return Math.Clamp(newValue, 0, 1);
924 break;
925 }
926
927 return super.OnSound(ctrl, oldValue);
928 }
929
930 override string GetAnimSourceFromSelection( string selection )
931 {
932 switch (selection)
933 {
934 case "doors_driver":
935 return "DoorsDriver";
936 case "doors_codriver":
937 return "DoorsCoDriver";
938 case "doors_hood":
939 return "DoorsHood";
940 case "doors_trunk":
941 return "DoorsTrunk";
942 case "seatback_driver":
943 return "SeatDriver";
944 case "seatback_codriver":
945 return "SeatCoDriver";
946 }
947
948 return "";
949 }
950
951 override string GetDoorConditionPointFromSelection(string selection)
952 {
953 switch (selection)
954 {
955 case "seat_driver":
956 case "seatback_driver":
957 case "seat_cargo1":
958 return "seat_con_1_1";
959 case "seat_codriver":
960 case "seatback_codriver":
961 case "seat_cargo2":
962 return "seat_con_2_1";
963 }
964
965 return "";
966 }
967
968 override int GetCrewIndex(string selection)
969 {
970 switch (selection)
971 {
972 case "seatback_driver":
973 return 0;
974 case "seatback_codriver":
975 return 1;
976 }
977
978 return -1;
979 }
980
981 override bool IsVitalGlowPlug()
982 {
983 return false;
984 }
985
986 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
987 {
988 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
989 return false;
990
991 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
992 return false;
993
994 switch (currentSeat)
995 {
996 case 0:
997 return nextSeat == 1;
998
999 case 1:
1000 return nextSeat == 0;
1001
1002 case 2:
1003 return nextSeat == 3;
1004
1005 case 3:
1006 return nextSeat == 2;
1007 }
1008
1009 return false;
1010 }
1011
1012 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1013 {
1014 switch (pCurrentSeat)
1015 {
1016 case 0:
1017 return pDoorsSelection == "DoorsDriver";
1018
1019 case 1:
1020 return pDoorsSelection == "DoorsCoDriver";
1021
1022 case 2:
1023 return pDoorsSelection == "DoorsDriver";
1024
1025 case 3:
1026 return pDoorsSelection == "DoorsCoDriver";
1027 }
1028
1029 return false;
1030 }
1031
1032 override int GetSeatIndexFromDoor( string pDoorSelection )
1033 {
1034 switch (pDoorSelection)
1035 {
1036 case "DoorsDriver":
1037 return 0;
1038 case "DoorsCoDriver":
1039 return 1;
1040 }
1041
1042 return -1;
1043 }
1044
1045 override void SetActions()
1046 {
1047 super.SetActions();
1048
1050 }
1051
1052 override void OnDebugSpawn()
1053 {
1055 SpawnAdditionalItems();
1056 FillUpCarFluids();
1057
1058 GameInventory inventory = GetInventory();
1059 inventory.CreateInInventory("HatchbackWheel");
1060 inventory.CreateInInventory("HatchbackWheel");
1061 inventory.CreateInInventory("HatchbackWheel" );
1062 inventory.CreateInInventory("HatchbackWheel");
1063
1064 inventory.CreateInInventory("HatchbackDoors_Driver");
1065 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1066 inventory.CreateInInventory("HatchbackHood");
1067 inventory.CreateInInventory("HatchbackTrunk");
1068
1069 //-----IN CAR CARGO
1070 inventory.CreateInInventory("HatchbackWheel");
1071 inventory.CreateInInventory("HatchbackWheel");
1072 }
1073}
1074
1075class OffroadHatchback_White : OffroadHatchback
1076{
1077 override void OnDebugSpawn()
1078 {
1080 SpawnAdditionalItems();
1081 FillUpCarFluids();
1082
1083 GameInventory inventory = GetInventory();
1084 inventory.CreateInInventory("HatchbackWheel");
1085 inventory.CreateInInventory("HatchbackWheel");
1086 inventory.CreateInInventory("HatchbackWheel");
1087 inventory.CreateInInventory("HatchbackWheel");
1088
1089 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1090 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1091 inventory.CreateInInventory("HatchbackHood_White");
1092 inventory.CreateInInventory("HatchbackTrunk_White");
1093
1094
1095 //-----IN CAR CARGO
1096 inventory.CreateInInventory("HatchbackWheel");
1097 inventory.CreateInInventory("HatchbackWheel");
1098 }
1099}
1100
1102{
1103 override void OnDebugSpawn()
1104 {
1106 SpawnAdditionalItems();
1107 FillUpCarFluids();
1108
1109 GameInventory inventory = GetInventory();
1110 inventory.CreateInInventory("HatchbackWheel");
1111 inventory.CreateInInventory("HatchbackWheel");
1112 inventory.CreateInInventory("HatchbackWheel");
1113 inventory.CreateInInventory("HatchbackWheel");
1114
1115 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1116 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1117 inventory.CreateInInventory("HatchbackHood_Blue");
1118 inventory.CreateInInventory("HatchbackTrunk_Blue");
1119
1120 //-----IN CAR CARGO
1121 inventory.CreateInInventory("HatchbackWheel");
1122 inventory.CreateInInventory("HatchbackWheel");
1123 }
1124}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
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
OffroadHatchbackLightProfileFront VehicleLightProfileFront OffroadHatchbackLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override void SetActions()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override string GetDoorConditionPointFromSelection(string selection)
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()
override EntityAI GetElectricitySourceDevice()
void ~OffroadHatchback()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
OffroadHatchback CarScript OnDebugSpawn()
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override int GetSeatIndexFromDoor(string pDoorSelection)
override string GetElectricitySourceDeviceType()
void OffroadHatchback()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override int GetCrewIndex(string selection)
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
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.