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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

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