VSP Stats Processor

Started by Mythbuster, November 04, 2006, 03:57:56 PM

« vorheriges - nächstes »

Mythbuster

Ich könnte mir vorstellen das das Problem darin liegt, dass einige in ihrem Namen ein Leerzeichen haben.

Im Logfile werden die Daten ja von Leerzeilen separiert.

Ich kann mir nicht vorstellen das das Php script damit klarkommt. ;)

cu
Glenn


Erst wenn Enemy Territory verboten, das letzte LAN geschlossen und das Internet zensiert ist, werdet ihr feststellen, das ihr eure Kinder selbst erziehen müsst.


TheJester

Ok, ich war vielleicht etwas vorschnell. Das ist zwar php und auch Klartext, aber der Scherzbold hat es obfuscated. Kleiner Auszug daraus :



function F26a565c8(&$V6438c669) { return false; } function Fc5aace53(&$V6438c669)
{ if (!preg_match("/^ShutdownGame:/", $V6438c669, $Vb74df323)) return false; if (!isset($this->V6d2b5d2c['Exit']))
{ $Vb16ebe0a=''; while(!feof($this->V50dffd37) && !preg_match("/^InitGame: (.*)/", $Vb16ebe0a, $Vb74df323))
{ $V40023427=ftell($this->V50dffd37); $Vb16ebe0a = fgets($this->V50dffd37, cBIG_STRING_LENGTH);
$Vb16ebe0a=rtrim($Vb16ebe0a,"\r\n"); $this->F1ef9b71a($Vb16ebe0a); } return true; } else { if ($this->V93da65a9['savestate']==1)
{ $this->F5c0b129c(); } $this->Vae2aeb93->Fc3b570a7(); $this->V21d8a920->F43781db5($this->Vae2aeb93->F26dd5333(),$this->Vae2aeb93->F068fac4f());
$this->Vae2aeb93->F242ca9da(); $this->Vdafa753c= false; return true; } return true; } function Fcfcf8f26(&$V6438c669)
{ if (!preg_match("/^Exit:/", $V6438c669, $Vb74df323)) return false; $this->V6d2b5d2c['Exit']=1;
return true; } function Fdd2d6a64($V51cafe1c) { $Va68a76df=array(); $V15467e06=strrev(sprintf("%b",$V51cafe1c));
$Vfc1178ea=strlen($V15467e06); for($V865c0c0b=0;$V865c0c0b<$Vfc1178ea;$V865c0c0b++) { if ($V15467e06[$V865c0c0b]=='1')
{ $Va68a76df[]=$this->V42dfa3a4['weapon_array'][$V865c0c0b]; } } return $Va68a76df; } function F73171ca8(&$V6438c669)
{ if (!preg_match("/^WeaponStats:/", $V6438c669)) return false; if (preg_match("/^WeaponStats: (\d+) (\d+) (\d+) (.*)/", $V6438c669, $Vb74df323))
{ $V2bfe9d72=$Vb74df323[1]; $Vbd89f3c9=$Vb74df323[4]; $V9fb97ff3=$this->Fdd2d6a64($Vb74df323[3]);
$V87058dfa=0; $V0a1c880f=count($V9fb97ff3); while ($V87058dfa<$V0a1c880f && preg_match("/^(\d+) (\d+) (\d+) (\d+) (\d+) (.*)/", $Vbd89f3c9, $Va9ddcf51))
{ $V47239253=$V9fb97ff3[$V87058dfa]; $Vfce79135=$Va9ddcf51[1]; $V9f892c18=$Va9ddcf51[2]; $Vf803abdc=$Va9ddcf51[5];

$this->Vae2aeb93->F4135e567($this->Va2bbabfe[$V2bfe9d72]['id'],$this->Va2bbabfe[$V2bfe9d72]['id'],"accuracy|{$V47239253}_hits",$Vfce79135);
$this->Vae2aeb93->F4135e567($this->Va2bbabfe[$V2bfe9d72]['id'],$this->Va2bbabfe[$V2bfe9d72]['id'],"accuracy|{$V47239253}_shots",$V9f892c18);
$this->Vae2aeb93->F4135e567($this->Va2bbabfe[$V2bfe9d72]['id'],$this->Va2bbabfe[$V2bfe9d72]['id'],"accuracy|{$V47239253}_lochead",$Vf803abdc);
$Vbd89f3c9=$Va9ddcf51[6]; $V87058dfa++; } if (preg_match("/^(\d+) (\d+) (\d+) (\d+) (\d+)/", $Vbd89f3c9, $Va9ddcf51))
{ $this->Vae2aeb93->F72d01d3f($this->Va2bbabfe[$V2bfe9d72]['id'],"damage given",$Va9ddcf51[1]); $this->Vae2aeb93->F72d01d3f($this->Va2bbabfe[$V2bfe9d72]['id'],"damage taken",$Va9ddcf51[2]);
$this->Vae2aeb93->F72d01d3f($this->Va2bbabfe[$V2bfe9d72]['id'],"damage to team",$Va9ddcf51[3]); $this->Vae2aeb93->F72d01d3f($this->Va2bbabfe[$V2bfe9d72]['id'],"damage from team",$Va9ddcf51[4]);
} } return true; } function Ff90d84c5(&$V6438c669) { if (!preg_match("/^ClientUserinfoChanged: (\d+) (.*)/", $V6438c669, $Vb74df323))
return false; $V2bfe9d72=$Vb74df323[1]; $V4fe74676=$Vb74df323[2]; while (preg_match("/^(.+)\\\(.*)\\\/U", $V4fe74676, $Va9ddcf51) || preg_match("/^(.+)\\\(.*)/", $V4fe74676, $Va9ddcf51))
{ $Vf986617c=$Va9ddcf51[1]; $Vada01463=$Va9ddcf51[2]; $V4fe74676=substr($V4fe74676,strlen($Vf986617c)+strlen($Vada01463)+2);
if (!strcmp($Vf986617c,"n")) { $V1963b948=$this->Fa3f5d48d($Vada01463); if (isset($this->Va2bbabfe[$V2bfe9d72]['id']) && $this->V93da65a9['trackID'] == 'playerName' && strcmp($this->Va2bbabfe[$V2bfe9d72]['id'],$Vada01463)!=0)
{ $this->Vae2aeb93->Fec5ab55c("sto",$this->Va2bbabfe[$V2bfe9d72]['id'],"alias",$V1963b948); $this->Vae2aeb93->Fddcbd60f($this->Va2bbabfe[$V2bfe9d72]['id'],$V1963b948);
$this->Vae2aeb93->F95791962($this->Va2bbabfe[$V2bfe9d72]['id'],$Vada01463); $this->Va2bbabfe[$V2bfe9d72]['id']=$Vada01463;
} else if (isset($this->Va2bbabfe[$V2bfe9d72]


Ich denke das dürfte schwierig sein. Ich les mir aber nochmal die Doku durch, evtl. rufe ich den Parser falsch auf. Es würde wohl keiner Benutzen wenn es wirklich komplett falsch währe.

Sven

DukeNukem

QuoteIch könnte mir vorstellen das das Problem darin liegt, dass einige in ihrem Namen ein Leerzeichen haben.
Autor: Mythbuster

Aus "[TL]Duke Nukem" wurde "[TL]DukeNukem".  ;)
Ich musste leider auch feststellen, dass ich der einzige mit Leerzeichen war. Uuuups... 

Ich meine folgendes Phänomen beobachtet zu haben: Solange am dem [TL]noch Spieler fraggen, werden meine Kills kontinuierlich mehr.
Vermutung: Der Log-Processor merkt/speichert das Offset aus der Log nicht richtig, ließt daher die Log immer vollständig ein und addiert die Kills.
Unklar ist mir jedoch, ob der Log-Processor überhaupt mit Offset arbeitet oder er nicht vielmehr das Log verändert.

Gruß
  -Alex



jomu78

@TheJester: das erinnert mich ein wenig an unseren StatProcessor für Rainbow 6. :-) Der hat auch funktioniert - selbst als sich Achim 1000 Schuss pro Minute für seine Waffe eingestellt hat. Kann mich noch ziemlich genau dran erinnern, dass da bei mir irgendwas mit 120 kasserten Treffern stand. Auf jedenfall sah ich relativ zerfleddert aus.

Gruß
Jörn

Mythbuster

TheJester
QuoteEs würde wohl keiner Benutzen wenn es wirklich komplett falsch währe.


Prinzipiell scheint es ja auch nicht so richtig falsch. Die reihenfolge erscheint mir ja durchaus richtig.

Auch wenn man sich in den "Game Stats" die einzelnen Maps anschaut, so scheinen die kills und deaths dort richtig zu sein.

Ich werde aber das Logfile nochmal nach einzelnen Maps/Kills durchforsten und das ergebniss hier posten.


cu
Glenn
Erst wenn Enemy Territory verboten, das letzte LAN geschlossen und das Internet zensiert ist, werdet ihr feststellen, das ihr eure Kinder selbst erziehen müsst.


Mythbuster

Hi,

mir ist da noch etwas aufgefallen.

Wenn man in den stats auf "Game Stats" geht und sich durch die ganzen Maps klickt, fällt auf das immer und immer die selben Maps auftauchen.
Immer mit dem gleichen Zeitstempel: 1971-12-31 13:04:04.

Diese Maps scheinen auch nicht die Maps zu sein die wir letztes mal gespielt haben.

Zumindest nicht in dieser Reihenfolge. Da aber ja alle Zeitstempel die gleiche Uhrzeit haben weiß ich nicht wie er sie sortiert.


Vielleicht sollten wir das ding einmal resetten, und es setzen sich 2 hin und erschiessen sich dann jeder 1 mal ::)
Es wäre interessant zu wissen was dabei herauskommt.....   ausser 2 Leichen ;D.
Erst wenn Enemy Territory verboten, das letzte LAN geschlossen und das Internet zensiert ist, werdet ihr feststellen, das ihr eure Kinder selbst erziehen müsst.