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

◆ OnEngineStart()

override void OnDebugSpawn::OnEngineStart ( )
protected

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

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