= 50000 && $x < 100000) { $r = [25, 50, 'Великая Битва', 'Кровавая Битва']; } elseif ($x < 500000) { $r = [50, 75, 'Величайшая Битва', 'Кровавая Резня']; } elseif ($x < 1000000) { $r = [75, 100, 'Историческая Битва', 'Кровавая Сеча']; } elseif ($x < 2500000) { $r = [100, 125, 'Эпохальная Битва', 'Кровавое Побоище']; } elseif ($x >= 5000000) { $r = [150, 150, 'Судный День', 'Судный День']; } return $r; } $allprice = typeBattle($allprice); if ($btl['smert'] == 1) { $allprice = [150, 150, 'Жесточайшее Сражение', 'Жесточайшее Сражение']; } if ($btl['type'] == 99) { $allprice = '' . str_replace(' ', ' ', $allprice[3]) . ''; } else { $allprice = str_replace(' ', ' ', $allprice[2]); } } $fil = 'Поиск :
'; $r = ''; $p = ''; $b = '
'; //nowrap="" if ($btl['team_win'] != -1) { if (!isset($_GET['analiz'])) { $b .= ' '; $b .= $fil; } else { $b .= ' '; } } $b .= '
'; if (isset($btl['id']) && $btl['team_win'] != -1 && isset($_GET['analiz'])) { function rzv($v): string { $v = explode('.', $v); if (!isset($v[1])) { $v = $v[0] . '.0'; } else { $v = $v[0] . '.' . $v[1]; } return $v; } $tmStart = floor(($btl['time_over'] - $btl['time_start']) / 6) / 10; $tmStart = rzv($tmStart); $tbtl = ''; if ($btl['invis'] > 0) { $tbtl .= ''; } if ($btl['type'] == 1) { $tbtl = 'Тип боя: ' . $tbtl . ' (кулачный поединок)     '; } else { $tbtl = 'Тип боя: ' . $tbtl . ' (физический поединок)     '; } if ($btl['izlom'] > 0) { $tbtl .= 'Волна: ' . $btl['izlomRoundSee'] . '     '; } $tbtl .= 'Продолжительность боя: ' . $tmStart . ' мин.
'; $users = []; $uids = []; function con_login($us): string { $r = ''; if ($us['align'] > 0) { $r .= ''; } if ($us['clan'] > 0) { $r .= ''; } $r .= '' . $us['login'] . ' [' . $us['level'] . ']'; $r .= ''; return $r; } //Поулчаем инфо $tpas = [ 1 => 'X', 2 => '', 3 => '', 4 => '¤', 5 => 'X', 6 => '', 7 => '', 8 => '', ]; $tpbs = [ 0 => '', 1 => '', 2 => '', 3 => 'X', 4 => 'X', 5 => '', 6 => '', 7 => '', 8 => '', ]; $sp = mysql_query('SELECT * FROM `battle_users` WHERE `battle` = "' . $btl['id'] . '"'); while ($pl = mysql_fetch_array($sp)) { if (!isset($uids[$pl['id']])) { $i = count($users); $users[$i] = $pl; $uids[$pl['uid']] = $i; // $users[$i]['value'] = [ 'y' => 0, //уворотов+парирований+блоков щитом 'b' => 0, //успешных блоков 'p' => 0, //не успешных блоков, по персонажу попали 'zb' => [ //Список зон блока ], 'sa' => [ //Статистика ударов 0 => '', 1 => '', 2 => '', 3 => '', 4 => '', 5 => '', ], 'sb' => [ //Статистика блоков 0 => '', 1 => '', 2 => '', 3 => '', 4 => '', 5 => '', ], ]; $sp2 = mysql_query( 'SELECT * FROM `battle_stat` WHERE `battle` = "' . $btl['id'] . '" AND `uid1` = "' . $pl['uid'] . '" ORDER BY `id` ASC' ); while ($pl2 = mysql_fetch_array($sp2)) { //Обновляем данные $users[$i]['yrn'] += $pl2['yrn']; $users[$i]['yrn_krit'] += $pl2['yrn_krit']; //Статистика далее $users[$i]['gaa']++; if ($users[$i]['yrn'] > 0) { $users[$i]['ga']++; } if ($users[$i]['yrn_krit'] > 0) { $users[$i]['gak']++; } //Получаем куда бил игрок $j = 0; while ($j < $pl2['ma']) { $users[$i]['zona'][$pl2['a'][$j]]++; // $za = $pl2['a'][$j]; $k = 1; while ($k <= 5) { if ($za == $k) { $tpa = $pl2['type_a'][$j]; $zag[$k] = true; $users[$i]['value']['sa'][$k] .= $tpas[$tpa]; } else { $zag[$k] = false; } $k++; } // $j++; } $j = $pl2['b']; $k = 0; while ($k < $pl2['mb']) { if ($j > 5) { $j = 1; } $users[$i]['value']['zb'][] = [0 => $j, 1 => 0]; $users[$i]['zonb'][$j]++; $j++; $k++; } // $k = 1; while ($k <= 5) { if (!$zag[$k]) { $users[$i]['value']['sa'][$k] .= ' '; } $k++; } // } // $sp2 = mysql_query( 'SELECT * FROM `battle_stat` WHERE `battle` = "' . $btl['id'] . '" AND `uid2` = "' . $pl['uid'] . '" ORDER BY `id` ASC' ); $k = 0; while ($pl2 = mysql_fetch_array($sp2)) { //Обновляем данные $users[$i]['_yrn'] -= $pl2['yrn']; $users[$i]['_yrn_krit'] -= $pl2['yrn_krit']; //Получаем куда били игрока $j = 0; $zag = []; while ($j < $pl2['ma']) { $users[$i]['value']['zb'][$k][1] = $pl2['type_a'][$j]; if ($pl2['type_a'][$j] == 2 || $pl2['type_a'][$j] == 6 || $pl2['type_a'][$j] == 7 || $pl2['type_a'][$j] == 8) { $users[$i]['value']['y']++; } elseif ($pl2['type_a'][$j] == 3) { $users[$i]['value']['b']++; } else { $users[$i]['value']['p']++; } // $j++; } // $k++; // } //Статистика блоков $k = 0; $h = 0; $bjj = []; while ($k < count($users[$i]['value']['zb'])) { $zb = 0 + $users[$i]['value']['zb'][$k][0]; $zt = 0 + $users[$i]['value']['zb'][$k][1]; $bjj[$zb] = true; $users[$i]['value']['sb'][$zb] .= '' . $tpbs[$zt] . ''; if ($h < 1) { $h++; } else { $d = 1; while ($d <= 5) { if (!$bjj[$d]) { $users[$i]['value']['sb'][$d] .= ' '; } $d++; } $bjj = []; $h = 0; } $k++; } // } } $usr = ''; $tm = []; $tm_u = []; $tm_v = []; $i = 0; while ($i < count($users)) { if ($users[$i] > 0) { $us = $users[$i]; if (!isset($tm[$us['team']])) { $tm[$us['team']] = ''; $tm_v[] = $us['team']; } $tm_u[$us['team']][] = $i; $tm[$us['team']] .= con_login($us); $tm[$us['team']] .= ', '; unset($us); } $i++; } $i = 0; while ($i < count($tm_v)) { $usr .= rtrim($tm[$tm_v[$i]], ', '); if ($i < count($tm_v) - 1) { $usr .= '   против   '; } $i++; } // $usr = '

