Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: X технологии > постройка здания на php


Автор: hripun 25.8.2011, 23:27
Доброго времени суток помогите пожалуйста если понятно объясню только..
собственно вот код там в коментариях я вроде все пояснил...
мне нужно что бы после проверки ресурсов стартовал таймер со временем окончания строительства и после его завершения делалась запись в бд.
ток не прикалывайтесь за корявый через чур код ) как смог так и слепил)
таймер включается со временем но стоит на месте.. потому что ставлю его отнимать от реального времени по моему но придумать какое время туда поставить не могу (
Код

/*вытаскиваем все здания которые нужно построить/// заменить 0 на 1*/
$result = mysql_query ("SELECT * FROM   player_zdania ");
 $player_zdan = mysql_fetch_array($result);  
  /*вытаскиваем настаящюю время и дату*/
  $dat=date("d.m.y"); $tm=date("H:i:s");
 $player_zdan = $town_i['$town_ing'];
 
 /*Проверяем хватает ли нам ресурсов*/
 if ($k_u >= $kredit and $t_u >= $titanit and $u_u >= $uran and $p_u >= $produkt )
 {
 $creat_time = $tm; // подставляем текущее время \\ раньше было время создания персоонажа 
$creat_date = $dat; // подставляем текущую дату  \\  раньше была дата создания персоонажа

preg_match_all(
                '@\d{2}@',
                $creat_time,
                $matches
              );
$hour   = intval($matches[0][0]);
$minute = intval($matches[0][1]);
$second = intval($matches[0][2]);

preg_match_all(
                '@\d{2,4}@',
                $creat_date,
                $matches
              );
$year  = intval($matches[0][0]);
$month = intval($matches[0][1]);
$day   = intval($matches[0][2]);

/* если в базе построек у пользователя стоит 0 то продолжаем*/
if ($player_zdan == 0)
   {
     $regTime = mktime($hour, $minute, $second, $month, $day , $year);//время регистрации. нужно взять из БД.

     $timePass = time() - $regTime ;
     $interval = $time_str; // раньше стояло 6*60*60; неприкосновенности 6 часов после регистрации я заменил на $time_str; это запись из базы данных сколько должно строиться здание

     if ($timePass > $interval) 
             {
              $result = mysql_query( "update player_zdania set $player_zdan = 1  WHERE id_user=".$_SESSION['user']['id_user']);
             }
        else
       {
         echo "<span class='news_date'>Здание построится <br>через   </span>".gmdate('H:i:s', $interval - $timePass)."<br>";
       }
   }
 
 
  
 }
 
 else  { echo "Нехватает ресурсов <br/>"; }
 

Автор: hripun 26.8.2011, 23:46
хех smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)