Oblicznie czasu takie jak w grach progrądarkowych

0

Witam

mam taki problem otóż nie wiem jak zrobić takie odliczanie czasu jak w grach przeglądarkowych by sprawiedliwie odliczać surowce w grze. A dokładniej odliczanie czasu niekatywności na stronie (nie kliknięcia w jakiś link ) lub zalogowania się (by surowce były odliczane nawet jeśli użytkownika nie ma na stronie a po jakiś czasie się zaloguje)

oto to co wymyśliłem sam ale troche to jest nie tak jak ja chciałem ponieważ nie odliczanie jest w sekunach a jeśli zmienie na minuty to użytkownik bd musiał być min. minute nie aktywny

<?php

session_start();


mysql_connect('',',');
mysql_select_db('gra');
$baza=mysql_query('SELECT * FROM user_gra WHERE id=1');

while($row=mysql_fetch_assoc($baza))
{

$water_lvl=$row['lvl_wod'];
$fabrik_lvl=$row['lvl_fabrik'];
$time=$row['time'];
$woda=$row['woda'];
$zywnosc=$row['zywnosc'];

}
$przyrost_wody=0.25*($water_lvl+1);
$przyrost_zywnosci=0.5*($fabrik_lvl+1);


$d=date('d');
$h=date('H');
$m=date('i');

$h_in_s=$h*3600;
$m_in_s=$m*60;





$suma=(int) ($h_in_s+$m_in_s+date('s'));

$_SESSION['log']=true;


if($time==null )
{

mysql_query("UPDATE gra.user_gra SET time='$suma' WHERE id= 1 LIMIT 1") or die('Blad pośredni');

}




$ogółem=(int) ($suma-$time );





mysql_query("UPDATE gra.user_gra SET time='$suma' WHERE id= 1 LIMIT 1") or die('Blad pośredni');



echo' <br />Różnica czasu '.$ogółem.'<br /> czas z ciasteczek '.$time.'<br />';

$woda= (int) ($woda+($ogółem*$przyrost_wody)-($water_lvl*1.0));
$zywnosc=(int) ($zywnosc+($ogółem*$przyrost_zywnosci)-($fabrik_lvl*3.5));
echo'Stan wody :'.$woda.' Przyrost: '.$przyrost_wody.'<br/>';
echo'Stan Żywności :'.$zywnosc.' Przyrost: '.$przyrost_zywnosci.'<br/>';



mysql_query("UPDATE gra.user_gra SET zywnosc='$zywnosc' WHERE id= 1 LIMIT 1");

mysql_query("UPDATE gra.user_gra SET woda='$woda' WHERE id= 1 LIMIT 1");

echo'<center>Budynki</center><hr />';









if($woda>(200*($water_lvl+1)))
{

$wodociagi=$water_lvl+1;

echo'<hr><br/>';
echo'<br />Wodociągi('.$water_lvl.')<br />Masz tyle wody <a href=?build=wodociagi>Buduj na '.$wodociagi.' Poziom </a>';

}
else
{
echo'<hr />Wodociągi('.$water_lvl.')<br />Wymagania:  Woda: '.(200*($water_lvl+1));
echo'<br />Nie masz wyst Wody';
}





if($water_lvl>2 and $woda>(350*($fabrik_lvl+1)) and $zywnosc>(550*($fabrik_lvl+1)))
{

$fabryka=$fabrik_lvl+1;
echo'<hr><br/>';
echo'<br />Fabryka('.$fabrik_lvl.')<br />Masz tyle wody <a href=?build=fabryka>Buduj na '.$fabryka.' Poziom </a>';

}
else
{
echo'<hr />Fabryka Pożywienia('.$fabrik_lvl.')<br />Wymagania:  Woda: '.(350*($fabrik_lvl+1)).' Żywność: '.(550*($fabrik_lvl+1)).' Wodociągi :Level 2';
echo'<br />Nie masz wyst Wody lub Żywności<hr >';
}


if($time==null and $time==0)
{

mysql_query("UPDATE gra.user_gra SET time='$suma' WHERE id= 1 LIMIT 1") or die('Blad pośredni');

}
///////////////////////////////////////////
if(isset($_GET['build'])){
switch($_GET['build']){

case'wodociagi':


if($woda>(200*($water_lvl+1)))
{
$woda=$woda-(200*($water_lvl+1));
mysql_query("UPDATE gra.user_gra SET woda='$woda' WHERE id= 1 LIMIT 1");
$water_lvl=$water_lvl+1;
mysql_query("UPDATE gra.user_gra SET lvl_wod='$water_lvl' WHERE id= 1 LIMIT 1");
echo'<script>window.location="?";</script>';
}
else
{

echo"<script>alert('nie masz wystarczająco surowców');</script>";
echo'<script>window.location="?";</script>';
}
break;


////////////////////////////////////

case'fabryka':

if($water_lvl>2 AND $woda>350*($fabrik_lvl+1) AND $zywnosc>(550*($fabrik_lvl+1)))
{
$woda=$woda-(350*($fabrik_lvl+1));
mysql_query("UPDATE gra.user_gra SET woda='$woda' WHERE id= 1 LIMIT 1");
$zywnosc=$zywnosc-(550*($fabrik_lvl+1));
mysql_query("UPDATE gra.user_gra SET zywnosc='$zywnosc' WHERE id= 1 LIMIT 1");
$fabrik_lvl=$fabrik_lvl+1;
mysql_query("UPDATE gra.user_gra SET lvl_fabrik='$fabrik_lvl' WHERE id= 1 LIMIT 1");
echo'<script>window.location="?";</script>';

}
else
{
echo"<script>alert('nie masz wystarczająco surowców');</script>";
echo'<script>window.location="?";</script>';
}
break;


/////////////////////////////////////////////////////////

}}
?>
0

Ehh, kombinacje...
http://pl.php.net/time

1 użytkowników online, w tym zalogowanych: 0, gości: 1