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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

505 : CarScript
506{
510
511 void Hatchback_02()
512 {
513 //m_dmgContactCoef = 0.070;
514
515 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
516 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
517 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
518 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
519 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
520 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
521
522 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
523 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
524
525 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
526 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
527
528 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
529 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
530
531 SetEnginePos("0 0.7 1.4");
532
534 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
535 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
536 }
537
538 void ~Hatchback_02()
539 {
540 m_UTSource = null;
541 m_UTSSettings = null;
542 m_UTSLEngine = null;
543 }
544
545 override void EEInit()
546 {
547 super.EEInit();
548
549 if (g_Game.IsServer() || !g_Game.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 bool NeedElectricitySourceDevice()
564 {
565 return true;
566 }
567
569 {
570 super.GetElectricitySourceDevice();
571
572 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
573 }
574
575 override string GetElectricitySourceDeviceType()
576 {
577 return "CarBattery";
578 }
579
580 override void OnEngineStart()
581 {
582 super.OnEngineStart();
583
584 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
585 {
586 if (m_UTSource)
587 m_UTSource.SetDefferedActive(true, 20.0);
588 }
589 }
590
591 override void OnEngineStop()
592 {
593 super.OnEngineStop();
594
595 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
596 {
597 if (m_UTSource)
598 m_UTSource.SetDefferedActive(false, 10.0);
599 }
600 }
601
602 override void EOnPostSimulate(IEntity other, float timeSlice)
603 {
604 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
605 {
606 if (m_UTSource && m_UTSource.IsActive())
607 {
609 }
610 }
611 }
612
613 override int GetAnimInstance()
614 {
615 return VehicleAnimInstances.GOLF;
616 }
617
618 override int GetSeatAnimationType(int posIdx)
619 {
620 switch (posIdx)
621 {
622 case 0:
623 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
624 case 1:
625 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
626 case 2:
627 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
628 case 3:
629 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
630 }
631
632 return 0;
633 }
634
635 override bool CanReleaseAttachment(EntityAI attachment)
636 {
637 if (!super.CanReleaseAttachment(attachment))
638 {
639 return false;
640 }
641
642 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
643 {
644 string attType = attachment.GetType();
645 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
646 {
647 return false;
648 }
649 }
650
651 return true;
652 }
653
654 override protected bool CanManipulateSpareWheel(string slotSelectionName)
655 {
656 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
657 }
658
659 override bool CanDisplayAttachmentCategory( string category_name )
660 {
661 //super
662 if ( !super.CanDisplayAttachmentCategory( category_name ) )
663 return false;
664 //
665
666 category_name.ToLower();
667 if ( category_name.Contains("engine") )
668 {
669 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
670 return false;
671 }
672
673 return true;
674 }
675
676 override bool CanDisplayCargo()
677 {
678 if ( !super.CanDisplayCargo() )
679 return false;
680
681 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
682 return false;
683
684 return true;
685 }
686
687 override int GetCarDoorsState(string slotType)
688 {
689 CarDoor carDoor;
690
691 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
692 if (!carDoor)
693 {
694 return CarDoorState.DOORS_MISSING;
695 }
696
697 switch (slotType)
698 {
699 case "Hatchback_02_Door_1_1":
700 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
701
702 case "Hatchback_02_Door_2_1":
703 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
704
705 case "Hatchback_02_Door_1_2":
706 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
707
708 case "Hatchback_02_Door_2_2":
709 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
710
711 case "Hatchback_02_Hood":
712 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
713
714 case "Hatchback_02_Trunk":
715 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
716 }
717
718 return CarDoorState.DOORS_MISSING;
719 }
720
721
722 override bool CrewCanGetThrough(int posIdx)
723 {
724 switch (posIdx)
725 {
726 case 0:
727 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
728 {
729 return false;
730 }
731
732 return true;
733
734 case 1:
735 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
736 {
737 return false;
738 }
739
740 return true;
741
742 case 2:
743 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
744 {
745 return false;
746 }
747
748 return true;
749
750 case 3:
751 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
752 {
753 return false;
754 }
755
756 return true;
757 }
758
759 return false;
760 }
761
762 override string GetDoorSelectionNameFromSeatPos(int posIdx)
763 {
764 switch( posIdx )
765 {
766 case 0:
767 return "doors_driver";
768 break;
769 case 1:
770 return "doors_codriver";
771 break;
772 case 2:
773 return "doors_cargo1";
774 break;
775 case 3:
776 return "doors_cargo2";
777 break;
778 }
779
780 return super.GetDoorSelectionNameFromSeatPos(posIdx);
781 }
782
783 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
784 {
785 switch( posIdx )
786 {
787 case 0:
788 return "Hatchback_02_Door_1_1";
789 break;
790 case 1:
791 return "Hatchback_02_Door_2_1";
792 break;
793 case 2:
794 return "Hatchback_02_Door_1_2";
795 break;
796 case 3:
797 return "Hatchback_02_Door_2_2";
798 break;
799 }
800
801 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
802 }
803
804 override float OnSound(CarSoundCtrl ctrl, float oldValue)
805 {
806 switch (ctrl)
807 {
808 case CarSoundCtrl.DOORS:
809 float newValue = 0;
810 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
811 {
812 newValue += 0.25;
813 }
814
815 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
816 {
817 newValue += 0.25;
818 }
819
820 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
821 {
822 newValue += 0.25;
823 }
824
825 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
826 {
827 newValue += 0.25;
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_cargo1":
846 return "DoorsCargo1";
847 case "doors_cargo2":
848 return "DoorsCargo2";
849 case "doors_hood":
850 return "DoorsHood";
851 case "doors_trunk":
852 return "DoorsTrunk";
853 }
854
855 return "";
856 }
857
858 override bool IsVitalGlowPlug()
859 {
860 return false;
861 }
862
863 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
864 {
865 switch (currentSeat)
866 {
867 case 0:
868 return nextSeat == 1;
869 case 1:
870 return nextSeat == 0;
871 case 2:
872 return nextSeat == 3;
873 case 3:
874 return nextSeat == 2;
875 }
876
877 return false;
878 }
879
880 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
881 {
882 switch (pCurrentSeat)
883 {
884 case 0:
885 return pDoorsSelection == "DoorsDriver";
886 case 1:
887 return pDoorsSelection == "DoorsCoDriver";
888 case 2:
889 return pDoorsSelection == "DoorsCargo1";
890 case 3:
891 return pDoorsSelection == "DoorsCargo2";
892 }
893
894 return false;
895 }
896
897 override void OnDebugSpawn()
898 {
900 SpawnAdditionalItems();
901 FillUpCarFluids();
902
903 GameInventory inventory = GetInventory();
904 inventory.CreateInInventory("Hatchback_02_Wheel");
905 inventory.CreateInInventory("Hatchback_02_Wheel");
906 inventory.CreateInInventory("Hatchback_02_Wheel");
907 inventory.CreateInInventory("Hatchback_02_Wheel");
908
909 inventory.CreateInInventory("Hatchback_02_Door_1_1");
910 inventory.CreateInInventory("Hatchback_02_Door_1_2");
911 inventory.CreateInInventory("Hatchback_02_Door_2_1");
912 inventory.CreateInInventory("Hatchback_02_Door_2_2");
913 inventory.CreateInInventory("Hatchback_02_Hood");
914 inventory.CreateInInventory("Hatchback_02_Trunk");
915
916 //-----IN CAR CARGO
917 inventory.CreateInInventory("Hatchback_02_Wheel");
918 inventory.CreateInInventory("Hatchback_02_Wheel");
919 }
920}
921
922class Hatchback_02_Black : Hatchback_02
923{
924 override void OnDebugSpawn()
925 {
927 SpawnAdditionalItems();
928 FillUpCarFluids();
929
930 GameInventory inventory = GetInventory();
931 inventory.CreateInInventory("Hatchback_02_Wheel");
932 inventory.CreateInInventory("Hatchback_02_Wheel");
933 inventory.CreateInInventory("Hatchback_02_Wheel");
934 inventory.CreateInInventory("Hatchback_02_Wheel");
935
936 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
937 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
938 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
939 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
940 inventory.CreateInInventory("Hatchback_02_Hood_Black");
941 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
942
943 //-----IN CAR CARGO
944 inventory.CreateInInventory("Hatchback_02_Wheel");
945 inventory.CreateInInventory("Hatchback_02_Wheel");
946 }
947}
948
950{
951 override void OnDebugSpawn()
952 {
954 SpawnAdditionalItems();
955 FillUpCarFluids();
956
957 GameInventory inventory = GetInventory();
958 inventory.CreateInInventory("Hatchback_02_Wheel");
959 inventory.CreateInInventory("Hatchback_02_Wheel");
960 inventory.CreateInInventory("Hatchback_02_Wheel");
961 inventory.CreateInInventory("Hatchback_02_Wheel");
962
963 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
964 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
965 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
966 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
967 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
968 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
969
970 //-----IN CAR CARGO
971 inventory.CreateInInventory("Hatchback_02_Wheel");
972 inventory.CreateInInventory("Hatchback_02_Wheel");
973 }
974}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения EnEntity.c:165
Определения EnMath.c:7
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
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.