| crapy clawn forums http://crapyclawn.net/lolwords/ |
|
| perl program to find rage quitters http://crapyclawn.net/lolwords/viewtopic.php?t=2817 |
Page 1 of 1 |
| Author: | Agent_137 [ Tue Aug 11, 2009 12:43 am ] |
| Post subject: | perl program to find rage quitters |
hi! in july hogg wished for a way to keep track of all the rage quits so we can post them on the wikipenia, point, and laugh. Here ya go: to get a log from console put -condebug in your l4d launch options then check: C:\program files\steam\steamapps\common\left 4 dead\left4dead\console.log here's the goods: http://www.crapyclawn.net/wikipenia/ind ... Rage_Quits Code: #suck my shebang.
# declare variables
my $inp;
my $out;
my %joiners;
my @quits;
# Find all detailed connects with playerId and gamertag. Add them to the hash.
open($inp, "<", "console.log");
while (<$inp>) {
if (/New client. Client Info: ID: (\d+?), Players: 1, Gamertag: (.+?),/) {
# print "$1 - ";
# print "$2\n";
$joiners{$1} = $2;
}
}
# Match the playerID and gamertag to any disconnects missing a gamertag, then store that gamertag.
open($inp, "<", "console.log");
while (<$inp>) {
while (($key, $value) = each(%joiners)){
# print $key." ".$value."\n";
if (/Dropped player: $key/) {
push (@quits, "*$value\n");
}
}
}
# store any clean quits.
open($inp, "<", "console.log");
while (<$inp>) {
if (/Player (.+?) left the game/) {
push (@quits, "*$1\n");
}
}
# De dupe any repeats in the list.
my %hash = map { $_, 1 } @quits;
# or a hash slice: @hash{ @array } = ();
# or a foreach: $hash{$_} = 1 foreach ( @array );
my @unique = keys %hash;
#Store them for posterity:
open($out, ">>", "ragelog.txt");
print $out @unique;
close $out;
print "These rage quitters have been logged:\n";
print @unique;
# thank you to http://perldoc.perl.org/perlfaq4.html#How-can-I-remove-duplicate-elements-from-a-list-or-array%3f for the dedupe.
|
|
| Author: | assrott [ Tue Aug 11, 2009 4:07 pm ] |
| Post subject: | |
http://www.pointpark.edu/default.aspx?id=1454 Rager quit. |
|
| Page 1 of 1 | All times are UTC-06:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|