Участники поединка

' . $usr . '

'; // $r = ''; // $r .= '

Последовательность ударов

'; $r .= ''; $i = 0; while ($i <= count($tm_v)) { $j = 0; $team_data = ['g' => false]; while ($j < count($tm_u[$tm_v[$i]])) { $us = $users[$tm_u[$tm_v[$i]][$j]]; if ($us['id'] > 0) { $rh = ''; $rh .= '' . $us['value']['sa'][1] . ''; $rh .= '
' . $us['value']['sa'][2] . ''; $rh .= '
' . $us['value']['sa'][3] . ''; $rh .= '
' . $us['value']['sa'][4] . ''; $rh .= '
' . $us['value']['sa'][5] . ''; $r .= ''; } unset($us); $j++; } $i++; } $r .= '
ЛогинУдар вПоследовательность ударов
' . con_login( $us ) . '
голову
грудь
живот
пояс
ноги
' . $rh . '
'; $r .= '(X - удачный удар, ¤ - критический удар пробив блок , X - критический удар, Ξ - крит + инвалидность, X - доп. магический удар,
  - противник блокировал удар,  - увернулся,  - парировал,  - отбил удар щитом)'; // $r .= '

Последовательность блоков

'; $r .= ''; $i = 0; while ($i <= count($tm_v)) { $j = 0; $team_data = ['g' => false]; while ($j < count($tm_u[$tm_v[$i]])) { $us = $users[$tm_u[$tm_v[$i]][$j]]; if ($us['id'] > 0) { $rh = ''; $rh .= '' . $us['value']['sb'][1] . ''; $rh .= '
' . $us['value']['sb'][2] . ''; $rh .= '
' . $us['value']['sb'][3] . ''; $rh .= '
' . $us['value']['sb'][4] . ''; $rh .= '
' . $us['value']['sb'][5] . ''; $r .= ''; } unset($us); $j++; } $i++; } $r .= '
ЛогинБлокПоследовательность блоков
' . con_login( $us ) . '
голова
грудь
живот
пояс
ноги
' . $rh . '
'; $r .= '(X - удачный блок, X - пробили блок критом,  - пропустил удар,  - увернулся,  - парировал,  - отбил щитом)'; // $r .= '

