Вход Регистрация
Файл: pages/minigames/travel.php
Строк: 231
<?php
// Physical module map v50.6: public URL stays clean while code lives in /pages.
if (!defined('GAME_ROOT')) define('GAME_ROOT'dirname(__DIR__2));
chdir(GAME_ROOT);
if (
PHP_SAPI !== 'cli') { $_SERVER['PHP_SELF']='/travel.php'$_SERVER['SCRIPT_NAME']='/travel.php'; }

/* Обновление игры под PHP 8.4 / PDO и усиление безопасности: by Метриум (Стэлп) */ 
include './system/common.php';  
include 
'./system/functions.php';
include 
'./system/user.php';
 include 
'./system/menu.php';

if(!
$user) {
header('location: /');
exit;}

$title 'Набег';    
include 
'./system/h.php';
echo
'<div class="title">'.$title.'</div>';
  
$travel db_query('SELECT * FROM `travel` WHERE `user` = "'.$user['id'].'"');  
  
$travel db_fetch_array($travel);
  
    
$travel_boss db_query('SELECT * FROM `travel_boss` WHERE `id` = "'.$travel['boss'].'"');  
  
$travel_boss db_fetch_array($travel_boss);
  
     if(
db_result(db_query('SELECT * FROM `travel` WHERE `user` = "'.$user['id'].'"'),0) == 0) {//Добавляем в бд, если зашел в первый раз
db_query('INSERT INTO `travel` (`user`) VALUES ("'.$user['id'].'")');
header('location: /travel');  
exit;
}
  
  if(
$travel['h'] == '0' && $travel['time'] == '0' && $travel['step'] == '0') {//0-й этап
  
$h _string(_num($_GET['id'] ?? 0)); //Оприделяем какой набег
  
  
if($h == '1'){
      
$h=1;
      
$h2=1;
      
$boss=mt_rand(1,3);
      
$boss_stat=mt_rand(35,110);
      }
  if(
$h == '2'){
      
$h=2;
      
$h2=2;
      
$boss=mt_rand(4,8);
      
$boss_stat=mt_rand(110,400);
  }
  if(
$h == '3'){
      
$h=3;
      
$h2=4;
      
$boss=mt_rand(9,12);
      
$boss_stat=mt_rand(400,1500);
  }
  if(
$h == '4'){
      
$h=4;
      
$h2=8;
      
$boss=mt_rand(13,15);
      
$boss_stat=mt_rand(1500,4500);
  }
  if(
$h == '5'){
      
$h=5;
      
$h2=12;
      
$boss=mt_rand(16,18);
      
$boss_stat=mt_rand(4500,9000);
  } 
      
      
  if(
$h) {
$hs = ($h2 * (60 60));         
db_query('UPDATE `travel` SET `h` = "'.$h.'", `step` = "1", `boss` = "'.$boss.'", `user_hp` = "'.$user['vit'].'", `boss_hp` = "'.$boss_stat.'", `boss_attack` = "'.$boss_stat.'", `boss_def` = "'.$boss_stat.'", `time` = "'.(time() + $hs).'" WHERE `user` = "'.$user['id'].'"');


        
// Place
    // 2 - Набег
    // Type
    // 0 - Провести n-е кол-во боев (неважно победа или поражени)
    // 1 - Только победы
    
$req db_query ('select * from `task_user` WHERE (`user`="'.$user['id'].'") AND (`complete`="0")');
    if (
db_num_rows ($req) != 0) {
        
while (
$t db_fetch_array ($req)) {
$task db_fetch_array(db_query ('SELECT * FROM `task` WHERE (`id`="' $t['task'] . '")'));
     if (
$t['how'] < $task['how']){
         if(
$task['place']=='2' AND $task['type']=='0') {                         
db_query ('UPDATE `task_user` SET `how`=`how`+1 WHERE (`user`="' $user['id'] . '") AND (`task`="' $task['id'] . '")');
    }
  }
 }
}


header('location: /travel');   
}



echo
'  <div class="empty_block">
<table> <tbody><tr>
<td width="23%">
<img src="/images/travel/location_1.png">
</td><td> 
Долина ветров <br>
1 час
</td></tr>
</tbody></table>
<form action="/travel?id=1" method="post">
<center><input class="button" type="submit" value="В долину"/></center>
</form>
</div><div class="line"></div>'
;

echo
'  <div class="empty_block">
<table> <tbody><tr>
<td width="23%">
<img src="/images/travel/location_2.png">
</td><td> 
Ущелье грома <br>
'
.($user['str'] >= 110 '2 часа':'Требуется 110 силы').'
</td></tr>
</tbody></table>
<form action="/travel?id=2" method="post">
<center> '
.($user['str'] >= 110 '<input class="button" type="submit" value="В ущелье"/>':'<div class="button2">В ущелье</div>').'</center>
</form>
</div><div class="line"></div>'
;

echo
'  <div class="empty_block">
<table> <tbody><tr>
<td width="23%">
<img src="/images/travel/location_3.png">
</td><td> 
Алая пустыня <br>
'
.($user['str'] >= 400 '4 часа':'Требуется 400 силы').'
</td></tr>
</tbody></table>
<form action="/travel?id=3" method="post">
<center> '
.($user['str'] >= 400 '<input class="button" type="submit" value="В пустыню"/>':'<div class="button2">В пустыню</div>').'</center>
</form>
</div><div class="line"></div>'
;

echo
'  <div class="empty_block">
<table> <tbody><tr>
<td width="23%">
<img src="/images/travel/location_4.png">
</td><td> 
Мглистые горы <br>
'
.($user['str'] >= 1500 '8 часов':'Требуется 1500 силы').'
</td></tr>
</tbody></table>
<form action="/travel?id=4" method="post">
<center> '
.($user['str'] >= 1500 '<input class="button" type="submit" value="В горы"/>':'<div class="button2">В горы</div>').'</center>
</form>
</div><div class="line"></div>'
;

echo
'  <div class="empty_block">
<table> <tbody><tr>
<td width="23%">
<img src="/images/travel/location_5.png">
</td><td> 
Древний лес <br>
'
.($user['str'] >= 4500 '12 часов':'Требуется 4500 силы').'
</td></tr>
</tbody></table>
<form action="/travel?id=5" method="post">
<center> '
.($user['str'] >= 4500 '<input class="button" type="submit" value="В лес"/>':'<div class="button2">В лес</div>').'</center>
</form>
</div><div class="line"></div>'
;


echo
' <div class="empty_block item_center">
В набегах можно зарабатывать опыт и серебро. Чем продолжительнее набег, тем больше награда!</div>
<div class="line"></div>'
;

}




    if(
$travel['step'] == '1'){//1-й этап
if($travel['time'] > time()) {

echo
'
<div class="empty_block item_center">
<img src="/images/travel/travel_progress.png"> <br>
Ваш герой участвует в набеге. <br>
До конца осталось '
._time($travel['time'] - time()).'<br/>

<a href="/" class="btn"><span class="end"><span class="label">На главную</div></a>
</div><div class="line"></div>'
;

}else{

  if((
$_GET['enter'] ?? '') === 'true') {
    
db_query('UPDATE `travel` SET `step` = "2" WHERE `user` = "'.$user['id'].'"');
    
header('location: /travel');
    exit;
  }
  
echo
'
<div class="empty_block item_center">
Вы встретили '
.$travel_boss['name2'].' <br/>
<img src="/images/travel/'
.$travel['boss'].'.png"> <br>

<a href="/travel?enter=true" class="btn"><span class="end"><span class="label">Напасть</div></a>
</div><div class="line"></div>'
;



  }
}  
  
  
      if(
$travel['step'] == '2'){//2-й этап

  
if($travel['boss_hp'] <= '0' OR $travel['user_hp'] <= '0') {
db_query("UPDATE `travel` SET `step` = '3' WHERE `user` = '".$user['id']."' LIMIT 1");
header("Location:/travel");
exit;
  }


  if (isset(
$_GET['attack'])){
$my_attack _string(mt_rand($user['str'] / 3.5,$user['str'] / 3) - mt_rand($travel['boss_def'] / 12,$travel['boss_def'] / 9));
if(
$my_attack <= '0'){ $my_attack 2;}
$boss_atk _string(mt_rand($travel['boss_attack'] / 3.5,$travel['boss_attack'] / 3) - mt_rand($user['def'] / 12,$user['def'] / 9));
if(
$boss_atk <= '0'){ $boss_atk 2;}      
      
      

 
$my "<b>Вы</b> нанесли "._string($my_attack)." урона";
$boss "<b>".$travel_boss['name']."</b> нанес "._string($boss_atk)." урона";
$msg "$my <br/> $boss";
db_query("update `travel` set    `boss_hp` = `boss_hp` - '".$my_attack."', `user_hp` = `user_hp` - '".$boss_atk."' where (`user` = '".$user['id']."')");
db_query("INSERT INTO `travel_log` SET
            `id_user`='"
.$user['id']."',
            `text`='"
.$msg."'");
    
header("Location:/travel");
    exit;
   }

   
   
   
   
  echo
' <div class="empty_block">
    <table align="center"> <tbody><tr>
 <td style="width:33%;">
 <span style="float:right;"> <b>Вы</b> </span> <br>
 <span style="float:right;"> <img src="/images/icon/health.png" alt="hp" width="15"> '
._string($travel['user_hp']).' </span>               
    </td><td> '
;
  if(
$user['sex'] == 'man'){
     echo
' <img src="/images/user/man.png" alt="user" width="48">';}
  if(
$user['sex'] == 'woman'){
     echo
' <img src="/images/user/woman.png" alt="user" width="48">';}
     echo
'<td>
  <td> <img src="'
.$HOME.'/images/travel/'.$travel['boss'].'.png" alt="*" width="48"> </td>
  <td style="width:33%;">
    <span style="float:left;"> <b>'
.$travel_boss['name'].'</b> </span> <br>
    <span style="float:left;"> <img src="/images/icon/health.png" alt="hp" width="15"> '
._string($travel['boss_hp']).'  </span> 
  </td></tr>
 </tbody></table>
</div> '
;

echo
' <center><a href="/travel?attack"class="btn"><span class="end"><span class="label"> Атаковать </a></div></center>';

   
$ca=db_result(db_query("SELECT COUNT(*) FROM `travel_log`"),0);
$req db_query("SELECT * FROM `travel_log` where `id_user` = '".$user['id']."' ORDER by `id` DESC LIMIT 3  ");
$avto=db_num_rows($req);
if(
$avto==0){
     echo
'<div class="main">
<div class="menuList"> Нет истории боя </div> '
;
}else{
     echo
' <div class="main">
<div class="menuList"> История боя </div> <div class="block">'
;
while(
$log db_fetch_array($req))
{
     echo
' '.$log['text'].' <br/>';
}
echo
' </div>';
}
      }

            
            
