Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cacontinuousquantityrepeat.c
Go to the documentation of this file.
1
class
CAContinuousQuantityRepeat
:
CAContinuousBase
2
{
3
protected
float
m_ItemQuantity
;
4
protected
float
m_SpentQuantity
;
5
protected
float
m_ItemMaxQuantity
;
6
protected
float
m_TimeElpased
;
7
protected
float
m_QuantityUsedPerSecond
;
8
protected
float
m_AdjustedQuantityUsedPerSecond
;
9
protected
float
m_DefaultTimeToRepeat
;
10
protected
ref Param1<float>
m_SpentUnits
;
11
12
void
CAContinuousQuantityRepeat
(
float
quantity_used_per_second,
float
time_to_repeat )
13
{
14
m_QuantityUsedPerSecond
= quantity_used_per_second;
15
m_DefaultTimeToRepeat
= time_to_repeat;
16
}
17
18
override
void
Setup
(
ActionData
action_data )
19
{
20
m_TimeElpased
= 0;
21
m_SpentQuantity
= 0;
22
23
if
( !
m_SpentUnits
)
24
{
25
m_SpentUnits
=
new
Param1<float>( 0 );
26
}
27
else
28
{
29
m_SpentUnits
.param1 = 0;
30
}
31
32
m_ItemMaxQuantity
= action_data.m_MainItem.GetQuantityMax();
33
m_ItemQuantity
= action_data.m_MainItem.GetQuantity();
34
}
35
36
37
override
int
Execute
(
ActionData
action_data )
38
{
39
if
( !action_data.m_Player )
40
{
41
return
UA_ERROR
;
42
}
43
44
if
(
m_ItemQuantity
<= 0 )
45
{
46
return
UA_FINISHED
;
47
}
48
else
49
{
50
if
(
m_SpentQuantity
<
m_ItemQuantity
)
51
{
52
m_AdjustedQuantityUsedPerSecond
=
m_QuantityUsedPerSecond
;
//removed softskills
53
m_SpentQuantity
+=
m_AdjustedQuantityUsedPerSecond
* action_data.m_Player.GetDeltaT();
54
m_TimeElpased
+= action_data.m_Player.GetDeltaT();
55
56
if
(
m_TimeElpased
>=
m_DefaultTimeToRepeat
)
57
{
58
CalcAndSetQuantity
( action_data );
59
Setup
(action_data);
//reset data after repeat
60
}
61
62
return
UA_PROCESSING
;
63
}
64
else
65
{
66
CalcAndSetQuantity
( action_data );
67
OnCompletePogress
(action_data);
68
return
UA_FINISHED
;
69
}
70
}
71
}
72
73
override
int
Cancel
(
ActionData
action_data )
74
{
75
if
( !action_data.m_Player )
76
{
77
return
UA_ERROR
;
78
}
79
80
return
UA_CANCEL
;
81
}
82
83
override
float
GetProgress
()
84
{
85
//float progress = ( m_ItemQuantity - m_SpentQuantity ) / m_ItemMaxQuantity;
86
return
(
m_ItemQuantity
-
m_SpentQuantity
) /
m_ItemMaxQuantity
;
87
}
88
89
//---------------------------------------------------------------------------
90
91
92
void
CalcAndSetQuantity
(
ActionData
action_data )
93
{
94
if
(
g_Game
.IsServer() )
95
{
96
if
(
m_SpentUnits
)
97
{
98
m_SpentUnits
.param1 =
m_SpentQuantity
;
99
SetACData
(
m_SpentUnits
);
100
}
101
102
action_data.m_MainItem.AddQuantity( -
m_SpentQuantity
,
false
,
false
);
103
}
104
}
105
}
ActionData
ActionBase ActionData
Definition
actionbase.c:30
CABase::SetACData
void SetACData(Param units)
Definition
cabase.c:40
CAContinuousBase
Definition
cacontinuousbase.c:2
CAContinuousBase::OnCompletePogress
void OnCompletePogress(ActionData action_data)
Definition
cacontinuousbase.c:8
CAContinuousQuantityRepeat::Cancel
override int Cancel(ActionData action_data)
Definition
cacontinuousquantityrepeat.c:73
CAContinuousQuantityRepeat::CAContinuousQuantityRepeat
void CAContinuousQuantityRepeat(float quantity_used_per_second, float time_to_repeat)
Definition
cacontinuousquantityrepeat.c:12
CAContinuousQuantityRepeat::m_QuantityUsedPerSecond
float m_QuantityUsedPerSecond
Definition
cacontinuousquantityrepeat.c:7
CAContinuousQuantityRepeat::m_AdjustedQuantityUsedPerSecond
float m_AdjustedQuantityUsedPerSecond
Definition
cacontinuousquantityrepeat.c:8
CAContinuousQuantityRepeat::Execute
override int Execute(ActionData action_data)
Definition
cacontinuousquantityrepeat.c:37
CAContinuousQuantityRepeat::GetProgress
override float GetProgress()
Definition
cacontinuousquantityrepeat.c:83
CAContinuousQuantityRepeat::m_SpentQuantity
float m_SpentQuantity
Definition
cacontinuousquantityrepeat.c:4
CAContinuousQuantityRepeat::CalcAndSetQuantity
void CalcAndSetQuantity(ActionData action_data)
Definition
cacontinuousquantityrepeat.c:92
CAContinuousQuantityRepeat::m_ItemQuantity
float m_ItemQuantity
Definition
cacontinuousquantityrepeat.c:3
CAContinuousQuantityRepeat::m_DefaultTimeToRepeat
float m_DefaultTimeToRepeat
Definition
cacontinuousquantityrepeat.c:9
CAContinuousQuantityRepeat::m_SpentUnits
ref Param1< float > m_SpentUnits
Definition
cacontinuousquantityrepeat.c:10
CAContinuousQuantityRepeat::m_TimeElpased
float m_TimeElpased
Definition
cacontinuousquantityrepeat.c:6
CAContinuousQuantityRepeat::m_ItemMaxQuantity
float m_ItemMaxQuantity
Definition
cacontinuousquantityrepeat.c:5
CAContinuousQuantityRepeat::Setup
override void Setup(ActionData action_data)
Definition
cacontinuousquantityrepeat.c:18
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
CalcAndSetQuantity
void CalcAndSetQuantity()
Definition
fireplacebase.c:2659
Setup
class Test Setup
Stage definition used in conjunction with Step attribute.
UA_FINISHED
const int UA_FINISHED
Definition
constants.c:469
UA_ERROR
const int UA_ERROR
Definition
constants.c:488
UA_PROCESSING
const int UA_PROCESSING
Definition
constants.c:467
UA_CANCEL
const int UA_CANCEL
Definition
constants.c:470
Games
Dayz
scripts
4_world
classes
useractionscomponent
actioncomponents
cacontinuousquantityrepeat.c
Generated by
1.17.0