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

◆ GetCarDoorsState()

override int OnDebugSpawn::GetCarDoorsState ( string slotType)
protected

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

601 : CarScript
602{
606
607 void Hatchback_02()
608 {
609 //m_dmgContactCoef = 0.070;
610
611 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
612 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
613 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
614 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
615 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
616 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
617
618 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
619 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
620
621 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
622 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
623
624 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
625 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
626
627 SetEnginePos("0 0.7 1.4");
628
630 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
631 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
632 }
633
634 void ~Hatchback_02()
635 {
636 m_UTSource = null;
637 m_UTSSettings = null;
638 m_UTSLEngine = null;
639 }
640
641 override void EEInit()
642 {
643 super.EEInit();
644
645 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
646 {
648 m_UTSSettings.m_ManualUpdate = true;
650 m_UTSSettings.m_TemperatureCap = 0;
651 m_UTSSettings.m_RangeFull = 0.5;
652 m_UTSSettings.m_RangeMax = 2;
653
656 }
657 }
658
659 override bool NeedElectricitySourceDevice()
660 {
661 return true;
662 }
663
665 {
666 super.GetElectricitySourceDevice();
667
668 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
669 }
670
671 override string GetElectricitySourceDeviceType()
672 {
673 return "CarBattery";
674 }
675
676 override void OnEngineStart()
677 {
678 super.OnEngineStart();
679
680 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
681 {
682 if (m_UTSource)
683 m_UTSource.SetDefferedActive(true, 20.0);
684 }
685 }
686
687 override void OnEngineStop()
688 {
689 super.OnEngineStop();
690
691 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
692 {
693 if (m_UTSource)
694 m_UTSource.SetDefferedActive(false, 10.0);
695 }
696 }
697
698 override void EOnPostSimulate(IEntity other, float timeSlice)
699 {
700 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
701 {
702 if (m_UTSource && m_UTSource.IsActive())
703 {
705 }
706 }
707 }
708
709 override int GetAnimInstance()
710 {
711 return VehicleAnimInstances.GOLF;
712 }
713
714 override int GetSeatAnimationType(int posIdx)
715 {
716 switch (posIdx)
717 {
718 case 0:
719 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
720 case 1:
721 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
722 case 2:
723 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
724 case 3:
725 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
726 }
727
728 return 0;
729 }
730
731 override bool CanReleaseAttachment(EntityAI attachment)
732 {
733 if (!super.CanReleaseAttachment(attachment))
734 {
735 return false;
736 }
737
738 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
739 {
740 string attType = attachment.GetType();
741 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
742 {
743 return false;
744 }
745 }
746
747 return true;
748 }
749
750 override protected bool CanManipulateSpareWheel(string slotSelectionName)
751 {
752 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
753 }
754
755 override bool CanDisplayAttachmentCategory( string category_name )
756 {
757 //super
758 if ( !super.CanDisplayAttachmentCategory( category_name ) )
759 return false;
760 //
761
762 category_name.ToLower();
763 if ( category_name.Contains("engine") )
764 {
765 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
766 return false;
767 }
768
769 return true;
770 }
771
772 override bool CanDisplayCargo()
773 {
774 if ( !super.CanDisplayCargo() )
775 return false;
776
777 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
778 return false;
779
780 return true;
781 }
782
783 override int GetCarDoorsState(string slotType)
784 {
785 CarDoor carDoor;
786
787 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
788 if (!carDoor)
789 {
790 return CarDoorState.DOORS_MISSING;
791 }
792
793 switch (slotType)
794 {
795 case "Hatchback_02_Door_1_1":
796 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
797
798 case "Hatchback_02_Door_2_1":
799 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
800
801 case "Hatchback_02_Door_1_2":
802 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
803
804 case "Hatchback_02_Door_2_2":
805 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
806
807 case "Hatchback_02_Hood":
808 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
809
810 case "Hatchback_02_Trunk":
811 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
812 }
813
814 return CarDoorState.DOORS_MISSING;
815 }
816
817
818 override bool CrewCanGetThrough(int posIdx)
819 {
820 switch (posIdx)
821 {
822 case 0:
823 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
824 {
825 return false;
826 }
827
828 return true;
829
830 case 1:
831 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
832 {
833 return false;
834 }
835
836 return true;
837
838 case 2:
839 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
840 {
841 return false;
842 }
843
844 return true;
845
846 case 3:
847 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
848 {
849 return false;
850 }
851
852 return true;
853 }
854
855 return false;
856 }
857
858 override string GetDoorSelectionNameFromSeatPos(int posIdx)
859 {
860 switch( posIdx )
861 {
862 case 0:
863 return "doors_driver";
864 break;
865 case 1:
866 return "doors_codriver";
867 break;
868 case 2:
869 return "doors_cargo1";
870 break;
871 case 3:
872 return "doors_cargo2";
873 break;
874 }
875
876 return super.GetDoorSelectionNameFromSeatPos(posIdx);
877 }
878
879 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
880 {
881 switch( posIdx )
882 {
883 case 0:
884 return "Hatchback_02_Door_1_1";
885 break;
886 case 1:
887 return "Hatchback_02_Door_2_1";
888 break;
889 case 2:
890 return "Hatchback_02_Door_1_2";
891 break;
892 case 3:
893 return "Hatchback_02_Door_2_2";
894 break;
895 }
896
897 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
898 }
899
900 override float OnSound(CarSoundCtrl ctrl, float oldValue)
901 {
902 switch (ctrl)
903 {
904 case CarSoundCtrl.DOORS:
905 float newValue = 0;
906 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
907 {
908 newValue += 0.25;
909 }
910
911 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
912 {
913 newValue += 0.25;
914 }
915
916 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
917 {
918 newValue += 0.25;
919 }
920
921 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
922 {
923 newValue += 0.25;
924 }
925
926 return Math.Clamp(newValue, 0, 1);
927 break;
928 }
929
930 return super.OnSound(ctrl, oldValue);
931 }
932
933 override string GetAnimSourceFromSelection( string selection )
934 {
935 switch( selection )
936 {
937 case "doors_driver":
938 return "DoorsDriver";
939 case "doors_codriver":
940 return "DoorsCoDriver";
941 case "doors_cargo1":
942 return "DoorsCargo1";
943 case "doors_cargo2":
944 return "DoorsCargo2";
945 case "doors_hood":
946 return "DoorsHood";
947 case "doors_trunk":
948 return "DoorsTrunk";
949 }
950
951 return "";
952 }
953
954 override bool IsVitalGlowPlug()
955 {
956 return false;
957 }
958
959 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
960 {
961 switch (currentSeat)
962 {
963 case 0:
964 return nextSeat == 1;
965 case 1:
966 return nextSeat == 0;
967 case 2:
968 return nextSeat == 3;
969 case 3:
970 return nextSeat == 2;
971 }
972
973 return false;
974 }
975
976 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
977 {
978 switch (pCurrentSeat)
979 {
980 case 0:
981 return pDoorsSelection == "DoorsDriver";
982 case 1:
983 return pDoorsSelection == "DoorsCoDriver";
984 case 2:
985 return pDoorsSelection == "DoorsCargo1";
986 case 3:
987 return pDoorsSelection == "DoorsCargo2";
988 }
989
990 return false;
991 }
992
993 override void OnDebugSpawn()
994 {
996 SpawnAdditionalItems();
997 FillUpCarFluids();
998
999 GameInventory inventory = GetInventory();
1000 inventory.CreateInInventory("Hatchback_02_Wheel");
1001 inventory.CreateInInventory("Hatchback_02_Wheel");
1002 inventory.CreateInInventory("Hatchback_02_Wheel");
1003 inventory.CreateInInventory("Hatchback_02_Wheel");
1004
1005 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1006 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1007 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1008 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1009 inventory.CreateInInventory("Hatchback_02_Hood");
1010 inventory.CreateInInventory("Hatchback_02_Trunk");
1011
1012 //-----IN CAR CARGO
1013 inventory.CreateInInventory("Hatchback_02_Wheel");
1014 inventory.CreateInInventory("Hatchback_02_Wheel");
1015 }
1016}
1017
1018class Hatchback_02_Black : Hatchback_02
1019{
1020 override void OnDebugSpawn()
1021 {
1023 SpawnAdditionalItems();
1024 FillUpCarFluids();
1025
1026 GameInventory inventory = GetInventory();
1027 inventory.CreateInInventory("Hatchback_02_Wheel");
1028 inventory.CreateInInventory("Hatchback_02_Wheel");
1029 inventory.CreateInInventory("Hatchback_02_Wheel");
1030 inventory.CreateInInventory("Hatchback_02_Wheel");
1031
1032 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1033 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1034 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1035 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1036 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1037 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1038
1039 //-----IN CAR CARGO
1040 inventory.CreateInInventory("Hatchback_02_Wheel");
1041 inventory.CreateInInventory("Hatchback_02_Wheel");
1042 }
1043}
1044
1046{
1047 override void OnDebugSpawn()
1048 {
1050 SpawnAdditionalItems();
1051 FillUpCarFluids();
1052
1053 GameInventory inventory = GetInventory();
1054 inventory.CreateInInventory("Hatchback_02_Wheel");
1055 inventory.CreateInInventory("Hatchback_02_Wheel");
1056 inventory.CreateInInventory("Hatchback_02_Wheel");
1057 inventory.CreateInInventory("Hatchback_02_Wheel");
1058
1059 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1060 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1061 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1062 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1063 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1064 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1065
1066 //-----IN CAR CARGO
1067 inventory.CreateInInventory("Hatchback_02_Wheel");
1068 inventory.CreateInInventory("Hatchback_02_Wheel");
1069 }
1070}
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.