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

◆ CanReachDoorsFromSeat()

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

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

840 : CarScript
841{
845
846 void CivilianSedan()
847 {
848 //m_dmgContactCoef = 0.065;
849
850 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
851 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
852 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
853 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
854 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
855 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
856
857 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
858 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
859
860 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new CivilianSedanLightProfileFront()));
861 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new CivilianSedanLightProfileRear()));
862
863 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "CivilianSedan_Horn_Short_SoundSet");
864 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "CivilianSedan_Horn_SoundSet");
865
866 SetEnginePos("0 0.7 1.6");
867
869 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
870 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
871 }
872
873 void ~CivilianSedan()
874 {
875 m_UTSource = null;
876 m_UTSSettings = null;
877 m_UTSLEngine = null;
878 }
879
880 override void EEInit()
881 {
882 super.EEInit();
883
884 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
885 {
887 m_UTSSettings.m_ManualUpdate = true;
889 m_UTSSettings.m_TemperatureCap = 0;
890 m_UTSSettings.m_RangeFull = 0.5;
891 m_UTSSettings.m_RangeMax = 2;
892
895 }
896 }
897
898 override bool NeedElectricitySourceDevice()
899 {
900 return true;
901 }
902
904 {
905 super.GetElectricitySourceDevice();
906
907 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
908 }
909
910 override string GetElectricitySourceDeviceType()
911 {
912 return "CarBattery";
913 }
914
915 override void OnEngineStart()
916 {
917 super.OnEngineStart();
918
919 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
920 {
921 if (m_UTSource)
922 m_UTSource.SetDefferedActive(true, 20.0);
923 }
924 }
925
926 override void OnEngineStop()
927 {
928 super.OnEngineStop();
929
930 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
931 {
932 if (m_UTSource)
933 m_UTSource.SetDefferedActive(false, 10.0);
934 }
935 }
936
937 override void EOnPostSimulate(IEntity other, float timeSlice)
938 {
939 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
940 {
941 if (m_UTSource && m_UTSource.IsActive())
942 {
944 }
945 }
946 }
947
948 override int GetAnimInstance()
949 {
950 return VehicleAnimInstances.SEDAN;
951 }
952
953 override float GetTransportCameraDistance()
954 {
955 return 4.5;
956 }
957
958 override int GetSeatAnimationType(int posIdx)
959 {
960 switch (posIdx)
961 {
962 case 0:
963 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
964 case 1:
965 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
966 case 2:
967 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
968 case 3:
969 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
970 }
971
972 return 0;
973 }
974
975 override bool CanReleaseAttachment( EntityAI attachment )
976 {
977 if( !super.CanReleaseAttachment( attachment ) )
978 return false;
979
980 string attType = attachment.GetType();
981
982 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
983 {
984 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
985 return false;
986 }
987
988 return true;
989 }
990
991 override protected bool CanManipulateSpareWheel(string slotSelectionName)
992 {
993 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
994 }
995
996 override bool CanDisplayAttachmentCategory(string category_name)
997 {
998 //super
999 if (!super.CanDisplayAttachmentCategory(category_name))
1000 return false;
1001 //
1002
1003 category_name.ToLower();
1004 if (category_name.Contains("engine"))
1005 {
1006 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
1007 return false;
1008 }
1009
1010 return true;
1011 }
1012
1013 override bool CanDisplayCargo()
1014 {
1015 if ( !super.CanDisplayCargo() )
1016 return false;
1017
1018 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
1019 return false;
1020
1021 return true;
1022 }
1023
1024 override int GetCarDoorsState( string slotType )
1025 {
1026 CarDoor carDoor;
1027
1028 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1029 if (!carDoor)
1030 {
1031 return CarDoorState.DOORS_MISSING;
1032 }
1033
1034 switch (slotType)
1035 {
1036 case "CivSedanDriverDoors":
1037 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1038 break;
1039
1040 case "CivSedanCoDriverDoors":
1041 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1042 break;
1043
1044 case "CivSedanCargo1Doors":
1045 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1046 break;
1047
1048 case "CivSedanCargo2Doors":
1049 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1050 break;
1051
1052 case "CivSedanTrunk":
1053 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1054 break;
1055
1056 case "CivSedanHood":
1057 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1058 break;
1059 }
1060
1061 return CarDoorState.DOORS_MISSING;
1062 }
1063
1064
1065 override bool CrewCanGetThrough( int posIdx )
1066 {
1067 switch( posIdx )
1068 {
1069 case 0:
1070 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
1071 return false;
1072
1073 return true;
1074 break;
1075
1076 case 1:
1077 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
1078 return false;
1079
1080 return true;
1081 break;
1082
1083 case 2:
1084 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
1085 return false;
1086
1087 return true;
1088 break;
1089
1090 case 3:
1091 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
1092 return false;
1093
1094 return true;
1095 break;
1096 }
1097
1098 return false;
1099 }
1100
1101 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1102 {
1103 switch( posIdx )
1104 {
1105 case 0:
1106 return "doors_driver";
1107 break;
1108 case 1:
1109 return "doors_codriver";
1110 break;
1111 case 2:
1112 return "doors_cargo1";
1113 break;
1114 case 3:
1115 return "doors_cargo2";
1116 break;
1117 }
1118
1119 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1120 }
1121
1122 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1123 {
1124 switch( posIdx )
1125 {
1126 case 0:
1127 return "CivSedanDriverDoors";
1128 break;
1129 case 1:
1130 return "CivSedanCoDriverDoors";
1131 break;
1132 case 2:
1133 return "CivSedanCargo1Doors";
1134 break;
1135 case 3:
1136 return "CivSedanCargo2Doors";
1137 break;
1138 }
1139
1140 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1141 }
1142
1143 // 0 full ambient and engine sound
1144 // 1 zero ambient and engine sound
1145 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1146 {
1147 switch (ctrl)
1148 {
1149 case CarSoundCtrl.DOORS:
1150 float newValue = 0;
1151 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
1152 {
1153 newValue += 0.25;
1154 }
1155
1156 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1157 {
1158 newValue += 0.25;
1159 }
1160
1161 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
1162 {
1163 newValue += 0.25;
1164 }
1165
1166 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
1167 {
1168 newValue += 0.25;
1169 }
1170
1171 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1172 {
1173 newValue -= 0.6;
1174 }
1175
1176 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
1177 {
1178 newValue -= 0.6;
1179 }
1180
1181 return Math.Clamp(newValue, 0, 1);
1182 break;
1183 }
1184
1185 return super.OnSound(ctrl, oldValue);
1186 }
1187
1188 override string GetAnimSourceFromSelection(string selection)
1189 {
1190 switch (selection)
1191 {
1192 case "doors_driver":
1193 return "DoorsDriver";
1194 case "doors_codriver":
1195 return "DoorsCoDriver";
1196 case "doors_cargo1":
1197 return "DoorsCargo1";
1198 case "doors_cargo2":
1199 return "DoorsCargo2";
1200 case "doors_hood":
1201 return "DoorsHood";
1202 case "doors_trunk":
1203 return "DoorsTrunk";
1204 }
1205
1206 return "";
1207 }
1208
1209 override bool IsVitalGlowPlug()
1210 {
1211 return false;
1212 }
1213
1214 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1215 {
1216 switch (currentSeat)
1217 {
1218 case 0:
1219 return nextSeat == 1;
1220
1221 case 1:
1222 return nextSeat == 0;
1223
1224 case 2:
1225 return nextSeat == 3;
1226
1227 case 3:
1228 return nextSeat == 2;
1229 }
1230
1231 return false;
1232 }
1233
1234 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1235 {
1236 switch (pCurrentSeat)
1237 {
1238 case 0:
1239 return pDoorsSelection == "DoorsDriver";
1240
1241 case 1:
1242 return pDoorsSelection == "DoorsCoDriver";
1243
1244 case 2:
1245 return pDoorsSelection == "DoorsCargo1";
1246
1247 case 3:
1248 return pDoorsSelection == "DoorsCargo2";
1249 }
1250
1251 return false;
1252 }
1253
1254 override void OnDebugSpawn()
1255 {
1257 SpawnAdditionalItems();
1258 FillUpCarFluids();
1259
1260 GameInventory inventory = GetInventory();
1261 inventory.CreateInInventory("CivSedanWheel");
1262 inventory.CreateInInventory("CivSedanWheel");
1263 inventory.CreateInInventory("CivSedanWheel");
1264 inventory.CreateInInventory("CivSedanWheel");
1265
1266 inventory.CreateInInventory("CivSedanDoors_Driver");
1267 inventory.CreateInInventory("CivSedanDoors_CoDriver");
1268 inventory.CreateInInventory("CivSedanDoors_BackLeft");
1269 inventory.CreateInInventory("CivSedanDoors_BackRight");
1270 inventory.CreateInInventory("CivSedanHood");
1271 inventory.CreateInInventory("CivSedanTrunk");
1272
1273 //-----IN CAR CARGO
1274 inventory.CreateInInventory("CivSedanWheel");
1275 inventory.CreateInInventory("CivSedanWheel");
1276 }
1277
1278 override float GetPushForceCoefficientMultiplier()
1279 {
1280 return 1.5;
1281 }
1282}
1283
1284class CivilianSedan_Wine : CivilianSedan
1285{
1286 override void OnDebugSpawn()
1287 {
1289 SpawnAdditionalItems();
1290 FillUpCarFluids();
1291
1292 GameInventory inventory = GetInventory();
1293 inventory.CreateInInventory("CivSedanWheel");
1294 inventory.CreateInInventory("CivSedanWheel");
1295 inventory.CreateInInventory("CivSedanWheel");
1296 inventory.CreateInInventory("CivSedanWheel");
1297
1298 inventory.CreateInInventory("CivSedanDoors_Driver_Wine");
1299 inventory.CreateInInventory("CivSedanDoors_CoDriver_Wine");
1300 inventory.CreateInInventory("CivSedanDoors_BackLeft_Wine");
1301 inventory.CreateInInventory("CivSedanDoors_BackRight_Wine");
1302 inventory.CreateInInventory("CivSedanHood_Wine");
1303 inventory.CreateInInventory("CivSedanTrunk_Wine");
1304
1305 //-----IN CAR CARGO
1306 inventory.CreateInInventory("CivSedanWheel");
1307 inventory.CreateInInventory("CivSedanWheel");
1308 }
1309}
1310
1312{
1313 override void OnDebugSpawn()
1314 {
1316 SpawnAdditionalItems();
1317 FillUpCarFluids();
1318
1319 GameInventory inventory = GetInventory();
1320 inventory.CreateInInventory("CivSedanWheel");
1321 inventory.CreateInInventory("CivSedanWheel");
1322 inventory.CreateInInventory("CivSedanWheel");
1323 inventory.CreateInInventory("CivSedanWheel");
1324
1325 inventory.CreateInInventory("CivSedanDoors_Driver_Black");
1326 inventory.CreateInInventory("CivSedanDoors_CoDriver_Black");
1327 inventory.CreateInInventory("CivSedanDoors_BackLeft_Black");
1328 inventory.CreateInInventory("CivSedanDoors_BackRight_Black");
1329 inventory.CreateInInventory("CivSedanHood_Black");
1330 inventory.CreateInInventory("CivSedanTrunk_Black");
1331
1332 //-----IN CAR CARGO
1333 inventory.CreateInInventory("CivSedanWheel");
1334 inventory.CreateInInventory("CivSedanWheel");
1335 }
1336}
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
CivilianSedanLightProfileFront VehicleLightProfileFront CivilianSedanLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
override float GetPushForceCoefficientMultiplier()
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()
void ~CivilianSedan()
void CivilianSedan()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
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)
CivilianSedan CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
override void OnDebugSpawn()
override void OnDebugSpawn()
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
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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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.