Суммарно

'; $r .= ''; // $i = 0; while ($i <= count($tm_v)) { $j = 0; $team_data = ['g' => false]; while ($j < count($tm_u[$tm_v[$i]])) { $us = $users[$tm_u[$tm_v[$i]][$j]]; if ($us['id'] > 0) { $team_data['g'] = true; $us['heal'] = ($us['hp'] - $us['hpAll']) - $us['_yrn']; if ($us['heal'] < 0) { $us['heal'] = 0; } if ($us['hp'] < 0) { $us['hp'] = 0; } if ($us['yrn'] < 0) { $us['yrn'] = 0; } if ($us['yrn_krit'] < 0) { $us['yrn_krit'] = 0; } if ($us['_yrn'] > 0) { $us['_yrn'] = 0; } if ($us['_yrn_krit'] > 0) { $us['_yrn_krit'] = 0; } $team_data['ga'] += $us['ga']; $team_data['gaa'] += $us['gaa']; $team_data['gak'] += $us['gak']; $team_data['hp'] += $us['hp']; $team_data['hpAll'] += $us['hpAll']; $team_data['yrn'] += $us['yrn']; $team_data['yrn_krit'] += $us['yrn_krit']; $team_data['_yrn'] += $us['_yrn']; $team_data['_yrn_krit'] += $us['_yrn_krit']; $team_data['val_b'] += $us['value']['b']; $team_data['val_y'] += $us['value']['y']; $team_data['val_p'] += $us['value']['p']; $team_data['heal'] += $us['heal']; $winw = ''; if ($us['hp'] < 1) { $us['hp'] = '0'; $winw = ''; } else { $winw = ''; } $r .= ''; } unset($us); $j++; } if ($team_data['g'] == true) { $winw = '--'; if ($team_data['hp'] < 1) { $team_data['hp'] = '0'; } else { $winw = ''; } $r .= ''; } $i++; } $r .= '
 ЛогинУдарыБлокиПопаданияЗащитаУронПотериВылечено
        
' . $winw . '' . con_login( $us ) . ' [' . $us['hp'] . '/' . $us['hpAll'] . ']' . (0 + $us['zona'][1]) . '/' . (0 + $us['zona'][2]) . '/' . (0 + $us['zona'][3]) . '/' . (0 + $us['zona'][4]) . '/' . (0 + $us['zona'][5]) . '' . (0 + $us['zonb'][1]) . '/' . (0 + $us['zonb'][2]) . '/' . (0 + $us['zonb'][3]) . '/' . (0 + $us['zonb'][4]) . '/' . (0 + $us['zonb'][5]) . '' . (0 + $us['ga']) . '(' . (0 + $us['gak']) . ')/' . ($us['gaa']) . '' . $us['value']['b'] . '/' . $us['value']['y'] . '/' . $us['value']['p'] . '' . $us['yrn'] . '/' . $us['yrn_krit'] . '' . (-$us['_yrn']) . '' . $us['heal'] . '
' . $winw . 'Всего [' . $team_data['hp'] . '/' . $team_data['hpAll'] . ']  ' . (0 + $team_data['ga']) . '(' . (0 + $team_data['gak']) . ')/' . ($team_data['gaa']) . '' . $team_data['val_b'] . '/' . $team_data['val_y'] . '/' . $team_data['val_p'] . '' . $team_data['yrn'] . '/' . $team_data['yrn_krit'] . '' . (-$team_data['_yrn']) . '' . $team_data['heal'] . '
'; // $r .= ' Логин - имя персонажа и уровень жизни: [сейчас/всего]
Удары - статистика ударов по областям: голова/грудь/живот/пояс/ноги
Блоки - статистика блоков по областям: голова/грудь/живот/пояс/ноги
Попадания - удачных попаданий (из них критов) / всего ударов
Защита - ударов заблокировано / уворотов / пропущено ударов
Урон - выбито HP из противников / из них критами
Потери - получено повреждений
Вылечено - восстановлено HP
'; $r = '
' . $b . '
' . $tbtl . $p . 'Статус битвы: ' . $allprice . '


