Файл: core/sys.php
Строк: 184
<?php
include 'sql.php';
include 'func_user.php';
#error_repoting(0);
function head($title){
include './core/head.php';
/* Записываем где пользователь */
if($user['id']>0){
mysql_query("UPDATE `users` SET `where`='".$title."' WHERE `id`='".$user['id']."'");
}
}
session_start();
/* Настройки системы */
$q = mysql_query("SELECT * FROM `set`");
while($arr=mysql_fetch_assoc($q)) $set[$arr['id']]=$arr['value'];
/* Проверяем бан, если да дропаем куки*/
if($user['ban']==1)
{
head('Бан');
echo '<div id="error">Ваш персонаж был заблокирован!<br>
Причина: <b>'.$user['ban_why'].'</b>
</div>';
include 'foot.php';
exit;
}
/* Функция отфильтровки чисел */
function int($int)
{
return abs(intval($int));
}
/* Функция защиты от нежелательных действий */
function protect($text)
{
$text=str_replace('%','-%-',$text);
return trim(mysql_real_escape_string(htmlspecialchars($text, ENT_QUOTES, 'utf-8')));
}
/* Проверка GET данных */
foreach ($_GET as $check_url)
{
if (is_array($check_url) and !preg_match('#^(?:[a-z0-9_-/]+|.+(?!/))*$#i', $check_url))
{
session_start();
$_SESSION['note'] = 'ERROR 403. Недопустимый запрос!';
header ("Location: ../index.php");
exit;
}
}
unset($check_url);
/* Время */
function clock($time)
{
global $user;
$timep= date("j M Y год H:i:s", $time);
$time_p[0]=date("j n Y", $time);
$time_p[1]=date("H:i:s", $time);
if ($time_p[0]==date("j n Y", time()))$timep='Сегодня '.$time_p['1'];
if ($time_p[0]==date("j n Y", time()-86400))$timep='Вчера '.$time_p['1'];
if ($time_p[0]==date("j n Y", time()-172800))$timep='Позавчера '.$time_p['1'];
if ($time_p[0]==date("j n Y", time()-259200))$timep='3 дня назад '.$time_p['1'];
if ($time_p[0]==date("j n Y", time()-604800))$timep='Неделю назад '.$time_p['1'];
if ($time_p[0]==date("j n Y", time()-1209600))$timep='2 недели назад '.$time_p['1'];
$months_eng = array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
$months_rus = array('Января','Февраля','Марта','Апреля','Мая','Июня','Июля','Августа','Сентября','Октября','Ноября','Декабря');
$timep = str_replace($months_eng,$months_rus,$timep);
return $timep;
}
/* Функция постраничной навигации */
$page = isset($_GET['page']) ? int($_GET['page']) : 0; $i=0;
if($user['str'] != 0){
$set['str'] = $user['str'];
}
while($i<$page+$set['str'] or $i==0) $i = $i+100;
if($page+$set['str']>100) $pagefile = $page-$i+100;
else $pagefile = $page;
function pages($page, $total, $href, $num)
{
echo '<div class="text">';
if ($page) echo '<a href="'.$href.'page='.($page-$num).'">←</a> ';
else echo '←';
echo ' | ';
if ($total > $page + $num)
echo ' <a href="'.$href.'page='.($page + $num).'">→</a>';
else echo '→';
if($total>0)
{
echo '<br/>Страницы:';
$minus = $page-($num*3);
$plus = $page+($num*4);
if($minus<$total && $minus>0) echo ' <a href="'.$href.'page=0">1</a> ... ';
for($i=$minus; $i<$plus;)
{
if($i<$total && $i>=0)
{
$ii = floor(1+$i/$num);
if ($page==$i) echo ' <b>'.$ii.'</b>';
else echo ' <a id="l3" href="'.$href.'page='.$i.'">'.$ii.'</a>';
}
$i=$i+$num;
}
if($plus<$total)
{
$whole = ceil($total/$num);
echo ' ... <a id="l3" href="'.$href.'page='.($whole*$num-$num).'">'.$whole.'</a>';
}
if(isset($_GET['end'])){
$whole = ceil($total/$num);
header('Location: '.$href.'&page='.($whole*$num-$num).'');
}
}
echo '</div>';
}
/* Функция только для НЕ зарегистрированных пользователей */
function unreg()
{
global $user;
if($user)
{
header("Location: ../index.php");
}
}
/* Функция только для зарегистрированных пользователей */
function reg()
{
global $user;
if(empty($user['login']) and empty($user['password']))
{
header("Location: ../sign.php");
exit;
}
}
/* Функция для определения уровня пользователя */
function only_admin($level)
{
global $user;
if (!isset($user) or $user['admins'] < $level)
{
header("Location: ../index.php");exit;
}
}
/* Функция безопасного шифрования в MD5 */
function md5_sault($text)
{
return md5(md5('Game').md5(md5($text)));
}
if($user['id']>0){
/*Время в игре*/
mysql_query("UPDATE `users` SET `in_game`=`in_game`+1 WHERE `id`='".$user['id']."'");
/* HP/MP RESP */
$health_one = rand(5,10);// 5,10 hp один раз
/* Проверяем на вирусы */
if($user['virus']>0){
$vir = mysql_fetch_assoc(mysql_query("SELECT `virus`,`id` FROM `inventory` WHERE `id`='".$user['virus']."'"));
$health_one = $health_one - $vir['virus'];
}
/*---*/
$mp_one = rand(5,10);// 5,10 MP один раз
if($user['amulet']>0){
$amulet = mysql_fetch_assoc(mysql_query("SELECT * FROM `inventory` WHERE `id`='".$user['amulet']."'"));
$health_one = $health_one+$amulet['hp'];
$mp_one = $mp_one+$amulet['mp'];
}
if($user['dnk_roso']>0){
$health_one = $health_one*4;
$mp_one = $mp_one*4;
}
$t_health = 15;//15 секунд +5,10 hp
$hp = floor((time()-$user['health_resp'])/$t_health);
$heal = $health_one*$hp;
$count_heal = $user['health']+$heal;
if($user['health'] < $user['max_health'] and $hp > 0 and $user['health_resp'] > 0){
if($count_heal>$user['max_health']){
###echo $count_heal;
mysql_query("UPDATE `users` SET
`health`=".$user['max_health'].",
`health_resp`='0'
WHERE `id`='".$user['id']."'");
}else{
mysql_query("UPDATE `users` SET
`health`=`health`+".$heal.",
`health_resp`=".time()."
WHERE `id`='".$user['id']."'");
}
}
/* MP */
$mp = floor((time()-$user['mana_resp'])/$t_health);
$mana = $mp_one*$mp;
$count_mana = $user['mana']+$mana;
if($user['mana'] < $user['max_mana'] and $hp > 0 and $user['mana_resp'] > 0){
if($count_mana>$user['max_mana']){
mysql_query("UPDATE `users` SET
`mana`=".$user['max_mana'].",
`mana_resp`='0'
WHERE `id`='".$user['id']."'");
}else{
mysql_query("UPDATE `users` SET
`mana`=`mana`+".$mana.",
`mana_resp`=".time()."
WHERE `id`='".$user['id']."'");
}
}
/* Записываем уровень если опыт выше*/
$level = mysql_fetch_assoc(mysql_query("SELECT * FROM `level` WHERE `oput2`>='".$user['oput']."' ORDER BY `id` LIMIT 1"));
if($user['level'] < $level['id']){
/*Определем "дозатор" для перса*/
if($user['pers']==0){
$hp_level = 15;
$mp_level = 17;
}elseif($user['pers']==1){
$hp_level = 16;
$mp_level = 17;
}elseif($user['pers']==2){
$hp_level = 16;
$mp_level = 12;
}elseif($user['pers']==3){
$hp_level = 18;
$mp_level = 14;
}elseif($user['pers']==4){
$hp_level = 17;
$mp_level = 15;
}
mysql_query("UPDATE `users` SET
`level`=`level`+1,
`max_health`=`max_health`+".$hp_level.",
`health_resp`=".time().",
`max_mana`=`max_mana`+".$mp_level.",
`mana_resp`=".time().",
`journal`=`journal`+1,
`train`=`train`+1,
`skil_up`=`skil_up`+1
WHERE `id`='".$user['id']."'");
mysql_query("UPDATE `users` SET
`health`=`max_health`,
`mana`=`max_mana` WHERE `id`='".$user['id']."'");
mysql_query("INSERT INTO `journal` SET
`user_id`='".$user['id']."',
`text`='Поздравляем с получением нового уровня! <a href="train.php">Прокачка навыков</a>',
`time`='".time()."'");
}
/* Показываем новые оповещения */
if($user['journal']>0){
echo '<div class="name" style="text-align: center;"><a href="journal.php">Новых оповещений:</a><font color="orange">'.$user['journal'].'</font></div>';
}
/* Добавляем новый скил */
$skill_level = array(5,15,25);
if(in_array($user['level'],$skill_level)){
$add_skill = mysql_fetch_assoc(mysql_query("SELECT * FROM `skils` WHERE `pers_id`='".$user['pers']."' AND `level_need`='".$user['level']."'"));
$s_skill_user = mysql_query("SELECT * FROM `skils_user` WHERE `user_id`='".$user['id']."' AND `skil_id`='".$add_skill['id']."'");
if(mysql_num_rows($s_skill_user) == 0){
mysql_query("INSERT INTO `journal` SET
`user_id`='".$user['id']."',
`text`='Вы изучили новый скил <img src="img/skill/".$add_skill['id'].".png"> <b>".$add_skill['skil']."</b>',
`time`='".time()."'");
mysql_query("INSERT INTO `skils_user` SET
`user_id`='".$user['id']."',
`skil_id`='".$add_skill['id']."',
`mana`='".$add_skill['mana']."',
`uron`='".$add_skill['uron']."',
`hp`='".$add_skill['hp']."',
`str`='".$add_skill['str']."',
`def`='".$add_skill['def']."'
");
mysql_query("UPDATE `users` SET `journal`=`jpurnal`+1 WHERE `id`='".$user['id']."'");
}
}
/*Почта */
if($user['new_mess']>0){
echo '<div class="name"><img src="img/other/mail.png" alt=""> Новая почта: <a href="mail.php"><span style="color: #88b775; font-weight: bold;">+ '.$user['new_mess'].'</span></a></div>';
}
/* Лаборатории */
$test_lab = mysql_result(mysql_query("SELECT COUNT(id) FROM `lab_user` WHERE `user_id`='".$user['id']."' AND `time_dohod` < '".time()."' "),0);
if($test_lab > 0){
echo '<div class="name">Ваши рабочие в лабораториях попросили зайти к ним</div>';
}
/* Алуко */
if($_SERVER['PHP_SELF']!='/index.php' AND $_SERVER['PHP_SELF']!='/aluko.php'){
$aluko = mysql_fetch_assoc(mysql_query("SELECT * FROM `aluko` ORDER BY `id` LIMIT 1"));
if($aluko['health']>0){
echo '<div class="row"><img src="img/aluko/1.png"> Люди: - На помощь!На нас опять напал Алуко!<br>
<a href="aluko.php">Помочь</a></div>';
}
}
/* ----- */
}
/* Функция отображения низа */
function foot(){
include 'foot.php';
}
?>