timer und dann ausführen !

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • timer und dann ausführen !

    Hi

    Ich habe ein Problem welches ich alleine nicht lösen kann :

    Es handelt sich um ein Online Spiel , bei welchem man Gebäude errichten kann . Jedes Gebäude soll unterschiedlich lange brauchen bis es fertig ist . Die Funktion dass das Gebäude in der Datenbank gespeichert wird und dafür Geld usw. abgezogen werden habe ich . Bloß dauert das ganze nur ein paar hunderstelskunden , soll aber variabel einstellbar sein (bei jedem Gebäude anders z.B. 3Min).

    Dabei soll noch beachtet werden , dass die zeit auch weiterläuft , wenn der User offline geht!
    Außerdem wäre es von Vorteil , wenn die Zeit die noch verbleibt angzeigt wird . Ich weiß dass dies mit Javascript möglich ist und wäre dem der mir dies erklärt wirklich sehr dankbar

    Gruss
    inq39

  • #2
    Ähm, Sorry, für JavaScript sind wir hier nicht zuständig.

    Aber mach es doch so, speichere einfach die Zeit, an der das Gebäude fertig ist in einer DB. Dann kannst du die Zeit verbleibende Zeit berechnen, und es wird auch weitergebaut, wenn man nicht online ist.

    PS: C&C auf JavaScript zu programmieren dürfte schwierig werden.

    Kommentar


    • #3
      Also auch keine konkrete Vorstellung

      Kommentar


      • #4
        Wie gesagt, Java ist nicht mein Fall, und wenn dus mit PHP lösen willst, dann mach es so, wie ich es geschrieben hab.

        Kommentar


        • #5
          *verschieb*

          verschoben in´s Forum "HTML/XML, JavaScript und CSS"

          um die Zeit weiterlaufen zu lassen, wenn der User off geht, solltest du einfach die jeweilige letzte Aktion samt Datum&Uhrzeit in einer DB speichern und dem JavaScript die aktuell Server-Zeit mitteilen.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            jo hab da auch so ne Javascript Datei gefunden die dazu verwendet werden kann . Leider hab ich davon 0 Ahnung und wenn das mal jemand zusammenschieben könnte ??

            Kommentar


            • #7
              also sprich beim einloggen musst es durch ein phpscript und beim ausloggen laufen um die daten in eine datenbank zu speichern, aber ich weiss echt nicht, wie es werden soll wenn der javascript mit anderen spielen kommunizieren soll (sprich gegenspieler)

              da haste die viel vorgenommen

              cu, Campus
              meine Projekte bestaunen: http://www.kleiza.de

              Kommentar


              • #8
                Wünsche viel Erfolg. Aber wenn du davon wirklich 0Ahnung hast, versuche dich lieber an was leichterem. Sonst bist du nachher frustriert und packst solche Sachen nie mehr an. Vielleicht bringst du dich sogar um *denteufelandiewandmal*

                Aber meld dich auf jeden Fall im Forum, wenn die Sache fertig ist!!!

                Kommentar


                • #9
                  ja das java script soll auch nur den timer wiedergeben
                  Erstmal geht es darum , dass durch betätigen eines Linkes der Countdown aktiviert wird und sobald der abgelaufen ist ein Wert in der datenbank verändert wird . Und das wichtigste ist halt , dass die Zeit weiterläuft , wenn der User offline ist

                  Kommentar


                  • #10
                    hi!
                    ich hab immer noch nicht kapiert, worum's geht

                    Kommentar


                    • #11
                      lol ....

                      Also nochmal nur für dich :

                      Ich will folgenden Effekt :

                      wenn man auf einen Link klickt , soll ein Countdown gestrtet werden von z.B. 03:12 Minuten . Das ganze soll dann an der stelle wo vorher Link war angezeigt werden .

                      Wenn der User jetzt offline geht , soll aber der Timer weiterlaufen .

                      Wenn die Zeit des Timers abgelaufen ist , soll eine Aktion (php) durchgeführt werden . Zum Beispiel ein mysql_query(); und da wo der Link ist soll z.B. [fertig] stehen

                      Das ganze sollte per Javascript funktionieren und ich weiß auch dass es funktioniert , da ich es bei anderen scripten gesehen habe .


                      Hoffe das war klar genug für alle

                      Kommentar


                      • #12
                        Wenn der User jetzt offline geht , soll aber der Timer weiterlaufen .

                        Wenn die Zeit des Timers abgelaufen ist , soll eine Aktion (php) durchgeführt werden . Zum Beispiel ein mysql_query(); und da wo der Link ist soll z.B. [fertig] stehen

                        Das ganze sollte per Javascript funktionieren und ich weiß auch dass es funktioniert , da ich es bei anderen scripten gesehen habe .
                        auf diese weise geht es mit javascript garantiert nicht.
                        wenn der user offline geht (die seite schliesst), dann wird auch kein javascript mehr ausgeführt, welches dann nach x sekunden eine aktion auslösen könnte.

                        es geht nur so, dass du sofort beim klick auf den link einen eintrag in die datenbank machst, mit zeitstempel, der dann aber erst ab zeitstempel plus x sekunden als gültig angesehen wird...
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          so da bin ich wieder
                          Habe hier einen neuen Code aufgegabelt :

                          <?php
                          include ("mysql_inc.php");
                          ?>
                          <HTML>
                          <head>
                          <title>test</title>
                          </head>
                          <body onload=startCountdown();>

                          <?php



                          $zeit = time(); //aktuelle Zeit wird festgelegt
                          $endzeit = $zeit + 3600; //Das "Beispielgebäude", das ich hier "Baue" würde 3600 Sekunden dauern.


                          mysql_query("INSERT INTO temp(name, type, startzeit, endzeit) VALUES ('TEST', 'GEBAUDE', DATE('$zeit'), DATE('$endzeit'))");



                          $php_var = 100;




                          ?>




                          <SCRIPT LANGUAGE="JavaScript">




                          <!--
                          var restzeit = new Number();
                          var <?php
                          printf("restzeit = %s;\n", //hier wird die Java-Variable restzeit
                          strtr(addslashes($php_var); //mit der PHP-Variable $php_var gespeißt
                          array("\r" => '\r', "\n" => '\n'))
                          );
                          ?>
                          function startCountdown()
                          {
                          if((restzeit - 1) >= 0)
                          {
                          restzeit = restzeit - 1;
                          var min_count = restzeit/60;
                          min_count=Math.floor(min_count);
                          sec_count = restzeit - (min_count*60);
                          if(min_count>0)
                          {
                          var std_count = min_count/60;
                          std_count=Math.floor(std_count);
                          min_count=min_count-std_count*60;
                          }else
                          {
                          var std_count = 0;
                          }
                          if(min_count<10)
                          {
                          min_angabe='0'+min_count;
                          }else
                          {
                          min_angabe=''+min_count;
                          }
                          if(sec_count<10)
                          {
                          sec_angabe='0'+sec_count;
                          }else
                          {
                          sec_angabe=''+sec_count;
                          }
                          verbleibend.innerText = std_count+':'+min_angabe+':'+sec_angabe;
                          setTimeout('startCountdown()',986);
                          }else
                          {
                          verbleibend.innerText = '[Bereit]';
                          setTimeout('history.go()',5000);
                          }
                          }
                          // End -->
                          </script>
                          <div align="right" id="verbleibend"></div></td> //die Variable verbleibend wird ausgegeben
                          </body>
                          </html>

                          Kann mir jetzt eienr helfen mein Prblem zu realieren , weil ich davon ehrlich nichts verstehe

                          Kommentar


                          • #14
                            Kann mir jetzt eienr helfen mein Prblem zu realieren , weil ich davon ehrlich nichts verstehe
                            wo genau liegt denn jetzt das problem?
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Naja um am wenigsten Verwirrung zu verbreiten :

                              Es soll einen Link geben welcher so aussehen könnte : script.php?action=1 . wenn der activiert wird folgendes :

                              $result="INSERT into temp (startzeit,endzeit) VALUES($startzeit,$endzeit ........

                              mysql_query($result.php);

                              Dann soll der timer aktiviert sein und ablaufen . Sobald der User wieder reinkommt und die Zeit vorüber ist , soll in eine andere Tabelle ( z.B. daten ) der Wert für das Gebäude eingetragen werden

                              Um das am besten rüberzubringen , wäre es nett , wenn das jemand , der sich in der sache sicher ist ein kleines Bsp. macht mit fiktiven Namen bzw. Tabellendaten

                              Kommentar

                              Lädt...
                              X