Rohstoff zuwachs
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
benutzername
eisen
ergebnis
error
fehler
gold
job
pawort
quelltext
result
schleifen
sekunde
set
stein
syntax
tutorial
update
zeile
zusammen
-
Wie kann ich in einem browsergame, ein rohstoffzuwachs mit drei verschieden Dingen z.B.
Gold Silber Kupfer -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
etwas dazu addieren...dumme frage :-)
-
Soweit habe ich schon, aber der browser zeigt mir nichts an hier mal dass script:
<?php error_reporting(E_ALL); $verbindung = mysql_connect ("localhost", "root", "-------") or die ("keine Verbindung m?glich. Benutzername oder Passwort sind falsch"); mysql_select_db("bauscript") or die ("Die Datenbank existiert nicht."); $query = "UPDATE rohstoffe Set Gold=Gold+130, Holz=holz+156, Stein=Stein+204 WHERE id = '2'"; $result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); $abfrage = "SELECT Gold, Stein, Holz FROM rohstoffe"; $ergebnis = mysql_query($abfrage) or die ("MySQL-Fehler: " . mysql_error()); while($row = mysql_fetch_object($ergebnis)) echo "$row->Gold, $row->Stein, $row->Holz <br>"; mysql_close($verbindung); ?>
-
?nert er denn in der Datenbank alles???
-
Also im Browser zeigt er die ganze zeit nur eine zahl statt drei, da steht dann nur 100, ich musste ein INSERT INTO im phpadmin
machen dass er ?berhaupt was anzeigt.
Ich habe n?mlich Bei jedem 100 gemacht.
Beitrag ge?ndert am 1.03.2006 17:41 von gollum1990 -
while($row = mysql_fetch_object($ergebnis))
echo "$row->Gold, $row->Stein, $row->Holz <br>";
und was ist wenn du es mal mit
while($row = mysql_fetch_assoc($ergebnis)) {echo "Gold=$row['gold'] Holz=$row['holz'] Stein$row['stein'] "; }
-
Also wenn ich euere vorschl?ge annehme
kommt von bienespiel diese Fehlermeldung:
Parse error: syntax error, unexpected T_WHILE in C:\Programme\xampp\htdocs\Rohstoffe.php on line 12
und von dir
bekomme ich diese Fehlermeldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Programme\xampp\htdocs\Rohstoffe.php on line 35
Und das script:
<?php error_reporting(E_ALL); $verbindung = mysql_connect ("localhost", "root", "--------") or die ("keine Verbindung m?glich. Benutzername oder Passwort sind falsch"); mysql_select_db("BG") or die ("Die Datenbank existiert nicht."); $query = "UPDATE rohstoffe Set Gold=Gold+130, Holz=holz+156, Stein=Stein+204 WHERE id = '2'"; $result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error()); $abfrage = "SELECT Gold, Stein, Holz FROM rohstoffe"; $ergebnis = mysql_query($abfrage) or die ("MySQL-Fehler: " . mysql_error()); while($row = mysql_fetch_assoc($ergebnis)) {echo "Gold=$row['gold'] Holz=$row['holz'] Stein$row['stein'] "; } ?> mysql_close($verbindung); ?>
Beitrag ge?ndert am 1.03.2006 18:27 von gollum1990 -
$anz= mysql_num_rows($ergebnis);
for($i==1;$i<=$anz;$i++)
{
$row = mysql_fetch_array($zeile);
echo "$row->Gold, $row->Stein, $row->Holz <br>";
}
----------------------
probiers mal so (ganze while-schleife ersetzen -
funktioniert nicht
-
Dein eigenes Skript war schon in Ordnung. Du solltest aber auch mal "<html><body>" und die dazu passenden schliessenden Tags ausgeben. Ansonsten zeigt dir dein Browser n?mlich nichts an, ausser du schaust in den Quelltext der HTML-Ausgabe (im Browser-Men? unter "Ansicht->Quelltext").
-
also ich habe jetzt die L?sung, wie kann ich immer zur vollen Stunde dass Script ausf?hren,
damit mein ich pro Stunde kriegt man Rohstoffe.
Hier mal mein L?sungnsscript:
<?php
$verbindung = mysql_connect ("localhost", "root", "xxxxx") or
die ("keine Verbindung m?glich. Benutzername oder Passwort sind falsch");
mysql_select_db("BG24", $verbindung)
or die ("Die Datenbank existiert nicht.");
$query = "UPDATE `Rohstoffe` SET `Gold` = `Gold` + 100, `Holz` = `Holz` + 100, `Stein` = `Stein` + 20 WHERE `id` = '2';";
$result = mysql_query($query, $verbindung) or die ("MySQL-Fehler: " . mysql_error());
$abfrage = "SELECT `Gold`, `Holz`, `Stein` FROM `Rohstoffe`";
$ergebnis = mysql_query($abfrage, $verbindung) or die ("MySQL-Fehler: " . mysql_error());
while($row = mysql_fetch_object($ergebnis))
echo($row->Gold.", ".$row->Holz.", ".$row->Stein." <br>");
mysql_close($verbindung);
?> -
Hallo zusammen,
wie kann man denn sowas berechnen, dass der User die Rohstoffe aller 10 min bekommt? -
erkundige dich mal bei timestamp. Bin ich auch gerade bei. Mehr kann ich dir leider nicht sagen.
Ich schick dir mal ne PM -
Am einfachsten mit einem Cron-Job.
-
Hallo zusammen,
wie kann man denn sowas berechnen, dass der User die Rohstoffe aller 10 min bekommt?
DU schreibst ein Script, dass die Daten der User einfach ausließt um die Menge erhöht und dann wieder speichert in der DB.
Dann lässt du per Cronjob, wie mein Vorposter schon gesagt hat, das Script alle 10 Minuten ausführen. -
So mal edit weils vllt etwas kompliziert ist. folgender ablauf im script:
1. auslesen zeit letzer seitenaufruf
2. ausrechnen der zeitdifferenz in sec zwischen letzter seitenaufruf und jetzt //mit time() sollte das ziemlich einfach gehen
3. $zwischenwert = sekunden * rhostoffproduktion pro h
4. $addierend = $zwischenwert dividiert durch 3600
5. $addierend in der mysql datenbank zum bisherigen wert addieren (mit nachkommastellen)
6. rohstoffe auslesen und auf 0 nachkommastellen runden
7. rohstoffe ausgeben
8. aktueller timestamp spiechern (in der mysql)
--------------------------------------------------
Edit nr 8: andere editmeldungen gelöscht xD
Beitrag geändert: 7.7.2007 12:23:51 von infanteria
Beitrag geändert: 7.7.2007 13:03:28 von infanteria -
das wäre es mal wert als tutorial zu erstellen. Ich hab sowas noch nicht gefunden. Jemand anders?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage