• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

[Veraltet] Rohstoffberechnung pro Stunde

DeletedUser

Gast
Ja hast du es noch nicht über die URL?

http://dein-game.de/main.php?village=27

als beispiel:
PHP:
if ($ressmenge_oel >= $speicher) {
  mach kein update
 }
 else {
 $village_id = $_GET['village'];
  $update = "UPDATE SET blablub.... WHERE village_id = '$village_id'");
}
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser

Gast
das soll eine cronjob datei sein
da kann ich nix mit url machen:)
 

DeletedUser

Gast
meine idee wäre gewesen:
beim logout wird die uhrzeit oder time() gespeichert
beim einloggen wird ausgerechnet wie lang er off war und nachgerechnet was an ress verdient wurde

und sonst wernd das script läuft wird jede min aufgezählt!
 

DeletedUser

Gast
So ich hab das jetz schonmal problem macht kein update.


PHP:
<?php
	  
$ress = array();
$ress[1]=0.027;
$ress[2]=0.048;
$ress[3]=0.055;
$ress[4]=0.070;
$ress[5]=0.080;
$ress[6]=0.094;
$ress[7]=0.101;
$ress[8]=0.108;
$ress[9]=0.120;
$ress[10]=0.130;
$ress[11]=0.142;
$ress[12]=0.15;
$ress[13]=0.1725;
$ress[14]=0.191;
$ress[15]=0.201;
$ress[16]=0.218;
$ress[17]=0.222;
$ress[18]=0.235;
$ress[19]=0.274;
$ress[20]=0.321;
$ress[21]=0.345;
$ress[22]=0.431;
$ress[23]=0.519;
$ress[24]=0.555;
$ress[25]=0.609;
$ress[26]=0.722;
$ress[27]=0.898;
$ress[28]=1.015;
$ress[29]=1.19;
$ress[30]=1.33;


$timestamp = time();

$abfrage = "SELECT zeit FROM villages WHERE dorfid='".$dorfid."'";

$query = mysql_query("SELECT stufe_sandgrube,stufe_wasserwerk,stufe_oelwerk,sand,wasser,oel from villages where dorfid = '".$_GET['dorfid']."'");
$Get_data = mysql_fetch_array( $query );
$zeit = $Get_data[zeit];
$resstime = $timestamp - $zeit;
$new_ress1= $ress[$Get_data['stufe_sandgrube']] + $Get_data['sand'];
$new_ress2= $ress[$Get_data['stufe_wasserwerk']] + $Get_data['wasser'];
$new_ress3= $ress[$Get_data['stufe_oelwerk']] + $Get_data['oel'];
$abfrage = "SELECT * FROM villages WHERE dorfid = '$dorfid' ";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
 {
 {
 $ress1 = $row->sand + $new_ress1; 
 $ress2 = $row->wasser + $new_ress2; 
 $ress3 = $row->oel + $new_ress3; 
 if($row->speicherkapazitaet >= $ress1)
{
mysql_query("Update villages set sand = sand + '$new_ress1' where dorfid = '".$dorfid."'")or die(mysql_error());
}
elseif ( $row->speicherkapazitaet = $ress1)
{

}
elseif ($ress1 >= $row->speicherkapazitaet)
{
mysql_query("Update villages set sand = '$row->speicherkapazitaet' where dorfid = '".$dorfid."'")or die(mysql_error());
}
if($row->speicherkapazitaet >= $ress2)
{
mysql_query("Update villages set wasser = wasser + '$new_ress2' where dorfid = '".$dorfid."'")or die(mysql_error());
}
elseif ( $row->speicherkapazitaet = $ress2)
{

}
elseif ($res2 >= $row->speicherkapazitaet)
{
mysql_query("Update villages set wasser = '$row->speicherkapazitaet' where dorfid = '".$dorfid."'")or die(mysql_error());
}
if($row->speicherkapazitaet >= $ress3)
{
mysql_query("Update villages set oel = oel + '$new_ress3' where dorfid = '".$dorfid."'")or die(mysql_error());
}
elseif ($row->speicherkapazitaet = $ress3)
{

}
elseif ($ress3 >= $row->speicherkapazitaet)
{
mysql_query("Update villages set oel = '$row->speicherkapazitaet' where dorfid = '".$dorfid."'")or die(mysql_error());
}
$timestamp = time();
mysql_query("Update villages set zeit = '$timestamp' where dorfid = '".$dorfid."'")or die(mysql_error());
}
}
 

