MySQL | Minusgeld

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Freund, ich hab mal wieder ein Prob ( juhu -.-)


    Es geht um Minusgeld.
    In der DB wird das Minusgeld zwar gespeichert. zb. -100$ aber inGame lädt es nur -1$.
    Auch wenn in der DB -50000$ steht wird nur -1$ angezeigt.

    GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]));


    Geld laden


    Und Geld speichern:


    new Query[256];
    format(Query, sizeof(Query),"UPDATE `accounts` SET `Name` = '%s', `Adminlevel` = '%i', `Kills` = '%i', `Tode` = '%i', `Banned` = '%i', `Skin` = '%i', `Level` = '%i', `Geld` = '%i' WHERE `Name` = '%s'",
    SpielerInfo[playerid][pName], SpielerInfo[playerid][pAdminlevel], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pTode], SpielerInfo[playerid][pBanned], GetPlayerSkin(playerid), GetPlayerScore(playerid), GetPlayerMoney(playerid), SpielerInfo[playerid][pName]);
    mysql_query(Query);


    Bitte um Hilfe


    MfG

  • [b]Kurze Ergänzung, du hast bestimmt anstatt getInt getFloat genutzt sowie die Spaltenart auf Float geändert, wa?


    Ich wollte dir noch sagen, dass die ganze Methode auch wieder etwas Ressourcenfressend ist, also das mit getInt, nutze besser threaded Querys :3

  • Kurze Ergänzung, du hast bestimmt anstatt getInt getFloat genutzt sowie die Spaltenart auf Float geändert, wa?


    Ich wollte dir noch sagen, dass die ganze Methode auch wieder etwas Ressourcenfressend ist, also das mit getInt, nutze besser threaded Querys :3


    Ne ne, Spaltenart war auf Int und mit mysql_GetInt geladen. Nur der Fehler war der mysql_GetInt Stock
    Der sah so aus:



    /*stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }
    */


    Habe ihn dann auf


    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    format(query, sizeof(query), "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return strval(Get);
    }


    geändert und siehe da es klappte ^^