[MySQL] Floats werden nicht gespeichert..

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
  • Hey,


    Ich - schon wieder.
    Heute werden meine Floats vom Car oder vom Spieler nicht gespeichert.
    Es zeigt mir In Game zwar alles korrekt an, aber in der Datenbank und nach einem GMX ist alles wie vorher.
    Hier mal mein SavePlayerCar:
    stock SavePlayerCar(carid) {
    mysql_SetCarFloat("vehicles", "SpawnX", PlayerVehicles[carid][SpawnX], "ID", carid);
    mysql_SetCarFloat("vehicles", "SpawnY", PlayerVehicles[carid][SpawnY], "ID", carid);
    mysql_SetCarFloat("vehicles", "SpawnZ", PlayerVehicles[carid][SpawnZ], "ID", carid);
    mysql_SetCarFloat("vehicles", "SpawnAngel", PlayerVehicles[carid][SpawnAng], "ID", carid);
    mysql_SetCarString("vehicles", "Besitzer", PlayerVehicles[carid][Besitzer], "ID", carid);
    mysql_SetCarString("vehicles", "Key1", PlayerVehicles[carid][Key1], "ID", carid);
    mysql_SetCarString("vehicles", "Key2", PlayerVehicles[carid][Key2], "ID", carid);
    mysql_SetCarString("vehicles", "Key4", PlayerVehicles[carid][Key2], "ID", carid);
    mysql_SetCarString("vehicles", "Nummernschild", PlayerVehicles[carid][Nummernschild], "ID", carid);
    }


    Und hier einmal der stock mysql_SetCarFloat:
    stock mysql_SetCarFloat(Table[], Field[], Float:To, Where[], Where2) {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE '%s' = '%d'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    Hoffe jemand von euch, kann mir ein weiteres mal helfen.


    Liebe Grüße!

  • Solche Stocks verbrauchen unmengen an Resourcen....
    Hier bitte:

    new query[200];
    format(query,200,"UPDATE `vehicles` SET `SpawnX` = '%f', `SpawnY` = '%f', `SpawnA` = '%f', `SpawnAngel` = '%f', `Besitzer` = '%s', `Key1` = '%s', `Key2` = '%s',\
    `Key4` = '%s', `Nummernschild` = '%s' WHERE `ID` = '%d'",PlayerVehicles[carid][SpawnX],PlayerVehicles[carid][SpawnY],PlayerVehicles[carid][SpawnZ],PlayerVehicles[carid][SpawnAng],PlayerVehicles[carid][Besitzer],PlayerVehicles[carid][Key1],PlayerVehicles[carid][Key2],PlayerVehicles[carid][Key2],
    PlayerVehicles[carid][Nummernschild],carid);
    mysql_query(query);
    mysql_free_result();

  • Da bitte schön, ist der Befehl /savespawnveh


    ocmd:savespawnveh(playerid, params[]) {
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid), xName[56];
    GetPlayerName(playerid, xName, 56);
    if(!strcmp(xName, PlayerVehicles[car][Key1], true) || !strcmp(xName, PlayerVehicles[car][Key2]) || !strcmp(xName, PlayerVehicles[car][Key3])) {
    new Float:x, Float:y, Float:z, Float:Ang;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, Ang);
    PlayerVehicles[car][SpawnX] = x;
    PlayerVehicles[car][SpawnY] = y;
    PlayerVehicles[car][SpawnZ] = z;
    PlayerVehicles[car][SpawnAng] = Ang;
    new query[200];
    format(query,200,"UPDATE `vehicles` SET `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnAngel` = '%f', `Besitzer` = '%s', `Key1` = '%s', `Key2` = '%s',\
    `Key3` = '%s', `Nummernschild` = '%s' WHERE `ID` = '%d'",PlayerVehicles[car][SpawnX],PlayerVehicles[car][SpawnY],PlayerVehicles[car][SpawnZ],PlayerVehicles[car][SpawnAng],PlayerVehicles[car][Besitzer],PlayerVehicles[car][Key1],PlayerVehicles[car][Key2],PlayerVehicles[car][Key2],
    PlayerVehicles[car][Nummernschild],car);
    mysql_query(query);
    mysql_free_result();
    SendClientMessage(playerid, Gelb, "Der Spawnpunkt von deinem Auto wurde erfolgreich gespeichert.");
    return 1;
    }
    else return SendClientMessage(playerid, Error, "Du bist nicht berechtigt das Fahrzeug umzuspeichern!");
    }
    else return SendClientMessage(playerid, Error, "Du sitzt nicht in einem Auto oder bist nur Beifahrer!");
    }

  • Ich weiss zwar nicht, was das damit zu tun hat, aber okay.
    enum Vehicles {
    vid,
    Float:SpawnX,
    Float:SpawnY,
    Float:SpawnZ,
    Float:SpawnAng,
    Besitzer[128],
    Key1[128],
    Key2[128],
    Key3[128],
    Nummernschild[128]
    }
    new PlayerVehicles[MAX_VEHICLES][Vehicles];


    Edit:
    Jetzt stürzt mein PAWN Compiler ab 8|
    ocmd:savespawnveh(playerid, params[]) {
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid), xName[56];
    GetPlayerName(playerid, xName, 56);
    if(!strcmp(xName, PlayerVehicles[car][Key1], true) || !strcmp(xName, PlayerVehicles[car][Key2]) || !strcmp(xName, PlayerVehicles[car][Key3])) {
    new Float:x, Float:y, Float:z, Float:Ang;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, Ang);
    PlayerVehicles[car][SpawnX] = x;
    PlayerVehicles[car][SpawnY] = y;
    PlayerVehicles[car][SpawnZ] = z;
    PlayerVehicles[car][SpawnAng] = Ang;
    new query[200];
    format(query,200, "UPDATE `vehicles` SET `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnAngel` = '%f', `Besitzer` = '%s', `Key1` = '%s', `Key2` = '%s',\
    `Key3` = '%s', `Nummernschild` = '%s' WHERE `ID` = '%d'", PlayerVehicles[car][SpawnX],PlayerVehicles[car][SpawnY],PlayerVehicles[car][SpawnZ],PlayerVehicles[car][SpawnAng],PlayerVehicles[car][Besitzer],PlayerVehicles[car][Key1],PlayerVehicles[car][Key2],PlayerVehicles[car][Key3],
    PlayerVehicles[car][Nummernschild],car);
    mysql_query(query);
    mysql_free_result();
    SendClientMessage(playerid, Gelb, "Der Spawnpunkt von deinem Auto wurde erfolgreich gespeichert.");
    return 1;
    }
    else return SendClientMessage(playerid, Error, "Du bist nicht berechtigt das Fahrzeug umzuspeichern!");
    }
    else return SendClientMessage(playerid, Error, "Du sitzt nicht in einem Auto oder bist nur Beifahrer!");
    }

  • Hir ma die stocks:


    stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
    {
    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(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    forward Float:mysql_GetFloat(Table[], Field[], Where[], Is[]);
    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;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint: