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

◆ GetCarDoorsState()

override int OnDebugSpawn::GetCarDoorsState ( string slotType)
protected

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

669 : CarScript
670{
674
675 void Offroad_02()
676 {
677 //m_dmgContactCoef = 0.0365;
678
679 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
680 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
681 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
682 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
683 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
684 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
685
686 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
687 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
688
689 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
690 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
691
692 m_LightsComponent.RegisterSelection("BrakesOn", {
693 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
694 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
695 });
696 m_LightsComponent.RegisterSelection("BrakesOff", {
697 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
698 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
699 });
700
701 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
702 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
703
704 SetEnginePos("0 0.7 1.7");
705
707 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
708 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
709 }
710
711 void ~Offroad_02()
712 {
713 m_UTSource = null;
714 m_UTSSettings = null;
715 m_UTSLEngine = null;
716 }
717
718 override void EEInit()
719 {
720 super.EEInit();
721
722 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
723 {
725 m_UTSSettings.m_ManualUpdate = true;
727 m_UTSSettings.m_TemperatureCap = 0;
728 m_UTSSettings.m_RangeFull = 0.5;
729 m_UTSSettings.m_RangeMax = 2;
730
733 }
734 }
735
736 override bool HasGangedTailAndBrakeLights()
737 {
738 return true;
739 }
740
741 override bool NeedElectricitySourceDevice()
742 {
743 return true;
744 }
745
747 {
748 super.GetElectricitySourceDevice();
749
750 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
751 }
752
753 override string GetElectricitySourceDeviceType()
754 {
755 return "CarBattery";
756 }
757
758 override void OnEngineStart()
759 {
760 super.OnEngineStart();
761
762 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
763 {
764 if (m_UTSource)
765 m_UTSource.SetDefferedActive(true, 20.0);
766 }
767 }
768
769 override void OnEngineStop()
770 {
771 super.OnEngineStop();
772
773 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
774 {
775 if (m_UTSource)
776 m_UTSource.SetDefferedActive(false, 10.0);
777 }
778 }
779
780 override void EOnPostSimulate(IEntity other, float timeSlice)
781 {
782 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
783 {
784 if (m_UTSource && m_UTSource.IsActive())
785 {
787 }
788 }
789 }
790
791 override int GetAnimInstance()
792 {
793 return VehicleAnimInstances.HMMWV;
794 }
795
796 override float GetTransportCameraDistance()
797 {
798 return 5.1;
799 }
800
801 override float GetWeightCoef()
802 {
803 return 1.5;
804 }
805
806 override int GetSeatAnimationType(int posIdx)
807 {
808 switch (posIdx)
809 {
810 case 0:
811 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
812 case 1:
813 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
814 case 2:
815 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
816 case 3:
817 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
818 }
819
820 return 0;
821 }
822
823 override bool CanReleaseAttachment( EntityAI attachment )
824 {
825 if (!super.CanReleaseAttachment(attachment))
826 {
827 return false;
828 }
829
830 string attType = attachment.GetType();
831 switch (attType)
832 {
833 case "CarBattery":
834 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
835 {
836 return false;
837 }
838 break;
839
840 case "GlowPlug":
841 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
842 {
843 return false;
844 }
845 break;
846 }
847
848 return true;
849 }
850
851 override protected bool CanManipulateSpareWheel(string slotSelectionName)
852 {
853 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
854 }
855
856 override bool CanDisplayAttachmentCategory(string category_name)
857 {
858 if ( !super.CanDisplayAttachmentCategory(category_name))
859 {
860 return false;
861 }
862
863 category_name.ToLower();
864 if (category_name.Contains("engine"))
865 {
866 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
867 {
868 return false;
869 }
870 }
871
872 return true;
873 }
874
875 override bool CanDisplayCargo()
876 {
877 if ( !super.CanDisplayCargo() )
878 return false;
879
880 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
881 return false;
882
883 return true;
884 }
885
886 override int GetCarDoorsState(string slotType)
887 {
888 CarDoor carDoor;
889
890 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
891 if (!carDoor)
892 {
893 return CarDoorState.DOORS_MISSING;
894 }
895
896 switch (slotType)
897 {
898 case "Offroad_02_Door_1_1":
899 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
900
901 case "Offroad_02_Door_2_1":
902 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
903
904 case "Offroad_02_Door_1_2":
905 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
906
907 case "Offroad_02_Door_2_2":
908 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
909
910 case "Offroad_02_Hood":
911 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
912
913 case "Offroad_02_Trunk":
914 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
915 }
916
917 return CarDoorState.DOORS_MISSING;
918 }
919
920
921 override bool CrewCanGetThrough( int posIdx )
922 {
923 switch( posIdx )
924 {
925 case 0:
926 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
927 return false;
928
929 return true;
930 break;
931
932 case 1:
933 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
934 return false;
935
936 return true;
937 break;
938
939 case 2:
940 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
941 return false;
942
943 return true;
944 break;
945
946 case 3:
947 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
948 return false;
949
950 return true;
951 break;
952 }
953
954 return false;
955 }
956
957 override string GetDoorSelectionNameFromSeatPos(int posIdx)
958 {
959 switch( posIdx )
960 {
961 case 0:
962 return "doors_driver";
963 break;
964 case 1:
965 return "doors_codriver";
966 break;
967 case 2:
968 return "doors_cargo1";
969 break;
970 case 3:
971 return "doors_cargo2";
972 break;
973 }
974
975 return super.GetDoorSelectionNameFromSeatPos(posIdx);
976 }
977
978 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
979 {
980 switch (posIdx)
981 {
982 case 0:
983 return "Offroad_02_Door_1_1";
984 case 1:
985 return "Offroad_02_Door_2_1";
986 case 2:
987 return "Offroad_02_Door_1_2";
988 case 3:
989 return "Offroad_02_Door_2_2";
990 }
991
992 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
993 }
994
995 override float OnSound(CarSoundCtrl ctrl, float oldValue)
996 {
997 switch ( ctrl )
998 {
999 case CarSoundCtrl.DOORS:
1000 float newValue = 0;
1001 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1002 {
1003 newValue += 0.25;
1004 }
1005
1006 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1007 {
1008 newValue += 0.25;
1009 }
1010
1011 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1012 {
1013 newValue += 0.25;
1014 }
1015
1016 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1017 {
1018 newValue += 0.25;
1019 }
1020
1021 return Math.Clamp(newValue, 0, 1);
1022 break;
1023 }
1024
1025 return super.OnSound(ctrl, oldValue);
1026 }
1027
1028 override string GetAnimSourceFromSelection(string selection)
1029 {
1030 switch (selection)
1031 {
1032 case "doors_driver":
1033 return "DoorsDriver";
1034 case "doors_codriver":
1035 return "DoorsCoDriver";
1036 case "doors_cargo1":
1037 return "DoorsCargo1";
1038 case "doors_cargo2":
1039 return "DoorsCargo2";
1040 case "doors_hood":
1041 return "DoorsHood";
1042 case "doors_trunk":
1043 return "DoorsTrunk";
1044 }
1045
1046 return "";
1047 }
1048
1049 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1050 {
1051 switch (currentSeat)
1052 {
1053 case 0:
1054 return nextSeat == 1;
1055 case 1:
1056 return nextSeat == 0;
1057 case 2:
1058 return nextSeat == 3;
1059 case 3:
1060 return nextSeat == 2;
1061 }
1062
1063 return false;
1064 }
1065
1066 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1067 {
1068 switch (pCurrentSeat)
1069 {
1070 case 0:
1071 return pDoorsSelection == "DoorsDriver";
1072 case 1:
1073 return pDoorsSelection == "DoorsCoDriver";
1074 case 2:
1075 return pDoorsSelection == "DoorsCargo1";
1076 case 3:
1077 return pDoorsSelection == "DoorsCargo2";
1078 }
1079
1080 return false;
1081 }
1082
1083 override bool IsVitalSparkPlug()
1084 {
1085 return false;
1086 }
1087
1088 override bool IsVitalRadiator()
1089 {
1090 return false;
1091 }
1092
1093 override void OnDebugSpawn()
1094 {
1096 SpawnAdditionalItems();
1097 FillUpCarFluids();
1098
1099 GameInventory inventory = GetInventory();
1100 inventory.CreateInInventory("Offroad_02_Wheel");
1101 inventory.CreateInInventory("Offroad_02_Wheel");
1102 inventory.CreateInInventory("Offroad_02_Wheel");
1103 inventory.CreateInInventory("Offroad_02_Wheel");
1104
1105 inventory.CreateInInventory("Offroad_02_Door_1_1");
1106 inventory.CreateInInventory("Offroad_02_Door_1_2");
1107 inventory.CreateInInventory("Offroad_02_Door_2_1");
1108 inventory.CreateInInventory("Offroad_02_Door_2_2");
1109 inventory.CreateInInventory("Offroad_02_Hood");
1110 inventory.CreateInInventory("Offroad_02_Trunk");
1111
1112 //-----IN CAR CARGO
1113 inventory.CreateInInventory("Offroad_02_Wheel");
1114 inventory.CreateInInventory("Offroad_02_Wheel");
1115 }
1116}
1117
1118
1119class Offroad_02_Beige : Offroad_02
1120{
1121 override void OnDebugSpawn()
1122 {
1124 SpawnAdditionalItems();
1125 FillUpCarFluids();
1126
1127 GetInventory().CreateInInventory("Offroad_02_Wheel");
1128 GetInventory().CreateInInventory("Offroad_02_Wheel");
1129 GetInventory().CreateInInventory("Offroad_02_Wheel");
1130 GetInventory().CreateInInventory("Offroad_02_Wheel");
1131
1132 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1133 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1134 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1135 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1136 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1137 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1138
1139 //-----IN CAR CARGO
1140 GetInventory().CreateInInventory("Offroad_02_Wheel");
1141 GetInventory().CreateInInventory("Offroad_02_Wheel");
1142 }
1143}
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
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
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()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
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
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
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.