' . $usr . $r . '
' . $p . '
'; //header('location: main.php'); } elseif (!isset($btl['id'])) { $r = '

Скорее всего Архивариус снова потерял пергамент с хрониками боев ...
'; } else { include('jx/battle/log_text.php'); function testlog($pl) { global $log_text; if ($pl['type'] == 1 || $pl['type'] == 6) { $dt = explode('||', $pl['vars']); $i = 0; $d = []; while ($i < count($dt)) { $r = explode('=', $dt[$i]); if ($r[0] != '') { $d[$r[0]] = $r[1]; } $i++; } //обычный удар $rt = $pl['text']; //заменяем данные $rt = str_replace( '{u1}', '' . $d['login1'] . '', $rt ); $rt = str_replace( '{u2}', '' . $d['login2'] . '', $rt ); $d['time1'] = intval($d['time1']); $d['time2'] = intval($d['time2']); $rt = str_replace('{pr}', '' . $d['prm'] . '', $rt); $rt = str_replace('^^^^', '=', $rt); $rt = str_replace('{tm1}', '' . date('H:i', $d['time1']) . '', $rt); $rt = str_replace('{tm2}', '' . date('H:i', $d['time2']) . '', $rt); $rt = str_replace('{tm3}', '' . date('d.m.y H:i', $d['time1']) . '', $rt); $rt = str_replace('{tm4}', '' . date('d.m.y H:i', $d['time2']) . '', $rt); $k01 = 1; $zb1 = [1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0]; $zb2 = [1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0]; if ($d['bl2'] > 0) { $b11 = 1; $b12 = $d['bl1']; while ($b11 <= $d['zb1']) { $zb1[$b12] = 1; if ($b12 >= 5 || $b12 < 0) { $b12 = 0; } $b12++; $b11++; } } if ($d['bl2'] > 0) { $b11 = 1; $b12 = $d['bl2']; while ($b11 <= $d['zb2']) { $zb2[$b12] = 1; if ($b12 >= 5 || $b12 < 0) { $b12 = 0; } $b12++; $b11++; } } while ($k01 <= 5) { $zns01 = ''; $zns02 = ''; $j01 = 1; while ($j01 <= 5) { $zab1 = '0'; $zab2 = '0'; if ($j01 == $k01) { $zab1 = '1'; $zab2 = '1'; } $zab1 .= $zb1[$j01]; $zab2 .= $zb2[$j01]; $zns01 .= ''; $zns02 .= ''; $j01++; } $rt = str_replace('{zn1_' . $k01 . '}', $zns01, $rt); $rt = str_replace('{zn2_' . $k01 . '}', $zns02, $rt); $k01++; } $j = 1; while ($j <= 21) { //замена R - игрок 1 $r = $log_text[$d['s1']][$j]; $k = 0; if (is_array($r)) { while ($k <= count($r)) { if (isset($log_text[$d['s1']][$j][$k])) { $rt = str_replace('{1x' . $j . 'x' . $k . '}', $log_text[$d['s1']][$j][$k], $rt); } $k++; } } //замена R - игрок 2 $r = $log_text[$d['s2']][$j]; $k = 0; if (is_array($r)) { while ($k <= count($r)) { if (isset($log_text[$d['s2']][$j][$k])) { $rt = str_replace('{2x' . $j . 'x' . $k . '}', $log_text[$d['s2']][$j][$k], $rt); } $k++; } } $j++; } //заменяем данные повторно $rt = str_replace( '{u1}', '' . $d['login1'] . '', $rt ); $rt = str_replace( '{u2}', '' . $d['login2'] . '', $rt ); $rt = str_replace('{pr}', '' . $d['prm'] . '', $rt); $rt = str_replace('^^^^', '=', $rt); $rt = str_replace('{tm1}', '' . date('H:i', $d['time1']) . '', $rt); $rt = str_replace('{tm2}', '' . date('H:i', $d['time2']) . '', $rt); $rt = str_replace('{tm3}', '' . date('d.m.y H:i', $d['time1']) . '', $rt); $rt = str_replace('{tm4}', '' . date('d.m.y H:i', $d['time2']) . '', $rt); //закончили заменять $pl['text'] = $rt; } return $pl['text']; } //Получаем логи $min = round(12 * ((int)$_GET['p'] - 1)); if ($min < 1) { $min = 0; } $max = $min + 11; $based = 'battle_logs_save'; $sp_cnt = mysql_fetch_array( mysql_query( 'SELECT COUNT(*) FROM `battle_logs_save` WHERE `battle` = "' . $btl['id'] . '" AND `id_hod` > ' . $min . ' AND `id_hod` <= ' . $max . ' ORDER BY `id_hod`, `time` ASC LIMIT 1' ) ); if ($sp_cnt[0] < 1) { $based = 'battle_logs'; } //генерируем страницы $pmax = mysql_fetch_array( mysql_query( 'SELECT `id_hod`,`id` FROM `' . $based . '` WHERE `battle` = "' . $btl['id'] . '" ORDER BY `id_hod` DESC LIMIT 1' ) ); $pmax = $pmax['id_hod']; $pmax = ceil($pmax / 12); if ($min > round(12 * ($pmax - 1))) { $min = round(12 * ($pmax - 1)); $max = $min + 11; } $i = 1; while ($i <= $pmax) { if ((int)$_GET['p'] == $i || ((int)$_GET['p'] > $pmax && $i == $pmax) || ((int)$_GET['p'] < 1 && $i == 1)) { $p .= ' ' . $i . ' '; } else { $p .= ' ' . $i . ' '; } $i++; } $h = 0; $clr = 'f2e5e0'; $cclr = ''; $sp = mysql_query( 'SELECT * FROM `' . $based . '` WHERE `battle` = "' . $btl['id'] . '" AND `id_hod` > ' . $min . ' AND `id_hod` <= ' . ($max + 1) . ' ORDER BY `id_hod`, `id` ASC LIMIT 200' ); while ($pl = mysql_fetch_array($sp)) { $pl['text'] = testlog($pl); $pl['text'] = str_replace('\"', '"', $pl['text']); if ($h != $pl['id_hod']) { if ($h > 0) { if ($clr == 'f2e5e0') { $clr = 'f2e5E5'; } else { $clr = 'f2e5e0'; } $cclr = 'border-top:1px solid #b1b1b1;'; } $h = $pl['id_hod']; } $r .= '
' . $pl['text'] . '
'; $cclr = ''; } //собираем страницу $p = 'Страницы: ' . $p; $usr = ''; if ($btl['team_win'] == -1) { $sp = mysql_query( 'SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`sex`,`u`.`align`,`u`.`online`,`u`.`battle`,`u`.`clan`, `s`.`hpNow`,`s`.`bot`,`s`.`team`,`u`.`city` FROM `users` AS `u` LEFT JOIN `stats` AS `s` ON `s`.`id` = `u`.`id` WHERE `u`.`battle` = "' . $btl['id'] . '" AND `s`.`hpNow` >= 1' ); $usrs = [-1 => []]; while ($pl = mysql_fetch_array($sp)) { if (!isset($usrs[$pl['team']])) { $usrs[$pl['team']] = ''; $usrs[-1][count($usrs[-1])] = $pl['team']; } if ($pl['align'] > 0) { $usrs[$pl['team']] .= ''; } if ($pl['clan'] > 0) { $usrs[$pl['team']] .= ''; } $pl['stats_r'] = $u->getStats($pl['id']); $usrs[$pl['team']] .= '' . $pl['login'] . ' [' . ceil( $pl['stats_r']['hpNow'] ) . '/' . $pl['stats_r']['hpAll'] . '],'; } if (count($usrs[-1]) > 0) { $i = 0; while ($i < count($usrs[-1])) { $usr .= rtrim($usrs[$usrs[-1][$i]], ','); if (count($usrs[-1]) > $i + 1) { $usr .= '   против   '; } $i++; } } if ($usr != '') { $usr = '
' . $usr . '

'; } } $tbtl = ''; if ($btl['invis'] > 0) { $tbtl .= ''; } if ($btl['type'] == 0) { $tbtl = 'Тип боя: ' . $tbtl . ' (физический поединок)     '; } elseif ($btl['type'] == 1) { $tbtl = 'Тип боя: ' . $tbtl . ' (кулачный поединок)     '; } elseif ($btl['type'] == 250) { $tbtl = ''; $tbtl = 'Тип боя: ' . $tbtl . ' (Война Кланов)     '; } elseif ($btl['smert'] == 1) { $tbtl = ''; $tbtl = 'Тип боя: ' . $tbtl . ' (Жесточайшее Сражение)     '; } else { $tbtl = 'Тип боя: ' . $tbtl . ' (физический поединок)     '; } if ($btl['izlom'] > 0) { $tbtl .= 'Волна: ' . $btl['izlomRoundSee'] . '     '; } $r = '
' . $b . '
' . $tbtl . $p . 'Статус битвы: ' . $allprice . '


' . $r . '
' . $usr . '
' . $p . '
'; } ?> Архив: Поединки


Бойцовский Клуб