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

◆ CanReachSeatFromSeat()

override bool OnDebugSpawn::CanReachSeatFromSeat ( int currentSeat,
int nextSeat )
protected

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

777 : CarScript
778{
782
783 void Hatchback_02()
784 {
785 //m_dmgContactCoef = 0.070;
786
787 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
788 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
789 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
790 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
791 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
792 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
793
794 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
795 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
796
797 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
798 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
799
800 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
801 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
802
803 SetEnginePos("0 0.7 1.4");
804
806 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
807 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
808 }
809
810 void ~Hatchback_02()
811 {
812 m_UTSource = null;
813 m_UTSSettings = null;
814 m_UTSLEngine = null;
815 }
816
817 override void EEInit()
818 {
819 super.EEInit();
820
821 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
822 {
824 m_UTSSettings.m_ManualUpdate = true;
826 m_UTSSettings.m_TemperatureCap = 0;
827 m_UTSSettings.m_RangeFull = 0.5;
828 m_UTSSettings.m_RangeMax = 2;
829
832 }
833 }
834
835 override bool NeedElectricitySourceDevice()
836 {
837 return true;
838 }
839
841 {
842 super.GetElectricitySourceDevice();
843
844 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
845 }
846
847 override string GetElectricitySourceDeviceType()
848 {
849 return "CarBattery";
850 }
851
852 override void OnEngineStart()
853 {
854 super.OnEngineStart();
855
856 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
857 {
858 if (m_UTSource)
859 m_UTSource.SetDefferedActive(true, 20.0);
860 }
861 }
862
863 override void OnEngineStop()
864 {
865 super.OnEngineStop();
866
867 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
868 {
869 if (m_UTSource)
870 m_UTSource.SetDefferedActive(false, 10.0);
871 }
872 }
873
874 override void EOnPostSimulate(IEntity other, float timeSlice)
875 {
876 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
877 {
878 if (m_UTSource && m_UTSource.IsActive())
879 {
881 }
882 }
883 }
884
885 override int GetAnimInstance()
886 {
887 return VehicleAnimInstances.GOLF;
888 }
889
890 override int GetSeatAnimationType(int posIdx)
891 {
892 switch (posIdx)
893 {
894 case 0:
895 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
896 case 1:
897 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
898 case 2:
899 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
900 case 3:
901 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
902 }
903
904 return 0;
905 }
906
907 override bool CanReleaseAttachment(EntityAI attachment)
908 {
909 if (!super.CanReleaseAttachment(attachment))
910 {
911 return false;
912 }
913
914 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
915 {
916 string attType = attachment.GetType();
917 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
918 {
919 return false;
920 }
921 }
922
923 return true;
924 }
925
926 override protected bool CanManipulateSpareWheel(string slotSelectionName)
927 {
928 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
929 }
930
931 override bool CanDisplayAttachmentCategory( string category_name )
932 {
933 //super
934 if ( !super.CanDisplayAttachmentCategory( category_name ) )
935 return false;
936 //
937
938 category_name.ToLower();
939 if ( category_name.Contains("engine") )
940 {
941 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
942 return false;
943 }
944
945 return true;
946 }
947
948 override bool CanDisplayCargo()
949 {
950 if ( !super.CanDisplayCargo() )
951 return false;
952
953 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
954 return false;
955
956 return true;
957 }
958
959 override int GetCarDoorsState(string slotType)
960 {
961 CarDoor carDoor;
962
963 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
964 if (!carDoor)
965 {
966 return CarDoorState.DOORS_MISSING;
967 }
968
969 switch (slotType)
970 {
971 case "Hatchback_02_Door_1_1":
972 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
973
974 case "Hatchback_02_Door_2_1":
975 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
976
977 case "Hatchback_02_Door_1_2":
978 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
979
980 case "Hatchback_02_Door_2_2":
981 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
982
983 case "Hatchback_02_Hood":
984 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
985
986 case "Hatchback_02_Trunk":
987 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
988 }
989
990 return CarDoorState.DOORS_MISSING;
991 }
992
993
994 override bool CrewCanGetThrough(int posIdx)
995 {
996 switch (posIdx)
997 {
998 case 0:
999 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1000 {
1001 return false;
1002 }
1003
1004 return true;
1005
1006 case 1:
1007 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1008 {
1009 return false;
1010 }
1011
1012 return true;
1013
1014 case 2:
1015 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1016 {
1017 return false;
1018 }
1019
1020 return true;
1021
1022 case 3:
1023 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1024 {
1025 return false;
1026 }
1027
1028 return true;
1029 }
1030
1031 return false;
1032 }
1033
1034 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1035 {
1036 switch( posIdx )
1037 {
1038 case 0:
1039 return "doors_driver";
1040 break;
1041 case 1:
1042 return "doors_codriver";
1043 break;
1044 case 2:
1045 return "doors_cargo1";
1046 break;
1047 case 3:
1048 return "doors_cargo2";
1049 break;
1050 }
1051
1052 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1053 }
1054
1055 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1056 {
1057 switch( posIdx )
1058 {
1059 case 0:
1060 return "Hatchback_02_Door_1_1";
1061 break;
1062 case 1:
1063 return "Hatchback_02_Door_2_1";
1064 break;
1065 case 2:
1066 return "Hatchback_02_Door_1_2";
1067 break;
1068 case 3:
1069 return "Hatchback_02_Door_2_2";
1070 break;
1071 }
1072
1073 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1074 }
1075
1076 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1077 {
1078 switch (ctrl)
1079 {
1080 case CarSoundCtrl.DOORS:
1081 float newValue = 0;
1082 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1083 {
1084 newValue += 0.25;
1085 }
1086
1087 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1088 {
1089 newValue += 0.25;
1090 }
1091
1092 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1093 {
1094 newValue += 0.25;
1095 }
1096
1097 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1098 {
1099 newValue += 0.25;
1100 }
1101
1102 return Math.Clamp(newValue, 0, 1);
1103 break;
1104 }
1105
1106 return super.OnSound(ctrl, oldValue);
1107 }
1108
1109 override string GetAnimSourceFromSelection( string selection )
1110 {
1111 switch( selection )
1112 {
1113 case "doors_driver":
1114 return "DoorsDriver";
1115 case "doors_codriver":
1116 return "DoorsCoDriver";
1117 case "doors_cargo1":
1118 return "DoorsCargo1";
1119 case "doors_cargo2":
1120 return "DoorsCargo2";
1121 case "doors_hood":
1122 return "DoorsHood";
1123 case "doors_trunk":
1124 return "DoorsTrunk";
1125 }
1126
1127 return "";
1128 }
1129
1130 override bool IsVitalGlowPlug()
1131 {
1132 return false;
1133 }
1134
1135 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1136 {
1137 switch (currentSeat)
1138 {
1139 case 0:
1140 return nextSeat == 1;
1141 case 1:
1142 return nextSeat == 0;
1143 case 2:
1144 return nextSeat == 3;
1145 case 3:
1146 return nextSeat == 2;
1147 }
1148
1149 return false;
1150 }
1151
1152 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1153 {
1154 switch (pCurrentSeat)
1155 {
1156 case 0:
1157 return pDoorsSelection == "DoorsDriver";
1158 case 1:
1159 return pDoorsSelection == "DoorsCoDriver";
1160 case 2:
1161 return pDoorsSelection == "DoorsCargo1";
1162 case 3:
1163 return pDoorsSelection == "DoorsCargo2";
1164 }
1165
1166 return false;
1167 }
1168
1169 override void OnDebugSpawn()
1170 {
1172 SpawnAdditionalItems();
1173 FillUpCarFluids();
1174
1175 GameInventory inventory = GetInventory();
1176 inventory.CreateInInventory("Hatchback_02_Wheel");
1177 inventory.CreateInInventory("Hatchback_02_Wheel");
1178 inventory.CreateInInventory("Hatchback_02_Wheel");
1179 inventory.CreateInInventory("Hatchback_02_Wheel");
1180
1181 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1182 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1183 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1184 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1185 inventory.CreateInInventory("Hatchback_02_Hood");
1186 inventory.CreateInInventory("Hatchback_02_Trunk");
1187
1188 //-----IN CAR CARGO
1189 inventory.CreateInInventory("Hatchback_02_Wheel");
1190 inventory.CreateInInventory("Hatchback_02_Wheel");
1191 }
1192}
1193
1194class Hatchback_02_Black : Hatchback_02
1195{
1196 override void OnDebugSpawn()
1197 {
1199 SpawnAdditionalItems();
1200 FillUpCarFluids();
1201
1202 GameInventory inventory = GetInventory();
1203 inventory.CreateInInventory("Hatchback_02_Wheel");
1204 inventory.CreateInInventory("Hatchback_02_Wheel");
1205 inventory.CreateInInventory("Hatchback_02_Wheel");
1206 inventory.CreateInInventory("Hatchback_02_Wheel");
1207
1208 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1209 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1210 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1211 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1212 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1213 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1214
1215 //-----IN CAR CARGO
1216 inventory.CreateInInventory("Hatchback_02_Wheel");
1217 inventory.CreateInInventory("Hatchback_02_Wheel");
1218 }
1219}
1220
1222{
1223 override void OnDebugSpawn()
1224 {
1226 SpawnAdditionalItems();
1227 FillUpCarFluids();
1228
1229 GameInventory inventory = GetInventory();
1230 inventory.CreateInInventory("Hatchback_02_Wheel");
1231 inventory.CreateInInventory("Hatchback_02_Wheel");
1232 inventory.CreateInInventory("Hatchback_02_Wheel");
1233 inventory.CreateInInventory("Hatchback_02_Wheel");
1234
1235 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1236 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1237 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1238 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1239 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1240 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1241
1242 //-----IN CAR CARGO
1243 inventory.CreateInInventory("Hatchback_02_Wheel");
1244 inventory.CreateInInventory("Hatchback_02_Wheel");
1245 }
1246}
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.