Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
barbedwiretrigger.c
Go to the documentation of this file.
1
2
class
BarbedWireTrigger
:
Trigger
3
{
4
ItemBase
m_ParentBarbedWire
;
5
const
static
int
SOUNDS_COLLISION_COUNT
= 4;
6
const
static
int
SOUNDS_SHOCK_COUNT
= 4;
7
const
static
string
m_SoundsCollision
[
SOUNDS_COLLISION_COUNT
] = {
"barbedFenceCollision1"
,
"barbedFenceCollision2"
,
"barbedFenceCollision3"
,
"barbedFenceCollision4"
};
8
const
static
string
m_SoundsShock
[
SOUNDS_SHOCK_COUNT
] = {
"electricFenceShock1"
,
"electricFenceShock2"
,
"electricFenceShock3"
,
"electricFenceShock4"
};
9
10
// When a player / AI touches the Barbed Wire
11
override
void
OnEnter
(
Object
obj )
12
{
13
if
(
g_Game
.IsServer() )
14
{
15
if
(
m_ParentBarbedWire
)
16
{
17
if
( obj.IsInherited(
PlayerBase
) )
18
{
19
// When a player touches the barbed wire
20
string
cfg =
"CfgVehicles BarbedWire barbedWireShockEnergyConsumption"
;
21
float
needed_energy =
g_Game
.ConfigGetFloat(cfg);
22
bool
energy_consumed =
m_ParentBarbedWire
.GetCompEM().ConsumeEnergy(needed_energy);
23
PlayerBase
player =
PlayerBase
.Cast( obj );
24
25
if
( energy_consumed )
26
{
27
// TO DO:
28
// -Do electrical damage.
29
// -Cause bleeding?
30
// -Do some damage!
31
32
player.MessageImportant(
"*SCRATCH and ELECTROCUTION*"
);
33
34
// Play sound
35
SoundCollision
();
36
SoundElectricShock
();
37
}
38
else
39
{
40
// TO DO:
41
// -Cause bleeding?
42
// -Do some damage!
43
44
player.MessageImportant(
"*SCRATCH*"
);
45
46
// Play sound
47
SoundCollision
();
48
}
49
}
50
else
51
{
52
// When an AI Agent touches the barbed wire
53
if
( obj.IsInherited(
ManBase
) )
54
{
55
ManBase
AI_unit =
ManBase
.Cast( obj );
56
AI_unit.SetHealth(
""
,
""
, 0);
57
}
58
}
59
}
60
}
61
}
62
63
// Sets parent object for this trigger
64
void
SetParentObject
(
ItemBase
wire )
65
{
66
if
(
g_Game
.IsServer() )
67
{
68
m_ParentBarbedWire
= wire;
69
}
70
}
71
72
// Plays an electric shock sound
73
void
SoundElectricShock
()
74
{
75
int
random_index =
Math
.
RandomInt
(0,
SOUNDS_SHOCK_COUNT
);
76
string
sound_type =
m_SoundsShock
[random_index];
77
PlaySound
(sound_type, 50);
78
}
79
80
// Plays a collision sound
81
void
SoundCollision
()
82
{
83
int
random_index =
Math
.
RandomInt
(0,
SOUNDS_COLLISION_COUNT
);
84
string
sound_type =
m_SoundsCollision
[random_index];
85
PlaySound
(sound_type, 50);
86
}
87
}
BarbedWireTrigger
DEPRECATED UNUSED prototype for damage by BarbedWire, do not use as example.
Definition
barbedwiretrigger.c:3
BarbedWireTrigger::m_ParentBarbedWire
ItemBase m_ParentBarbedWire
Definition
barbedwiretrigger.c:4
BarbedWireTrigger::SoundCollision
void SoundCollision()
Definition
barbedwiretrigger.c:81
BarbedWireTrigger::SOUNDS_SHOCK_COUNT
static const int SOUNDS_SHOCK_COUNT
Definition
barbedwiretrigger.c:6
BarbedWireTrigger::m_SoundsCollision
static const string m_SoundsCollision[SOUNDS_COLLISION_COUNT]
Definition
barbedwiretrigger.c:7
BarbedWireTrigger::SetParentObject
void SetParentObject(ItemBase wire)
Definition
barbedwiretrigger.c:64
BarbedWireTrigger::OnEnter
override void OnEnter(Object obj)
Definition
barbedwiretrigger.c:11
BarbedWireTrigger::m_SoundsShock
static const string m_SoundsShock[SOUNDS_SHOCK_COUNT]
Definition
barbedwiretrigger.c:8
BarbedWireTrigger::SoundElectricShock
void SoundElectricShock()
Definition
barbedwiretrigger.c:73
BarbedWireTrigger::SOUNDS_COLLISION_COUNT
static const int SOUNDS_COLLISION_COUNT
Definition
barbedwiretrigger.c:5
ItemBase
Definition
inventoryitem.c:742
ManBase
Definition
playerbase.c:50
Math
Definition
enmath.c:7
Object
Definition
objecttyped.c:2
PlayerBase
Definition
playerbaseclient.c:2
Trigger::Trigger
void Trigger()
ctor
Definition
trigger.c:53
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
Math::RandomInt
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].
PlaySound
void PlaySound()
Definition
hungersoundhandler.c:39
Games
Dayz
scripts
4_world
entities
scriptedentities
triggers
barbedwiretrigger.c
Generated by
1.17.0