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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

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