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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

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