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

◆ OnEngineStart()

override void OnDebugSpawn::OnEngineStart ( )
protected

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

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