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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

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