Floats für MySQL auslesen

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, ich hab ein Problem beim auslesen von Floats über MySQL


    Ich hab es so gedacht, dass wenn der Spieler connected sein Car geladen und erstellt wird.
    Das Speichern der Positionen über /park in der MySQL Tabelle klappt bereits.
    Allerdings will das auslesen nicht funktionieren, das Car spawnt immer an der Position 0,0,0,0 .. also an der Farm.


    Der Load Player Stock:
    stock LoadPlayer(playerid)
    new Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo;
    Xpo = mysql_GetInt("accounts", "PosX", "Name", SpielerInfo[playerid][pName]);
    Ypo = mysql_GetInt("accounts", "PosY", "Name", SpielerInfo[playerid][pName]);
    Zpo = mysql_GetInt("accounts", "PosZ", "Name", SpielerInfo[playerid][pName]);
    Apo = mysql_GetInt("accounts", "PosA", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pCarID] = CreateVehicle(SpielerInfo[playerid][pModelID],Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo,-1,-1,-1);
    return 1;
    }


    Der GetFloat Stock:


    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    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();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }


    Würde mich freuen wenn mir da jemand helfen kann bzw. den Fehler lokalisieren kann.


    Gruss,
    Driver.

  • Ja so sollte es auch sein.. xD
    Habe aber so folgenden Error:

    Code
    ....(9819) : warning 208: function with tag result used before definition, forcing reparse


    Zeile 9819 ist folgende:
    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[]) // <--- Zeile 9819
    {
    new query[128], Float:sqlfloat;
    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();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }


    Kann mir jemand sagen was an der Zeile Falsch ist oder evtl. auch am LoadPlayer Stock?
    Dieser sieht nun wie folgt aus:

    stock LoadPlayer(playerid)
    new Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo;
    Xpo = mysql_GetFloat("accounts", "PosX", "Name", SpielerInfo[playerid][pName]);
    Ypo = mysql_GetFloat("accounts", "PosY", "Name", SpielerInfo[playerid][pName]);
    Zpo = mysql_GetFloat("accounts", "PosZ", "Name", SpielerInfo[playerid][pName]);
    Apo = mysql_GetFloat("accounts", "PosA", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pCarID] = CreateVehicle(SpielerInfo[playerid][pModelID],Float:Xpo,Float:Ypo,Float:Zpo,Float:Apo,-1,-1,-1);
    return 1;
    }


    /edit1 LoadPlayer Stock h inzugefügt
    /edit2 Problem gelöst:
    Habe das Problem nun gelöst, der Stock musste über den LoadPlayer Stock.


    Gruss
    Joe

    2 Mal editiert, zuletzt von Joe. () aus folgendem Grund: Bearbeitetend LoadPlayer Stock hinzugefügt