Файл: modules/arena_group/function.php
Строк: 521
<?PHP
# формировка и добавление ботов
function add_arena_group_bots($id_arena)
{
# Подсчет пользователей участвующих в нападении
$k_us = mysql_result(mysql_query("SELECT COUNT(*) FROM `group_arena_us` WHERE `arena`='".(int)$id_arena."'"),0);
# Подсчет количества ботов
if($k_us <= 10) $k_bot = $k_us + rand(1, 5);
else
if($k_us > 10 && $k_us <= 30) $k_bot = $k_us + rand(5, 15);
else
if($k_us > 30 && $k_us <= 60) $k_bot = $k_us + rand(9, 30);
else
if($k_us > 30 && $k_us <= 80) $k_bot = $k_us + rand(20, 60);
else
if($k_us > 80) $k_bot = $k_us + rand(45, 90);
for ($x=0; $x++ < $k_bot;)
{
$arr_bot=mysql_fetch_array(mysql_query("Select `id`, `max_life` from `bots` WHERE `type`='2' ORDER BY RAND()"));
mysql_query("INSERT INTO `arena_group_bots` SET `arena`='".(int)$id_arena."', `life`='".$arr_bot['max_life']."', `id_bot`='".$arr_bot['id']."'");
}
}
# Босс наносит урон
function kick_us_group_gl()
{
global $arr_arena, $user;
$zashit_us = zashit_us($user['id']);
$uron_bot = uron_bot($id_bot);
$uron_end_us = (int)($arr_arena['boss_sila'] - $zashit_us); // Урон наносимый пользователю
if($uron_end_us <= 0)
{
$uron_end_us = rand(1, 9);
}
if($uron_end_us)
{
if($user['health'] - $uron_end_us <= 0) $health = 1; else $health = $user['health'] - $uron_end_us;
mysql_query ('UPDATE `user` SET `health`="'.$health.'" WHERE `id`="'.(int)$user['id'].'"');
$mess = '<strong>'.$arr_arena['boss_name'].'</strong> наносит Вам урон <strong>'.$uron_end_us.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `us`='".$user['id']."', `privat`='".$user['id']."'");
$mess = '<strong>'.$arr_arena['boss_name'].'</strong> наносит игроку '.login($user['id']).' урон <strong>'.$uron_end_us.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `us`='".$user['id']."', `no_privat`='".$user['id']."'");
}
}
# Бот наносит урон
function kick_us_group()
{
global $arr_arena, $bot_arr, $user;
$id_bot = $bot_arr['id_bot'];
$zashit_us = zashit_us($user['id']);
$uron_bot = uron_bot($id_bot);
$uron_end_us = (int)($uron_bot - $zashit_us); // Урон наносимый пользователю
if($uron_end_us <= 0)
{
$uron_end_us = rand(1, 9);
}
if($uron_end_us && !mysql_result(mysql_query("SELECT `ezontrop` FROM `arena_group_bots` WHERE `id_bot`='".(int)$id_bot."'"),0))
{
if($user['health'] - $uron_end_us <= 0) $health = 1; else $health = $user['health'] - $uron_end_us;
mysql_query ('UPDATE `user` SET `health`="'.$health.'" WHERE `id`="'.(int)$user['id'].'"');
$mess = '<strong>'.login_bot($id_bot).'</strong> наносит Вам урон <strong>'.$uron_end_us.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `us`='".$user['id']."'");
}
}
# функция просчета выполнения умений
function um_us_group($id, $um, $arena, $time_kick)
{
global $user, $bot_arr;
$us = mysql_fetch_array(mysql_query("SELECT * FROM `bots` WHERE `id`='".(int)$id."'"));
$um = mysql_fetch_array(mysql_query("SELECT * FROM `umenija` WHERE `id`='".(int)$um."'"));
if(!$us['id'])
{
$mess = 'Ошибка в запросе! <br /> Вероятнее всего Вы самостоятельно внесли данные в запрос!';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".$id."', `us`='".$user['id']."'");
return 'err';
}
else
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `umenija_us` WHERE `us`='".(int)$user['id']."' AND `um`='".(int)$um['id']."'"),0))
{
$mess = 'У Вас не активировано это умение!';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".$id."', `us`='".$user['id']."'");
return 'err';
}
else
if(!mysql_result(mysql_query("SELECT `id` FROM `umenija_us` WHERE `time`<".time()." AND `us`='".(int)$user['id']."' AND `um`='".(int)$um['id']."'"),0))
{
$mess = 'Умение еще не восстановилось!';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".$id."', `us`='".$user['id']."'");
return 'err';
}
else
if(mysql_result(mysql_query("SELECT `mana` FROM `umenija` WHERE `id`='".(int)$um['id']."'"),0) > $user['mana'])
{
$mess = 'Не достаточно маны для совершения этого заклинания!';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".$id."', `us`='".$user['id']."'");
return 'err';
}
else
{
# Эзонтропию проверяем
if($bot_arr['ezontrop'])
{
mysql_query ("UPDATE `arena_group_bots` SET `time_up`=".(time()+$time_kick).", `ezontrop` = `ezontrop`-1 WHERE `id`='".(int)$bot_arr['id']."'");
}
else
{
mysql_query ("UPDATE `arena_group_bots` SET `time_up`=".(time()+$time_kick)." WHERE `id`='".(int)$bot_arr['id']."'");
}
# Снимаем ману
mysql_query ("UPDATE `user` SET `mana`=`mana`-".mysql_result(mysql_query("SELECT `mana` FROM `umenija` WHERE `id`='".(int)$um['id']."'"),0)." WHERE `id`='".(int)$user['id']."'");
// Лечение
if($um['type'] == 1)
{
$uron = mysql_result(mysql_query("SELECT `uron` FROM `umenija` WHERE `id`='".$um['id']."' LIMIT 1"),0);
if($user['health'] + $uron >= $user['max_health']) $health = $user['max_health']; else $health = (int)abs($user['health'] + $uron);
# Исцеляем играка
mysql_query ('UPDATE `user` SET `health`="'.$health.'" WHERE `id`="'.(int)$user['id'].'"');
# Обновляем влемя активации умения
mysql_query ('UPDATE `umenija_us` SET `time`="'.(time()+$um['time']).'" WHERE `um`="'.(int)$um['id'].'"');
# Пишем оповещение в чат
$mess = 'Вы исцелили себя применив заклинание <strong>'.$um['name'].'</strong>';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".$id."', `us`='".$user['id']."'");
}
else
// Урон
if($um['type'] == 2)
{
$uron = mysql_result(mysql_query("SELECT `uron` FROM `umenija` WHERE `id`='".$um['id']."' LIMIT 1"),0);
$zashit = zashit_us($id);
$uron_end = $uron - $zashit;
if($uron_end <= 0)
{
$uron_end = rand(1, 9);
}
if($bot_arr['life'] - $uron_end < 0) $health = 1; else $health = $bot_arr['life'] - $uron_end;
mysql_query ('UPDATE `arena_group_bots` SET `life`="'.$health.'" WHERE `id`="'.(int)$bot_arr['id'].'"');
$mess = 'Вы наносите урон ('.$uron_end.' ед.) монстру по имени <strong>'.login_bot($id).'</strong> применив заклинание <strong>'.$um['name'].'</strong>';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".(int)$bot_arr['id_bot']."', `us`='".$user['id']."'");
}
else
// Эзонтропия
if($um['type'] == 3)
{
$uron = mysql_result(mysql_query("SELECT `uron` FROM `umenija` WHERE `id`='".$um['id']."'"),0);
if(mysql_result(mysql_query("SELECT `ezontrop` FROM `arena_group_bots` WHERE `id`='".(int)$bot_arr['id']."'"),0))
{
$mess = '<strong>'.login_bot($id).'</strong> уже оглушен, по этому на него не действуют заклинания типа <strong>"Эзонтропия"</strong>';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".(int)$bot_arr['id_bot']."', `us`='".$user['id']."'");
return 'err';
}
else
{
mysql_query ("UPDATE `arena_mess_group` SET `ezontrop`='".$uron."', `hod`='".$user['id']."' WHERE `id`='".(int)$bot_arr['id']."'");
$mess = 'Монстр <strong>'.login_bot($id).'</strong> оглушен на <strong>'.$uron.' ход.</strong>';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arena."', `bot`='".(int)$bot_arr['id_bot']."', `us`='".$user['id']."'");
}
}
}
}
# функция просчета выполнения умений в сражении с боссом
function um_us_group_gl($um)
{
global $user, $arr_arena;
$arena = $arr_arena['id'];
$um = mysql_fetch_array(mysql_query("SELECT * FROM `umenija` WHERE `id`='".(int)$um."'"));
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `umenija_us` WHERE `us`='".(int)$user['id']."' AND `um`='".(int)$um['id']."'"),0))
{
$mess = 'У Вас не активировано это умение!';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arena."', `privat`='".$user['id']."', `us`='".$user['id']."'");
return 'err';
}
else
if(!mysql_result(mysql_query("SELECT `id` FROM `umenija_us` WHERE `time`<".time()." AND `us`='".(int)$user['id']."' AND `um`='".(int)$um['id']."'"),0))
{
$mess = 'Умение еще не восстановилось!';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arena."', `privat`='".$user['id']."', `us`='".$user['id']."'");
return 'err';
}
else
if(mysql_result(mysql_query("SELECT `mana` FROM `umenija` WHERE `id`='".(int)$um['id']."'"),0) > $user['mana'])
{
$mess = 'Не достаточно маны для совершения этого заклинания!';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arena."', `privat`='".$user['id']."', `us`='".$user['id']."'");
return 'err';
}
else
{
# Снимаем ману
mysql_query ("UPDATE `user` SET `mana`=`mana`-".mysql_result(mysql_query("SELECT `mana` FROM `umenija` WHERE `id`='".(int)$um['id']."'"),0)." WHERE `id`='".(int)$user['id']."'");
// Лечение
if($um['type'] == 1)
{
if($user['health'] + $um['uron'] >= $user['max_health']) $health = $user['max_health'];
else
$health = $user['health'] + $um['uron'];
# Исцеляем игрока
mysql_query ('UPDATE `user` SET `health`="'.$health.'" WHERE `id`="'.(int)$user['id'].'"');
# Обновляем влемя активации умения
mysql_query ('UPDATE `umenija_us` SET `time`="'.(time()+$um['time']).'" WHERE `um`="'.(int)$um['id'].'"');
# Пишем оповещение в чат
$mess = 'Вы исцелили себя применив заклинание <strong>'.$um['name'].'</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arena."', `privat`='".$user['id']."', `us`='".$user['id']."'");
# Пишем оповещение в чат
$mess = ''.$user['nick'].' исцелил себя применив заклинание <strong>'.$um['name'].'</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arena."', `no_privat`='".$user['id']."', `us`='".$user['id']."'");
}
else
// Урон
if($um['type'] == 2)
{
$uron_end = $um['uron'] - $arr_arena['boss_zahhit'];
if($uron_end <= 0)
{
$uron_end = rand(1, 9);
}
if($arr_arena['boss_life'] - $uron_end < 0) $health = 1; else $health = $arr_arena['boss_life'] - $uron_end;
mysql_query ('UPDATE `arena_group` SET `boss_life`="'.$health.'" WHERE `id`="'.(int)$arr_arena['id'].'"');
# Пишем оповещение в чат
$mess = 'Вы наносите урон ('.$uron_end.' ед.) монстру <strong>'.$arr_arena['boss_name'].'</strong> применив заклинание <strong>'.$um['name'].'</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `privat`='".$user['id']."', `us`='".$user['id']."'");
# Пишем оповещение в чат
$mess = ''.$user['nick'].' наносит урон ('.$uron_end.' ед.) монстру <strong>'.$arr_arena['boss_name'].'</strong> применив заклинание <strong>'.$um['name'].'</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `no_privat`='".$user['id']."', `us`='".$user['id']."'");
}
else
// Эзонтропия
if($um['type'] == 3)
{
# Пишем оповещение в чат
$mess = '<strong>'.$user['nick'].'</strong>, <strong>'.$arr_arena['boss_name'].'</strong> имеет устойчивость к эзонтропии!';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `privat`='".$user['id']."', `us`='".$user['id']."'");
}
}
}
#функция просчета конечного урона от 1 удара ( Главарь)
function uron_end_gl($ruka, $um)
{
global $arr_arena, $user;
# Выбираем случайного пользователя которому наносим урон
$us_at_id = mysql_result(mysql_query("SELECT `us` FROM `arena_group_us` WHERE `arena` = '".(int)$arr_arena."' ORDER BY RAND() LIMIT 1"),0);
$us_at = mysql_fetch_array(mysql_query("Select * from `user` WHERE id='".(int)$us_at_id."'"));
$zashit_us = zashit_us($us_at['id']);
$uron_us = uron_us($user['id'], $ruka);
$uron_end_us = (int)($arr_arena['boss_sila'] - $zashit_us); // Урон наносимый пользователю
$uron_end_bot = (int)($uron_us - $arr_arena['boss_zahhit']); // Урон наносимый боту
/*~~~~~~~*/
if($uron_end_bot <= 0)
{
$uron_end_bot = rand(1, 9);
}
if($uron_end_bot && !$um)
{
if($arr_arena['boss_life'] - $uron_end_bot < 0) $health = 1; else $health = $arr_arena['boss_life'] - $uron_end_bot;
mysql_query ('UPDATE `arena_group` SET `boss_life`="'.$health.'" WHERE `id`="'.(int)$arr_arena['id'].'"');
$mess = 'Вы нанесли <strong>'.$arr_arena['boss_name'].'</strong> урон <strong>'.$uron_end_bot.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `privat`='".$user['id']."'");
$mess = '<strong>'.$user['nick'].'</strong> наносит <strong>'.$arr_arena['boss_name'].'</strong> урон <strong>'.$uron_end_bot.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess_group_gl` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `no_privat`='".$user['id']."'");
}
/*~~~~~~~*/
if($uron_end_us <= 0)
{
$uron_end_us = rand(1, 9);
}
if($uron_end_us)
{
if($us_at['health'] - $uron_end_us < 0) $health = 1; else $health = $us_at['health'] - $uron_end_us;
mysql_query ('UPDATE `user` SET `health`="'.$health.'" WHERE `id`="'.(int)$us_at['id'].'"');
$mess = '<strong>'.$arr_arena['boss_name'].'</strong> наносит Вам урон <strong>'.$uron_end_us.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `privat`='".$us_at['id']."'");
$mess = '<strong>'.$arr_arena['boss_name'].'</strong> наносит игроку <strong>'.$us_at['nick'].'</strong> урон <strong>'.$uron_end_us.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `no_privat`='".$us_at['id']."'");
}
}
#функция просчета конечного урона от 1 удара (бот в групповом сражении)
function uron_end_bot_group($ruka, $time_kick)
{
global $arr_arena, $bot_arr, $user;
# Эзонтропию проверяем
if($bot_arr['ezontrop'])
{
mysql_query ("UPDATE `arena_group_bots` SET `time_up`=".(time()+$time_kick).", `ezontrop` = `ezontrop`-1 WHERE `id`='".(int)$bot_arr['id']."'");
}
else
{
mysql_query ("UPDATE `arena_group_bots` SET `time_up`=".(time()+$time_kick)." WHERE `id`='".(int)$bot_arr['id']."'");
}
$id_bot = $bot_arr['id_bot'];
$zashit_bot = zashit_bot($id_bot);
$uron_us = uron_us($user['id'], $ruka);
$uron_end_bot = (int)($uron_us - $zashit_bot); // Урон наносимый боту
if($uron_end_bot <= 0)
{
$uron_end_bot = rand(1, 9);
}
if($uron_end_bot)
{
$health = $bot_arr['life'] - $uron_end_bot;
mysql_query ('UPDATE `arena_group_bots` SET `life`="'.$health.'" WHERE `id`="'.(int)$bot_arr['id'].'"');
$mess = 'Вы нанесли <strong>'.login_bot($id_bot).'</strong> урон <strong>'.$uron_end_bot.' ед.</strong>';
mysql_query("INSERT INTO `arena_mess_group` SET `mess`='".$mess."', `arena`='".(int)$arr_arena['id']."', `us`='".$user['id']."'");
}
}
# Удаление пользователей с похода которые не нанесли удар за отведенное время
function del_us_for_late()
{
global $arr_arena;
$print = mysql_query("select `us_battle` from `arena_group_bots` WHERE `time_up` < ".time()." AND `arena`='".$arr_arena['id']."'");
while($arr = mysql_fetch_array($print))
{
mysql_query ("DELETE FROM `arena_group_us` WHERE `us` = '".$arr['us_battle']."' AND `arena`='".$arr_arena['id']."'");
# Освобождаем бота от соперника
mysql_query ("UPDATE `arena_group_bots` SET `us_battle`='0' WHERE `us_battle` = '".$arr['us_battle']."' AND `arena`='".$arr_arena['id']."'");
$content = 'Вы не нанесли ответный удар за отведенное время! В связи с чем потерпели поражение! <br /> На этом для Вас путешествие окончено!';
mail_go($arr['us_battle'], $content, 1);
}
# Приписываем поражение юзерам
if($arr_arena['level'] == 3 && mysql_result(mysql_query("SELECT COUNT(*) FROM `arena_group` WHERE `time_up` < ".time()." AND `id`='".$arr_arena['id']."'"),0))
{
mysql_query ("UPDATE `arena_group` SET `win`='bot' WHERE `id`='".$arr_arena['id']."'");
}
/*
# Удаляем если нет больше живых воинов
if($arr_arena['level'] && !mysql_result(mysql_query("SELECT COUNT(*) FROM `arena_group_us` WHERE `arena`='".$arr_arena['id']."'"),0))
{
mysql_query ("TRUNCATE `arena_group`");
mysql_query ("TRUNCATE `arena_group_bots`");
mysql_query ("TRUNCATE `arena_group_us`");
mysql_query ("TRUNCATE `arena_mess_group`");
mysql_query ("TRUNCATE `arena_mess_group_gl`");
}
*/
}
?>