<?php
// основной файл локации
if(!$user){header("Location: index.php?l=main"); exit;} //Выброс неавторизованных
$locat=mysql_fetch_array(mysql_query("SELECT * FROM `location` WHERE `id`='$user[locatid]' LIMIT 1"),MYSQL_ASSOC);
if(!$locat)
{
mysql_query("UPDATE `user` SET `locatid`='1' WHERE `id`='$user[id]' LIMIT 1");
header("Location: index.php?l=main"); exit;
}
//
$BASE=array(); $MONSTR=array(); $ANOMAL=array(); $ARTEFACT=array();
//
$BASE=eject_coord_base($locat['card']);
$MONSTR=eject_coord_base($locat['monstr']);
$ANOMAL=eject_coord_base($locat['anomal']);
$ARTEFACT=eject_coord_base($locat['artefact']);
//  Рация 
if(isset($_POST['msgset']))
{
#echo "Обработка сообщения";

#$r_locid=$user['locatid'];
#$r_coord=$user['coord'];
if($user['freq']!='')$r_freq=$user['freq']; else $r_freq=ft_nic($_POST['freq']); 
#$r_freq
#$r_time             string str [, int width [, string break [, int cut]]])
if($_POST['post']!='')$r_post="<a href='?l=uinf&id=$user[id]'>$user[login]</a> &gt;".wordwrap (ft_nic($_POST['post']), 40, "\r\n",1);else $r_post="<a href='?l=uinf&id=$user[id]'> $user[login]</a> &gt; S.O.S";
if(strlen2($r_post)>255)$r_post=trim(substr ($r_post, 0, 255));
$r_post=mysql_real_escape_string($r_post);
mysql_query("INSERT INTO `logs` SET
         `locid`='$user[locatid]',
         `coord`='$user[coord]',
         `freq`='$r_freq',
         `time`='$s_time',
         `post`='$r_post'
          ");
#unset($_POST);
}
//
# проверка нападения монстра
if (isset($MONSTR[$user['coord']]))   // and $user['fight']==0
{
$old_time=($s_time-10*60);
#$chk_f=mysql_result(mysql_query("SELECT COUNT(*) FROM `fight` WHERE `locat`='$locat[id]' AND `coord`='$user[coord]' AND `stop`<'$old_time'"),0);// Проверка боя (в этой клетке новый бой только через 10 минут после старого)
$chk_f=mysql_fetch_array(mysql_query("SELECT * FROM `fight` WHERE `locat`='$locat[id]' AND `stop`>'$old_time'"),MYSQL_ASSOC);
#if($chk_f) echo vremja()." - ".vremja($chk_f['stop'])." - ".vremja($old_time)."<br />";
// создаеж10*60
#$chk_f=0; // Обнуляем одидание для отладки
if ($chk_f==0)
{
#echo $MONSTR[$user['coord']]." Условие создания боя<br />";
$_t_m_k=explode(':',$MONSTR[$user['coord']]);
$monstertype=trim($_t_m_k[0]);
if(file_exists(H."/#monstr/".$monstertype.".php"))
{
mysql_query("INSERT INTO `fight` SET
         `akom`='',
         `bkom`='$user[id]',
         `up_a`='',
         `up_b`='',
         `count_a`='',
         `count_b`='',
         `start`='$s_time',
         `stop`='0',
         `locat`='$user[locatid]',
         `coord`='$user[coord]',
         `fighttype`='m'
          ");  

          if(mysql_affected_rows()>0)  //  
          {
          $fight_id=mysql_insert_id();
          // Установка метки боя для пользователя
          mysql_query("UPDATE `user` SET `fight`='$fight_id', `fight_com`='b' WHERE `id`='$user[id]' LIMIT 1");
          $user['fight_com']='b';
          // Создание монстров

          include_once H."/#monstr/".$monstertype.".php";
          //
          #mset_err("");
          }
}
}
}
# провкерка удара аномалии
if (isset($ANOMAL[$user['coord']]))
{
#echo $ANOMAL[$user['coord']]."<br />";
$a_pole='';
$a_udar=intval($ANOMAL[$user['coord']]);
#echo  $a_udar." - сила удара<br />";
#$anomal_param=explode(':',$ANOMAL[$user['coord']]);
$anomal_data=file(H."/#dat/anomal.dat");

foreach($anomal_data as $k=>$v)
{
#echo $k." - ".$v."<br />";
$tmp_arr=explode(':',trim($v));
#echo $tmp_arr[0]." - ".$tmp_arr[1]." - ".$tmp_arr[2]."<br />";
  if($tmp_arr[0]==$ANOMAL[$user['coord']])
  {
   #echo "Найдено совпадение<br />";
   $a_pole=$tmp_arr[2];
   break; 
  }
}

#$a_udar=intval($anomal_param[0]);
$uparam=GetUserParam($user['id']);
if(isset($uparam[$a_pole]))
{
#echo $uparam[$a_pole]." - защита<br />";
$a_udar=$a_udar-($uparam[$a_pole]);
}
#echo  $a_udar." - сила удара после просчета<br />";
  if ($a_udar>0)
  {
  mysql_query("UPDATE `user` SET `live`=(`live`-$a_udar) WHERE `id`='$user[id]' LIMIT 1");
  mset_err("$tmp_arr[1] -$a_udar ");
  #echo mysql_error()."<br />";
  }
}
//
$_t_s=explode('-',$locat['s']);
$locat['max_x']=intval($_t_s['0']);
$locat['max_y']=intval($_t_s['1']);
unset($_t_s);
//  Шапка 
$_SESSION['title']="$locat[name]";
heads($headers_page, $set_ob_start);   //подключение шапки
include_once SYS."/navmenu.php";
echo "<div class='amenu'>";
if($user['accept']==77)
{
echo"<a href='adm.php?l=cardedit&loc=$locat[id]'>правка карты</a>";
}
############################ КОМАНДЫ
// Вычисления выделенной клетки
$sel=null;
if(isset($_GET['coord'])){$sel=ft_nic($_GET['coord']);}else{$sel=false;}
if(isset($_GET['coord']) and $_GET['coord']!=$user['coord'])
{
// возможность перехода
  if(isset($BASE[$sel]) and substr_count($BASE[$sel],'yes'))
  {
    //Вычисляем путь
    $_t_s=reject_coord($user['coord']);
    $u_x=intval($_t_s['x']);
    $u_y=intval($_t_s['y']);
    $_t_s=reject_coord($sel);
    $s_x=intval($_t_s['x']);
    $s_y=intval($_t_s['y']);
    /*/  DEBUG
    echo $u_x."<br />";
    echo $u_y."<br />";
    echo $s_x."<br />";
    echo $s_y."<br />";
    /*/
    $ras_energy=abs($s_x-$u_x)+abs($s_y-$u_y);//   Расход  энергии на передвижение'
//  Проверка болтом
if ($ras_energy==1)
{
  if(!isset($_GET['bolt']))
  {echo "<a title='проверить болтом' href='?l=locat&coord=$sel&bolt'> болт</a>";}else{
    if(isset($ANOMAL[$sel]))
    {
    #echo  $ANOMAL[$sel];
    #$_t_anom=explode(':',$ANOMAL[$sel]);
    echo " <font color='red'> Аномальная активность</font>";
    }else{echo " <font color='green'>чисто</font>";}
  }
}
//

//  Проверка биноклем  (учесть здания по возможности)
if ($ras_energy>=1)
{
  
  if(!isset($_GET['binokl'])){echo "<a class='' title='Осмотреть в бинокль' href='?l=locat&coord=$sel&binokl'> бинокль</a>";}else{
    if(isset($MONSTR[$sel]))
          {
          $monstrs=file(H."/#dat/monster.dat");
          foreach($monstrs as $k=>$v)
          {
          $_t_monstr=explode(':',trim($v));
          if($_t_monstr[0]==$MONSTR[$sel]){$m_name=$_t_monstr[1]; break;}
          }
         
          echo " <span class='errh'><font color='red'> Замечено $m_name</font></span>";
           unset($monstrs,$_t_monstr,$m_name);
          }
      // Вычисляем пользователей клетки
      $t_up=$s_time-300;
      $players=mysql_query("SELECT * FROM `user` WHERE `locatid`='$locat[id]' AND `coord`='$sel' AND `uptime`>'$t_up'");
      if(mysql_num_rows($players)>0)
      {
      echo "<div class='menu'>";
        while($pldata=mysql_fetch_array($players))
        {
        echo "<a href='?l=uinf&id=$pldata[id]'>[$pldata[level]] $pldata[login]</a> ";  
        }
      echo "</div>";  
      }
      //
  }
}
//

//  Бросить гранату

//
#echo $user['massa']." - ".$user['maxmassa']."<br />";
    if($user['energy']<$ras_energy){$t_color='red';}else{$t_color='green';}
    $path=M."/img/ico";
    if(isset($_GET['pereh']))   //?l=locat&coord=3-4
    {
//  Условие движения
$err ='';

if($user['massa'] > $user['maxmassa'] and $ras_energy>1)$err .="Вы перегружены и можете двигаться только по 1 клетке за ход! ";
if($user['energy']<=0 and $ras_energy>1)$err .="Вы истощены и можете двигаться только по 1 клетке за ход! ";
    if ($err=='')
      {
        mysql_query("UPDATE `user` SET `coord`='$sel', `uptime`='$s_time', `energy`=(`energy`-$ras_energy)  WHERE `id`='$user[id]' LIMIT 1");
        header("Location: index.php?l=locat"); exit;
      }else{mset_err($err);}  
    }else{ 
    echo " <label title='идти в точку $sel' class='menus'><a href='?l=locat&coord=$sel&pereh'> идти</a> в $sel <img class='none' src='$path/energy.png' alt='*' /><font color='$t_color'>-$ras_energy</font></label>";
    }  
  }
}
//  Переход в другую локацию
if(isset($BASE[$user['coord']]) and substr_count($BASE[$user['coord']],'door'))  // 
{
$jump=find_jump($locat['id'],$user['coord']);
  if($jump)
  {
    if(isset($_GET['jump']))
    {
    //
    mysql_query("UPDATE `user` SET `locatid`='$jump[card]', `coord`='$jump[koord]', `uptime`='$s_time', `energy`=(`energy`-1)  WHERE `id`='$user[id]' LIMIT 1");
    header("Location: index.php?l=locat"); exit;
    }else{
    echo "<div class='c03'><a title='смена локации -1 энергии' href='?l=locat&jump'> переход</a> в $jump[title] </div>";
    }
  }
}
// Использование сканера
if($sel==$user['coord'])  //  Проверка артефактов
{
$path=M."/img/ico";
if(isset($_GET['scan']))
{
$searsarts=false;
  if(isset($ARTEFACT[$user['coord']]))
  {
  
  $s_art=$ARTEFACT[$user['coord']];
  $check_arts=mysql_fetch_array(mysql_query("SELECT * FROM `tovar` WHERE `incode`='$s_art' LIMIT 1"),MYSQL_ASSOC);
  $old_time=($s_time-30*60);
  $check_arts_time=mysql_fetch_array(mysql_query("SELECT * FROM `searsart` WHERE `locid`='$user[locatid]' AND `time`>'$old_time' LIMIT 1"),MYSQL_ASSOC);
  if($check_arts_time)unset($check_arts);//=false;
    if(isset($check_arts) and $check_arts)
    {
      mysql_query("INSERT INTO `rukzak` SET
        `uid`='$user[id]',
        `card_id`='',
        `coord`='',
        `name`='$check_arts[name]',
        `type`='$check_arts[type]',
        `incode`='$check_arts[incode]',
        `ico`='$check_arts[ico]',
        `massa`='$check_arts[massa]',
        `price`='$check_arts[price]',
        `kol`='1',
        `type_name`='$check_arts[type_name]',
        `slot`='',
        `minlev`='$check_arts[minlev]',
        `skor`='$check_arts[skor]',
        `povrej`='$check_arts[povrej]',
        `tochn`='$check_arts[tochn]',
        `dolgov`='$check_arts[dolgov]',
        `maxdolg`='$check_arts[maxdolg]',
        `bron`='$check_arts[bron]',
        `antirad`='$check_arts[antirad]',
        `antihim`='$check_arts[antihim]',
        `antipsi`='$check_arts[antipsi]',
        `antitermo`='$check_arts[antitermo]',
        `plener`='$check_arts[plener]',
        `pllive`='$check_arts[pllive]',
        `patron`='$check_arts[patron]'
          ");
          //
      if(mysql_affected_rows()>0)
      {
      $searsarts=true;
      mysql_query("INSERT INTO `searsart` SET `time`='$s_time', `locid`='$user[locatid]',`uid`='$user[id]',`incode`='$check_arts[incode]'");
      mset_msg("Вы подняли артефакт $check_arts[name]");  
      } 
    }
    
  }
if(!$searsarts)mset_err("Сканер ничего не обнаружил");
}else{
echo " <a title='Сканировать местность' href='?l=locat&coord=$user[coord]&scan'><img src='$path/scanx.png' alt='*' /> Сканер</a>";
}

}
// вычисление торговцев
if(isset($BASE[$user['coord']]) and substr_count($BASE[$user['coord']],'torg'))  // 
{
$check_yorg=get_torg($user['locatid'], $user['coord']);
if($check_yorg)echo "<div class='c03'><img src='/img/land/torg.gif' alt='*' /><a href='?l=utorg'>Торговец $check_yorg[name] </a></div>";
}
// вычисление техников 
if(isset($BASE[$user['coord']]) and substr_count($BASE[$user['coord']],'texnic'))  // 
{
echo "<div class='c03'><img src='/img/land/texnic.gif' alt='*' /> <a href='?l=texnic'>Техник </a></div>";
}
// вычисление медиков 
if(isset($BASE[$user['coord']]) and substr_count($BASE[$user['coord']],'medik'))  // 
{
echo "<div class='c03'><img src='/img/land/medik.gif' alt='*' /> <a href='?l=medik'>Медик </a></div>";
}
echo "</div>";
// КАРТА
echo "<div class='card'>";
  echo "<table border='1' align='center'>";
//вывод карты
  for ($i = 1; $i <= $locat['max_y']; $i++)
   {
   $y=$i;
    //$x=1;
    echo "<tr>";
    for ($j = 1; $j <= $locat['max_x']; $j++)
    {
    $x=$j;
    //<img src=\"$value\" alt=\"\" />
    $coordinate="$x-$y";
    if($coordinate==$user['coord']){$img_coordinate="user";}else{$img_coordinate="null";}
    if(isset($_GET['coord']) and $_GET['coord']==$coordinate){$class=' class="select"';}else{$class=' class="none"';}
    // вывод клеток карты
    if(isset($BASE[$coordinate]))
    {
    if($coordinate==$user['coord']){$uimg='user';}else{$uimg=$BASE[$coordinate];}
    echo "<td$class><a class='none' title='$coordinate' href='?l=locat&coord=$coordinate'><img class='none' src=\"./img/land/$uimg.gif\" alt='*' /></a></td>";
    }else{
    echo "<td$class><a class='none' title='$coordinate' href='?l=locat&coord=$coordinate'><img class='none' src='./img/land/$img_coordinate.gif' alt='*' /></a></td>";
    }  
    }
    echo "</tr>";  
   }
   echo "</table></div>";
#### КТО ВЛОКАЦИИ
echo "<div class='menu'><a href='?l=inloc'>Информация о локации</a></div>";
###########################   Вывод лога
if($user['freq']==null){$freq="$user[locatid]#%";}else{$freq=ft_nic($user['freq']);}
$ufreq="$user[locatid]#$user[coord]";
$all=mysql_result(mysql_query("SELECT COUNT(*) FROM `logs` WHERE `freq` LIKE '$freq'"),0);
#echo $all."<br />";
$pnumber=$user['pstr']; //$user['set_p_str']; //
    if(!isset($_GET['page'])){$_GET['page']=1;}
		//$n=new Navigator($all,$pnumber);
    $n=k_page($all,$pnumber);
    if($_GET['page']=='end'){$page=$n;}
    else{$page=intval($_GET['page']);}
    if($page<1){$page=1;}
    $start=$page*$pnumber-$pnumber;
    if($start<1){$start=0;}
$logs=mysql_query("SELECT * FROM `logs` WHERE `freq` LIKE '$freq' ORDER BY `id` DESC  LIMIT $start,$pnumber");
#echo mysql_num_rows($logs)."<br />";
echo "<div class='c07'><label title='частота вещания'>$freq </label><a title='настроить частоту приема' href='?l=chfreq'>настроить</a><br />";
if(mysql_num_rows($logs))
{
echo "<div class='slive'>";
  while($dlog=mysql_fetch_assoc($logs))
    {
      echo vremja($dlog['time'])." $dlog[post]<br />";
    }
echo "</div>";
#echo $n."-".$all."<br />";
  if($n>1){echo str2($link="index.php?l=locat&coord=$sel&",$n,$page);}
}
echo "<form action='' method='post'>
<input title='частота передачи' size='5' type='text' name='freq' value='$ufreq' />
<input title='поле сообщения' type='text' name='post' value='' />
<input title='передать сообщение' type='submit' name='msgset' value='+' />
</form>
";
echo "</div>";
###########################
?>