285{
291
293 {
297 }
298
300 {
302 {
304 {
305 g_Game.GetMission().RemoveActiveInputExcludes({
"map"},
false);
306 }
307 else
308 {
309 g_Game.GetMission().RemoveActiveInputExcludes({
"loopedactions"},
false);
310 }
311 g_Game.GetMission().RemoveActiveInputRestriction(EInputRestrictors.MAP);
312 }
313
314 if (!m_ActionData || !m_ActionData.m_Player)
315 return;
316
317 ItemMap chernomap =
ItemMap.Cast(m_ActionData.m_Player.GetItemInHands());
318 if (chernomap && m_ActionData.m_Player.IsMapOpen())
319 {
320 chernomap.SetMapStateOpen(false, m_ActionData.m_Player);
321 }
322 }
323
325 {
326 m_ActionData = action_data;
328 }
329
331 {
333 }
334
335 override void OnStateChange(
int pOldState,
int pCurrentState)
336 {
337 if (!m_ActionData || !m_ActionData.m_Player)
338 return;
339
341 {
343 }
344 }
345
347 {
348 if (!m_ActionData || !m_ActionData.m_Player)
349 return;
350
351 switch (pEventID)
352 {
356
358 {
361 }
362 else
363 {
365 }
366 break;
367 }
368 }
369
370 override void OnFinish(
bool pCanceled)
371 {
372 if (m_ActionData && m_ActionData.m_Player)
373 {
374 if (m_ActionData && m_ActionData.m_ActionComponent)
375 m_ActionData.m_State = m_ActionData.m_ActionComponent.Interrupt(m_ActionData);
376
378 {
380 }
381
385
386 m_ActionData.m_Player.SetMapClosingSyncSet(false);
387
388 ItemMap chernomap =
ItemMap.Cast(m_ActionData.m_Player.GetItemInHands());
389 if (chernomap && m_ActionData.m_Player.IsMapOpen())
390 {
391 chernomap.SetMapStateOpen(false, m_ActionData.m_Player);
392 }
393
394 if (action)
395 action.End(m_ActionData);
396 }
397 }
398
400 {
401 if (m_ActionData.m_Player.IsSwimming() || m_ActionData.m_Player.IsClimbing() || m_ActionData.m_Player.IsFalling() || m_ActionData.m_Player.IsClimbingLadder() || m_ActionData.m_Player.IsUnconscious() || m_ActionData.m_Player.IsRestrained())
402 return;
403
404 ItemMap chernomap =
ItemMap.Cast(m_ActionData.m_Player.GetItemInHands());
405 if (chernomap)
406 {
407 if (!m_ActionData.m_Player.IsMapOpen() && !
m_MapFolding)
408 {
410 return;
411
412 chernomap.SetMapStateOpen(true, m_ActionData.m_Player);
413
414 if (!
g_Game.IsDedicatedServer())
415 {
419 m_UIManager =
g_Game.GetUIManager();
422 {
426 mission.AddActiveInputExcludes({
"map"});
427 }
428 else
429 {
430 mission.AddActiveInputExcludes({
"loopedactions"});
431 }
432
433 mission.AddActiveInputRestriction(EInputRestrictors.MAP);
434 }
435 }
436 else if (m_ActionData.m_Player.IsMapOpen())
437 {
438 chernomap.SetMapStateOpen(false, m_ActionData.m_Player);
440 m_ActionData.m_Player.SetMapOpen(false);
441 }
442 }
443 }
444
446 {
448 }
449}
450
452{
454 {
455 m_Text = "#unfold_map";
456 }
457
459 {
460 return false;
461 }
462
464 {
465 m_ConditionItem = new CCINonRuined();
466 m_ConditionTarget = new CCTNone();
467 }
468
470 {
471 return false;
472 }
473
475 {
476 if (player.m_hac || player.IsMapOpen())
477 {
478 return false;
479 }
480 return true;
481 }
482
484 {
486 }
487
489 {
491 }
492
494 {
495 super.OnStartServer(action_data);
496
498 ItemMap chernomap = ItemMap.Cast(action_data.m_MainItem);
499 chernomap.SyncMapMarkers();
500 }
501
503 {
506 }
507
509 {
510 if (action_data.m_Player.m_hac)
511 {
512 action_data.m_Player.m_hac.m_MapFolding = true;
513 action_data.m_Player.m_hac.PerformMapChange();
514 action_data.m_Player.m_hac.Cancel();
515 }
516 else
517 {
519 }
520 }
521
523 {
525 {
527 }
528 else
529 {
531 }
532
533
534 if (action_data.m_Player.m_hac)
535 {
536 action_data.m_Player.m_hac.SetActionData(action_data);
537 action_data.m_Callback = action_data.m_Player.m_hac;
538 }
539 }
540
542 {
543 return false;
544 }
545}
class ActionTargets ActionTarget
override void OnStateChange(int pOldState, int pCurrentState)
ActionUnfoldMapCB ActionBaseCB ActionUnfoldMap()
override void OnAnimationEvent(int pEventID)
void ~ActionUnfoldMapCB()
override void OnFinish(bool pCanceled)
override void SetActionData(ActionData action_data)
void OpenMap(ActionData action_data)
class DayZCreatureAnimInterface RegisterAnimationEvent(string event_name, string function_name)
class GP5GasMask extends MaskBase ItemBase
proto static native void End()
Finalizes the testing process.
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
void OnEndRequest(ActionData action_data)
bool CanBePerformedWhileChangingStance()
Condition used in PlayerBase::CanChangeStance to check if stance can be changed while action is perfo...
void OnStartClient(ActionData action_data)
void OnStartServer(ActionData action_data)
void CreateConditionComponents()
static bool GetUse3DMap()
proto native UIScriptedMenu EnterScriptedMenu(int id, UIMenuPanel parent)
Create & open menu with specific id (see MenuID) and set its parent.
bool CloseAll()
Close all opened menus.
DayZPlayerConstants
defined in C++
static const int STATE_LOOP_IN
looped state
proto native void EnableCancelCondition(bool pEnable)
proto native void EnableStateChangeCallback()
enables state change callback OnStateChange
static const int STATE_LOOP_LOOP