38 if (!targetItem.
IsTakeable() || targetItem.IsBeingPlaced() || targetItem.IsSetForDeletion() || ( targetItem.GetHierarchyParent() && !
BaseBuildingBase.Cast(targetParent) ) || ((targetParent && !targetItem.
CanDetachAttachment(targetParent)) || (targetParent && !targetParent.CanReleaseAttachment(targetItem))))
41 return player.GetInventory().CanAddEntityIntoHands(targetItem);
51 super.OnEndServer(action_data);
54 if (takenEntity && takenEntity.GetCompEM() && takenEntity.IsElectricAppliance())
55 takenEntity.GetCompEM().UnplugThis();
60 if (
GetGame().IsDedicatedServer())
69 float stackable = ntarget.GetTargetQuantityMax(-1);
71 if (stackable == 0 || stackable >= ntarget.GetQuantity())
73 action_data.m_Player.PredictiveTakeEntityToHands(ntarget);
78 il.
SetHands(action_data.m_Player, ntarget);
79 ntarget.SplitIntoStackMaxToInventoryLocationClient(il);
91 if (target.IsHeavyBehaviour())
109 action_data.m_Callback = callback;
126 if (!targetItem || !targetItem.
IsTakeable() || targetItem.IsBeingPlaced())
129 return player.GetInventory().CanSwapEntitiesEx(targetItem,item);
150 if (target.IsHeavyBehaviour())
161 action_data.m_Callback = callback;
166 super.Start(action_data);
168 bool b1 = action_data.m_MainItem.ConfigGetString(
"physLayer") ==
"item_large";
169 action_data.m_MainItem.m_ThrowItemOnDrop = b1;
174 action_data.m_Player.GetActionManager().InterruptNoSync();
185 if (
GetGame().IsDedicatedServer())
196 super.OnEnd(action_data);
204 if (
GetGame().IsDedicatedServer())
218 if (action_data.m_Player)
221 if (!
GetGame().IsMultiplayer())
223 else if (action_data.m_Player.NeedInventoryJunctureFromServer(ntarget, ntarget.GetHierarchyParent(), action_data.m_Player))
226 action_data.m_Player.TakeEntityToHandsImpl(invMode, ntarget);
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
ActionTakeItemToHands m_Executable
void PerformSwap(ActionData action_data)
class ActionTargets ActionTarget
void Start()
Plays all elements this effects consists of.
override bool IsHeavyBehaviour()
void ClearActionJuncture(ActionData action_data)
ref CCIBase m_ConditionItem
void ClearInventoryReservationEx(ActionData action_data)
ref CCTBase m_ConditionTarget
void InitActionComponent()
void SetActionData(ActionData action_data)
override bool MainItemAlwaysInHands()
void ActionInteractBase()
override bool UseMainItem()
override void CreateConditionComponents()
override bool CanBeUsedOnBack()
override bool HasProneException()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void OnEndServer(ActionData action_data)
override bool CanContinue(ActionData action_data)
override void OnExecute(ActionData action_data)
void ActionTakeItemToHands()
override bool HasProgress()
override void CreateAndSetupActionCallback(ActionData action_data)
GetCallbackClassTypename()
Super root of all classes in Enforce script.
proto native void SetHands(notnull EntityAI parent, EntityAI e)
sets current inventory location type to Hands
override bool CanDetachAttachment(EntityAI parent)
override bool IsTakeable()
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.