Avatar billede xsix Nybegynder
27. september 2007 - 20:36 Der er 5 kommentarer og
1 løsning

Forskellige intavaller på timer

Hej Eksperter.

Jeg har den her side, som jeg bruger i et php spil jeg er ved lave, man bruger siden til at arbejde sig til guld. Denne side gør at man kan arbejde i 5 min for at tjene 10 guld, og så er der sat en timer på, så at man skal vente de 5 min.

Men nu vil jeg gerne have 3 nye arbejds tider, så man kan sætte den til at arbejde i 15 min, 30 min og 60 min. Og da jeg bare kopirede siden og ændrede tiden og pengene i koden, så laver den fejl, så når man trykker rundt imellem siderne, så kommer den frem med forskellige tidsintervaller man skal vente, dette er nok pga $sleep_time, men jeg ved ikke hvad jeg skal gøre ved problemet?

Her er koden:


<?php
session_start();
if(!$_SESSION[user_id] > 0) {
header("location:index.php");
  exit;
}

    require_once('connect.php');

$time_now = time();
$data = mysql_query("SELECT * FROM players WHERE id='$_SESSION[user_id]'") or die(mysql_error());
$sleep_time = 60 * 5; //5 min
$user_data = mysql_fetch_array($data);
if($time_now > $user_data[workingtime] + $sleep_time)
{
$sql = "UPDATE players SET money = money + 10 WHERE id='$_SESSION[user_id]'";
mysql_query( $sql ) or die( mysql_error() );

mysql_query("UPDATE players SET workingtime = '$time_now' WHERE id='$_SESSION[user_id]'") or die(mysql_error());



header("Refresh: 0; URL=work2.php");

echo " "; // NN4 requires that we output something...

exit();

}
else
{
  //find ud af hvor lang tid brugen må vente endnu
  $wait_time = $sleep_time - ($time_now - $user_data[workingtime]); // result i sek
?>
        <SCRIPT language="Javascript1.2">
        var timedelay=1000;
        var timeleft=<?php echo "" + $wait_time; ?>;

        function calctext() {
          if (timeleft>60) {
            var minutesleft = Math.floor(timeleft/60)%60;
            var secondsleft = (timeleft%60);

            if (minutesleft==1) minutesandseconds = minutesleft+' minute and ';
            else minutesandseconds = minutesleft+' minutes and ';

            if (secondsleft==1) minutesandseconds = minutesandseconds+secondsleft+' second';
            else minutesandseconds = minutesandseconds+secondsleft+' seconds';
          }
          else {
            if (timeleft==1) minutesandseconds = timeleft+' second';
            else minutesandseconds = timeleft+' seconds';
          }
          return minutesandseconds
        }

        function changecontent() {
          timeleft--;
          document.getElementById('placeithere').innerHTML=calctext()+' until you can work again<br><a href="play.php">Return</a>';

          if (timeleft==0) document.getElementById('placeithere').innerHTML='<a href="work2.php">Refresh</a>';
          else setTimeout("changecontent()",timedelay)
        }

        function startscript() {
          changevalues();
          changecontent();
          l2();
        }
        // -->
        </SCRIPT>

<table width=715 align=center class=borderme cellpadding=0 cellspacing=0>
<SPAN id="placeithere" class=time>Loading Game</SPAN>
</table>


<SCRIPT language='Javascript'>
    <!--
    function changevalues() {
      //none
    }
    window.onload=startscript;
    // -->
    </SCRIPT>
<?php
  }
?>
Avatar billede xsix Nybegynder
27. september 2007 - 20:37 #1
Hov, i overskriften skal "intavaller" rettes til "intervaller".
Avatar billede olebole Juniormester
27. september 2007 - 23:07 #2
<ole>

En sleep-time på 5 minutter er i forvejen fuldstændig ude i hampen. Du æder server-ressourcer big-time på dén måde! Du kan ikke bruge PHP til at streame på den måde

/mvh
</bole>
Avatar billede xsix Nybegynder
28. september 2007 - 00:35 #3
Jeg streamer den da heller ikke? Tiden bliver jo kun checket inde fra databasen hver gang man går ind på siden.
Eller er ikke helt klar over hvad du mener? :)
Avatar billede olebole Juniormester
28. september 2007 - 00:59 #4
- sorry ... jeg læste spørgsmålet helt forkert! Jeg skal vist til køjs  ;o)
Avatar billede xsix Nybegynder
28. september 2007 - 23:12 #5
olebole: Hvis du har fået sovet lidt, ville jeg være meget taknemmelig for en løsning på mit problem :P hehe
Avatar billede xsix Nybegynder
29. november 2007 - 20:01 #6
Har fundet på en anden løsning ved at lave flere forskellige filer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester