Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actiongetintransport.c
Go to the documentation of this file.
1
class
ActionGetInTransport
:
ActionBase
2
{
3
void
ActionGetInTransport
()
4
{
5
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_CROUCH |
DayZPlayerConstants
.STANCEMASK_ERECT;
6
m_Text
=
"#get_in_vehicle"
;
7
}
8
9
10
override
void
CreateConditionComponents
()
11
{
12
m_ConditionItem
=
new
CCINone
;
13
m_ConditionTarget
=
new
CCTCursorNoRuinCheck
;
14
}
15
16
override
typename
GetInputType
()
17
{
18
return
ContinuousInteractActionInput
;
19
}
20
21
override
bool
HasProgress
()
22
{
23
return
false
;
24
}
25
26
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item)
27
{
28
Transport
trans = null;
29
30
if
(!target)
31
{
32
return
false
;
33
}
34
35
if
(!
Class
.
CastTo
(trans, target.GetObject()))
36
{
37
return
false
;
38
}
39
40
if
(player.GetItemInHands() && player.GetItemInHands().IsHeavyBehaviour())
41
{
42
return
false
;
43
}
44
45
if
(player.GetCommand_Vehicle())
46
{
47
return
false
;
48
}
49
50
int
componentIndex = target.GetComponentIndex();
51
int
crew_index = trans.CrewPositionIndex(componentIndex);
52
if
(crew_index < 0)
53
{
54
return
false
;
55
}
56
57
Human
crew = trans.CrewMember(crew_index);
58
if
(crew)
59
{
60
return
false
;
61
}
62
63
if
(!trans.CrewCanGetThrough(crew_index) || !trans.
IsAreaAtDoorFree
(crew_index))
64
{
65
return
false
;
66
}
67
68
array<string>
selections =
new
array<string>
();
69
trans.GetActionComponentNameList(componentIndex, selections);
70
71
for
(
int
i = 0; i < selections.Count(); i++)
72
{
73
if
(trans.CanReachSeatFromDoors(selections[i], player.GetPosition(), 1.0))
74
{
75
return
true
;
76
}
77
}
78
79
return
false
;
80
}
81
82
override
void
Start
(
ActionData
action_data)
83
{
84
super.Start( action_data );
85
86
Transport
trans =
Transport
.Cast(action_data.m_Target.GetObject());
87
int
componentIndex = action_data.m_Target.GetComponentIndex();
88
int
crew_index = trans.CrewPositionIndex(componentIndex);
89
90
int
seat = trans.GetSeatAnimationType(crew_index);
91
HumanCommandVehicle
vehCommand = action_data.m_Player.StartCommand_Vehicle(trans, crew_index, seat);
92
if
(vehCommand)
93
{
94
vehCommand.
SetVehicleType
(trans.GetAnimInstance());
95
96
GetDayZGame
().GetBacklit().OnEnterCar();
97
}
98
}
99
100
override
void
OnStartServer
(
ActionData
action_data)
101
{
102
super.OnStartServer(action_data);
103
104
CarScript
car =
CarScript
.Cast(action_data.m_Target.GetObject());
105
if
(car)
106
{
107
car.ForceUpdateLightsStart();
108
}
109
}
110
111
override
bool
CanBeUsedInRestrain
()
112
{
113
return
true
;
114
}
115
116
override
void
OnUpdate
(
ActionData
action_data)
117
{
118
if
(action_data.m_State ==
UA_START
)
119
{
120
if
(!action_data.m_Player.GetCommand_Vehicle() || !action_data.m_Player.GetCommand_Vehicle().IsGettingIn())
121
{
122
End
(action_data);
123
}
124
}
125
}
126
127
override
int
GetActionCategory
()
128
{
129
return
AC_INTERACT
;
130
}
131
132
override
void
OnEnd
(
ActionData
action_data)
133
{
134
CarScript
car =
CarScript
.Cast(action_data.m_Target.GetObject());
135
if
(car &&
g_Game
.IsServer())
136
{
137
car.ForceUpdateLightsEnd();
138
}
139
}
140
141
override
bool
AddActionJuncture
(
ActionData
action_data)
142
{
143
Transport
trans =
Transport
.Cast(action_data.m_Target.GetObject());
144
bool
accepted =
false
;
145
int
nextSeat = trans.CrewPositionIndex( action_data.m_Target.GetComponentIndex() );
146
Transport
transport =
Transport
.Cast(action_data.m_Target.GetObject());
147
InventoryLocation
il =
new
InventoryLocation
;
148
if
(transport)
149
{
150
il.
SetVehicle
(transport, action_data.m_Player, nextSeat);
151
152
//Lock target
153
if
(
g_Game
.AddInventoryJunctureEx(action_data.m_Player, action_data.m_Player, il,
true
, 10000, action_data))
154
{
155
accepted =
true
;
156
action_data.m_ReservedInventoryLocations.Insert(il);
157
}
158
}
159
160
return
accepted;
161
}
162
};
AC_INTERACT
const int AC_INTERACT
Definition
_constants.c:4
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
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::ActionBase
void ActionBase()
Definition
actionbase.c:88
ActionBase::m_StanceMask
int m_StanceMask
Definition
actionbase.c:68
ActionGetInTransport::OnUpdate
override void OnUpdate(ActionData action_data)
Definition
actiongetintransport.c:116
ActionGetInTransport::Start
override void Start(ActionData action_data)
Definition
actiongetintransport.c:82
ActionGetInTransport::GetActionCategory
override int GetActionCategory()
Definition
actiongetintransport.c:127
ActionGetInTransport::AddActionJuncture
override bool AddActionJuncture(ActionData action_data)
Definition
actiongetintransport.c:141
ActionGetInTransport::ActionGetInTransport
void ActionGetInTransport()
Definition
actiongetintransport.c:3
ActionGetInTransport::CanBeUsedInRestrain
override bool CanBeUsedInRestrain()
Definition
actiongetintransport.c:111
ActionGetInTransport::HasProgress
override bool HasProgress()
Definition
actiongetintransport.c:21
ActionGetInTransport::CreateConditionComponents
override void CreateConditionComponents()
Definition
actiongetintransport.c:10
ActionGetInTransport::OnEnd
override void OnEnd(ActionData action_data)
Definition
actiongetintransport.c:132
ActionGetInTransport::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actiongetintransport.c:26
ActionGetInTransport::GetInputType
override GetInputType()
Definition
actiongetintransport.c:16
ActionGetInTransport::OnStartServer
override void OnStartServer(ActionData action_data)
Definition
actiongetintransport.c:100
CCINone
Definition
ccinone.c:2
CCTCursorNoRuinCheck
Definition
cctcursornoruincheck.c:2
CarScript
Definition
civiliansedan.c:2
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
ContinuousInteractActionInput
Definition
actioninput.c:523
HumanCommandVehicle
Definition
human.c:690
HumanCommandVehicle::SetVehicleType
proto native void SetVehicleType(int pVehicleType)
Human
Definition
human.c:1333
InventoryLocation
InventoryLocation.
Definition
inventorylocation.c:30
InventoryLocation::SetVehicle
proto native void SetVehicle(notnull EntityAI parent, EntityAI e, int idx)
ItemBase
Definition
inventoryitem.c:742
PlayerBase
Definition
playerbaseclient.c:2
Transport
Native class for boats - handles physics simulation.
Definition
boat.c:32
Transport::IsAreaAtDoorFree
override bool IsAreaAtDoorFree(int currentSeat, float maxAllowedObjHeight=0.5, float horizontalExtents=0.5, float playerHeight=1.7)
Definition
car.c:121
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
GetDayZGame
DayZGame GetDayZGame()
Definition
dayzgame.c:3944
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.
UA_START
const int UA_START
Definition
constants.c:472
End
proto static native void End()
Finalizes the testing process.
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
interact
actiongetintransport.c
Generated by
1.17.0