DeletedUser

Gast
Fällt dir bei $ress was auf? Das ist schonmal komplett falsch.
 

DeletedUser24674

Gast
Auweia...

Ich finde es immer toll wenn neue Leute programmieren lehren wollen. Das Hilfeforum ist auch toll.

Bei dir, blue dings da, fällt mir leider immer wieder auf das du dein Problem nicht so schilderst, dass wir es verstehen und wir rumrätseln müssen - erfolg = 0.

Dazu kommt noch, dass du überhaupt nicht überlegst. Wir geben dir einen Gedankenanstoß, du übernimmst ihn 1:1 - Das ist aber nicht der Sinn eines Gedankenanstoß. Du brauchst erstmal selber ein komzept, ansonsten kannste dein Projekt gleich in die Tonne kloppen.

Liebe Grüße
 

DeletedUser

Gast
PHP:
<?php
while($row = mysql_fetch_object($ergebnis))
 {
 {
  bla bla
 }
 }
?>
mich stüren die 2 {} das ist unsinn glaub iich
Fällt dir bei $ress was auf? Das ist schonmal komplett falsch.
löl
meine fresse ****** fehl

Blueangel
mach mal ress überall zu nem array!!
 

DeletedUser

Gast
Naja, ich will dir ja mal helfen, so sieht das Array richtig aus:

PHP:
<?php
$ress = array();
$ress[1]= "0.027";
$ress[2]= "0.048";
$ress[3]= "0.055";
$ress[4]= "0.070";
$ress[5]= "0.080";
$ress[6]= "0.094";
$ress[7]= "0.101";
$ress[8]= "0.108";
$ress[9]= "0.120";
$ress[10]= "0.130";
$ress[11]= "0.142";
$ress[12]= "0.15";
$ress[13]= "0.1725";
$ress[14]= "0.191";
$ress[15]= "0.201";
$ress[16]= "0.218";
$ress[17]= "0.222";
$ress[18]= "0.235";
$ress[19]= "0.274";
$ress[20]= "0.321";
$ress[21]= "0.345";
$ress[22]= "0.431";
$ress[23]= "0.519";
$ress[24]= "0.555";
$ress[25]= "0.609";
$ress[26]= "0.722";
$ress[27]= "0.898";
$ress[28]= "1.015";
$ress[29]= "1.19";
$ress[30]= "1.33";
?>
 

DeletedUser

Gast
Ich hab nur den Fehler in deinem Array berichtigt. Wieso sollte es jetzt funktionieren? Ich verweise auf den Fehler den hacki2nd angesprochen hat...
 

DeletedUser

Gast
Dein Code ist voller Fehler... ich fang mal an und nenne ein paar Fehler
PHP:
<?php
	  
$ress = array();
$ress[1]=0.027;
$ress[2]=0.048;
$ress[3]=0.055;
$ress[4]=0.070;
$ress[5]=0.080;
$ress[6]=0.094;
$ress[7]=0.101;
$ress[8]=0.108;
$ress[9]=0.120;
$ress[10]=0.130;
$ress[11]=0.142;
$ress[12]=0.15;
$ress[13]=0.1725;
$ress[14]=0.191;
$ress[15]=0.201;
$ress[16]=0.218;
$ress[17]=0.222;
$ress[18]=0.235;
$ress[19]=0.274;
$ress[20]=0.321;
$ress[21]=0.345;
$ress[22]=0.431;
$ress[23]=0.519;
$ress[24]=0.555;
$ress[25]=0.609;
$ress[26]=0.722;
$ress[27]=0.898;
$ress[28]=1.015;
$ress[29]=1.19;
$ress[30]=1.33;
?>
Der Fehler wurde ja schon berichtigt.


PHP:
$abfrage = "SELECT zeit FROM villages WHERE dorfid='".$dorfid."'";
Gut, Anweisung hast du in der Query geschrieben, nur wo wird sie abgeschickt?
=>
PHP:
mysql_query($abfrage);
PHP:
$query = mysql_query("SELECT stufe_sandgrube,stufe_wasserwerk,stufe_oelwerk,sand,wasser,oel from villages where dorfid = '".$_GET['dorfid']."'");
ist falsch, muss so heißen
PHP:
$dorfid = $_GET['dorfid'];
$query = mysql_query("SELECT stufe_sandgrube, stufe_wasserwerk, stufe_oelwerk,sand, wasser, oel FROM villages WHERE dorfid = '$dorfid'");
Ich mach es lieber so, dass ich es als $dorfid speicher, ist so meiner Meinung nach übersichtlicher...

