mmofacts.com

Die Chars Arbeiten in minus !?!

gepostet vor 16 Jahre, 1 Monat von BES_1973

ich komme mit diesem Fehler nicht weiter, meine User können bei div. Berufen jedesmal ins minus Arbeiten.
Ich hab den Teilscript nun schon einige male geändert, aber statt besser wird das eigentlich nur noch schlimmer.

hier ist ein Ausschnitt aus dem Script worum es geht.

PHP:

# ----------------------------------;
# --- Arbeite Werkzeugmechaniker ---;
# ----------------------------------;
if ($menu=="arbeiten" and $beruf=="Werkzeugmechaniker" and !$status and !$aktion)
{
if (!$herstellen)
{
include ('werkzeugschmiede.php');
}
else
{
$query="SELECT * FROM gegenstaende
     WHERE gegenstand='".mysql_escape_string($gegenstand)."'";
$result=mysql_query($query);

$heisen = $row -> eisen;
$hholz = $row -> holz;
$hsand =$row -> sand;
$hgold =$row -> gold;
$hsilizium = $row -> silizium;
if ($eisen-$heisen>-1 and $holz-$hholz>-1 and $sand-$hsand>-1 and $gold-$hgold>-1 and $silizium-$hsilizium>-1)
{
$menu='awm';
}
else
{
echo 'du hast nicht genug Ressourcen um dieses Werkzeug herzustellen.';
}
}
}
if ($menu=="awm")
{
$menu='';
$aktion="arbeitwm";
$status ='';
$fertig=date("Y-m-d H:i:s",mktime(date(H),date(i)+30,date(s),date(m),date(d),date(Y)));
$f_count=date("Y M d,H:i:s",mktime(date(H),date(i)+30,date(s),date(m),date(d),date(Y)));
include("connect.php");
$query="UPDATE rchar SET fertig = '$fertig', aktion = '$aktion', status = '', f_count='$f_count', herstellen = '$gegenstand' where ID='$userid'";
$ok=mysql_query($query);
echo 'du stellst ein Werkzeug (',$gegenstand,') her';
}

 ich finde den Fehler nicht, aber kann ja nur in der IF-Abfrage oder bei der Klammersetzung sein.

Ich danke schonmal im vorraus.

gepostet vor 16 Jahre, 1 Monat von s1x

Frag doch in einem PHP Forum bist wohl besser aufgehoben als hier, wenn du sagst das es nur an der If-Abfrage bzw. Klammersetzung sein kann dann schau doch da..
Ich denke es macht hier keine deine Arbeit,...

By the way:
Ich komm mit dem Quellcode grade eh nich so zurecht, vielleicht liegt es auch an der späten Stunde.. oder so.

gepostet vor 16 Jahre, 1 Monat von BES_1973

Danke für die Antwort, dafür ist also die Entwicklerlobby da.

Ich dachte eigentlich dass einem da geholfen wird.
Zu dem Script, der ist ja nun sogar für einen Leien zu Verstehen. (warum der hier in 3 Teile geteilt ist weiss ich auch nicht.)

Ich will auch nicht dass jemand meine Arbeit macht, ich brauche nur einen Tipp.
Es reicht mir wenn jemand Qualifitzertes sagt, "eh du hast Mist mit der IF-Abfrage gebaut" oder "du hast mit den Klammern Mist gebaut" oder sonstwas wo der Fehler liegt.
Damit ich da nachschauen kann.

Oder dachtest du dass ich jetzt hier einen fertigen Script erwarte?

gepostet vor 16 Jahre, 1 Monat von knalli

Äh.. wtf, das liegt am Code. Noch nie was von nem Codestyle-Guide gehört? Oder zumindestens Ansatzweise?

Wegen deinem Fehler: Da ich kein Delta-Update finde, wirste ne Racecondition haben. Gehe ich jetzt um diese Uhrzeit einfach mal spontan von aus :)

Merke: Es ist unklug, irgendwas aus der DB zu laden, damit rumzumachen und dann das Ergebnis wieder reinzuspeichern. Besser: Laden, rumfummeln und dann deine Differenzen begleichen. Und wenn du schon mal direkt dabei bist, kannst du dafür sorgen, dass auch alle über 0 sind. Wenn nicht, sind sie nicht zu alt, ich meine hast du ein Problem, was du ja haben willst.

gepostet vor 16 Jahre, 1 Monat von BES_1973

Thread kann geschlossen werden.

Für den Fehler gehöhre ich erschlagen und getötet.

Ich hätte vielleicht auch mal darauf achten sollen, dass die richtige MySQL-Tabelle abgefragt wird.

Trotz allem, danke (man bin ich blöd).

gepostet vor 16 Jahre, 1 Monat von knalli

Das heißt aber nicht, das ich mit meiner Anmerkung daneben lag..

Auf diese Diskussion antworten