218 lines
10 KiB
PHP
218 lines
10 KiB
PHP
|
<html>
|
|||
|
<head>
|
|||
|
<link rel="stylesheet" type="text/css" href="css/main.css" />
|
|||
|
<meta content="text/html; charset=utf-8" http-equiv="Content-type" />
|
|||
|
<meta http-equiv="Cache-Control" content="no-cache" />
|
|||
|
<meta http-equiv="PRAGMA" content="NO-CACHE" />
|
|||
|
<meta http-equiv="Expires" content="0" />
|
|||
|
<style>
|
|||
|
.b3 { font-weight: bold; color: #269088; }
|
|||
|
.b4 { font-weight: bold; color: #A0AF20; }
|
|||
|
.b5 { font-weight: bold; color: #0F79D3; }
|
|||
|
.b6 { font-weight: bold; color: #D85E23; }
|
|||
|
.b7 { font-weight: bold; color: #5C832F; }
|
|||
|
.b8 { font-weight: bold; color: #842B61; }
|
|||
|
.b9 { font-weight: bold; color: navy; }
|
|||
|
</style>
|
|||
|
<script src='js/commoninf.js'></script>
|
|||
|
</head>
|
|||
|
<body leftmargin=5 topmargin=5 marginwidth=5 marginheight=5 bgcolor=e2e0e0>
|
|||
|
<h3>Статистика боя</h3>
|
|||
|
|
|||
|
Тип боя:
|
|||
|
Продолжительность боя: мин.
|
|||
|
<FORM METHOD=GET ACTION="logs.php">
|
|||
|
<INPUT TYPE=hidden name=analiz value="1293752125.55927">
|
|||
|
<INPUT TYPE=submit name=log2 value="Лог боя">
|
|||
|
</FORM>
|
|||
|
|
|||
|
<H4>Последовательность ударов</H4>
|
|||
|
<TABLE border=1 cellspacing=0 cellpadding=4>
|
|||
|
<TR><TD align=center>Логин</TD><TD>Удар в</TD><TD>Последовательность ударов</TD></TR>
|
|||
|
<?
|
|||
|
$log = file("backup/battle_stat/battle".$_REQUEST['log'].".txt");
|
|||
|
|
|||
|
$unique=array();
|
|||
|
$hits=array();
|
|||
|
foreach($log as $k){
|
|||
|
$r=explode("|",$k);
|
|||
|
if(!$r[2]){$r[2]=665;}
|
|||
|
$hits[][$r[0]]['hits']=$r[1];
|
|||
|
if(!in_array($r[0],$unique)){$unique[]=$r[0];}
|
|||
|
}
|
|||
|
|
|||
|
$an="<font color=\"#e2e2e2\">";
|
|||
|
$an2="</font>";
|
|||
|
asort($unique);
|
|||
|
foreach($unique as $u){
|
|||
|
echo "<TR><TD align=left>".$u."</TD><TD align=right><code>голову<br>грудь<br>живот<br>пояс<br>ноги</code></TD><TD>";
|
|||
|
$c=count($hits);
|
|||
|
$excl=array(2,3,4,5);
|
|||
|
for($i=0; $i<=$c; $i++){
|
|||
|
if(!$hits[$i][$u]['hits']){$i++;}
|
|||
|
if($hits[$i][$u]['hits']==1){echo "<b>X</b>";}elseif($hits[$i][$u]['hits']==665){echo "<font color=\"green\"><b>X</b></font>";}elseif(in_array($hits[$i][$u]['hits'],$excl)){echo "$an<b>X</b>$an2";}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
$excl=array(1,3,4,5,665);
|
|||
|
for($i=0; $i<$c; $i++){
|
|||
|
if(!$hits[$i][$u]['hits']){$i++;}
|
|||
|
if($hits[$i][$u]['hits']==2){echo "<b>X</b>";}elseif(in_array($hits[$i][$u]['hits'],$excl)){echo "$an<b>X</b>$an2";}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
$excl=array(1,2,4,5,665);
|
|||
|
for($i=0; $i<$c; $i++){
|
|||
|
if(!$hits[$i][$u]['hits']){$i++;}
|
|||
|
if($hits[$i][$u]['hits']==3){echo "<b>X</b>";}elseif(in_array($hits[$i][$u]['hits'],$excl)){echo "$an<b>X</b>$an2";}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
$excl=array(1,3,2,5,665);
|
|||
|
for($i=0; $i<$c; $i++){
|
|||
|
if(!$hits[$i][$u]['hits']){$i++;}
|
|||
|
if($hits[$i][$u]['hits']==4){echo "<b>X</b>";}elseif(in_array($hits[$i][$u]['hits'],$excl)){echo "$an<b>X</b>$an2";}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
$excl=array(1,3,4,2,665);
|
|||
|
for($i=0; $i<$c; $i++){
|
|||
|
if(!$hits[$i][$u]['hits']){$i++;}
|
|||
|
if($hits[$i][$u]['hits']==5){echo "<b>X</b>";}elseif(in_array($hits[$i][$u]['hits'],$excl)){echo "$an<b>X</b>$an2";}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
echo "</TD></TR>";
|
|||
|
}
|
|||
|
?>
|
|||
|
|
|||
|
|
|||
|
</TABLE>
|
|||
|
(<b>X</b> - удачный удар, <font color=red><B>X</B></font> - критический удар, <font color=red><B><code>Ξ</code></B></font> - крит + инвалидность, <font color=006600><B>X</B></font> - доп. магический удар,<BR>
|
|||
|
|
|||
|
<B>•</B> - противник блокировал удар, <font color=AAAAAA><B>•</B></font> - увернулся, <font color=AAAAEE><B>•</B></font> - парировал, <font color=777777><B>•</B></font> - отбил удар щитом)
|
|||
|
|
|||
|
<H4>Последовательность блоков</H4>
|
|||
|
<TABLE border=1 cellspacing=0 cellpadding=4>
|
|||
|
<TR><TD align=center>Логин</TD><TD>Блок</TD><TD>Последовательность блоков</TD></TR>
|
|||
|
<?
|
|||
|
$unique=array();
|
|||
|
$hits=array();
|
|||
|
foreach($log as $k){
|
|||
|
$r=explode("|",$k);
|
|||
|
if(!$r[2]){$r[2]=665;}
|
|||
|
$defs=explode(",",$r[2]);
|
|||
|
foreach($defs as $k=>$dd){
|
|||
|
$hits[][$r[0]]['defs'][$k]=$dd;
|
|||
|
}
|
|||
|
if(!in_array($r[0],$unique)){$unique[]=$r[0];}
|
|||
|
}
|
|||
|
|
|||
|
$an="<font color=\"#e2e2e2\">";
|
|||
|
$an2="</font>";
|
|||
|
asort($unique);
|
|||
|
foreach($unique as $u){
|
|||
|
echo "<TR><TD align=left>".$u."</TD><TD align=right><code>голова<br>грудь<br>живот<br>пояс<br>ноги</code></TD><TD>";
|
|||
|
$c=count($hits)-1;
|
|||
|
$excl=array("00","01","10","11");
|
|||
|
for($i=0; $i<=$c; $i++){
|
|||
|
if(!in_array($hits[$i][$u]['defs'][0],$excl)){$i++;}
|
|||
|
if($hits[$i][$u]['defs'][0]=="11"){echo "<b>X</b>";}elseif($hits[$i][$u]['defs'][0]=="10"){echo "<b>•</b>";}else{echo "$an<b>X</b>$an2";}//}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
for($i=0; $i<=$c; $i++){
|
|||
|
if(!in_array($hits[$i][$u]['defs'][1],$excl)){$i++;}
|
|||
|
if($hits[$i][$u]['defs'][1]=="11"){echo "<b>X</b>";}elseif($hits[$i][$u]['defs'][1]=="10"){echo "<b>•</b>";}else{echo "$an<b>X</b>$an2";}//}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
for($i=0; $i<=$c; $i++){
|
|||
|
if(!in_array($hits[$i][$u]['defs'][2],$excl)){$i++;}
|
|||
|
if($hits[$i][$u]['defs'][2]=="11"){echo "<b>X</b>";}elseif($hits[$i][$u]['defs'][2]=="10"){echo "<b>•</b>";}else{echo "$an<b>X</b>$an2";}//}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
for($i=0; $i<=$c; $i++){
|
|||
|
if(!in_array($hits[$i][$u]['defs'][3],$excl)){$i++;}
|
|||
|
if($hits[$i][$u]['defs'][3]=="11"){echo "<b>X</b>";}
|
|||
|
elseif($hits[$i][$u]['defs'][3]=="10"){echo "<b>•</b>";}
|
|||
|
else{echo "$an<b>X</b>$an2";}//}
|
|||
|
}
|
|||
|
echo "<br>";
|
|||
|
for($i=0; $i<=$c; $i++){
|
|||
|
if(!in_array($hits[$i][$u]['defs'][4],$excl)){$i++;}
|
|||
|
if($hits[$i][$u]['defs'][4]=="11"){echo "<b>X</b>";}elseif($hits[$i][$u]['defs'][4]=="10"){echo "<b>•</b>";}else{echo "$an<b>X</b>$an2";}//}
|
|||
|
}
|
|||
|
echo "</TD></TR>";
|
|||
|
}
|
|||
|
?>
|
|||
|
|
|||
|
|
|||
|
</TABLE>
|
|||
|
(<b>X</b> - удачный блок, <b><FONT COLOR=red>X</FONT></b> - пробили блок критом, <B>•</B> - пропустил удар,
|
|||
|
<font color=#AAAAAA><B>•</B></font> - увернулся
|
|||
|
<font color=#AAAAEE><B>•</B></font> - парировал
|
|||
|
<font color=#777777><B>•</B></font> - отбил щитом)
|
|||
|
|
|||
|
<?php
|
|||
|
$summary = file("backup/stat/battle".$_REQUEST['log'].".txt");
|
|||
|
$hit[]=array();
|
|||
|
$where_hit[]=array();
|
|||
|
$team1_users[]=array();
|
|||
|
$team2_users[]=array();
|
|||
|
$sum_hp1=array();
|
|||
|
$sum_hp2=array();
|
|||
|
//$data['t1']
|
|||
|
//$data['t2']
|
|||
|
echo "<br/><br/><br/>";
|
|||
|
foreach($summary as $k){
|
|||
|
//echo $k.'<br/>';
|
|||
|
$r=explode("|",$k);
|
|||
|
|
|||
|
If ($r[5]=='udar'){$hit[$r[0]]+=$r[6];}
|
|||
|
If ($r[0]=='user_team1'){$team1_users[$r[1]]=$r[2];}
|
|||
|
If ($r[0]=='user_team2'){$team2_users[$r[1]]=$r[2];}
|
|||
|
If ($r[1]=='B1' or $r[1]=='B2'){$where_hit[$r[0]][$r[4]]+=1;}
|
|||
|
}
|
|||
|
|
|||
|
?>
|
|||
|
|
|||
|
|
|||
|
<H4>Суммарно</H4>
|
|||
|
|
|||
|
<TABLE border=1 cellspacing=0 cellpadding=4>
|
|||
|
<TR><TD align=center>Логин</TD><TD>Удары</TD><TD>Блоки</TD><TD>Попадания</TD><TD>Защита</TD><TD>Урон</TD><TD>Потери</TD><TD>Вылечено</TD></TR>
|
|||
|
<?php
|
|||
|
If (strpos($data['t1'],';')){$team1=explode(";",$data['t1']);}else{$team1[0]=$data['t1'];}
|
|||
|
for ($i=0;$i<count($team1);$i++){
|
|||
|
|
|||
|
$sData=substr($team1_users[$team1[$i]],-12);
|
|||
|
preg_match('/\[(.*?)\//', $sData, $rgMatches1);
|
|||
|
$sum_hp1[1]+=substr($rgMatches1[0],1,strlen($rgMatches1[0])-1);
|
|||
|
preg_match('/\/(.*?)\]/', $sData, $rgMatches2);
|
|||
|
$sum_hp1[2]+=substr($rgMatches2[0],1,strlen($rgMatches2[0])-1);
|
|||
|
echo "<TR><TD align=right>".$team1_users[$team1[$i]]."</TD><TD>".(!empty($where_hit[$team1[$i]][1])?$where_hit[$team1[$i]][1]:0)."/".(!empty($where_hit[$team1[$i]][2])?$where_hit[$team1[$i]][2]:0)."/".(!empty($where_hit[$team1[$i]][3])?$where_hit[$team1[$i]][3]:0)."/".(!empty($where_hit[$team1[$i]][4])?$where_hit[$team1[$i]][4]:0)."/".(!empty($where_hit[$team1[$i]][5])?$where_hit[$team1[$i]][5]:0)."</TD><TD>0/0/0/0/0</TD><TD align=center>0(<font color=red>0</font>)0</TD><TD align=center>0/0/0</TD><TD align=center>0/<font color=red>0</font></TD><TD align=center>0</TD><TD align=center>0</TD></tr>";
|
|||
|
}
|
|||
|
echo "<TR><TD align=right><span class=B1>Всего[".$sum_hp1[1]."/".$sum_hp1[2]."]<span></TD><TD></TD><TD></TD><TD align=center>0</TD><TD align=center>0</TD><TD align=center>0</TD><TD align=center>0</TD><TD align=center>0</TD></tr>";
|
|||
|
|
|||
|
If (strpos($data['t2'],';')){$team2=explode(";",$data['t2']);}else{$team2[0]=$data['t2'];}
|
|||
|
for ($i=0;$i<count($team2);$i++){
|
|||
|
|
|||
|
$sData=substr($team2_users[$team2[$i]],-12);
|
|||
|
preg_match('/\[(.*?)\//', $sData, $rgMatches1);
|
|||
|
$sum_hp2[1]+=substr($rgMatches1[0],1,strlen($rgMatches1[0])-1);
|
|||
|
preg_match('/\/(.*?)\]/', $sData, $rgMatches2);
|
|||
|
$sum_hp2[2]+=substr($rgMatches2[0],1,strlen($rgMatches2[0])-1);
|
|||
|
|
|||
|
echo "<TR><TD align=right>".$team2_users[$team2[$i]]."</TD><TD>".(!empty($where_hit[$team2[$i]][1])?$where_hit[$team2[$i]][1]:0)."/".(!empty($where_hit[$team2[$i]][2])?$where_hit[$team2[$i]][2]:0)."/".(!empty($where_hit[$team2[$i]][3])?$where_hit[$team2[$i]][3]:0)."/".(!empty($where_hit[$team2[$i]][4])?$where_hit[$team2[$i]][4]:0)."/".(!empty($where_hit[$team2[$i]][5])?$where_hit[$team2[$i]][5]:0)."</TD><TD>0/0/0/0/0</TD><TD align=center>0(<font color=red>0</font>)0</TD><TD align=center>0/0/0</TD><TD align=center>0/<font color=red>0</font></TD><TD align=center>0</TD><TD align=center>0</TD></tr>";
|
|||
|
}
|
|||
|
echo "<TR><TD align=right><span class=B2>Всего[".$sum_hp2[1]."/".$sum_hp2[2]."]</span></TD><TD></TD><TD></TD><TD align=center>0</TD><TD align=center>0</TD><TD align=center>0</TD><TD align=center>0</TD><TD align=center>0</TD></tr>";
|
|||
|
?>
|
|||
|
|
|||
|
</TABLE>
|
|||
|
|
|||
|
Логин - имя персонажа и уровень жизни: [сейчас/всего]<BR>
|
|||
|
Удары - статистика ударов по областям: голова/грудь/живот/пояс/ноги<BR>
|
|||
|
|
|||
|
Блоки - статистика блоков по областям: голова/грудь/живот/пояс/ноги<BR>
|
|||
|
Попадания - удачных попаданий <FONT COLOR=red>(из них критов)</FONT> / всего ударов<BR>
|
|||
|
Защита - ударов заблокировано / уворотов / пропущено ударов<BR>
|
|||
|
Урон - выбито HP из противников / из них <FONT COLOR=red>критами</FONT><BR>
|
|||
|
Потери - получено повреждений <BR>
|
|||
|
Вылечено - восстановлено HP<BR>
|
|||
|
|
|||
|
</BODY>
|
|||
|
</HTML>
|