Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
tlrlight.c
Go to the documentation of this file.
1
class
TLRLight
extends
Switchable_Base
2
{
3
PistollightLight
m_Light
;
4
5
static
int
REFLECTOR_ID
= 1;
6
static
int
GLASS_ID
= 0;
7
8
static
string
LIGHT_OFF_GLASS
=
"dz\\gear\\tools\\data\\flashlight_glass.rvmat"
;
9
static
string
LIGHT_OFF_REFLECTOR
=
"dz\\weapons\\attachments\\data\\TLS3.rvmat"
;
10
static
string
LIGHT_ON_GLASS
=
"dz\\gear\\tools\\data\\flashlight_glass_on.rvmat"
;
11
static
string
LIGHT_ON_REFLECTOR
=
"dz\\weapons\\attachments\\data\\TLS3_on.rvmat"
;
12
13
override
ScriptedLightBase
GetLight
()
14
{
15
return
m_Light
;
16
}
17
18
override
bool
CanPutAsAttachment
(
EntityAI
parent )
19
{
20
if
(!super.CanPutAsAttachment(parent)) {
return
false
;}
21
if
( !parent.IsKindOf(
"PlateCarrierHolster"
) && !parent.IsKindOf(
"PlateCarrierComplete"
) && !parent.IsKindOf(
"CarrierHolsterSolo"
) && !parent.IsKindOf(
"ChestHolster"
) )
22
{
23
return
true
;
24
}
25
26
return
false
;
27
}
28
29
override
void
OnWorkStart
()
30
{
31
if
( !
g_Game
.IsServer() || !
g_Game
.IsMultiplayer() )
// Client side
32
{
33
m_Light
= PistollightLight.Cast(
ScriptedLightBase
.CreateLight(PistollightLight,
"0 0 0"
, 0.08) );
// Position is zero because light is attached on parent immediately.
34
m_Light
.AttachOnMemoryPoint(
this
,
"beamStart"
,
"beamEnd"
);
35
SetObjectMaterial(
GLASS_ID
,
LIGHT_ON_GLASS
);
36
SetObjectMaterial(
REFLECTOR_ID
,
LIGHT_ON_REFLECTOR
);
37
}
38
}
39
40
override
void
OnWork
(
float
consumed_energy )
41
{
42
if
( !
g_Game
.IsServer() || !
g_Game
.IsMultiplayer() )
// Client side
43
{
44
Battery9V
battery =
Battery9V
.Cast( GetCompEM().GetEnergySource() );
45
46
if
(battery &&
m_Light
)
47
{
48
float
efficiency = battery.
GetEfficiency0To1
();
49
50
if
( efficiency < 1 )
51
{
52
m_Light
.SetIntensity( efficiency, GetCompEM().GetUpdateInterval() );
53
}
54
else
55
{
56
m_Light
.SetIntensity( 1, 0 );
57
}
58
}
59
}
60
}
61
62
override
void
OnWorkStop
()
63
{
64
if
( !
g_Game
.IsServer() || !
g_Game
.IsMultiplayer() )
// Client side
65
{
66
if
(
m_Light
)
67
m_Light
.FadeOut();
68
69
m_Light
= NULL;
70
71
SetObjectMaterial(
GLASS_ID
,
LIGHT_OFF_GLASS
);
72
SetObjectMaterial(
REFLECTOR_ID
,
LIGHT_OFF_REFLECTOR
);
73
}
74
}
75
76
// Inventory manipulation
77
override
void
OnInventoryExit
(Man player)
78
{
79
super.OnInventoryExit(player);
80
81
if
( GetCompEM().IsWorking() )
82
{
83
if
(player)
84
{
85
vector
ori_rotate = player.GetOrientation();
86
ori_rotate = ori_rotate +
Vector
(270,0,0);
87
SetOrientation(ori_rotate);
88
}
89
}
90
}
91
92
override
void
SetActions
()
93
{
94
super.SetActions();
95
AddAction
(
ActionTurnOnWhileInHands
);
96
AddAction
(
ActionTurnOffWhileInHands
);
97
}
98
99
override
bool
IsLightSource
()
100
{
101
return
true
;
102
}
103
}
AddAction
void AddAction(typename actionName)
Definition
advancedcommunication.c:220
ActionTurnOffWhileInHands
Definition
actionturnoffwhileinhands.c:2
ActionTurnOnWhileInHands
Definition
actionturnonwhileinhands.c:2
Battery9V
Definition
battery9v.c:2
Battery9V::GetEfficiency0To1
float GetEfficiency0To1()
Returns efficiency of this battery. The value is synchronized from server to all clients and is accur...
Definition
battery9v.c:13
EntityAI
Definition
inventoryitem.c:2
ScriptedLightBase
Definition
pointlightbase.c:2
Switchable_Base
Definition
chainsaw.c:2
Switchable_Base::m_Light
PistollightLight m_Light
Definition
tlrlight.c:3
Switchable_Base::LIGHT_OFF_REFLECTOR
static string LIGHT_OFF_REFLECTOR
Definition
tlrlight.c:9
Switchable_Base::LIGHT_OFF_GLASS
static string LIGHT_OFF_GLASS
Definition
tlrlight.c:8
Switchable_Base::OnInventoryExit
override void OnInventoryExit(Man player)
Definition
tlrlight.c:77
Switchable_Base::REFLECTOR_ID
static int REFLECTOR_ID
Definition
tlrlight.c:5
Switchable_Base::GetLight
override ScriptedLightBase GetLight()
Definition
tlrlight.c:13
Switchable_Base::GLASS_ID
static int GLASS_ID
Definition
tlrlight.c:6
Switchable_Base::IsLightSource
override bool IsLightSource()
Definition
tlrlight.c:99
Switchable_Base::OnWorkStop
override void OnWorkStop()
Definition
tlrlight.c:62
Switchable_Base::OnWork
override void OnWork(float consumed_energy)
Definition
tlrlight.c:40
Switchable_Base::CanPutAsAttachment
override bool CanPutAsAttachment(EntityAI parent)
Definition
tlrlight.c:18
Switchable_Base::OnWorkStart
override void OnWorkStart()
Definition
tlrlight.c:29
Switchable_Base::LIGHT_ON_GLASS
static string LIGHT_ON_GLASS
Definition
tlrlight.c:10
Switchable_Base::LIGHT_ON_REFLECTOR
static string LIGHT_ON_REFLECTOR
Definition
tlrlight.c:11
Switchable_Base::SetActions
override void SetActions()
Definition
tlrlight.c:92
vector
Definition
enconvert.c:119
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
Vector
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
Games
Dayz
scripts
4_world
entities
itembase
switchable_base
tlrlight.c
Generated by
1.17.0