10мин работа с $time

amarok

Registered
Значи имам код обаче е с flush sleep но аз искам да го направя да е с time остава ти още 9мин. и 20сек. и като свърши времето да ти дава спечелените неща :)


Код:
<?php
if($_SESSION['name']) {
$name = $_SESSION['name'];
if(isset($_GET['id'])) {
$id = htmlspecialchars($_GET['id']);
if($id == 1){$def = '20'; $gexp = '5'; $gpower = '2';}
if($id == 2){$def = '50'; $gexp = '10'; $gpower = '5';}
if($id == 3){$def = '100'; $gexp = '50'; $gpower = '25';}
if($id == 4){$def = '250'; $gexp = '100'; $gpower = '50';}
if($id == 5){$def = '500'; $gexp = '150'; $gpower = '75';}
if($id == 6){$def = '1000'; $gexp = '200'; $gpower = '100';}
if($id == 7){$def = '2500'; $gexp = '250'; $gpower = '125';}
if($id == 8){$def = '5000'; $gexp = '300'; $gpower = '150';}
if($id == 9){$def = '10000'; $gexp = '350'; $gpower = '175';}
if($id == 10){$def = '25000'; $gexp = '400'; $gpower = '200';}
if($id == 11){$def = '50000'; $gexp = '450'; $gpower = '225';}
if($id == 12){$def = '100000'; $gexp = '500'; $gpower = '250';}
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my1 = mysql_fetch_array($do);
$rand = rand(80, 120);
$nrg = $my1['nrg'];
$att = ((($my1['power'] * (1 + ($my1['fighter'] * 0.1))) + ($my1['weaponr'] + $my1['weaponl'])) * (1 + ($my1['killer'] * 0.1))) * ($rand / 100);
if($att >= $def && $nrg >= 30) {
echo "Моля изчакайте 5 секунди докато свършите състезанието<br />";
flush(); sleep(5);
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$get1 = round(($gexp * ($rand / 100)) * (1 + ($my['busy'] * 0.1)));
$get2 = round(($gpower * ($rand / 100)) * (1 + ($my['fighter'] * 0.1)));
$get0 = round($get1 * 1.2);
$money = ($my['money'] + $get0);
$exp = ($my['exp'] + $get1);
$power = ($my['power'] + $get2);
$edit = "UPDATE users SET money = '$money', exp = '$exp', power = '$power', jobs = jobs + 1, nrg = nrg - 30 WHERE name = '$name'";
if(mysql_query($edit)) {
echo "<br /><font color=#8ce900>Свърши успешно работата си и спечели <img src='images/money.gif'>$get1 <img src='images/attempt.gif'>$get2   <br>Ще бъдете пренасочен след 5 секунди.";
echo "<meta http-equiv=refresh content=10;url='index.php?a=work'"; }} else if($def > $att && $nrg >= 30) {
echo "Моля изчакайте 5 секунди докато свършите работата<br />";
flush(); sleep(5);
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$get1 = round(($gexp * ($rand / 100)) * (1 - ($my['busy'] * 0.1)));
$get2 = round(($gpower * ($rand / 100)) * (1 - ($my['fighter'] * 0.1)));
$money = ($my['money'] - $get1);
$power = ($my['power'] - $get2);
$edit = "UPDATE users SET money = '$money', power = '$power', nrg = nrg - 30 WHERE name = '$name'";
if(mysql_query($edit)) {
echo "<br /><font color=#ff2323>Не успяхте и загубихте <img src='images/money.gif'>$get1 <img src='images/attempt.gif'>$get2 <br>Ще бъдете пренасочен след 5 секунди.";
echo "<meta http-equiv=refresh content=0;url='index.php?a=work'>";  }}} else { ?>
 
Мисля, че ще трябва да се възползваш от AJAX иначе ще тече време на заден фон без да се вижда. Варианта е да пуснеш прояча и с while да направиш посекунден цикъл. Мисля,че трябва да се получи.
 
Да но проблема е че не знам как става за това ви моля вас ако може да ми го направите :D :lol:
 
Никъф ajax. Пиши времето на стартиране и времето, което тряя да изтече в база, пускаш статичен javascript брояч и толкоз.
Като рефрешне взимаш пак времето и пак брояч.
 
Rado каза:
Никъф ajax. Пиши времето на стартиране и времето, което тряя да изтече в база, пускаш статичен javascript брояч и толкоз.
Като рефрешне взимаш пак времето и пак брояч.


Да но проблема е че никога не съм правил такова нещо с таймер за това дадох кода ако може да го направите :?
 

Back
Горе