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

◆ IsLockTargetOnUse()

override bool CheckIfDoorIsLocked::IsLockTargetOnUse ( )
protected

См. определение в файле ActionOpenDoors.c строка 176

177{
179
180 void ActionOpenDoors()
181 {
182 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
183 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
184 m_Text = "#open";
185 }
186
187 override void CreateConditionComponents()
188 {
189 m_ConditionItem = new CCINone();
190 m_ConditionTarget = new CCTCursor();
191 }
192
193 protected bool CheckIfDoorIsLocked()
194 {
195 return true;
196 }
197
198 protected bool CreatesNoise()
199 {
200 return true;
201 }
202
203 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
204 {
205 if (!target)
206 return false;
207
208 if (!IsBuilding(target))
209 return false;
210
211 Building building;
212 if (Class.CastTo(building, target.GetObject()))
213 {
214 int doorIndex = building.GetDoorIndex(target.GetComponentIndex());
215 if (doorIndex != -1)
216 {
217 if (!IsInReach(player, target, UAMaxDistances.DEFAULT))
218 return false;
219
220 return building.CanDoorBeOpened(doorIndex, CheckIfDoorIsLocked());
221
222 }
223 }
224
225 return false;
226 }
227
228 override void OnStartServer(ActionData action_data)
229 {
230 super.OnStartServer(action_data);
231
232 Building building;
233 if (Class.CastTo(building, action_data.m_Target.GetObject()))
234 {
235 int doorIndex = building.GetDoorIndex(action_data.m_Target.GetComponentIndex());
236 if (doorIndex != -1)
237 {
238 if (building.CanDoorBeOpened(doorIndex, CheckIfDoorIsLocked()))
239 {
240 building.OpenDoor(doorIndex);
241 }
242 }
243 }
244 }
245
246 override void OnEndServer(ActionData action_data)
247 {
248 super.OnEndServer(action_data);
249
250 m_NoisePar = new NoiseParams();
251 m_NoisePar.LoadFromPath("CfgVehicles SurvivorBase NoiseActionDefault");
253 if (noise && CreatesNoise())
254 {
255 if (action_data.m_Player)
256 noise.AddNoisePos(action_data.m_Player, action_data.m_Target.GetObject().GetPosition(), m_NoisePar, NoiseAIEvaluate.GetNoiseReduction(GetGame().GetWeather()));
257 }
258 }
259
260 override bool IsLockTargetOnUse()
261 {
262 return false;
263 }
264}
265
266class ActionLockedDoors : ActionOpenDoors
267{
268 override bool CheckIfDoorIsLocked()
269 {
270 return false;
271 }
272
273 override protected bool CreatesNoise()
274 {
275 return false;
276 }
277};
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
override bool IsLockTargetOnUse()
Определения ActionOpenDoors.c:176
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionOpenDoors.c:119
override void OnStartServer(ActionData action_data)
Определения ActionOpenDoors.c:144
override void OnEndServer(ActionData action_data)
Определения ActionOpenDoors.c:162
ref NoiseParams m_NoisePar
Определения ActionOpenDoors.c:94
override void CreateConditionComponents()
Определения ActionOpenDoors.c:103
bool CreatesNoise()
Определения ActionOpenDoors.c:114
void ActionOpenDoors()
Определения ActionOpenDoors.c:96
ActionOpenDoors ActionInteractBase CheckIfDoorIsLocked()
Определения ActionOpenDoors.c:93
class ActionTargets ActionTarget
class NoiseSystem NoiseParams()
Определения Noise.c:15
bool CreatesNoise()
Определения ActionOpenDoors.c:23
bool CheckIfDoorIsLocked()
Определения ActionOpenDoors.c:18
Определения ActionOpenDoors.c:2
Определения CCINone.c:2
Определения CCTCursor.c:2
proto native NoiseSystem GetNoiseSystem()
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения InventoryItem.c:731
static float GetNoiseReduction(Weather weather)
Определения SensesAIEvaluate.c:18
proto void AddNoisePos(EntityAI source_entity, vector pos, NoiseParams noise_params, float external_strenght_multiplier=1.0)
Определения Noise.c:2
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:112
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.