Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actiontakematerialtohands.c
Go to the documentation of this file.
1
2
class
ActionTakeMaterialToHands
:
ActionInteractBase
3
{
4
void
ActionTakeMaterialToHands
()
5
{
6
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONMOD_PICKUP_HANDS;
7
m_CommandUIDProne
=
DayZPlayerConstants
.CMD_ACTIONFB_PICKUP_HANDS;
8
m_Text
=
"#take"
;
9
}
10
11
override
void
CreateConditionComponents
()
12
{
13
m_ConditionItem
=
new
CCINotPresent
;
14
m_ConditionTarget
=
new
CCTCursor
;
15
}
16
17
override
bool
HasProneException
()
18
{
19
return
true
;
20
}
21
22
override
void
OnActionInfoUpdate
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item )
23
{
24
ConstructionActionData
construction_action_data = player.GetConstructionActionData();
25
EntityAI
attachment = construction_action_data.
GetActualAttachmentToDetach
();
26
27
if
( attachment )
28
{
29
m_Text
=
"#take "
+ attachment.GetDisplayName();
30
}
31
}
32
33
override
typename
GetInputType
()
34
{
35
return
ContinuousInteractActionInput
;
36
}
37
38
override
bool
HasProgress
()
39
{
40
return
false
;
41
}
42
43
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item )
44
{
45
EntityAI
target_entity =
EntityAI
.Cast( target.GetObject() );
46
if
( target_entity && target_entity.CanUseConstruction() )
47
{
48
BaseBuildingBase
base_building =
BaseBuildingBase
.Cast( target_entity );
49
if
(!base_building.
IsPlayerInside
(player,
""
))
50
return
false
;
51
52
ConstructionActionData
construction_action_data = player.GetConstructionActionData();
53
string
main_part_name = target_entity.GetActionComponentName( target.GetComponentIndex() );
54
//Print(main_part_name);
55
56
if
(
g_Game
.IsMultiplayer() ||
g_Game
.IsServer() )
57
{
58
construction_action_data.
RefreshAttachmentsToDetach
( target_entity, main_part_name );
59
}
60
EntityAI
attachment = construction_action_data.
GetActualAttachmentToDetach
();
61
62
if
( attachment && player.GetInventory().CanAddEntityIntoHands( attachment ) && attachment.GetHierarchyRootPlayer() != player )
63
{
64
return
true
;
65
}
66
}
67
68
return
false
;
69
}
70
71
override
bool
CanContinue
(
ActionData
action_data )
72
{
73
return
true
;
74
}
75
76
override
void
OnExecute
(
ActionData
action_data )
77
{
78
if
(
g_Game
.IsDedicatedServer())
79
{
80
ClearActionJuncture
(action_data);
81
return
;
82
}
83
84
OnExecuteImpl
(action_data);
85
}
86
87
protected
void
OnExecuteImpl
(
ActionData
action_data )
88
{
89
ConstructionActionData
construction_action_data = action_data.m_Player.GetConstructionActionData();
90
ItemBase
item_target =
ItemBase
.Cast( construction_action_data.
GetActualAttachmentToDetach
() );
91
if
( item_target )
92
{
93
float
stackable = item_target.GetTargetQuantityMax();
94
95
if
( stackable == 0 || stackable >= item_target.GetQuantity() )
96
{
97
//take to hands
98
action_data.m_Player.PredictiveTakeEntityToHands( item_target );
99
}
100
else
if
( stackable != 0 && stackable < item_target.GetQuantity() )
101
{
102
//split and take to hands
103
item_target.SplitIntoStackMaxHandsClient( action_data.m_Player );
104
}
105
}
106
}
107
108
override
void
CreateAndSetupActionCallback
(
ActionData
action_data )
109
{
110
ConstructionActionData
construction_action_data = action_data.m_Player.GetConstructionActionData();
111
EntityAI
target = construction_action_data.
GetActualAttachmentToDetach
();
112
113
bool
heavy_item =
false
;
114
ActionBaseCB
callback;
115
if
( target && target.ConfigIsExisting(
"heavyItem"
) && target.ConfigGetBool(
"heavyItem"
) )
116
{
117
heavy_item =
true
;
118
}
119
120
if
( heavy_item )
121
{
122
Class
.
CastTo
(callback, action_data.m_Player.StartCommand_Action(
DayZPlayerConstants
.CMD_ACTIONFB_PICKUP_HEAVY,
GetCallbackClassTypename
(),
DayZPlayerConstants
.STANCEMASK_ERECT));
123
}
124
else
125
{
126
if
( action_data.m_Player.IsPlayerInStance(
DayZPlayerConstants
.STANCEMASK_CROUCH |
DayZPlayerConstants
.STANCEMASK_ERECT) )
127
{
128
Class
.
CastTo
(callback, action_data.m_Player.AddCommandModifier_Action(
DayZPlayerConstants
.CMD_ACTIONMOD_PICKUP_HANDS,
GetCallbackClassTypename
()));
129
}
130
else
131
{
132
Class
.
CastTo
(callback, action_data.m_Player.StartCommand_Action(
DayZPlayerConstants
.CMD_ACTIONFB_PICKUP_HANDS,
GetCallbackClassTypename
(),
DayZPlayerConstants
.STANCEMASK_PRONE));
133
}
134
}
135
callback.
SetActionData
(action_data);
136
callback.
InitActionComponent
();
137
action_data.m_Callback = callback;
138
}
139
}
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
ActionBaseCB
Definition
animatedactionbase.c:2
ActionBaseCB::InitActionComponent
void InitActionComponent()
Definition
animatedactionbase.c:66
ActionBaseCB::SetActionData
void SetActionData(ActionData action_data)
Definition
animatedactionbase.c:109
ActionBase::m_Text
string m_Text
Definition
actionbase.c:64
ActionBase::m_ConditionItem
ref CCIBase m_ConditionItem
Definition
actionbase.c:70
ActionBase::m_ConditionTarget
ref CCTBase m_ConditionTarget
Definition
actionbase.c:71
ActionBase::ClearActionJuncture
void ClearActionJuncture(ActionData action_data)
Definition
actionbase.c:1104
ActionInteractBase::ActionInteractBase
void ActionInteractBase()
Definition
actioninteractbase.c:43
ActionTakeMaterialToHands::OnActionInfoUpdate
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actiontakematerialtohands.c:22
ActionTakeMaterialToHands::CanContinue
override bool CanContinue(ActionData action_data)
Definition
actiontakematerialtohands.c:71
ActionTakeMaterialToHands::OnExecuteImpl
void OnExecuteImpl(ActionData action_data)
Definition
actiontakematerialtohands.c:87
ActionTakeMaterialToHands::HasProgress
override bool HasProgress()
Definition
actiontakematerialtohands.c:38
ActionTakeMaterialToHands::CreateConditionComponents
override void CreateConditionComponents()
Definition
actiontakematerialtohands.c:11
ActionTakeMaterialToHands::ActionTakeMaterialToHands
void ActionTakeMaterialToHands()
Definition
actiontakematerialtohands.c:4
ActionTakeMaterialToHands::OnExecute
override void OnExecute(ActionData action_data)
Definition
actiontakematerialtohands.c:76
ActionTakeMaterialToHands::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actiontakematerialtohands.c:43
ActionTakeMaterialToHands::GetInputType
override GetInputType()
Definition
actiontakematerialtohands.c:33
ActionTakeMaterialToHands::CreateAndSetupActionCallback
override void CreateAndSetupActionCallback(ActionData action_data)
Definition
actiontakematerialtohands.c:108
ActionTakeMaterialToHands::HasProneException
override bool HasProneException()
Definition
actiontakematerialtohands.c:17
AnimatedActionBase::m_CommandUIDProne
int m_CommandUIDProne
Definition
animatedactionbase.c:144
AnimatedActionBase::GetCallbackClassTypename
GetCallbackClassTypename()
Definition
animatedactionbase.c:312
AnimatedActionBase::m_CommandUID
int m_CommandUID
Definition
animatedactionbase.c:143
BaseBuildingBase
Definition
fence.c:2
BaseBuildingBase::IsPlayerInside
override bool IsPlayerInside(PlayerBase player, string selection)
Definition
fence.c:615
CCINotPresent
Definition
ccinotpresent.c:2
CCTCursor
Definition
cctcursor.c:2
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
ConstructionActionData
Definition
constructionactiondata.c:2
ConstructionActionData::RefreshAttachmentsToDetach
void RefreshAttachmentsToDetach(EntityAI target, string main_part_name)
Definition
constructionactiondata.c:351
ConstructionActionData::GetActualAttachmentToDetach
EntityAI GetActualAttachmentToDetach()
Definition
constructionactiondata.c:380
ContinuousInteractActionInput
Definition
actioninput.c:523
EntityAI
Definition
inventoryitem.c:2
ItemBase
Definition
inventoryitem.c:742
PlayerBase
Definition
playerbaseclient.c:2
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
Class::CastTo
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
interact
actiontakematerialtohands.c
Generated by
1.17.0