battles/zayavka.php

1218 lines
58 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
session_start();
if(!isset($_SESSION['uid'])) { header("Location: index.php"); }
include("config.php");
include("functions.php");
if($user['battle'] != 0) { header('Location: fbattle.php'); die(); }
mysql_query("LOCK TABLES `bots` WRITE, `battle` WRITE, `logs` WRITE, `users` WRITE, `inventory` WRITE, `zayavka` WRITE, `effects` WRITE, `online` WRITE, 'versus' WRITE");
if (($_GET['do'] == "clear") && (($user['align'] > 1.4 && $user['align'] < 2) || $user['admin'] == 1)) {
mysql_query("UPDATE `zayavka` SET `coment` = '<em>Вырезано цензурой!</em>' WHERE `id` = '" . mysql_real_escape_string($_GET['zid']) . "' LIMIT 1");
}
if ($_GET['del'] && $user['admin'] == 1) { //удаление заявки на бой.
$zay = mysql_fetch_array(mysql_query('SELECT `id` FROM `zayavka` WHERE `id` = "' . mysql_real_escape_string((int)$_GET['zid']) . '" LIMIT 1'));
if (isset($zay['id'])) {
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `zayavka` = {$zay['id']}");
mysql_query("DELETE FROM `zayavka` WHERE `id` = {$zay['id']} LIMIT 1");
} else {
echo 'Заявка не найдена ...';
}
}
if(isset($_REQUEST['view'])) {
$_SESSION['view'] = $_REQUEST['view'];
}
class zayavka {
var $mysql;
function zayavka() {
global $mysql;
$this->mysql = $mysql;
}
function fteam($team) {
$team = explode(";", $team);
unset($team[count($team)-1]);
return $team;
}
function getlist($razdel = 1, $level = null, $id = null ) {
$fict = mysql_query("SELECT * FROM `zayavka` WHERE ".(($level != null)? " ((`t1min` <= '{$level}' OR `t1min` = '99') AND (`t1max` >= '{$level}' OR `t1max` = '99') ".(($razdel == 4)?"AND (`t2min` <= '{$level}' OR `t2min` = '99') AND (`t2max` >= '{$level}' OR `t2max` = '99')":"").") AND " : "")." `level` = {$razdel} ".(($id != null)? " AND `id` = {$id} " : "")." ORDER BY `podan` DESC");
while($row = mysql_fetch_array($fict)) {
if(($row['start']+300) < time()) {
if(mysql_query("DELETE FROM `zayavka` WHERE `id` = '{$row['id']}' LIMIT 1")) {
$team1 = $this->fteam($row['team1']);
foreach($team1 as $k => $v) {
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `id` = {$v}");
}
$team2 = $this->fteam($row['team2']);
foreach($z[$zay]['team2'] as $k => $v) {
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `id` = {$v}");
}
}
}
$zay[$row['id']] = array("team1" => $this->fteam($row['team1']), "team2" => $this->fteam($row['team2']), "coment" => $row['coment'], "type" => $row['type'], "timeout" => $row['timeout'], "start" => $row['start'], "t1min" => $row['t1min'], "t1max" => $row['t1max'], "t2min" => $row['t2min'], "t2max" => $row['t2max'], "t1c" => $row['t1c'], "t2c" => $row['t2c'], "podan" => $row['podan'], "id" => $row['id'], "level" => $row['level'], "blood" => $row['blood'], "bots" => $row['bots']);
}
return $zay;
}
function addteam($team = 1, $id, $zay , $r) {
global $user;
$owntravma = mysql_fetch_array(mysql_query("SELECT `id`, `type` FROM `effects` WHERE `owner` = ".$id." AND (`type` = 12 OR `type` = 13)"));
$z = $this->getlist($r, null, $zay);
if($owntravma) {
switch($owntravma['type']) {
case ($owntravma['type'] == 12 && ($z[$zay]['type'] != 4 && $z[$zay]['type'] != 5)): return "У Вас средняя травма, поединки с оружием слишком тяжелы для Вас..."; break;
case 13: return "У Вас тяжелая травма, Вы не сможете драться..."; break;
}
}
if($user['zayavka'] != 0) { return "Вы находитесь в заявке"; }
if($user['hp'] < $user['maxhp']*0.33) {
return "Вы слишком ослаблены для боя, восстановитесь.";
}
if(!$z) {
return "Эта заявка не может быть принята Вами.";
}
if($this->ustatus($id) != 0) {
return "Эта заявка не может быть принята Вами.";
}
if($z[$zay]['type'] == 3 || $z[$zay]['type'] == 5) {
} else {
if($team == 1) { $teamz = 2; } else { $teamz = 1; }
foreach($z[$zay]['team'.$teamz] as $v) {
$toper = mysql_fetch_array(mysql_query("SELECT `klan`, `align` FROM `users` WHERE `id` = '{$v}' LIMIT 1"));
if($toper['klan'] > 0) {
if((int)$user['klan'] == (int)$toper['klan']) {
return "Чтите честь Ваших сокланов.";
}
}
if((int)$user['align'] == 1) {
if((int)$toper['align'] == 1) {
return "Чтите честь Паладинов.";
}
}
if($user['align'] == 6) {
if($toper['align'] == 6) {
return "Не предавайте свет.";
}
}
if($user['align'] == 3) {
if($toper['align'] == 3) {
return "Не предавайте тьму.";
}
}
}
}
if($z[$zay]['t'.$team.'min'] == 99) {
$toper = $z[$zay]['team'.$team][0];
$toper = mysql_fetch_array(mysql_query("SELECT `id`, `login`, `align`, `klan`, `level` FROM `users` WHERE `id` = '{$toper}' LIMIT 1"));
if($toper['klan'] != '') {
if($user['klan'] != $toper['klan']) {
return "Эта заявка не может быть принята Вами.";
}
}
} else {
if($user['level'] > 0 &&!($z[$zay]['t'.$team.'min'] <= $user['level'] && $z[$zay]['t'.$team.'max'] >= $user['level'])) {
return "Эта заявка не может быть принята Вами. - ".$z[$zay]['t'.$team.'min'];
}
}
if(count($z[$zay]['team'.$team]) >= $z[$zay]['t'.$team.'c'] ) { return "Группа уже набрана."; }
$z[$zay]['team'.$team][] = '';
if(mysql_query("UPDATE `users`, `zayavka` SET `users`.`zayavka` = {$zay}, `zayavka`.`team{$team}` = '".implode(";", $z[$zay]['team'.$team])."".$id.";' WHERE `users`.`id` = {$id} AND `users`.`zayavka` = 0 AND `zayavka`.`id` = {$zay}")) {
return "Вы приняли заявку на бой.";
}
}
function delteam($team = 2, $id, $zay, $r) {
$z = $this->getlist($r, null, $zay);
if($z[$zay]['level'] > 3 || $z[$zay]['level'] == null) {
return "Ай-ай-ай!";
}
foreach($z[$zay]['team'.$team] as $v) {
if($v != $id) {
$teams[] = $v;
}
}
if(mysql_query("UPDATE `users`, `zayavka` SET `users`.`zayavka` = '0', `zayavka`.`team{$team}` = '{$teams}' WHERE `users`.`id` = {$id} AND `zayavka`.`id` = {$zay};")) {
return "Вы отозвали запрос";
}
}
function addzayavka($start, $timeout = 3, $t1c, $t2c, $type, $t1min, $t2min, $t1max, $t2max, $coment, $creator, $level = 1, $stavka, $blood = 0) {
global $user;
if((int)$level < 1 || (int)$level > 5) return "Ошибка...";
if($level == 1 && ($type != 1 && $type != 4)) { $type = 1; }
if($level == 2 && ($type != 1 && $type != 4 && $type != 6)) { $type = 1; }
if($level == 4 && ($type != 2 && $type != 4)) { $type = 2; }
if($level == 5 && ($type != 3 && $type != 5)) { $type = 3; }
if(!in_array($start, [3,5,10,15,30,45,60])) {$start = 10;}
if(!in_array($timeout, [3,4,5,7,10])) {$timeout = 3;}
if($this->ustatus($creator) != 0) { exit(); }
$owntravma = mysql_fetch_array(mysql_query("SELECT `type`, `id`, `sila`, `lovk`, `inta` FROM `effects` WHERE `owner` = ".$creator." AND (`type` = 12 OR `type` = 13)"));
if($owntravma) {
switch($owntravma['type']) {
case ($owntravma['type'] == 12 && ($type != 4 && $type != 5)): return "У Вас средняя травма, поединки с оружием слишком тяжелы для Вас..."; break;
case 13: return "У Вас тяжелая травма, Вы не сможети драться..."; break;
}
}
if(!$user['klan'] && $t1min == 99) {return "Вы не состоите в клане.";}
if($user['hp'] < $user['maxhp']*0.33) {return "Вы слишком ослаблены для боя, восстановитесь.";}
if ($type == 3){
$fp = fopen ("tmp/chat.txt","a"); //открытие
flock ($fp,LOCK_EX); //БЛОКИРОВКА ФАЙЛА
fputs($fp ,"\r\n:[".time ()."]:[!sys2all!!]:[<font color=red> Внимание! Подана заявка на хаотический поединок (".$t1min."-".$t1max.") начнется через ".$start." минут.</font>]:[1]\r\n"); //работа с файлом
fflush ($fp); //ОЧИЩЕНИЕ ФАЙЛОВОГО БУФЕРА И ЗАПИСЬ В ФАЙЛ
flock ($fp,LOCK_UN); //СНЯТИЕ БЛОКИРОВКИ
fclose ($fp); //закрытие
}
$start = time()+$start*60;
$stavka = round($stavka, 2);
mysql_query("INSERT INTO `zayavka`
(`start`, `timeout`, `t1c`, `t2c`, `type`, `level`, `coment`, `team1`, `stavka`, `t1min`, `t2min`, `t1max`, `t2max`,`podan`,`blood`) values
({$start},{$timeout},{$t1c},{$t2c},{$type},{$level},'{$coment}','{$creator};','{$stavka}',{$t1min}, {$t2min}, {$t1max}, {$t2max}, '".date("H:i")."', '{$blood}');");
mysql_query("UPDATE `users` SET `zayavka` = ".mysql_insert_id()." WHERE `id` = {$creator} LIMIT 1");
}
function delzayavka($id, $zay, $r, $f = 1) {
$z = $this->getlist($r, null, $zay);
if($f != 1) {
if($z[$zay]['level'] > 3) {return 'Ай-ай-ай!';}
}
if(mysql_query("DELETE FROM `zayavka` WHERE `id` = {$zay} AND (`team1` LIKE '{$id};%' OR `team2` LIKE '{$id};%') LIMIT 1")) {
if(count($z[$zay]['team1']) > 0) {
foreach($z[$zay]['team1'] as $k => $v) {
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `id` = {$v}");
}
}
if(count($z[$zay]['team2']) > 0) {
foreach($z[$zay]['team2'] as $k => $v) {
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `id` = {$v}");
}
}
return 'Вы отозвали заявку.';
}
}
function showfiz($row) {
global $user;
$rr = "<input type=\"radio\" ".((in_array($user['id'], $row['team1']) || in_array($user['id'], $row['team2']) || $row['team2'])?"disabled ":"")." name=\"gocombat\" value=\"{$row['id']}\" /><font class=date>{$row['podan']}</font> ";
foreach($row['team1'] as $k => $v) {
$rr .= nick::id($v)->full(1);
}
if($row['team2']) {
$rr .= " <i>против</i> ";
foreach($row['team2'] as $k => $v) {
$rr .= nick::id($v)->full(1);
}
}
$rr .= "&nbsp; тип боя: ";
if($row['type'] == 4) {
$rr .= "<img src=\"i/fighttype4.gif\" width=\"20\" height=\"20\" title=\"Кулачный бой\" /> ";
} elseif($row['type'] == 6) {
$rr .= "<img src=\"i/fighttype6.gif\" width=\"20\" height=\"20\" title=\"Кровавый бой\" /> ";
} elseif($row['type'] == 1) {
$rr .= "<img src=\"i/fighttype1.gif\" width=\"20\" height=\"20\" title=\"Физический бой\" /> ";
}
$rr .= " (таймаут {$row['timeout']} мин.) <br />";
return $rr;
}
function showgroup($row) {
if($row['t1min'] == 99) {
$range1 = "<i>клан</i>";
} else {
$range1 = "{$row['t1min']}-{$row['t1max']}";
}
if($row['t2min'] == 99) {
$range2 = "<i>клан</i>";
} else {
$range2 = "{$row['t2min']}-{$row['t2max']}";
}
$rr = "<input type=\"radio\" ".((in_array($user['id'], $row['team1']) || in_array($user['id'], $row['team2']))?"disabled ":"")." name=\"gocombat\" value=\"{$row['id']}\"><font class=date>{$row['podan']}</font> <b>{$row['t1c']}</b>({$range1}) (";
foreach($row['team1'] as $k => $v) {
if($k != 0) { $rr .= ", "; }
$rr .= nick::id($v)->full(1);
}
$rr .= ") <i>против</i> <b>{$row['t2c']}</b>({$range2})(";
foreach($row['team2'] as $k => $v) {
if($k != 0) { $rr .= ", "; }
$rr .= nick::id($v)->full(1);
}
if(count($row['team2']) ==0) { $rr .= "<i>группа не набрана</i>"; }
if($row['blood'] && $row['type'] == 5) {
$rr .= "<img src=\"i/fighttype6.gif\" width=\"20\" height=\"20\" />";
}
$ali = mysql_fetch_array(mysql_query("SELECT `align` FROM `users` WHERE `id` = '{$user['id']}' LIMIT 1"));
$rr .= ")&nbsp; тип боя: ";
if($row['blood'] && $row['type'] == 4) {
$rr .= "<img src=\"i/fighttype4.gif\" width=\"20\" height=\"20\" title=\"кулачный бой\" /><img src=\"i/fighttype6.gif\" width=\"20\" height=\"20\" title=\"Кровавый поединок\" />";
} elseif($row['blood'] && $row['type'] == 2) {
$rr .= "<img src=\"i/fighttype6.gif\" width=\"20\" height=\"20\" title=\"Кровавый поединок\" />";
} elseif($row['type'] == 2) {
$rr .= "<img src=\"i/fighttype2.gif\" width=\"20\" height=\"20\" title=\"групповой бой\" />";
} elseif($row['type'] == 4) {
$rr .= "<img src=\"i/fighttype4.gif\" width=\"20\" height=\"20\" title=\"кулачный групповой бой\" />";
}
$rr .= "(таймаут {$row['timeout']} мин.) <span style='color: gray;'><i>бой начнется через ".round(($row['start']-time())/60, 1)." мин. ".(($row['coment'])?"(".$row['coment'].")":"")."</i></span>";
if(($ali['align'] > 1.4 && $ali['align'] < 2) || ($ali['align'] > 2 && $ali['align'] < 3)) {
$rr .= "<a href='?zid={$row['id']}&do=clear'><img src='i/clear.gif'></a><br />";
} else {
$rr .= "<br />";
}
return $rr;
}
function showhaos($row) {
global $user;
$rs = '';
$rr = "<input type=\"radio\" ".((in_array($user['id'], $row['team1']) || in_array($user['id'], $row['team2']))?"disabled ":"")." name=\"gocombat\" value=\"{$row['id']}\" /><font class=\"date\">{$row['podan']}</font> (";
if($row['bots'] == '7') {
$rr .= nick::id(10962)->full(1); $rr .= ", ";
$rr .= nick::id(10964)->full(1); $rr .= ", ";
$rr .= nick::id(10965)->full(1); $rr .= ", ";
} elseif($row['bots'] == '8' || $row['bots'] == '13') {
$rr .= nick::id(10124)->full(1); $rr .= ", ";
$rr .= nick::id(10125)->full(1); $rr .= ", ";
$rr .= nick::id(10126)->full(1); $rr .= ", ";
}
foreach($row['team1'] as $k => $v) {
if($k != 0) {
$rr .= ", ";
}
$rr .= nick::id($v)->full(1);
}
if(count($row['team1']) == 0 && $row['bots'] == 0) { $rr.= "<i>группа не набрана</i>"; }
$rr .= ") ({$row['t1min']}-{$row['t1max']}) &nbsp; тип боя: ";
if ($row['blood'] && $row['type'] == 5) {
$rr .= "<img src=\"i/fighttype5.gif\" style=\"width: 20px; height: 20px;\" title=\"Кулачный бой\" /><img src=\"i/fighttype6.gif\" style=\"width: 20px; height: 20px;\" title=\"Кровавый поединок\" />";
} elseif($row['blood'] && $row['type'] == 3) {
$rr .= "<img src=\"i/fighttype6.gif\" style=\"width: 20px; height: 20px;\" title=\"Кровавый поединок\" />";
} elseif($row['type'] == 3) {
$rr .= "<img src=\"i/fighttype3.gif\" style=\"width: 20px; height: 20px;\" title=\"Групповой бой\" />";
} elseif($row['type'] == 5) {
$rr .= "<img src=\"i/fighttype5.gif\" style=\"width: 20px; height: 20px;\" title=\"Кулачный групповой бой\" />";
}
$rr .= "(таймаут {$row['timeout']} мин.) <span style='color: gray;'><i >бой начнется через ".round(($row['start']-time())/60,1)." мин. ".(($row['coment'])?"(".$row['coment'].")":"")."</i></span>";
if($user['align'] == '2.99') {
$rsr = ' <a href=\'?level=haos&zid='.$row['id'].'&del=true\'>Удалить заявку</a>';
} else {
$rsr = '';
}
if(($user['align'] > 1.4 && $user['align'] < 2) || ($user['align'] > 2 && $user['align'] < 3)) {
$rr .= "<a href='?zid={$row['id']}&do=clear'><img src='i/clear.gif'></a>$rsr<br />";
} else {
$rr .= "<br />";
}
return $rr;
}
function ustatus($id) {
$fict = mysql_fetch_array(mysql_query("SELECT * FROM `zayavka`, `users` WHERE `users`.`id` = '".$id."' AND `zayavka`.`id` = `users`.`zayavka` LIMIT 1"));
$t1 = $this->fteam($fict['team1']);
$t2 = $this->fteam($fict['team2']);
if(in_array($id, $t1)) {
return 1;
} elseif(in_array($id, $t2)) {
return 2;
} else {
return 0;
}
}
function battlestart($id, $zay, $r) {
global $user;
$z = $this->getlist($r, null, $zay);
if($id == 'CHAOS') { $id = $z[$zay]['team1'][0]; }
$this->delzayavka($id, $zay, $r);
$z = $z[$zay];
$count_users = count($z['team1']);
$bot = 0;
if($z['bots'] > 0 && $count_users > 0) {
$bots_raw = array(7 => array(10962, 10964, 10965), 8 => array(10124, 10125, 10126), 13 => array(10124, 10125, 10126));
$i = 0;
while($i <= count($bots_raw[$z['bots']])) {
$bot_id = $bots_raw[$z['bots']][$i];
$bot = createbot($bot_id, '');
$z['team1'][] = $bot['id'];
$i++;
$count_users++;
}
}
if($z['type'] == 4 || $z['type'] == 5) {
foreach($z['team1'] as $k => $v) {
undressall($v);
}
foreach($z['team2'] as $k => $v) {
undressall($v);
}
}
if($z['level'] == 2) {
$btfl = fopen(''.$z['team1'][0].'.btl', 'a');
fwrite($btfl, '{[='.$z['team2'][0].'=]}');
fclose($btfl);
$btfl = fopen(''.$z['team2'][0].'.btl', 'a');
fwrite($btfl, '{[='.$z['team1'][0].'=]}');
fclose($btfl);
}
if($z['type'] == 3 || $z['type'] == 5) {
if($count_users < 4) {
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `zayavka` = '".$zay."'");
foreach($z['team1'] as $k => $v) {
if($v < _BOTSEPARATOR_) {
addchp('<font color=red>Внимание!</font> Ваш бой не может начаться по причине <b>Группа не набрана</b>.', '{[]}'.nick::id($v)->short().'{[]}');
die('Bitch');
}
}
mysql_query("UPDATE `variables` SET `value` = '{$count_users}}' WHERE `var` = 'haos_match' LIMIT 1");
mysql_query("DELETE FROM `zayavka` WHERE `id` = '".$zay."' LIMIT 1");
header("Location: zayavka.php");
}
$all = count($z['team1'])-1;
$power1 = 0; $power2 = 0;
for($i = 0; $i <= $all; $i++) {
if($z['team1'][$i] < _BOTSEPARATOR_) {
$gamer = mysql_fetch_array(mysql_query("SELECT (`level`*50)+`sila`+`lovk`+`inta`+`vinos`+`intel`+`stats`+IFNULL((SELECT SUM(`cost`) FROM `inventory` WHERE `owner` = `users`.`id` AND `dressed` = 1), 0) FROM `users` WHERE `id` = '".$z['team1'][$i]."' LIMIT 1"));
} else {
$bt = mysql_fetch_array(mysql_query('SELECT `id`, `prototype` FROM `bots` WHERE `id` = "'.$z['team1'][$i].'"'));
$gamer = mysql_fetch_array(mysql_query("SELECT (`level`*50)+`sila`+`lovk`+`inta`+`vinos`+`intel`+`stats`+IFNULL((SELECT SUM(`cost`) FROM `inventory` WHERE `owner` = `users`.`id` AND `dressed` = 1), 0) FROM `users` WHERE `id` = '".$bt['prototype']."' LIMIT 1"));
}
$cost[] = array($z['team1'][$i], $gamer[0]);
}
$z['team1'] = null;
$z['team2'] = null;
$flag = true;
while($flag) {
$flag = false;
for($ii = 0; $ii <= $all-1; $ii++) {
if($cost[$ii][1] < $cost[$ii+1][1]) {
$ctr = $cost[$ii+1];
$cost[$ii+1] = $cost[$ii];
$cost[$ii] = $ctr;
$flag = true;
}
}
}
while(count($cost) > 0) {
if($power1 <= $power2) {
$tmp = array_shift($cost);
$power1 += $tmp[1];
$z['team1'][] = $tmp[0];
} else {
$tmp = array_shift($cost);
$power2 += $tmp[1];
$z['team2'][] = $tmp[0];
}
}
}
$teams = array();
foreach($z['team1'] as $k => $v) {
foreach($z['team2'] as $kk => $vv) {
$teams[$v][$vv] = array(0, 0, time());
}
}
foreach($z['team2'] as $k => $v) {
foreach($z['team1'] as $kk => $vv) {
$teams[$v][$vv] = array(0, 0, time());
}
}
if(count($z['team2']) == 0) {
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `zayavka` = '".$zay."'");
foreach($z['team1'] as $k => $v) {
addchp('<font color=red>Внимание!</font> Ваш бой не может начаться по причине "Группа не набрана".', '{[]}'.nick::id($v)->short().'{[]}');
}
mysql_query("DELETE FROM `zayavka` WHERE `id` = '".$zay."' LIMIT 1");
header("Location: zayavka.php");
die();
}
if($z['timeout'] == 3 || $z['timeout'] == 4 || $z['timeout'] == 5 || $z['timeout'] == 7 || $z['timeout'] == 10) {
} else {
$z['timeout'] = 3;
}
if(count($teams) > 1) {
if($z['type'] == 1 || $z['type'] == 4) {
$rs = ', `fiz`'; $rss = ', 1';
} else {
$rs = ''; $rss = '';
}
mysql_query("INSERT INTO `battle` (`coment`, `teams`, `timeout`, `type`, `status`, `t1`, `t2`, `to1`, `to2`, `blood`$rs, `bots`) VALUES ('{$z['coment']}', '".serialize($teams)."', '{$z['timeout']}', '{$z['type']}', '0', '".implode(";", $z['team1'])."', '".implode(";", $z['team2'])."', '".time()."', '".time()."', '".$z['blood']."'$rss, '".$z['bots']."')");
$id = mysql_insert_id();
$rr = "<b>";
foreach($z['team1'] as $k => $v) {
if($k != 0) { $rr .= ", "; }
$rr .= nick::id($v)->full(1);
addchp('<font color=red>Внимание!</font> Ваш бой начался!<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}'.nick::id($v)->short().'{[]}');
}
$rr .= "</b> и <b>";
foreach($z['team2'] as $k => $v) {
if($k != 0) { $rr .= ", "; }
$rr .= nick::id($v)->full(1);
addchp('<font color=red>Внимание!</font> Ваш бой начался!<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}'.nick::id($v)->short().'{[]}');
}
$rr .= "</b>";
addlog($id, "Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу.<BR>");
foreach($z['team1'] as $k => $v) {
if($v < _BOTSEPARATOR_) {
mysql_query("UPDATE `users` SET `battle` = {$id}, `zayavka` = 0 WHERE `id` = {$v}");
} else {
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$v}");
}
}
foreach($z['team2'] as $k => $v) {
if($v < _BOTSEPARATOR_) {
mysql_query("UPDATE `users` SET `battle` = {$id}, `zayavka` = 0 WHERE `id` = {$v}");
} else {
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$v}");
}
}
if($bot) {
mysql_query("UPDATE `bots` SET `battle` = '$id' WHERE `id` = '$bot[id]'");
}
}
if($user['zayavka'] == $zay) {
die("<script>location.href='fbattle.php';</script>");
}
}
}
$zay = new zayavka;
header("Cache-Control: no-cache");
if($_POST['open']) {
$f = fopen("/tmp/zayavka/".$user['id'].".txt", "w+");
fputs($f, time());
fclose($f);
}
?>
<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>
.m {background: #99CCCC;text-align: center;}
.s {background: #BBDDDD;text-align: center;}
</style>
<script>
function refreshPeriodic()
{
<?if ($_REQUEST['logs'] == null) {?>location.href='zayavka.php?level=<?=$_REQUEST['level']?>&tklogs=<?=$_REQUEST['tklogs']?>&logs=<?=$_REQUEST['logs']?>';//reload();
<?}?>
timerID=setTimeout("refreshPeriodic()",30000);
}
timerID=setTimeout("refreshPeriodic()",30000);
</script>
</HEAD>
<body leftmargin=5 topmargin=5 marginwidth=5 marginheight=5 bgcolor=e2e0e0 onload="top.setHP(<?=$user['hp']?>,<?=$user['maxhp']?>,<?if (!$user['battle']){echo"100";}else{echo"0";}?>);">
<TABLE width=100% cellspacing=1 cellpadding=1>
<FORM METHOD=POST ACTION=zayavka.php name=F1>
<TR>
<TD colspan=5>
<? if ($_REQUEST['level']) { echo nick($user); } ?>
</TD>
<TD colspan=4 align=right>
<INPUT TYPE=button value="Подсказка" style="background-color:#A9AFC0" onclick="window.open('help/combats.html', 'help', 'height=300,width=500,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes')">
<INPUT TYPE=button value="Вернуться" onclick="location.href='main.php?top=0.467837356797105';">
</TD>
</TR>
<TR>
<TD class=m width=40>&nbsp;<B><?php if($user['room'] != 101) echo 'Бои:'; else echo 'Разделы:';?></B></TD>
<TD class=<?=($_REQUEST['level']=='begin')?"s":"m"?>><?php if($user['room'] != 101) echo ("<A HREF=\"zayavka.php?level=begin&0.467837356797105\">Новичков</A></TD>"); else echo 'Зал Славы Тьмы</TD>'?>
<TD class=<?=($_REQUEST['level']=='fiz')?"s":"m"?>><?php if($user['room'] != 101) echo ("<A HREF=\"zayavka.php?level=fiz&0.467837356797105\">Физические</A></TD>"); else echo 'Зал Славы Света</TD>'?>
<TD class=<?=($_REQUEST['level']=='dgv')?"s":"m"?>><?php if($user['room'] != 101) echo ("<A HREF=\"zayavka.php?level=dgv&0.467837356797105\">Договорные</A></TD>"); else echo 'Квесты</TD>'?>
<TD class=<?=($_REQUEST['level']=='group')?"s":"m"?>><A HREF="zayavka.php?level=group&0.467837356797105">
<?php if($user['room'] != 101) {echo ("Групповые");} else {echo("<font color=red><b>Тьма vs Свет</b></font>");};?>
</A></TD>
<TD class=<?=($_REQUEST['level']=='haos')?"s":"m"?>><?php if($user['room'] != 101) echo ("<A HREF=\"zayavka.php?level=haos&0.467837356797105\">Хаотичные</A></TD>"); else echo 'В разработке</TD>'?>
<TD class=<?=($_REQUEST['tklogs']=='1')?"s":"m"?>><A HREF="zayavka.php?tklogs=1&0.467837356797105">Текущие</A></TD>
<TD class=<?=($_REQUEST['logs']!=null)?"s":"m"?>><A HREF="zayavka.php?logs=<?=date("d.m.y")?>&0.467837356797105">Завершенные</A></TD>
</TR>
</TABLE>
<TABLE width=100% cellspacing=0 cellpadding=0><TR><TD valign=top>
<?
if($user['room'] != 1 && $user['room'] != 2 && $user['room'] != 3 && $user['room'] != 4 &&
$user['room'] != 5 && $user['room'] != 6 && $user['room'] != 7 && $user['room'] != 9 &&
$user['room'] != 10 && $user['room'] != 15 && $user['room'] != 16 && $user['room'] != 19 &&
$user['room'] != 8 && $user['room'] != 101 && !$_REQUEST['tklogs'] && !$_REQUEST['logs']) {
echo "<BR><BR><BR><CENTER><B>В этой комнате невозможно подавать заявки</b></CENTER>";
die();
}
if(!$_REQUEST['level'] && !$_REQUEST['tklogs'] && !$_REQUEST['logs']) {
echo "<BR><BR><BR><CENTER><B>Выберите раздел</b></CENTER>";
}
if ($_REQUEST['level'] == 'begin') {
if($user['level']>0) {die("<BR><BR><BR><CENTER><B>Вы уже выросли из ползунков ;)</b></CENTER>");}
echo "<font color=red><b>";
if($_POST['open']) {
echo $zay->addzayavka (0,$_POST['timeout'], 1, 1, $_POST['k'], $user['level'], 1, $user['level'], 21, '', $user['id'], 1, 0);
die("<script>document.location='zayavka.php?level=begin';</script>");
}
if($_POST['back']) {
unlink("/tmp/zayavka/".$user['id'].".txt");
echo $zay->delzayavka ($user['id'], $user['zayavka'], 1,0);
}
if($_POST['back2']) {
$z = $zay->getlist(1,null,$user['zayavka']);
addchp ('<font color=red>Внимание!</font> '.nick::id($user['id'])->short().' отозвал заявку. ','{[]}'.nick::id($res['$z[$user['zayavka']]['team1'][0]'])->short().'{[]}');
echo $zay->delteam (2,$user['id'], $user['zayavka'], 1);
}
if($_POST['cansel']) {
$z = $zay->getlist(1,null,$user['zayavka']);
echo $zay->delteam (2,$z[$user['zayavka']]['team2'][0], $user['zayavka'], 1);
addchp ('<font color=red>Внимание!</font> '.nick::id($user['id'])->full(1).' отказался от поединка. ','{[]}'.nick::id($res['$z[$user['zayavka']]['team2'][0]'])->short().'{[]}');
}
if($_POST['confirm2']) {
$z = $zay->getlist(1,null,$_REQUEST['gocombat']);
addchp ('<font color=red>Внимание!</font> '.nick::id($user['id'])->full(1).' принял заявку, нужно принять вызов или отказать. ','{[]}'.nick::id($z[$_REQUEST['gocombat']]['team1'][0])->short().'{[]}');
echo $zay->addteam (2,$user['id'], $_REQUEST['gocombat'], 1);
die("<script>document.location='zayavka.php?level=begin';</script>");
}
if($_POST['gofi']) {
$zay->battlestart( $user['id'], $user['zayavka'], 1 );
}
echo "</b></font>";
echo '<table cellspacing=0 cellpadding=0><tr><td>';
$z = $zay->getlist(1,null,$user['zayavka']);
if( $zay->ustatus($user['id'])==0 ) {
//if ($z[$user['zayavka']]['level'] == 1)
{
echo '<FIELDSET><LEGEND><B>Подать заявку на бой</B> </LEGEND>Таймаут <SELECT NAME=timeout><OPTION value=3>3 мин.<OPTION value=4>4 мин.<OPTION value=5>5 мин.<OPTION value=7>7 мин.<OPTION value=10 selected>10 мин.</SELECT> Тип боя <SELECT NAME=k><OPTION value=1>с оружием<OPTION value=4>кулачный</SELECT><INPUT TYPE=submit name=open value="Подать заявку">&nbsp;</FIELDSET>';
};
}
if( $zay->ustatus($user['id'])==1 ) {
if(count($z[$user['zayavka']]['team2'])>0){
echo "<B><font color=red>Внимание! ".nick::id($z[$user['zayavka']]['team2'][0])->full(1)." принял заявку на бой, нужно отказать или принять вызов.</font></b> <input type=submit value='Битва!' name=gofi> <input type=submit value='Отказать' name=cansel>";
}
else {
if ($z[$user['zayavka']]['level'] == 1)
echo "Заявка на бой подана, ожидаем противника. <input type=submit name=back value='Отозвать заявку'>";
$Path="/tmp/zayavka/".$user['id'].".txt";
$f = fopen($Path, "r");
$timeFigth = fread($f, filesize($Path));
fclose($f);
if($user['level'] == 0) {
if($_GET['trainstart']==1 && $user['hp'] > $user['maxhp']*0.33 && $user['level'] <= 7) {
unlink("/tmp/zayavka/".$user['id'].".txt");
$zay->delzayavka ($user['id'], $user['zayavka'], 1,0);
mysql_query("INSERT INTO `bots` (`name`,`prototype`,`battle`,`hp`) values ('".$user['login']." (Клон 1)','".$user['id']."','','".$user['maxhp']."');");
$bot = mysql_insert_id();
$teams = array();
$teams[$user['id']][$bot] = array(0,0,time());
$teams[$bot][$user['id']] = array(0,0,time());
mysql_query("INSERT INTO `battle`
(
`id`,`coment`,`teams`,`timeout`,`type`,`status`,`t1`,`t2`,`to1`,`to2`, `clone`
)
VALUES
(
NULL,'','".serialize($teams)."','3','1','0','".$user['id']."','".$bot."','".time()."','".time()."', 1
)");
$id = mysql_insert_id();
mysql_query("INSERT INTO `logs` (`id`,`log`) VALUES('{$id}','Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <BR>');");
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$bot} LIMIT 1;");
$rr = "<b>".nick::id($user['id'])->full(1)."</b> и <b>".nick::id($bot)->full(1)."</b>";
addlog($id,"Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <BR>");
mysql_query("UPDATE users SET `battle` ={$id},`zayavka`=0 WHERE `id`= {$user['id']};");
die("<script>location.href='fbattle.php';</script>");
///=======================================================================================
} else {
echo $user['level'];
}
if($user['level'] == 0) {echo " или <input type=button onclick=\"location.href='zayavka.php?level=begin&trainstart=1';\" value=\"Начать тренировочный бой\">";}
}
}
}
if( $zay->ustatus($user['id'])==2 ) {
if ($z[$user['zayavka']]['level'] == 1)
echo "Ожидаем подтверждения боя. <input type=submit name=back2 value='Отозвать заявку'>";
}
echo '</td></tr></table></TD><TD align=right valign=top rowspan=2><INPUT TYPE=submit name=tmp value="Обновить">';
echo '<tr><td><INPUT TYPE=hidden name=level value=begin><INPUT TYPE=submit value="Принять вызов" NAME=confirm2><BR>';
if ($z = $zay->getlist(1))
foreach ($z as $k=>$v) {
echo $zay->showfiz( $v );
}
echo '<INPUT TYPE=submit value="Принять вызов" NAME=confirm2></TD></TR></TABLE>';
}
if ($_REQUEST['level'] == 'fiz') {
if($user['level']==0) {die("<BR><BR><BR><CENTER><B>Физические бои доступны с 1 уровня.</b></CENTER>");}
echo "<font color=red><b>";
if($_POST['open']) {
if($_POST['k']==6) {
$blood = 1;
} else {
$blood = 0;
}
echo $zay->addzayavka(0,$_POST['timeout'], 1, 1, $_POST['k'], $user['level'], 1, $user['level'], 21, '', $user['id'], 2, 0,$blood);
die("<script>document.location='zayavka.php?level=fiz';</script>");
}
if($_POST['back']) {
unlink("/tmp/zayavka/".$user['id'].".txt");
echo $zay->delzayavka($user['id'], $user['zayavka'], 2,0);
}
if($_POST['back2']) {
$z = $zay->getlist(2,null,$user['zayavka']);
addchp ('<font color=red>Внимание!</font> '.nick::id($user['id'])->full(1).' отозвал заявку.','{[]}'.nick::id($res['$z[$user['zayavka']]['team1'][0]'])->short().'{[]}');
echo $zay->delteam (2,$user['id'], $user['zayavka'], 2);
}
if($_POST['cansel']) {
$z = $zay->getlist(2,null,$user['zayavka']);
echo $zay->delteam (2,$z[$user['zayavka']]['team2'][0], $user['zayavka'], 2);
addchp ('<font color=red>Внимание!</font> '.nick::id($user['id'])->full(1).' отказался от поединка.','{[]}'.nick::id($res['$z[$user['zayavka']]['team2'][0]'])->short().'{[]}');
}
if($_POST['confirm2'] && !$user['zayavka']) {
$z = $zay->getlist(2,null,$_REQUEST['gocombat']);
$toper = $z[$_REQUEST['gocombat']]['team1'][0];
$toper = mysql_fetch_array(mysql_query("SELECT `klan` FROM `users` WHERE `id`='{$toper}' LIMIT 1;"));
if($user['klan'] != $toper['klan'] || $user['klan']==''){
addchp ('<font color=red>Внимание!</font> '.nick::id($user['id'])->full(1).' принял заявку, нужно принять вызов или отказать. ','{[]}'.nick::id($z[$_REQUEST['gocombat']]['team1'][0])->short().'{[]}');
}
echo $zay->addteam (2,$user['id'], $_REQUEST['gocombat'], 2);
echo "</b></font><BR>Ожидаем подтверждения боя. <input type=submit name=back2 value='Отозвать заявку'>";
}
if($_POST['gofi']) {
$zay->battlestart( $user['id'], $user['zayavka'], 2 );
}
echo "</b></font>";
echo '<table cellspacing=0 cellpadding=0><tr><td>';
if( $zay->ustatus($user['id'])==0 ) {
echo '<FIELDSET><LEGEND><B>Подать заявку на бой</B> </LEGEND>Таймаут <SELECT NAME=timeout><OPTION value=3>3 мин.<OPTION value=4>4 мин.<OPTION value=5>5 мин.<OPTION value=7>7 мин.<OPTION value=10 selected>10 мин.</SELECT> Тип боя <SELECT NAME=k><OPTION value=1>с оружием<OPTION value=4>кулачный<OPTION value=6>кровавый</SELECT><INPUT TYPE=submit name=open value="Подать заявку">&nbsp;</FIELDSET>';
}
$z = $zay->getlist(2,null,$user['zayavka']);
if( $zay->ustatus($user['id'])==1 ) {
if(count($z[$user['zayavka']]['team2'])>0){
echo "<B><font color=red>Внимание! ".nick::id($z[$user['zayavka']]['team2'][0])->full(1)." принял заявку на бой, нужно отказать или принять вызов.</font></b> <input type=submit value='Битва!' name=gofi> <input type=submit value='Отказать' name=cansel>";
}
else {
if ($z[$user['zayavka']]['level'] == 2) {
echo "Заявка на бой подана, ожидаем противника. <input type=submit name=back value='Отозвать заявку'>";
$Path="/tmp/zayavka/".$user['id'].".txt";
$f=fopen($Path,"r");
$timeFigth=fread($f, filesize($Path));
fclose($f);
if($timeFigth < time() && ($user['level'] <= 14)) {
if($_GET['trainstart'] == 1 && $user['hp'] > $user['maxhp']*0.33 && ($user['level'] <= 7 || $user['align'] == 2.99)) {
unlink("/tmp/zayavka/".$user['id'].".txt");
$zay->delzayavka ($user['id'], $user['zayavka'], 2,0);
mysql_query("INSERT INTO `bots` (`name`, `prototype`, `battle`, `hp`) values ('".$user['login']." (Клон 1)','".$user['id']."','','".$user['maxhp']."');");
$bot = mysql_insert_id();
$teams = array();
$teams[$user['id']][$bot] = array(0, 0, time());
$teams[$bot][$user['id']] = array(0, 0, time());
mysql_query("INSERT INTO `battle`
(`teams`,`timeout`,`type`,`status`,`t1`,`t2`,`to1`,`to2`, `clone`
)
VALUES
('".serialize($teams)."','3','1','0','".$user['id']."','".$bot."','".time()."','".time()."', 1
)");
$id = mysql_insert_id();
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$bot} LIMIT 1");
$rr = "<b>".nick::id($user['id'])->full(1)."</b> и <b>".nick::id($bot)->full(1)."</b>";
addlog($id,"Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <BR>");
mysql_query("UPDATE users SET `battle` ={$id},`zayavka`=0 WHERE `id`= {$user['id']};");
die("<script>location.href='fbattle.php';</script>");
}
$Path="/tmp/zayavka/".$user['id'].".txt";
$f=fopen($Path,"r");
$timeFigth=fread($f, filesize($Path));
fclose($f);
if($user['level'] < 7 || $user['align'] == 2.99) {
echo " или <input type=button onclick=\"location.href='zayavka.php?level=fiz&trainstart=1';\" value=\"Начать тренировочный бой\">";
}
}
}
}
}
if( $zay->ustatus($user['id'])==2 ) {
if ($z[$user['zayavka']]['level'] == 2)
echo "Ожидаем подтверждения боя. <input type=submit name=back2 value='Отозвать заявку'>";
}
echo '</td></tr></table></TD><TD align=right valign=top rowspan=2><INPUT TYPE=submit name=tmp value="Обновить"><BR><FIELDSET style="width:150px;"><LEGEND>Показывать заявки</LEGEND><table cellspacing=0 cellpadding=0 ><tr><td width=1%><input type=radio name=view value="'.$user['level'].'" '.(($_SESSION['view'] != null)?"checked":"").'></td><td>моего уровня</td></tr><tr><td><input type=radio name=view value="" '.(($_SESSION['view'] == null)?"checked":"").'></td><td>все</td></tr></table></FIELDSET>';
echo '<tr><td><INPUT TYPE=hidden name=level value=fiz><INPUT TYPE=submit value="Принять вызов" NAME=confirm2><BR>';
if ($z = $zay->getlist(2,$_SESSION['view']))
foreach ($z as $k=>$v) {
echo $zay->showfiz( $v );
}
echo '<INPUT TYPE=submit value="Принять вызов" NAME=confirm2></TD></TR></TABLE>';
}
if ($_REQUEST['level'] == 'group') {
if($user['level']<2) {die("<BR><BR><BR><CENTER><B>Групповые бои доступны с 2 уровня.</b></CENTER>");}
if($_POST['open1'] && !$user['zayavka'])
{
// room 101 - противостояние сил
echo '<TABLE><TR><TD>
<H3>Подать заявку на групповой бой</H3>
Начало боя через <SELECT NAME=startime>
<option value=600>10 минут
<option value=900 selected>15 минут
<option value=1800>30 минут
<option value=2700>45 минут
<option value=3600>1 час
</SELECT>
&nbsp;&nbsp;&nbsp;&nbsp;Таймаут <SELECT NAME=timeout><OPTION value=3>3 мин.<OPTION value=4>4 мин.<OPTION value=5 selected>5 мин.<OPTION value=7>7 мин.<OPTION value=10>10 мин.</SELECT>
<BR><BR>
Ваша команда <INPUT TYPE=text NAME=nlogin1 size=3 maxlength=2> бойцов<BR>';
if($user['room']!=101)
echo'Уровни союзников &nbsp;&nbsp;<SELECT NAME=levellogin1>
<option value=0>любой
<option value=1>только моего и ниже
<option value=2>только ниже моего уровня
<option value=3>только моего уровня
<option value=4>не старше меня более чем на уровень
<option value=5>не младше меня более чем на уровень
<option value=6>мой уровень +/- 1
<option value=99>мой клан
</SELECT>';
else echo'<INPUT TYPE=hidden value=0 NAME=levellogin1>';
echo'<BR><BR>
Противники &nbsp;&nbsp;<INPUT TYPE=text NAME=nlogin2 size=3 maxlength=2> бойцов<BR>';
if($user['room']!=101)
echo'Уровни противников <SELECT NAME=levellogin2>
<option value=0>любой
<option value=1>только моего и ниже
<option value=2>только ниже моего уровня
<option value=3>только моего уровня
<option value=4>не старше меня более чем на уровень
<option value=5>не младше меня более чем на уровень
<option value=6>мой уровень +/- 1
<option value=99>только клан
</SELECT>';
else echo'<INPUT TYPE=hidden value=0 NAME=levellogin1>';
echo'<BR>';
if($user['room']!=101)
echo'<INPUT TYPE=checkbox NAME=k> Кулачный бой<BR>
<INPUT TYPE=checkbox NAME=travma> Бой без правил (<font class=dsc>проигравшая сторона получает инвалидность</font>)<BR>';
if($user['room']==101)
echo'<BR><BR>
Деньги &nbsp;&nbsp;<INPUT TYPE=text NAME=nmoney size=8 maxlength=8> кр.<BR>
Опыт &nbsp;&nbsp;<INPUT TYPE=text NAME=nexp size=8 maxlength=8> единиц<BR>';
echo'Комментарий к бою <INPUT TYPE=text NAME=cmt maxlength=40 size=40>
</TD></TR>
<TR><TD align=center>
<INPUT TYPE=submit value="Начнем месилово! :)" name=open>
</TD></TR>
</TABLE>
</TD><TD align=right valign=top>
<INPUT TYPE=submit value="Вернуться">
</TD></TR></TABLE><INPUT TYPE=hidden name=level value=group>';
die();
}
if($_POST['goconfirm'] && !$user['zayavka']) {
echo '<TABLE width=100%><TR><TD>';
$z = $zay->getlist(4,null,$_POST['gocombat']);
echo "<B>Ожидаем начала группового боя...</B><BR>Бой начнется через: ".round(($z[$_POST['gocombat']]['start']-time())/60,1)." мин.";
echo '</TD><TD align=right><INPUT TYPE=submit value="Вернуться"></TD></TR></TABLE><H3>На чьей стороне будете сражаться?</H3>
<TABLE align=center cellspacing=4 cellpadding=1><TR><TD bgcolor=99CCCC><B>Группа 1:</B><BR>
Максимальное кол-во: '.$z[$_POST['gocombat']]['t1c'].'<BR>
Ограничения по уровню: '.($z[$_POST['gocombat']]['t1min']==99?'клан':$z[$_POST['gocombat']]['t1min']." - ".$z[$_POST['gocombat']]['t1max']).'
</TD><TD bgcolor=99CCCC><B>Группа 2:</B><BR>
Максимальное кол-во: '.$z[$_POST['gocombat']]['t2c'].'<BR>
Ограничения по уровню: '.($z[$_POST['gocombat']]['t2min']==99?'клан':$z[$_POST['gocombat']]['t2min']." - ".$z[$_POST['gocombat']]['t2max']).'
</TD></TR><TR>
<TD align=center>';
foreach( $z[$_POST['gocombat']]['team1'] as $k=>$v ) {
if ($k!=0) $rr.="<BR>";
echo nick::id($v)->full(1);
}
echo '</TD><TD align=center>';
foreach( $z[$_POST['gocombat']]['team2'] as $k=>$v ) {
if ($k!=0) $rr.="<BR>";
echo nick::id($v)->full(1);
}
echo '</TD></TR><TR>';
$vs_test=mysql_fetch_array(mysql_query("SELECT * FROM zayavka where id='{$z[$_POST['gocombat']]['id']}' limit 1 "));
if($user['room'] != 101)
{if ($vs_test['versus']==0)
{
$raid_t=mysql_fetch_array(mysql_query("SELECT * FROM variables WHERE var='raid_on_status' limit 1;"));
if($z[$_POST['gocombat']]['team1'][0]!=1000 && $z[$_POST['gocombat']]['team1'][0]!=1001)
echo '<TD align=center><INPUT TYPE=submit name=confirm1 value="Я за этих!"></TD>';
else echo'<TD align=center>Силы Хаоса</TD>';
}
else echo '<TD align=center>Войдите в комнату "Противостояние", чтобы принять эту заявку!</TD>';}
else
{
if(($user['align']==6)||($user['align']==2.1)||($user['align']==2.99)||(($user['align']>7)&&($user['align']<8))||($user['align']==2))
{echo '<TD align=center><INPUT TYPE=submit name=confirm1 value="Я за Свет!"></TD>';};
if(($user['align']==2.1)||($user['align']==6))
{echo '<TD align=center></TD>';};
};
if($user['room'] != 101) {
if ($vs_test['versus']==0) {echo '<TD align=center><INPUT TYPE=submit name=confirm2 value="Я за этих!"></TD>';}
else echo '<TD align=center></TD>';
} else {
if(($user['align']==2.2)||($user['align']==3)) {echo '<TD align=center></TD>';};
if(($user['align']==3)||($user['align']==2.2)||($user['align']==2.99)||(($user['align']>7)&&($user['align']<8))||($user['align']==2)) {
echo '<TD align=center><INPUT TYPE=submit name=confirm2 value="Я за Тьму!"></TD>';
};
};
echo '</TR></TABLE><INPUT TYPE=hidden name=gocombat value="'.$_POST['gocombat'].'"><INPUT TYPE=hidden name=level value=group>';
die();
}
echo "<font color=red><b>";
if(($_POST['confirm1']) && $_POST['gocombat'] && !$user['zayavka']) {echo $zay->addteam (1,$user['id'], $_REQUEST['gocombat'], 4);}
if(($_POST['confirm2']) && $_POST['gocombat'] && !$user['zayavka']) {echo $zay->addteam (2,$user['id'], $_REQUEST['gocombat'], 4);}
if($_POST['open'] && !$user['zayavka']) {
//print_r($_REQUEST);
switch($_POST['levellogin1']) {
case 0 : //любой
$min1 = 2;
$max1 = 21;
break;
case 1 : //только моего и ниже
$min1 = 2;
$max1 = $user['level'];
break;
case 2 : //только ниже моего уровня
$min1 = 2;
$max1 = $user['level']-1;
break;
case 3 : //только моего уровня
$min1 = $user['level'];
$max1 = $user['level'];
break;
case 4 : //не старше меня более чем на уровень
$min1 = $user['level'];
$max1 = $user['level']+1;
break;
case 5 : //не младше меня более чем на уровень
$min1 = $user['level']-1;
$max1 = $user['level'];
break;
case 6 : //мой уровень +/- 1
$min1 = (int)$user['level']-1;
$max1 = (int)$user['level']+1;
break;
case 99 : // кланы
$min1 = 99;
$max1 = 99;
break;
}
switch($_POST['levellogin2']) {
case 0 : //любой
$min1 = 2;
$max1 = 21;
break;
case 1 : //только моего и ниже
$min1 = 2;
$max1 = $user['level'];
break;
case 2 : //только ниже моего уровня
$min1 = 2;
$max1 = $user['level']-1;
break;
case 3 : //только моего уровня
$min1 = $user['level'];
$max1 = $user['level'];
break;
case 4 : //не старше меня более чем на уровень
$min1 = $user['level'];
$max1 = $user['level']+1;
break;
case 5 : //не младше меня более чем на уровень
$min1 = $user['level']-1;
$max1 = $user['level'];
break;
case 6 : //мой уровень +/- 1
$min1 = (int)$user['level']-1;
$max1 = (int)$user['level']+1;
break;
case 99 : // кланы
$min1 = 99;
$max1 = 99;
break;
}
if($_POST['k']) {
$_POST['k'] = 4;
} else {
$_POST['k'] = 2;
}
if($_POST['travma']) {
$blood = 1;
} else {
$blood = 0;
}
if ($_POST['nlogin1'] == 1 && $_POST['nlogin2'] == 1)
{
echo "Не надо превращать групповой бой в физический поединок";
}
else {
echo $zay->addzayavka ($_POST['startime']/60,$_POST['timeout'], $_POST['nlogin1'], $_POST['nlogin2'], $_POST['k'], $min1, $min2, $max1, $max2, $_POST['cmt'], $user['id'], 4, 0, $blood);
}
}
/////////////////////////////////
echo "</font></b><INPUT TYPE=hidden name=level value=group>";
echo '<table cellspacing=0 cellpadding=0><tr><td>';
if( $zay->ustatus($user['id'])==0 )
if(($user['room']==101) && ($user['align'] != 2.2) && ($user['align'] != 2.1))
{
echo "<BR><CENTER><B>Свет и Тьма не снизойдут к вашей просьбе начать новый бой</b></CENTER>";
}
else
{
echo '<INPUT TYPE=hidden name=level value=group><INPUT TYPE=submit value="Подать новую заявку" name=open1>';
}
if( $zay->ustatus($user['id'])!=0) {
$z = $zay->getlist(4,null,$user['zayavka']);
if ($z[$user['zayavka']]['level'] == 4) {
echo "<B>Ожидаем начала группового боя...</B><BR>Бой начнется через: ".round(($z[$user['zayavka']]['start']-time())/60,1)." мин.";
}
}
echo '</td></tr></table></TD><TD align=right valign=top rowspan=2><INPUT TYPE=submit name=tmp value="Обновить"><BR><FIELDSET style="width:150px;"><LEGEND>Показывать заявки</LEGEND><table cellspacing=0 cellpadding=0 ><tr><td width=1%><input type=radio name=view value="'.$user['level'].'" '.(($_SESSION['view'] != null)?"checked":"").'></td><td>моего уровня</td></tr><tr><td><input type=radio name=view value="" '.(($_SESSION['view'] == null)?"checked":"").'></td><td>все</td></tr></table></FIELDSET>';
echo '<tr><td width=85%>';
echo '<BR><INPUT TYPE=submit value="Принять участие" NAME=goconfirm><BR>';
if ($z = $zay->getlist(4,$_SESSION['view']))
foreach ($z as $k=>$v)
{
$ok=0;
if ($user['room'] == 101)
{
$vs_test=mysql_fetch_array(mysql_query("SELECT * FROM zayavka where id='{$z[$k]['id']}' limit 1 "));
if ($vs_test['versus']==1) $ok=1;
else $ok=0;
}
else $ok=0;
if(($ok==0 && $user['room']!=101)||($ok==1 && $user['room']==101))
{
if ((($z[$k]['start']-time()) < 0) || (($z[$k]['t1c'] == count($z[$k]['team1'])) && ($z[$k]['t2c'] == count($z[$k]['team2']))))
{
$zay->battlestart("CHAOS", $k, 4);
}
echo $zay->showgroup( $v );
}
}
echo '<INPUT TYPE=submit value="Принять участие" NAME=goconfirm></td></tr></table>';
}
if ($_REQUEST['level'] == 'haos') {
if($user['level']<2) {die("<BR><BR><BR><CENTER><B>Хаотичные бои доступны с 2 уровня.</b></CENTER>");}
if($_POST['open'] && !$user['zayavka']) {
switch($_POST['levellogin1']) {
case 0 :
$min1 = 1;
$max1 = 21;
break;
case 3 :
$min1 = $user['level'];
$max1 = $user['level'];
break;
case 6 :
$min1 = (int)$user['level']-1;
$max1 = (int)$user['level']+1;
break;
}
//$_POST['k'] = 3;
$blood = 0;
if($_POST['travma']) {$blood = 1;}
echo $zay->addzayavka($_POST['startime2']/60,$_POST['timeout'], 99, 99, $_POST['k'], $min1, $min1, $max1, $max1, $_POST['cmt'], $user['id'], 5, 0, $blood);
}
if($_POST['confirm2']) {echo "<span class='redalert'>".$zay->addteam (1,$user['id'], $_REQUEST['gocombat'], 5)."</span>";}
echo '<table cellspacing=0 cellpadding=0><tr><td>';
if( $zay->ustatus($user['id'])==0 ) {
echo 'Хаотичный бой - разновидность группового, где группы формируются автоматически. Бой не начнется, если собралось меньше 4-х человек. <DIV id="dv2" style="display:"><A href="#" onclick="dv1.style.display=\'\'; dv2.style.display=\'none\'; return false">Подать заявку на хаотичный бой</A></DIV><DIV id="dv1" style="display: none"><FIELDSET><LEGEND><B>Подать заявку на хаотичный бой</B> </LEGEND>Начало боя через <SELECT NAME=startime2><option value=180>3 минуты</option><option value=300 selected>5 минут</option><option value=600>10 минут</option><option value=900>15 минут</option><option value=1800>30 минут</option><option value=2700>45 минут</option><option value=3600>1 час</option></SELECT>&nbsp;&nbsp;&nbsp;&nbsp;Таймаут <SELECT NAME=timeout><OPTION value=3 SELECTED>3 мин.<OPTION value=5>5 мин.<OPTION value=10>10 мин.</SELECT><BR>Уровни бойцов &nbsp;&nbsp;<SELECT NAME=levellogin1><option value=0>любой<option value=3>только моего уровня<option value=6 selected>мой уровень +/- 1</SELECT><BR><BR>Тип боя <SELECT NAME=k><OPTION value=3>с оружием<OPTION value=5>кулачный</SELECT><BR><INPUT TYPE=checkbox NAME=travma> Бой без правил (<font class=dsc>проигравшая сторона получает инвалидность</font>)<BR><INPUT TYPE=submit name=open value="Подать заявку">&nbsp;<BR>Комментарий к бою <INPUT TYPE=text NAME=cmt maxlength=40 size=40></FIELDSET><BR></DIV>';
}
if( $zay->ustatus($user['id'])!=0) {
$z = $zay->getlist(5,null,$user['zayavka']);
if ($z[$user['zayavka']]['level'] == 5)
echo "<B>Ожидаем начала группового боя...</B><BR>Бой начнется через: ".round(($z[$user['zayavka']]['start']-time())/60,1)." мин.";
}
echo '</td></tr></table></TD><TD align=right valign=top rowspan=2><INPUT TYPE=submit name=tmp value="Обновить"><BR><FIELDSET style="width:150px;"><LEGEND>Показывать заявки</LEGEND><table cellspacing=0 cellpadding=0 ><tr><td width=1%><input type=radio name=view value="'.$user['level'].'" '.(($_SESSION['view'] != null)?"checked":"").'></td><td>моего уровня</td></tr><tr><td><input type=radio name=view value="" '.(($_SESSION['view'] == null)?"checked":"").'></td><td>все</td></tr></table></FIELDSET>';
echo '<tr><td width=85%><INPUT TYPE=hidden name=level value=haos><INPUT TYPE=submit value="Принять участие" NAME=confirm2><BR>';
if ($z = $zay->getlist(5,$_SESSION['view']))
foreach ($z as $k=>$v) {
if (($z[$k]['start']-time()) < 0) {
$zay->battlestart("CHAOS", $k, 5);
}
echo $zay->showhaos( $v );
}
echo '<INPUT TYPE=submit value="Принять участие" NAME=confirm2></TD></TR></TABLE>';
//print_r($_POST);
}
if($_REQUEST['tklogs'] != null) {
$t1 = floor(time()-900);
$data = mysql_query("SELECT * FROM `battle` WHERE `win` = '3' AND `to1` > '".$t1."' AND `to2` > '".$t1."' ORDER by `id` ASC");
while($row = @mysql_fetch_array($data)) {
echo "<span class=date>{$row['date']}</span>";
$z = explode(";", $row['t1']);
foreach($z as $k => $v) {
if($k > 0) { echo ","; }
nick::id($v)->full();
}
echo " против ";
$z = explode(";",$row['t2']);
foreach($z as $k=>$v) {
if($k > 0) { echo ","; }
nick::id($v)->full();
}
echo "<img src='i/fighttype{$row['type']}.gif'> <a href='logs.php?log={$row['id']}' target=_blank>»»</a><br />";
}
}
if($_REQUEST['logs'] != null) {
echo '<TABLE width=100% cellspacing=0 cellpadding=0><TR>
<TD valign=top>&nbsp;<A HREF="zayavka.php?logs='.
date("d.m.y",mktime(0, 0, 0, substr($_REQUEST['logs'],3,2), substr($_REQUEST['logs'],0,2)-1, "20".substr($_REQUEST['logs'],6,2)))
.'&filter='.(($_REQUEST['filter'])?$_REQUEST['filter']:$user['login']).'">« Предыдущий день</A></TD>
<TD valign=top align=center><H3>Записи о завершенных боях за '.(($_REQUEST['logs']!=1)?"{$_REQUEST['logs']}":"".date("d.m.y")).'</H3></TD>
<TD valign=top align=right><A HREF="zayavka.php?logs='.
date("d.m.y",mktime(0, 0, 0, substr($_REQUEST['logs'],3,2), substr($_REQUEST['logs'],0,2)+1, "20".substr($_REQUEST['logs'],6,2)))
.'&filter='.(($_REQUEST['filter'])?$_REQUEST['filter']:$user['login']).'">Следующий день »</A>&nbsp;</TD>
</TR><TR><TD colspan=3 align=center>Показать только бои персонажа: <INPUT TYPE=text NAME=filter value="'.(($_REQUEST['filter'])?$_REQUEST['filter']:$user['login']).'"> за <INPUT TYPE=text NAME=logs size=12 value="'.(($_REQUEST['logs']!=1)?"{$_REQUEST['logs']}":"".date("d.m.y")).'"> <INPUT TYPE=submit value="фильтр!"></TD>
</TR></TABLE>';
$u = mysql_fetch_array(mysql_query("SELECT `id` FROM `users` WHERE `login` = '".(($_REQUEST['filter'])?"{$_REQUEST['filter']}":"{$user['login']}")."' LIMIT 1"));
$data = mysql_query("SELECT * FROM `battle` WHERE ((`t1` LIKE '%;{$u[0]};%' OR `t1` LIKE '{$u[0]}' OR `t1` LIKE '{$u[0]};%' OR `t1` LIKE '%;{$u[0]}') OR (`t2` LIKE '%;{$u[0]};%' OR `t2` LIKE '{$u[0]}' OR `t2` LIKE '{$u[0]};%' OR `t2` LIKE '%;{$u[0]}')) AND `date` LIKE '".(($_REQUEST['logs']!=1)?"20".substr($_REQUEST['logs'],6,2)."-".substr($_REQUEST['logs'],3,2)."-".substr($_REQUEST['logs'],0,2):"".date("Y-m-d"))." %' ORDER by `id` DESC");
while ($row = @mysql_fetch_array($data)) {
echo "<span class=date>{$row['date']}</span>";
echo '&nbsp;' . $row['t1hist'];
if ($row['win'] == 1) {
echo '<img src=i/flag.gif>';
}
echo " против ";
echo $row['t2hist'];
if ($row['win'] == 2) {
echo '<img src=i/flag.gif>';
}
if ($row['type'] == 10) {
$rr = "<IMG SRC=\"i/fighttype6.gif\" WIDTH=20 HEIGHT=20 ALT=\"Кровавый поединок\"> ";
} elseif ($row['blood'] && ($row['type'] == 5 OR $row['type'] == 4)) {
$rr = "<IMG SRC=\"i/fighttype5.gif\" WIDTH=20 HEIGHT=20 ALT=\"кулачный бой\"><IMG SRC=\"i/fighttype6.gif\" WIDTH=20 HEIGHT=20 ALT=\"Кровавый поединок\"> ";
} elseif ($row['blood'] && ($row['type'] == 2 OR $row['type'] == 3 OR $row['type'] == 6)) {
$rr = "<IMG SRC=\"i/fighttype6.gif\" WIDTH=20 HEIGHT=20 ALT=\"Кровавый поединок\"> ";
} elseif ($row['type'] == 5 OR $row['type'] == 4) {
$rr = "<IMG SRC=\"i/fighttype4.gif\" WIDTH=20 HEIGHT=20 ALT=\"кулачный бой\"> ";
} elseif ($row['type'] == 3 OR $row['type'] == 2) {
$rr = "<IMG SRC=\"i/fighttype3.gif\" WIDTH=20 HEIGHT=20 ALT=\"групповой бой\"> ";
} elseif ($row['type'] == 1) {
$rr = "<IMG SRC=\"i/fighttype1.gif\" WIDTH=20 HEIGHT=20 ALT=\"физический бой\"> ";
}
echo $rr;
echo " <a href='logs.php?log={$row['id']}' target=_blank>»»</a><BR>";
$i++;
}
if($i==0) {
echo '<CENTER><BR><BR><B>В этот день не было боев, или же, летописец опять потерял свитки...</B><BR><BR><BR></CENTER>';
}
echo '<HR><BR>';
}
mysql_query("UNLOCK TABLES");
?>
</form>
</body>
</html>