Файл: core/us_functions.php
Строк: 148
<?PHP
#Определяем логин бота
function login_bot($id)
{
$arr = mysql_fetch_array(mysql_query("SELECT `name` FROM `bots` WHERE `id` = '".(int)$id."'"));
if($arr['name']) $login = $arr['name'];
else
$login = '[Удален]';
return $login;
}
#Определяем логин пользователя
function login($id, $a=true)
{
$arr = mysql_fetch_array(mysql_query("SELECT `nick`, `rasa` FROM `user` WHERE `id` = '".(int)$id."'"));
if($arr['nick']) $login = $arr['nick'];
else
$login = '[Удален]';
if($arr['nick'])
{
$login = ''.($a ? '<a href="/us'.(int)$id.'">' : '').'
'.($arr['rasa'] ? '<img width="14" src="/images/guild/'.$arr['rasa'].'.png">' : '').' <strong>'.$arr['nick'].'</strong>
'.($a ? '</a>' : '').'';
}
return $login;
}
#Определяем ТОЛЬКО логин пользователя (нужен для некоторых функций)
function login_light($id)
{
$login = mysql_result(mysql_query("SELECT `nick` FROM `user` WHERE `id` = '".(int)$id."'"), 0);
if($login) $login = $login;
else
$login = '[Удален]';
return $login;
}
# Начисление жизней и маны
function add_life()
{
global $user;
# Начисление жизней
if(time() - $user['add_health_time'] >= 60 && $user['health'] < $user['max_health'])
{
$time_up = (int)abs((time() - $user['add_health_time']) / 60);
$health = $user['health'] + (5 * $time_up);
if($health > $user['max_health']) $health = $user['max_health'];
mysql_query ("UPDATE `user` SET `health`='".$health."', `add_health_time`='".time()."' WHERE `id`='".(int)$user['id']."'");
}
# Начисление маны
if(time() - $user['add_mana_time'] >= 60 && $user['mana'] < $user['max_mana'])
{
$time_up = (int)abs((time() - $user['add_mana_time']) / 60);
$health = $user['mana'] + (5 * $time_up);
$mana = $user['mana'] + 5;
if($health > $user['max_mana']) $mana = $user['max_mana'];
mysql_query ("UPDATE `user` SET `mana`='".$mana."', `add_mana_time`='".time()."' WHERE `id`='".(int)$user['id']."'");
}
}
# начисление уровня
function level()
{
global $user;
## Выводим индикатор опыта
if($user['opyt'] > 1000) $opyt = $user['opyt'] - (($user['level'] - 1) * 1000);
else if($user['opyt'] > 10000) $opyt = $user['opyt'] - (($user['level'] - 1) * 10000);
else if($user['opyt'] > 100000) $opyt = $user['opyt'] - (($user['level'] - 1) * 100000);
else if($user['opyt'] > 1000000) $opyt = $user['opyt'] - (($user['level'] - 1) * 1000000);
else
$opyt = $user['opyt'];
$prc = $opyt*100/1000;
if($prc > 100)$prc = $prc - 100;
$text ='
<div class="meter">
<span style="width: '.$prc.'%"></span>
<div class="text">Level:'.$user['level'].'</div>
</div>';
## Начисление уровня
// Вычисляем какой должен быть уровень у пользователя
$level = floor($user['opyt'] / 1000);
if($level >= $user['level'])
{
mysql_query('UPDATE `user` SET `level` = "'.($level+1).'", `ochki_harakteristik` = `ochki_harakteristik`+3, `ochki_umenij` = `ochki_umenij`+3 WHERE `id` = "'.$user['id'].'"');
$content = 'Уровень Вашего персонажа был повышен до '.($level+1).'! <br /> Было начислено по 3 очка для улучшения характеристик и открытия уменей персонажу!<br />
<a href="/us'.$user['id'].'"><button>Распределить очки</button></a>';
mail_go($user['id'], $content, 1);
$text .= $content;
}
return $text;
}
# заполненность рюкзака
function rjukzak_int()
{
global $user;
$dospehi = mysql_result(mysql_query("SELECT COUNT(*) FROM `dospehi_us` WHERE `us`='".$user['id']."' AND `activ`='0'"),0);
$oruzhie = mysql_result(mysql_query("SELECT COUNT(*) FROM `oruzhie_us` WHERE `us`='".$user['id']."' AND `activ`=''"),0);
$kol = $dospehi + $oruzhie;
return (int)$kol;
}
# информ меню (уведомления о новой почте и т.п.)
function info_menu()
{
global $user;
/*Новые сообщения*/
$new_mess = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `komu` = '".(int)$user['id']."' AND `adresat` != '".(int)$user['id']."' AND `active` = '0'"), 0);
if($new_mess)
{
$cont = '
<a href="/mail">
<img src="/images/pn_mail.png" alt="*" title="Почта">
'.($new_mess ? ' <font class="font_info" color="red"><strong>+'.$new_mess.'</strong></font>' : '').'
</a>';
}
return $cont;
}
# Показывать слово в зависимости от пола
function txt_pol($txt1, $txt2)
{
global $user;
return ($user['pol'] == 1 ? $txt1 : $txt2);
}
/*Проверка не в бане ли пользователь и вообще существует ли таков*/
function us_block($id)
{
$bann_time = mysql_result(mysql_query("SELECT `bann_time` FROM `user` WHERE `id` = '".(int)$id."'"), 0);
if($bann_time > time()) $result = time_autoformat($bann_time - time());
else
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".(int)$id."'"), 0)) $result = 'us_del';
else
$result = NULL;
/*Если пользовател не существует - us_del
Если в бане - показывает сколько осталось до окончания бана
Если грешков пользователь не имеет - 0*/
return $result;
}
# Обработка забаненого пользователя
function ban()
{
global $user;
if(us_block($user['id']) == 'us_del')
{
}
else
if(us_block($user['id']))
{
echo '
<div class="listing-information-two">
<font color="red">Ваш аккаунт заблокирован по причине: <br />
<b>'.$user['bann_com'].'</b>
</font> <br /><br />
Блокировка будет снята через: '.us_block($user['id']).'
</div>';
include H.'/core/foot.php';
exit;
}
}
# Нах оно так писалось хз, ну хер с ним, пускай будет
function reg()
{
global $user;
if(isset($user['id'])) header('Location: /index.php');
}
function only_reg()
{
global $user;
if(!isset($user['id'])) header('Location: /index.php');
}
# Проверяем не заблокирован ли IP пользователя
function ban_ip()
{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip` WHERE `ip`='".RealIp()."'"),0))
{
header('location: /ban_ip');
}
}
# Запрещаем писать в почту и гостевой, если мыло не подтвердили
function check_mail()
{
global $user;
if($user['mail_ok']) return true; else return false;
}
?>