| Games-AssaultCube documentation | Contained in the Games-AssaultCube distribution. |
Games::AssaultCube::Log::Line::ClientStatus - Describes the ClientStatus event in a log line
Describes the ClientStatus event in a log line
This module holds the "ClientStatus" event data from a log line. Normally, you would not use this class directly but via the Games::AssaultCube::Log::Line class.
This line is emitted once in a while as the AC server goes through the game.
Those attributes hold information about the event. As this class extends the Games::AssaultCube::Log::Line::Base class, you can also use it's attributes too.
The client connection id
The nick of the client
The id of the client's team
0 = CLA 1 = RVSF 2 = NONE
The team name of the client ( CLA, RVSF, NONE )
The number of frags this client has done
The number of deaths this client has done
The number of flags taken ( not always defined - depends on gamemode )
The id of the client's role
0 = DEAFULT 1 = ADMIN
The role name of the client ( DEFAULT, ADMIN )
The ip of the client
Apocalypse <apocal@cpan.org>
Props goes to the BS clan for the support!
This project is sponsored by http://cubestats.net
Copyright 2009 by Apocalypse
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Games-AssaultCube documentation | Contained in the Games-AssaultCube distribution. |
# Declare our package package Games::AssaultCube::Log::Line::ClientStatus; # import the Moose stuff use Moose; # Initialize our version use vars qw( $VERSION ); $VERSION = '0.04'; extends 'Games::AssaultCube::Log::Line::Base'; with 'Games::AssaultCube::Log::Line::Base::TeamInfo', 'Games::AssaultCube::Log::Line::Base::RoleInfo', 'Games::AssaultCube::Log::Line::Base::NickIP'; # TODO improve validation for everything here, ha! has 'cn' => ( isa => 'Int', is => 'ro', required => 1, ); has 'frags' => ( isa => 'Int', is => 'ro', required => 1, ); has 'deaths' => ( isa => 'Int', is => 'ro', required => 1, ); has 'flags' => ( isa => 'Int', is => 'ro', ); has 'tostr' => ( isa => 'Str', is => 'ro', lazy => 1, default => sub { my $self = shift; # we want nicely-formatted output return sprintf( "Client status of %25s (%4s): %3d frags, %3d deaths%s", $self->nick, $self->team_name, $self->frags, $self->deaths, ( defined $self->flags ? sprintf( ", %d flags", $self->flags ) : "" ) ); }, ); # TODO Moose can't export multiple roles into this class unless it defines BUILD... # Error: 'Games::AssaultCube::Log::Line::Base::Mastermode|Games::AssaultCube::Log::Line::Base::Gamemode' requires the method 'BUILD' to be implemented by 'Games::AssaultCube::Log::Line::GameStatus' at /usr/local/share/perl/5.10.0/Moose/Meta/Role/Application.pm line 59 sub BUILD { return; } no Moose; __PACKAGE__->meta->make_immutable; 1; __END__