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

◆ OnEngineStart()

override void OnDebugSpawn::OnEngineStart ( )
protected

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

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