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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

532 : CarScript
533{
537
538 void CivilianSedan()
539 {
540 //m_dmgContactCoef = 0.065;
541
542 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
543 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
544 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
545 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
546 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
547 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
548
549 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
550 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
551
552 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new CivilianSedanLightProfileFront()));
553 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new CivilianSedanLightProfileRear()));
554
555 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "CivilianSedan_Horn_Short_SoundSet");
556 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "CivilianSedan_Horn_SoundSet");
557
558 SetEnginePos("0 0.7 1.6");
559
561 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
562 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
563 }
564
565 void ~CivilianSedan()
566 {
567 m_UTSource = null;
568 m_UTSSettings = null;
569 m_UTSLEngine = null;
570 }
571
572 override void EEInit()
573 {
574 super.EEInit();
575
576 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
577 {
579 m_UTSSettings.m_ManualUpdate = true;
581 m_UTSSettings.m_TemperatureCap = 0;
582 m_UTSSettings.m_RangeFull = 0.5;
583 m_UTSSettings.m_RangeMax = 2;
584
587 }
588 }
589
590 override bool NeedElectricitySourceDevice()
591 {
592 return true;
593 }
594
596 {
597 super.GetElectricitySourceDevice();
598
599 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
600 }
601
602 override string GetElectricitySourceDeviceType()
603 {
604 return "CarBattery";
605 }
606
607 override void OnEngineStart()
608 {
609 super.OnEngineStart();
610
611 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
612 {
613 if (m_UTSource)
614 m_UTSource.SetDefferedActive(true, 20.0);
615 }
616 }
617
618 override void OnEngineStop()
619 {
620 super.OnEngineStop();
621
622 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
623 {
624 if (m_UTSource)
625 m_UTSource.SetDefferedActive(false, 10.0);
626 }
627 }
628
629 override void EOnPostSimulate(IEntity other, float timeSlice)
630 {
631 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
632 {
633 if (m_UTSource && m_UTSource.IsActive())
634 {
636 }
637 }
638 }
639
640 override int GetAnimInstance()
641 {
642 return VehicleAnimInstances.SEDAN;
643 }
644
645 override float GetTransportCameraDistance()
646 {
647 return 4.5;
648 }
649
650 override int GetSeatAnimationType(int posIdx)
651 {
652 switch (posIdx)
653 {
654 case 0:
655 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
656 case 1:
657 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
658 case 2:
659 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
660 case 3:
661 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
662 }
663
664 return 0;
665 }
666
667 override bool CanReleaseAttachment( EntityAI attachment )
668 {
669 if( !super.CanReleaseAttachment( attachment ) )
670 return false;
671
672 string attType = attachment.GetType();
673
674 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
675 {
676 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
677 return false;
678 }
679
680 return true;
681 }
682
683 override protected bool CanManipulateSpareWheel(string slotSelectionName)
684 {
685 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
686 }
687
688 override bool CanDisplayAttachmentCategory(string category_name)
689 {
690 //super
691 if (!super.CanDisplayAttachmentCategory(category_name))
692 return false;
693 //
694
695 category_name.ToLower();
696 if (category_name.Contains("engine"))
697 {
698 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
699 return false;
700 }
701
702 return true;
703 }
704
705 override bool CanDisplayCargo()
706 {
707 if ( !super.CanDisplayCargo() )
708 return false;
709
710 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
711 return false;
712
713 return true;
714 }
715
716 override int GetCarDoorsState( string slotType )
717 {
718 CarDoor carDoor;
719
720 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
721 if (!carDoor)
722 {
723 return CarDoorState.DOORS_MISSING;
724 }
725
726 switch (slotType)
727 {
728 case "CivSedanDriverDoors":
729 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
730 break;
731
732 case "CivSedanCoDriverDoors":
733 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
734 break;
735
736 case "CivSedanCargo1Doors":
737 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
738 break;
739
740 case "CivSedanCargo2Doors":
741 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
742 break;
743
744 case "CivSedanTrunk":
745 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
746 break;
747
748 case "CivSedanHood":
749 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
750 break;
751 }
752
753 return CarDoorState.DOORS_MISSING;
754 }
755
756
757 override bool CrewCanGetThrough( int posIdx )
758 {
759 switch( posIdx )
760 {
761 case 0:
762 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
763 return false;
764
765 return true;
766 break;
767
768 case 1:
769 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
770 return false;
771
772 return true;
773 break;
774
775 case 2:
776 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
777 return false;
778
779 return true;
780 break;
781
782 case 3:
783 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
784 return false;
785
786 return true;
787 break;
788 }
789
790 return false;
791 }
792
793 override string GetDoorSelectionNameFromSeatPos(int posIdx)
794 {
795 switch( posIdx )
796 {
797 case 0:
798 return "doors_driver";
799 break;
800 case 1:
801 return "doors_codriver";
802 break;
803 case 2:
804 return "doors_cargo1";
805 break;
806 case 3:
807 return "doors_cargo2";
808 break;
809 }
810
811 return super.GetDoorSelectionNameFromSeatPos(posIdx);
812 }
813
814 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
815 {
816 switch( posIdx )
817 {
818 case 0:
819 return "CivSedanDriverDoors";
820 break;
821 case 1:
822 return "CivSedanCoDriverDoors";
823 break;
824 case 2:
825 return "CivSedanCargo1Doors";
826 break;
827 case 3:
828 return "CivSedanCargo2Doors";
829 break;
830 }
831
832 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
833 }
834
835 // 0 full ambient and engine sound
836 // 1 zero ambient and engine sound
837 override float OnSound(CarSoundCtrl ctrl, float oldValue)
838 {
839 switch (ctrl)
840 {
841 case CarSoundCtrl.DOORS:
842 float newValue = 0;
843 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
844 {
845 newValue += 0.25;
846 }
847
848 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
849 {
850 newValue += 0.25;
851 }
852
853 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
854 {
855 newValue += 0.25;
856 }
857
858 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
859 {
860 newValue += 0.25;
861 }
862
863 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
864 {
865 newValue -= 0.6;
866 }
867
868 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
869 {
870 newValue -= 0.6;
871 }
872
873 return Math.Clamp(newValue, 0, 1);
874 break;
875 }
876
877 return super.OnSound(ctrl, oldValue);
878 }
879
880 override string GetAnimSourceFromSelection(string selection)
881 {
882 switch (selection)
883 {
884 case "doors_driver":
885 return "DoorsDriver";
886 case "doors_codriver":
887 return "DoorsCoDriver";
888 case "doors_cargo1":
889 return "DoorsCargo1";
890 case "doors_cargo2":
891 return "DoorsCargo2";
892 case "doors_hood":
893 return "DoorsHood";
894 case "doors_trunk":
895 return "DoorsTrunk";
896 }
897
898 return "";
899 }
900
901 override bool IsVitalGlowPlug()
902 {
903 return false;
904 }
905
906 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
907 {
908 switch (currentSeat)
909 {
910 case 0:
911 return nextSeat == 1;
912
913 case 1:
914 return nextSeat == 0;
915
916 case 2:
917 return nextSeat == 3;
918
919 case 3:
920 return nextSeat == 2;
921 }
922
923 return false;
924 }
925
926 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
927 {
928 switch (pCurrentSeat)
929 {
930 case 0:
931 return pDoorsSelection == "DoorsDriver";
932
933 case 1:
934 return pDoorsSelection == "DoorsCoDriver";
935
936 case 2:
937 return pDoorsSelection == "DoorsCargo1";
938
939 case 3:
940 return pDoorsSelection == "DoorsCargo2";
941 }
942
943 return false;
944 }
945
946 override void OnDebugSpawn()
947 {
949 SpawnAdditionalItems();
950 FillUpCarFluids();
951
952 GameInventory inventory = GetInventory();
953 inventory.CreateInInventory("CivSedanWheel");
954 inventory.CreateInInventory("CivSedanWheel");
955 inventory.CreateInInventory("CivSedanWheel");
956 inventory.CreateInInventory("CivSedanWheel");
957
958 inventory.CreateInInventory("CivSedanDoors_Driver");
959 inventory.CreateInInventory("CivSedanDoors_CoDriver");
960 inventory.CreateInInventory("CivSedanDoors_BackLeft");
961 inventory.CreateInInventory("CivSedanDoors_BackRight");
962 inventory.CreateInInventory("CivSedanHood");
963 inventory.CreateInInventory("CivSedanTrunk");
964
965 //-----IN CAR CARGO
966 inventory.CreateInInventory("CivSedanWheel");
967 inventory.CreateInInventory("CivSedanWheel");
968 }
969
970 override float GetPushForceCoefficientMultiplier()
971 {
972 return 1.5;
973 }
974}
975
976class CivilianSedan_Wine : CivilianSedan
977{
978 override void OnDebugSpawn()
979 {
981 SpawnAdditionalItems();
982 FillUpCarFluids();
983
984 GameInventory inventory = GetInventory();
985 inventory.CreateInInventory("CivSedanWheel");
986 inventory.CreateInInventory("CivSedanWheel");
987 inventory.CreateInInventory("CivSedanWheel");
988 inventory.CreateInInventory("CivSedanWheel");
989
990 inventory.CreateInInventory("CivSedanDoors_Driver_Wine");
991 inventory.CreateInInventory("CivSedanDoors_CoDriver_Wine");
992 inventory.CreateInInventory("CivSedanDoors_BackLeft_Wine");
993 inventory.CreateInInventory("CivSedanDoors_BackRight_Wine");
994 inventory.CreateInInventory("CivSedanHood_Wine");
995 inventory.CreateInInventory("CivSedanTrunk_Wine");
996
997 //-----IN CAR CARGO
998 inventory.CreateInInventory("CivSedanWheel");
999 inventory.CreateInInventory("CivSedanWheel");
1000 }
1001}
1002
1004{
1005 override void OnDebugSpawn()
1006 {
1008 SpawnAdditionalItems();
1009 FillUpCarFluids();
1010
1011 GameInventory inventory = GetInventory();
1012 inventory.CreateInInventory("CivSedanWheel");
1013 inventory.CreateInInventory("CivSedanWheel");
1014 inventory.CreateInInventory("CivSedanWheel");
1015 inventory.CreateInInventory("CivSedanWheel");
1016
1017 inventory.CreateInInventory("CivSedanDoors_Driver_Black");
1018 inventory.CreateInInventory("CivSedanDoors_CoDriver_Black");
1019 inventory.CreateInInventory("CivSedanDoors_BackLeft_Black");
1020 inventory.CreateInInventory("CivSedanDoors_BackRight_Black");
1021 inventory.CreateInInventory("CivSedanHood_Black");
1022 inventory.CreateInInventory("CivSedanTrunk_Black");
1023
1024 //-----IN CAR CARGO
1025 inventory.CreateInInventory("CivSedanWheel");
1026 inventory.CreateInInventory("CivSedanWheel");
1027 }
1028}
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
CivilianSedanLightProfileFront VehicleLightProfileFront CivilianSedanLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
override float GetPushForceCoefficientMultiplier()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
void ~CivilianSedan()
void CivilianSedan()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
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)
CivilianSedan CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
override void OnDebugSpawn()
override void OnDebugSpawn()
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
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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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.