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

◆ OnEndServer()

override void CheckIfDoorIsLocked::OnEndServer ( ActionData action_data)
protected

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

163{
165
166 void ActionOpenDoors()
167 {
168 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
169 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
170 m_Text = "#open";
171 }
172
173 override void CreateConditionComponents()
174 {
175 m_ConditionItem = new CCINone();
176 m_ConditionTarget = new CCTCursor();
177 }
178
179 protected bool CheckIfDoorIsLocked()
180 {
181 return true;
182 }
183
184 protected bool CreatesNoise()
185 {
186 return true;
187 }
188
189 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
190 {
191 if (!target)
192 return false;
193
194 if (!IsBuilding(target))
195 return false;
196
197 Building building;
198 if (Class.CastTo(building, target.GetObject()))
199 {
200 int doorIndex = building.GetDoorIndex(target.GetComponentIndex());
201 if (doorIndex != -1)
202 {
203 if (!IsInReach(player, target, UAMaxDistances.DEFAULT))
204 return false;
205
206 return building.CanDoorBeOpened(doorIndex, CheckIfDoorIsLocked());
207
208 }
209 }
210
211 return false;
212 }
213
214 override void OnStartServer(ActionData action_data)
215 {
216 super.OnStartServer(action_data);
217
218 Building building;
219 if (Class.CastTo(building, action_data.m_Target.GetObject()))
220 {
221 int doorIndex = building.GetDoorIndex(action_data.m_Target.GetComponentIndex());
222 if (doorIndex != -1)
223 {
224 if (building.CanDoorBeOpened(doorIndex, CheckIfDoorIsLocked()))
225 {
226 building.OpenDoor(doorIndex);
227 }
228 }
229 }
230 }
231
232 override void OnEndServer(ActionData action_data)
233 {
234 super.OnEndServer(action_data);
235
236 m_NoisePar = new NoiseParams();
237 m_NoisePar.LoadFromPath("CfgVehicles SurvivorBase NoiseActionDefault");
239 if (noise && CreatesNoise())
240 {
241 if (action_data.m_Player)
242 noise.AddNoisePos(action_data.m_Player, action_data.m_Target.GetObject().GetPosition(), m_NoisePar, NoiseAIEvaluate.GetNoiseReduction(GetGame().GetWeather()));
243 }
244 }
245
246 override bool IsLockTargetOnUse()
247 {
248 return false;
249 }
250}
251
252class ActionLockedDoors : ActionOpenDoors
253{
254 override bool CheckIfDoorIsLocked()
255 {
256 return false;
257 }
258
259 override protected bool CreatesNoise()
260 {
261 return false;
262 }
263};
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.