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

◆ CanReachDoorsFromSeat()

override bool OnDebugSpawn::CanReachDoorsFromSeat ( string pDoorsSelection,
int pCurrentSeat )
protected

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

849 : CarScript
850{
854
855 void Offroad_02()
856 {
857 //m_dmgContactCoef = 0.0365;
858
859 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
860 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
861 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
862 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
863 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
864 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
865
866 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
867 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
868
869 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
870 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
871
872 m_LightsComponent.RegisterSelection("BrakesOn", {
873 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
874 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
875 });
876 m_LightsComponent.RegisterSelection("BrakesOff", {
877 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
878 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
879 });
880
881 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
882 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
883
884 SetEnginePos("0 0.7 1.7");
885
887 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
888 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
889 }
890
891 void ~Offroad_02()
892 {
893 m_UTSource = null;
894 m_UTSSettings = null;
895 m_UTSLEngine = null;
896 }
897
898 override void EEInit()
899 {
900 super.EEInit();
901
902 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
903 {
905 m_UTSSettings.m_ManualUpdate = true;
907 m_UTSSettings.m_TemperatureCap = 0;
908 m_UTSSettings.m_RangeFull = 0.5;
909 m_UTSSettings.m_RangeMax = 2;
910
913 }
914 }
915
916 override bool HasGangedTailAndBrakeLights()
917 {
918 return true;
919 }
920
921 override bool NeedElectricitySourceDevice()
922 {
923 return true;
924 }
925
927 {
928 super.GetElectricitySourceDevice();
929
930 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
931 }
932
933 override string GetElectricitySourceDeviceType()
934 {
935 return "CarBattery";
936 }
937
938 override void OnEngineStart()
939 {
940 super.OnEngineStart();
941
942 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
943 {
944 if (m_UTSource)
945 m_UTSource.SetDefferedActive(true, 20.0);
946 }
947 }
948
949 override void OnEngineStop()
950 {
951 super.OnEngineStop();
952
953 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
954 {
955 if (m_UTSource)
956 m_UTSource.SetDefferedActive(false, 10.0);
957 }
958 }
959
960 override void EOnPostSimulate(IEntity other, float timeSlice)
961 {
962 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
963 {
964 if (m_UTSource && m_UTSource.IsActive())
965 {
967 }
968 }
969 }
970
971 override int GetAnimInstance()
972 {
973 return VehicleAnimInstances.HMMWV;
974 }
975
976 override float GetTransportCameraDistance()
977 {
978 return 5.1;
979 }
980
981 override float GetWeightCoef()
982 {
983 return 1.5;
984 }
985
986 override int GetSeatAnimationType(int posIdx)
987 {
988 switch (posIdx)
989 {
990 case 0:
991 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
992 case 1:
993 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
994 case 2:
995 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
996 case 3:
997 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
998 }
999
1000 return 0;
1001 }
1002
1003 override bool CanReleaseAttachment( EntityAI attachment )
1004 {
1005 if (!super.CanReleaseAttachment(attachment))
1006 {
1007 return false;
1008 }
1009
1010 string attType = attachment.GetType();
1011 switch (attType)
1012 {
1013 case "CarBattery":
1014 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
1015 {
1016 return false;
1017 }
1018 break;
1019
1020 case "GlowPlug":
1021 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
1022 {
1023 return false;
1024 }
1025 break;
1026 }
1027
1028 return true;
1029 }
1030
1031 override protected bool CanManipulateSpareWheel(string slotSelectionName)
1032 {
1033 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
1034 }
1035
1036 override bool CanDisplayAttachmentCategory(string category_name)
1037 {
1038 if ( !super.CanDisplayAttachmentCategory(category_name))
1039 {
1040 return false;
1041 }
1042
1043 category_name.ToLower();
1044 if (category_name.Contains("engine"))
1045 {
1046 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
1047 {
1048 return false;
1049 }
1050 }
1051
1052 return true;
1053 }
1054
1055 override bool CanDisplayCargo()
1056 {
1057 if ( !super.CanDisplayCargo() )
1058 return false;
1059
1060 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
1061 return false;
1062
1063 return true;
1064 }
1065
1066 override int GetCarDoorsState(string slotType)
1067 {
1068 CarDoor carDoor;
1069
1070 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1071 if (!carDoor)
1072 {
1073 return CarDoorState.DOORS_MISSING;
1074 }
1075
1076 switch (slotType)
1077 {
1078 case "Offroad_02_Door_1_1":
1079 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1080
1081 case "Offroad_02_Door_2_1":
1082 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1083
1084 case "Offroad_02_Door_1_2":
1085 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1086
1087 case "Offroad_02_Door_2_2":
1088 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1089
1090 case "Offroad_02_Hood":
1091 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1092
1093 case "Offroad_02_Trunk":
1094 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1095 }
1096
1097 return CarDoorState.DOORS_MISSING;
1098 }
1099
1100
1101 override bool CrewCanGetThrough( int posIdx )
1102 {
1103 switch( posIdx )
1104 {
1105 case 0:
1106 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1107 return false;
1108
1109 return true;
1110 break;
1111
1112 case 1:
1113 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1114 return false;
1115
1116 return true;
1117 break;
1118
1119 case 2:
1120 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1121 return false;
1122
1123 return true;
1124 break;
1125
1126 case 3:
1127 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1128 return false;
1129
1130 return true;
1131 break;
1132 }
1133
1134 return false;
1135 }
1136
1137 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1138 {
1139 switch( posIdx )
1140 {
1141 case 0:
1142 return "doors_driver";
1143 break;
1144 case 1:
1145 return "doors_codriver";
1146 break;
1147 case 2:
1148 return "doors_cargo1";
1149 break;
1150 case 3:
1151 return "doors_cargo2";
1152 break;
1153 }
1154
1155 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1156 }
1157
1158 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1159 {
1160 switch (posIdx)
1161 {
1162 case 0:
1163 return "Offroad_02_Door_1_1";
1164 case 1:
1165 return "Offroad_02_Door_2_1";
1166 case 2:
1167 return "Offroad_02_Door_1_2";
1168 case 3:
1169 return "Offroad_02_Door_2_2";
1170 }
1171
1172 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1173 }
1174
1175 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1176 {
1177 switch ( ctrl )
1178 {
1179 case CarSoundCtrl.DOORS:
1180 float newValue = 0;
1181 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1182 {
1183 newValue += 0.25;
1184 }
1185
1186 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1187 {
1188 newValue += 0.25;
1189 }
1190
1191 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1192 {
1193 newValue += 0.25;
1194 }
1195
1196 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1197 {
1198 newValue += 0.25;
1199 }
1200
1201 return Math.Clamp(newValue, 0, 1);
1202 break;
1203 }
1204
1205 return super.OnSound(ctrl, oldValue);
1206 }
1207
1208 override string GetAnimSourceFromSelection(string selection)
1209 {
1210 switch (selection)
1211 {
1212 case "doors_driver":
1213 return "DoorsDriver";
1214 case "doors_codriver":
1215 return "DoorsCoDriver";
1216 case "doors_cargo1":
1217 return "DoorsCargo1";
1218 case "doors_cargo2":
1219 return "DoorsCargo2";
1220 case "doors_hood":
1221 return "DoorsHood";
1222 case "doors_trunk":
1223 return "DoorsTrunk";
1224 }
1225
1226 return "";
1227 }
1228
1229 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1230 {
1231 switch (currentSeat)
1232 {
1233 case 0:
1234 return nextSeat == 1;
1235 case 1:
1236 return nextSeat == 0;
1237 case 2:
1238 return nextSeat == 3;
1239 case 3:
1240 return nextSeat == 2;
1241 }
1242
1243 return false;
1244 }
1245
1246 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1247 {
1248 switch (pCurrentSeat)
1249 {
1250 case 0:
1251 return pDoorsSelection == "DoorsDriver";
1252 case 1:
1253 return pDoorsSelection == "DoorsCoDriver";
1254 case 2:
1255 return pDoorsSelection == "DoorsCargo1";
1256 case 3:
1257 return pDoorsSelection == "DoorsCargo2";
1258 }
1259
1260 return false;
1261 }
1262
1263 override bool IsVitalSparkPlug()
1264 {
1265 return false;
1266 }
1267
1268 override bool IsVitalRadiator()
1269 {
1270 return false;
1271 }
1272
1273 override void OnDebugSpawn()
1274 {
1276 SpawnAdditionalItems();
1277 FillUpCarFluids();
1278
1279 GameInventory inventory = GetInventory();
1280 inventory.CreateInInventory("Offroad_02_Wheel");
1281 inventory.CreateInInventory("Offroad_02_Wheel");
1282 inventory.CreateInInventory("Offroad_02_Wheel");
1283 inventory.CreateInInventory("Offroad_02_Wheel");
1284
1285 inventory.CreateInInventory("Offroad_02_Door_1_1");
1286 inventory.CreateInInventory("Offroad_02_Door_1_2");
1287 inventory.CreateInInventory("Offroad_02_Door_2_1");
1288 inventory.CreateInInventory("Offroad_02_Door_2_2");
1289 inventory.CreateInInventory("Offroad_02_Hood");
1290 inventory.CreateInInventory("Offroad_02_Trunk");
1291
1292 //-----IN CAR CARGO
1293 inventory.CreateInInventory("Offroad_02_Wheel");
1294 inventory.CreateInInventory("Offroad_02_Wheel");
1295 }
1296}
1297
1298
1299class Offroad_02_Beige : Offroad_02
1300{
1301 override void OnDebugSpawn()
1302 {
1304 SpawnAdditionalItems();
1305 FillUpCarFluids();
1306
1307 GetInventory().CreateInInventory("Offroad_02_Wheel");
1308 GetInventory().CreateInInventory("Offroad_02_Wheel");
1309 GetInventory().CreateInInventory("Offroad_02_Wheel");
1310 GetInventory().CreateInInventory("Offroad_02_Wheel");
1311
1312 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1313 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1314 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1315 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1316 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1317 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1318
1319 //-----IN CAR CARGO
1320 GetInventory().CreateInInventory("Offroad_02_Wheel");
1321 GetInventory().CreateInInventory("Offroad_02_Wheel");
1322 }
1323}
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.