Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
flashlight.c
Go to the documentation of this file.
1
class
Flashlight
extends
ItemBase
2
{
3
FlashlightLight
m_Light
;
4
5
static
int
REFLECTOR_ID
= 1;
6
static
int
GLASS_ID
= 2;
7
8
static
string
LIGHT_OFF_GLASS
=
"dz\\gear\\tools\\data\\flashlight_glass.rvmat"
;
9
static
string
LIGHT_OFF_REFLECTOR
=
"dz\\gear\\tools\\data\\flashlight.rvmat"
;
10
static
string
LIGHT_ON_GLASS
=
"dz\\gear\\tools\\data\\flashlight_glass_on.rvmat"
;
11
static
string
LIGHT_ON_REFLECTOR
=
"dz\\gear\\tools\\data\\flashlight_glass_on.rvmat"
;
12
13
override
void
OnWorkStart
()
14
{
15
if
( !
g_Game
.IsServer() || !
g_Game
.IsMultiplayer() )
// Client side
16
{
17
m_Light
= FlashlightLight.Cast(
ScriptedLightBase
.CreateLight(FlashlightLight,
"0 0 0"
, 0.08) );
// Position is zero because light is attached on parent immediately.
18
m_Light
.AttachOnMemoryPoint(
this
,
"beamStart"
,
"beamEnd"
);
19
}
20
21
SetObjectMaterial(
GLASS_ID
,
LIGHT_ON_GLASS
);
22
SetObjectMaterial(
REFLECTOR_ID
,
LIGHT_ON_REFLECTOR
);
23
}
24
25
override
void
OnWork
(
float
consumed_energy )
26
{
27
if
( !
g_Game
.IsServer() || !
g_Game
.IsMultiplayer() )
// Client side
28
{
29
Battery9V
battery =
Battery9V
.Cast( GetCompEM().GetEnergySource() );
30
31
if
(battery &&
m_Light
)
32
{
33
float
efficiency = battery.
GetEfficiency0To1
();
34
35
if
( efficiency < 1 )
36
{
37
m_Light
.SetIntensity( efficiency, GetCompEM().GetUpdateInterval() );
38
}
39
else
40
{
41
m_Light
.SetIntensity( 1, 0 );
42
}
43
}
44
}
45
}
46
47
override
void
OnWorkStop
()
48
{
49
if
( !
g_Game
.IsServer() || !
g_Game
.IsMultiplayer() )
// Client side
50
{
51
if
(
m_Light
)
52
m_Light
.FadeOut();
53
54
m_Light
= NULL;
55
}
56
57
SetObjectMaterial(
GLASS_ID
,
LIGHT_OFF_GLASS
);
58
SetObjectMaterial(
REFLECTOR_ID
,
LIGHT_OFF_REFLECTOR
);
59
}
60
61
// Inventory manipulation
62
override
void
OnInventoryExit
(Man player)
63
{
64
super.OnInventoryExit(player);
65
66
if
( GetCompEM().IsWorking() )
67
{
68
if
(player)
69
{
70
vector
ori_rotate = player.GetOrientation();
71
ori_rotate = ori_rotate +
Vector
(270,0,0);
72
SetOrientation(ori_rotate);
73
}
74
}
75
}
76
77
override
void
SetActions
()
78
{
79
super.SetActions();
80
81
AddAction
(
ActionTurnOnWhileInHands
);
82
AddAction
(
ActionTurnOffWhileInHands
);
83
}
84
85
override
void
OnDebugSpawn
()
86
{
87
Battery9V
.Cast(GetInventory().CreateInInventory(
"Battery9V"
));
88
}
89
}
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
ItemBase
Definition
inventoryitem.c:742
ItemBase::LIGHT_OFF_REFLECTOR
static string LIGHT_OFF_REFLECTOR
Definition
flashlight.c:9
ItemBase::OnDebugSpawn
override void OnDebugSpawn()
Definition
flashlight.c:85
ItemBase::LIGHT_OFF_GLASS
static string LIGHT_OFF_GLASS
Definition
flashlight.c:8
ItemBase::OnInventoryExit
override void OnInventoryExit(Man player)
Definition
flashlight.c:62
ItemBase::m_Light
BlowtorchLight m_Light
Definition
blowtorch.c:7
ItemBase::OnWorkStop
override void OnWorkStop()
Definition
flashlight.c:47
ItemBase::OnWork
override void OnWork(float consumed_energy)
Definition
flashlight.c:25
ItemBase::OnWorkStart
override void OnWorkStart()
Definition
flashlight.c:13
ItemBase::LIGHT_ON_GLASS
static string LIGHT_ON_GLASS
Definition
flashlight.c:10
ItemBase::LIGHT_ON_REFLECTOR
static string LIGHT_ON_REFLECTOR
Definition
flashlight.c:11
ItemBase::REFLECTOR_ID
static int REFLECTOR_ID
Definition
flashlight.c:5
ItemBase::GLASS_ID
static int GLASS_ID
Definition
flashlight.c:6
ItemBase::SetActions
override void SetActions()
Definition
flashlight.c:77
ScriptedLightBase
Definition
pointlightbase.c:2
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
flashlight.c
Generated by
1.17.0