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

◆ OnStartServer()

override void CheckIfDoorIsLocked::OnStartServer ( ActionData action_data)
protected

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

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