if(
$travel['step'] == '3'){//3-й этап

if($travel['boss_hp'] <= '0'){ //Награда при победе
$_gold=min(10,max(1,(int)$travel['h']));
$_silver=round($travel['boss_attack']+$travel['user_hp']);
$_exp=round($travel['boss_attack']+$travel['user_hp']);}
if(
$travel['user_hp'] <= '0'){ //Награда при поражении
$_gold=0;
$_silver=round($travel['boss_attack']-$travel['boss_hp']);
$_exp=round($travel['boss_attack']/2);}



    if(
$clan_memb && $clan_memb['v'] > 0) {  //Верность клану
$_exp += round($_exp/100) * $clan_memb['v'];
}
  if(
$premium) {$_exp+= round($_exp100) * 25;} //Если премик


      
if(($_SERVER['REQUEST_METHOD']??'GET')==='POST' && (string)($_POST['travel_end']??'')==='1') {
    
security_require_csrf();
          
        
          
    
db_query('UPDATE `travel` SET `h` = "0", 
                                `step` = "0",
                                `boss` = "0",
                                `user_hp` = "0",
                                `boss_hp` = "0",
                                `boss_attack` = "0",
                                `boss_def` = "0",
                                `time` = "0" WHERE `user` = "'
.$user['id'].'"');
    
    if(
$travel['user_hp'] <= '0'){ //Награда при поражении
db_query('UPDATE `users` SET `s` = `s` + "'.(int)round($_silver/2).'", `exp` = `exp` + "'.(int)round($_exp/2).'" WHERE `id` = "'.$user['id'].'"');
     if(
$clan) {//Если в клане 
db_query('UPDATE `clans`     SET `exp` = `exp` + '.(int)round($_exp/2).' WHERE `id` = "'.$clan['id'].'"'); //Плюсуем в клан
db_query('UPDATE `clan_memb` SET `exp` = `exp` + '.(int)round($_exp/2).' WHERE `clan` = "'.$clan['id'].'" AND `user` = "'.$user['id'].'"'); //Плюсуем учаснику клана
  

}
    if(
$travel['boss_hp'] <= '0'){ //Награда при победе
$grantedGold=game_economy_award_gold((int)$user['id'],(int)$_gold,'travel',150); $_gold=$grantedGold;
db_execute('UPDATE `users` SET `s`=`s`+:s,`exp`=`exp`+:e WHERE `id`=:u',['s'=>(int)$_silver,'e'=>(int)$_exp,'u'=>(int)$user['id']]);
     if(
$clan) {//Если в клане 
db_query('UPDATE `clans`     SET `exp` = `exp` + '.(int)$_exp.' WHERE `id` = "'.$clan['id'].'"'); //Плюсуем в клан
db_query('UPDATE `clan_memb` SET `exp` = `exp` + '.(int)$_exp.' WHERE `clan` = "'.$clan['id'].'" AND `user` = "'.$user['id'].'"'); //Плюсуем учаснику клана
} }
  
  
header('location: /travel');
  }
  
  
  
  
  
  
  
  
  
if(
$travel['boss_hp'] <= '0'){    
    echo 
'Победа! 
<div class="empty_block item_center">
<img src="/images/travel/travel_win.png"> <br>
    <img src="/images/icon/gold.png"> '
.(int)$_gold.'  
    <img src="/images/icon/silver.png"> '
.(int)$_silver.'
    <img src="/images/icon/exp.png"> '
.(int)$_exp.'<br>
<form method="post" action="/travel" class="inline-form">'
.security_csrf_field().'<input type="hidden" name="travel_end" value="1"><button class="btn" type="submit">Забрать награду</button></form>
</div><div class="line"></div>'
;
}

if(
$travel['user_hp'] <= '0'){
    echo 
'Поражение! 
<div class="empty_block item_center">
<img src="/images/travel/travel_lose.png"> <br>
    <img src="/images/icon/silver.png"> '
.(int)round($_silver/2).'
    <img src="/images/icon/exp.png"> '
.(int)round($_exp/2).' <br>
<form method="post" action="/travel" class="inline-form">'
.security_csrf_field().'<input type="hidden" name="travel_end" value="1"><button class="btn" type="submit">Забрать награду</button></form>
</div><div class="line"></div>'
;
}

    


    
}
            
            
            
            
include 
'./system/f.php';
?>
Онлайн: 2
Реклама