Файл: ewar/functions/arena.php
Строк: 151
<?php
function update_arena_opponent($dm, $return, $new = false) {
$my_arena_opponents = readcache('arena_opponents'.$dm['id']);
if ($my_arena_opponents == false) {
$arena_opponents = readcache('arena_and_duel_opponents');
$arena_opponents = json_decode($arena_opponents);
if ($arena_opponents == false) {
header("Location: cronjobs/arena_and_duel_opponents_update.php?k=1");
exit;
}
$my_arena_opponents = array('first' => array(), 'second' => array());
$my_params_sum = $dm['str'] + $dm['vit'] + $dm['agi'] + $dm['def'];
$first_sk = 0;
foreach ($arena_opponents as $list) {
if ($list[0] != $dm['id'] && $list[1] >= $my_params_sum / 2 && $list[1] <= $my_params_sum) {
$my_arena_opponents['first'][] = $list[0];
$first_sk ++;
}
if($first_sk == 20) break;
}
if($first_sk < 20) {
foreach ($arena_opponents as $list) {
if (!in_array($list[0], $my_arena_opponents['first'])) {
if ($list[0] != $dm['id'] && $list[1] <= $my_params_sum) {
$my_arena_opponents['first'][] = $list[0];
$first_sk ++;
}
}
if($first_sk == 20) break;
}
if(!$first_sk) {
$list = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `vartotojai` WHERE `id` != '".$dm['id']."' ORDER BY `str` + `vit` + `agi` + `def` ASC LIMIT 1"));
$my_arena_opponents['first'][] = $list['id'];
}
}
$second_sk = 0;
foreach ($arena_opponents as $list) {
if ($list[0] != $dm['id'] && $list[1] > $my_params_sum && $list[1] <= $my_params_sum * 2) {
$my_arena_opponents['second'][] = $list[0];
$second_sk ++;
}
if($second_sk == 20) break;
}
if($second_sk < 20) {
foreach ($arena_opponents as $list) {
if (!in_array($list[0], $my_arena_opponents['second'])) {
if ($list[0] != $dm['id'] && $list[1] <= $my_params_sum * 2) {
$my_arena_opponents['second'][] = $list[0];
$second_sk ++;
}
}
if($second_sk == 20) break;
}
if(!$second_sk) {
$list = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `vartotojai` WHERE `id` != '".$dm['id']."' ORDER BY `str` + `vit` + `agi` + `def` DESC LIMIT 1"));
$my_arena_opponents['second'][] = $list['id'];
}
}
writecache('arena_opponents'.$dm['id'], $my_arena_opponents);
}
$first_opponent = $my_arena_opponents['first'][rand(0, count($my_arena_opponents['first']) - 1)];
$second_opponent = $my_arena_opponents['second'][rand(0, count($my_arena_opponents['second']) - 1)];
if($new == true) {
mysql_query("INSERT INTO `arena` SET `user` = '".$dm['id']."', `opponent` = '$first_opponent', `opponent2` = '$second_opponent', `time` = '".time()."'");
}
else
{
mysql_query("UPDATE `arena` SET `opponent` = '$first_opponent', `opponent2` = '$second_opponent', `time` = '".time()."' WHERE `user` = '".$dm['id']."'");
}
if($return) {
return array('first' => $first_opponent, 'second' => $second_opponent);
}
}
?>