Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actionanimateseats.c
Go to the documentation of this file.
1
class
ActionAnimateSeats
:
ActionAnimateCarSelection
2
{
3
void
ActionAnimateSeats
()
4
{
5
m_Text
=
"#move_seat"
;
6
}
7
8
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item )
9
{
10
if
( !target )
return
false
;
11
if
( !
IsInReach
(player, target,
UAMaxDistances
.
DEFAULT
) )
return
false
;
12
13
Object
targetObject = target.GetObject();
14
Entity
targetEnt =
Entity
.Cast(targetObject);
15
Transport
transport;
16
CarScript
car;
17
int
crewIdx;
18
19
//string selection = targetObject.GetActionComponentName(target.GetComponentIndex());
20
array<string>
selections =
new
array<string>
();
21
targetObject.GetActionComponentNameList(target.GetComponentIndex(), selections);
22
23
24
if
( !
Class
.
CastTo
(transport, targetObject) )
25
return
false
;
26
27
if
(
Class
.
CastTo
(car, targetEnt) )
28
{
29
for
(
int
i = 0; i < selections.Count(); i++)
30
{
31
m_AnimSource
= car.
GetAnimSourceFromSelection
( selections[i]) ;
32
if
(
m_AnimSource
!=
""
)
33
{
34
//return true; //TODO:: NEED A LINK BETWEEN SeatBack and seat with crew after that we can REMOVE the return
35
36
HumanCommandVehicle
vehCmd = player.GetCommand_Vehicle();
37
38
if
(
m_AnimSource
==
"SeatDriver"
)
39
{
40
if
( transport.CrewMember(
DayZPlayerConstants
.VEHICLESEAT_DRIVER ) )
41
return
false
;
42
43
if
( !vehCmd && car.
GetCarDoorsState
(
"NivaDriverDoors"
) ==
CarDoorState
.DOORS_CLOSED )
44
return
false
;
45
}
46
47
if
(
m_AnimSource
==
"SeatCoDriver"
)
48
{
49
if
( transport.CrewMember(
DayZPlayerConstants
.VEHICLESEAT_CODRIVER ) )
50
return
false
;
51
52
if
( !vehCmd && car.
GetCarDoorsState
(
"NivaCoDriverDoors"
) ==
CarDoorState
.DOORS_CLOSED )
53
return
false
;
54
}
55
56
if
( !vehCmd && !transport.CanReachSeatFromDoors(selections[i], player.GetPosition(), 1.0) )
57
return
false
;
58
59
return
true
;
60
}
61
}
62
}
63
64
return
false
;
65
}
66
67
override
bool
CanBeUsedInVehicle
()
68
{
69
return
true
;
70
}
71
72
override
bool
AddActionJuncture
(
ActionData
action_data)
73
{
74
Transport
trans =
Transport
.Cast(action_data.m_Target.GetObject());
75
bool
accepted =
false
;
76
int
nextSeat = trans.CrewPositionIndex( action_data.m_Target.GetComponentIndex() );
77
Transport
transport =
Transport
.Cast(action_data.m_Target.GetObject());
78
InventoryLocation
il =
new
InventoryLocation
;
79
if
(transport)
80
{
81
il.
SetVehicle
(transport, action_data.m_Player, nextSeat);
82
83
//Lock target
84
if
(
g_Game
.AddInventoryJunctureEx(action_data.m_Player, action_data.m_Player, il,
true
, 10000, action_data))
85
{
86
accepted =
true
;
87
action_data.m_ReservedInventoryLocations.Insert(il);
88
}
89
}
90
91
return
accepted;
92
}
93
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
CarDoorState
CarDoorState
Definition
carscript.c:2
ActionAnimateCarSelection::ActionAnimateCarSelection
void ActionAnimateCarSelection()
Definition
actionanimatecarselection.c:5
ActionAnimateCarSelection::m_AnimSource
string m_AnimSource
Definition
actionanimatecarselection.c:3
ActionAnimateSeats::ActionAnimateSeats
void ActionAnimateSeats()
Definition
actionanimateseats.c:3
ActionAnimateSeats::AddActionJuncture
override bool AddActionJuncture(ActionData action_data)
Definition
actionanimateseats.c:72
ActionAnimateSeats::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actionanimateseats.c:8
ActionAnimateSeats::CanBeUsedInVehicle
override bool CanBeUsedInVehicle()
Definition
actionanimateseats.c:67
ActionBase::m_Text
string m_Text
Definition
actionbase.c:64
ActionBase::IsInReach
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
Definition
actionbase.c:1181
CarScript
Definition
civiliansedan.c:2
CarScript::GetCarDoorsState
override int GetCarDoorsState(string slotType)
Definition
civiliansedan.c:173
CarScript::GetAnimSourceFromSelection
override string GetAnimSourceFromSelection(string selection)
Definition
civiliansedan.c:337
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
Entity
Definition
camera.c:2
HumanCommandVehicle
Definition
human.c:690
InventoryLocation
InventoryLocation.
Definition
inventorylocation.c:30
InventoryLocation::SetVehicle
proto native void SetVehicle(notnull EntityAI parent, EntityAI e, int idx)
ItemBase
Definition
inventoryitem.c:742
Object
Definition
objecttyped.c:2
PlayerBase
Definition
playerbaseclient.c:2
Transport
Native class for boats - handles physics simulation.
Definition
boat.c:32
UAMaxDistances
Definition
actionconstants.c:110
UAMaxDistances::DEFAULT
const float DEFAULT
Definition
actionconstants.c:112
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
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
vehicles
actionanimateseats.c
Generated by
1.17.0