Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
analyticsmanagerserver.c
Go to the documentation of this file.
1
class
AnalyticsManagerServer
2
{
3
const
string
STAT_DISTANCE
=
"dist"
;
4
const
string
STAT_PLAYTIME
=
"playtime"
;
5
const
string
STAT_PLAYERS_KILLED
=
"players_killed"
;
6
const
string
STAT_INFECTED_KILLED
=
"infected_killed"
;
7
const
string
STAT_LONGEST_SURVIVOR_HIT
=
"longest_survivor_hit"
;
8
9
void
OnPlayerConnect
(Man player)
10
{
11
player.StatRegister(
STAT_DISTANCE
);
12
player.StatRegister(
STAT_PLAYTIME
);
13
player.StatRegister(
STAT_PLAYERS_KILLED
);
14
player.StatRegister(
STAT_INFECTED_KILLED
);
15
player.StatRegister(
STAT_LONGEST_SURVIVOR_HIT
);
16
}
17
18
void
OnPlayerDisconnect
(Man player)
19
{
20
player.StatUpdateByPosition(
STAT_DISTANCE
);
21
player.StatUpdateByTime(
STAT_PLAYTIME
);
22
}
23
24
//Entity-Entity hit
25
void
OnEntityHit
(
EntityAI
source, Man target)
26
{
27
if
(source)
28
{
29
Man survivor = source.GetHierarchyRootPlayer();
30
if
(survivor && source.IsWeapon())
31
OnPlayerToPlayerHit
(survivor, target);
32
}
33
}
34
35
protected
void
OnPlayerToPlayerHit
(Man shooter, Man target)
36
{
37
float
longestHitDistance = shooter.StatGet(
STAT_LONGEST_SURVIVOR_HIT
);
38
float
currentDistance =
vector
.
Distance
(shooter.GetPosition(), target.GetPosition());
39
float
distanceUpdate;
40
41
if
(longestHitDistance < currentDistance)
42
distanceUpdate = currentDistance - longestHitDistance;
43
44
shooter.StatUpdate(
STAT_LONGEST_SURVIVOR_HIT
, distanceUpdate);
45
}
46
47
//Entity-Entity kill
48
void
OnEntityKilled
(
Object
killer,
EntityAI
target)
49
{
50
EntityAI
killerEntity =
EntityAI
.Cast(killer);
51
if
(killerEntity)
52
{
53
Man killerSurvivor = killerEntity.GetHierarchyRootPlayer();
54
if
(killerSurvivor)
55
{
56
if
(target.IsPlayer())
57
OnPlayerKilled
(killerSurvivor, target);
58
else
if
(target.IsZombie())
59
OnInfectedKilled
(killerSurvivor, target);
60
}
61
}
62
}
63
64
protected
void
OnPlayerKilled
(Man killer,
EntityAI
target)
65
{
66
killer.StatUpdate(
STAT_PLAYERS_KILLED
, 1);
67
}
68
69
protected
void
OnInfectedKilled
(Man killer,
EntityAI
target)
70
{
71
killer.StatUpdate(
STAT_INFECTED_KILLED
, 1);
72
}
73
}
AnalyticsManagerServer
Definition
analyticsmanagerserver.c:2
AnalyticsManagerServer::OnPlayerKilled
void OnPlayerKilled(Man killer, EntityAI target)
Definition
analyticsmanagerserver.c:64
AnalyticsManagerServer::STAT_INFECTED_KILLED
const string STAT_INFECTED_KILLED
Definition
analyticsmanagerserver.c:6
AnalyticsManagerServer::OnPlayerConnect
void OnPlayerConnect(Man player)
Definition
analyticsmanagerserver.c:9
AnalyticsManagerServer::STAT_DISTANCE
const string STAT_DISTANCE
Definition
analyticsmanagerserver.c:3
AnalyticsManagerServer::OnEntityHit
void OnEntityHit(EntityAI source, Man target)
Definition
analyticsmanagerserver.c:25
AnalyticsManagerServer::OnEntityKilled
void OnEntityKilled(Object killer, EntityAI target)
Definition
analyticsmanagerserver.c:48
AnalyticsManagerServer::OnInfectedKilled
void OnInfectedKilled(Man killer, EntityAI target)
Definition
analyticsmanagerserver.c:69
AnalyticsManagerServer::OnPlayerDisconnect
void OnPlayerDisconnect(Man player)
Definition
analyticsmanagerserver.c:18
AnalyticsManagerServer::STAT_PLAYERS_KILLED
const string STAT_PLAYERS_KILLED
Definition
analyticsmanagerserver.c:5
AnalyticsManagerServer::STAT_PLAYTIME
const string STAT_PLAYTIME
Definition
analyticsmanagerserver.c:4
AnalyticsManagerServer::STAT_LONGEST_SURVIVOR_HIT
const string STAT_LONGEST_SURVIVOR_HIT
Definition
analyticsmanagerserver.c:7
AnalyticsManagerServer::OnPlayerToPlayerHit
void OnPlayerToPlayerHit(Man shooter, Man target)
Definition
analyticsmanagerserver.c:35
EntityAI
Definition
inventoryitem.c:2
Object
Definition
objecttyped.c:2
vector
Definition
enconvert.c:119
vector::Distance
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
Games
Dayz
scripts
3_game
analytics
analyticsmanagerserver.c
Generated by
1.17.0