PHP:
$abfrage = "SELECT * FROM villages WHERE dorfid = '$dorfid' ";
Oha, eine zweite Query mit dem selben Variablennamen?

Nur mal so als Denkanstoß, es gibt noch mehrere Fehler.
 

DeletedUser24674

Gast
PHP:
$query = mysql_query("SELECT stufe_sandgrube,stufe_wasserwerk,stufe_oelwerk,sand,wasser,oel from villages where dorfid = '".$_GET['dorfid']."'");
ist falsch, muss so heißen
PHP:
$dorfid = $_GET['dorfid'];
$query = mysql_query("SELECT stufe_sandgrube, stufe_wasserwerk, stufe_oelwerk,sand, wasser, oel FROM villages WHERE dorfid = '$dorfid'");

Nö - das ist nicht zwingend. Ist zwar schöner - aber nicht zwingend :p
Gut wäre aber noch
if(!is_numeric($dorfid)) {
die("Piss off you fuckin' hacker!");
}

Ich mach es lieber so, dass ich es als $dorfid speicher, ist so meiner Meinung nach übersichtlicher...

das ist natürlich richtig - einmal holen, prüfen und gut ist :)

grüße
 

DeletedUser

Gast
Dein Code ist voller Fehler... ich fang mal an und nenne ein paar Fehler
PHP:
<?php
	  
$ress = array();
$ress[1]=0.027;
$ress[2]=0.048;
$ress[3]=0.055;
$ress[4]=0.070;
$ress[5]=0.080;
$ress[6]=0.094;
$ress[7]=0.101;
$ress[8]=0.108;
$ress[9]=0.120;
$ress[10]=0.130;
$ress[11]=0.142;
$ress[12]=0.15;
$ress[13]=0.1725;
$ress[14]=0.191;
$ress[15]=0.201;
$ress[16]=0.218;
$ress[17]=0.222;
$ress[18]=0.235;
$ress[19]=0.274;
$ress[20]=0.321;
$ress[21]=0.345;
$ress[22]=0.431;
$ress[23]=0.519;
$ress[24]=0.555;
$ress[25]=0.609;
$ress[26]=0.722;
$ress[27]=0.898;
$ress[28]=1.015;
$ress[29]=1.19;
$ress[30]=1.33;
?>
Der Fehler wurde ja schon berichtigt.


PHP:
$abfrage = "SELECT zeit FROM villages WHERE dorfid='".$dorfid."'";
Gut, Anweisung hast du in der Query geschrieben, nur wo wird sie abgeschickt?
=>
PHP:
mysql_query($abfrage);
PHP:
$query = mysql_query("SELECT stufe_sandgrube,stufe_wasserwerk,stufe_oelwerk,sand,wasser,oel from villages where dorfid = '".$_GET['dorfid']."'");
ist falsch, muss so heißen
PHP:
$dorfid = $_GET['dorfid'];
$query = mysql_query("SELECT stufe_sandgrube, stufe_wasserwerk, stufe_oelwerk,sand, wasser, oel FROM villages WHERE dorfid = '$dorfid'");
Ich mach es lieber so, dass ich es als $dorfid speicher, ist so meiner Meinung nach übersichtlicher...

PHP:
$abfrage = "SELECT * FROM villages WHERE dorfid = '$dorfid' ";
Oha, eine zweite Query mit dem selben Variablennamen?

Nur mal so als Denkanstoß, es gibt noch mehrere Fehler.


danke das du mir ein bischen geholfen hast
 

DeletedUser

Gast
hab das jetz alles mit if gemacht
zwar viel code denn aber naja

werd das mit cronjob machen und jede minute auführen lassen, weil mit sekunden ist das *******e denn kommt zu schnell ein hoher wert raus


bin noch nicht fertig mit dem code
 

DeletedUser

Gast
hab das jetz alles mit if gemacht
zwar viel code denn aber naja

werd das mit cronjob machen und jede minute auführen lassen, weil mit sekunden ist das *******e denn kommt zu schnell ein hoher wert raus


bin noch nicht fertig mit dem code

Wenn du ihn fertig hast zeig ihn mal...
 

DeletedUser

Gast
kann closed werden
habs fertig willst es trotzdem noch sehen???
 

DeletedUser

Gast
dann nutz en notpaste oder lade es als html hoch und rück den link raus
 
Oben