• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

zeit zählen

Status
Für weitere Antworten geschlossen.
I

incendium

Guest
hi @ all,
habe eine frage zu meinen browsergame. ich habe das bauen von minen so gemacht, dass wenn ich eine baue, dass es in einer datenbank den wert um 1 erhöht. aber jetzt soll ich ja rohstoffe pro stunde bekommen. wie kann ich es machen, dass es automatisch immer die zeit zählt und so der rohstoff erhöht wird?? ausserdem soll es ja auch funktionieren wenn man ausgeloogt, also nicht auf der seite ist.

sorry wegen dem thema aber mir ist nichts besseres eingefalln. hoffe jemand versteht mich und kann mir helfen.
 
du speicherst einfach wann letztes mal rohstoffe gutgezählt wurden

PHP:
$letztes_update = ......; // mysql ausgabe... nen timestamp natürlich

$update_nach = 60 * 60;

$buff = $letztes_update + $update_nach;

$time = time();

$add = 0;

if($time > $buff)
{
    for(;$time > $letztes_update; $letztes_update + $update_nach)
    {
        $add++;
    }
    // rohstoffe gutschreiben
    // datenbank timestamp updaten natürlich auf volle stunden
    //oder jedenfals nen standart minutenwert den du auch speichern
    //solltest ^^ der sollte genau der registrations oder
    //aktivierungszeit entsprechen ^^
}

naja sollte helfen ^^
 
was gibts daran nicht zu verstehen? Fang doch einfach mal an PHP zu lernen, du kommst hier wegen jeder kleinigkeit an. Irgendwann kommt noch "Wie benutz' ich echo()".

Du hast doch selbst zugegeben du willst es nicht lernen, dann schreib einfach jeden deiner threads in die jobbörse oder fang an es zu lernen.
 
du speicherst die zeit zu der das letzte mal rohstoffe gutgeschrieben wurden, wenn er sich das nächste mal einlogged, dann berechnest du wieviele stunde seit dem vergangen sind ( timespan ) und nimmst das mal der anzahl rohstoffe die er bekommt. und speicherst natürlich die neue zeit, als letztes update
btw. Frank hat schon recht, lernen oder lassen, würd ich sagen, so kompliziert ist das nicht =)
 
naja nach meine beispiel nehmen wir mal an das der user pro stunde 500 rohstoffe bekommt... nun logt er sich aus und kommt in 2 stunden wieder...

dann ist die datenbank ja aber noch auf dem alten stand... daher habe ich zu erst ermittelt wie viele stunden er weg war... und zwar so das du die variablen auch ganz leicht ändern kannst.

Wenn der user sich nun also nach 2 stunden wieder einlogt müsste in $add der wert 2 enthalten sein und nun schreibst du einfach nen mysql query in dem du die anzahl der rohstoffe deiner datenbank gutschreibst. z.b.

PHP:
$rohstoffe_pro_stunde = 500;
$gutschrift = $add * $rohstoffe_pro_stunde;

mysql_query("UPDATE deine_tabelle SET `rohstoffe` = `rohstoffe` + ".gutschrift." WHERE `userIdent` = ".$user['ident']);

naja lernen musst du PHP aber trotsdem um das bewerkstelligen zu können und in der jobbörse brauchst du schon n bissel geld damit dir jemand bei nem Browser Game hilft... so c.a. ~30 € / stunde und mehr...#

MFG
 
ja das versteh ich schon. ( den code von slibbo) aber wie speicher ich, wie lang er weg war?!?
 
su dpeicherst die ausgabe von "time();" in eine spalte deiner mysql tabelle dies kannst du auch direkt in sql bewerkstelligen in dem sdu schreibst

Code:
UPDATE tabelle SET `spalte` = [color=red]NOW[/color] WHERE `ident` = 'ident_param'
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben