Privatautohaus Speicherung

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
  • Abend :),


    Ich habe folgendes Problem die Speicherung funktioniert nicht, und hab jetzt momentan Errors. Die Frage ist wie man den public gestalten kann.
    Derzeitiger Error ist mysql_format weil der Code nicht vorhanden ist.
    Dieser Public wird beim Kauf aufgerufen um die jeweiligen Werte in Spalten zu schreiben und vorallem eine Spalte zu erstellen.


    Hier werden die Spalten editiert/updatet.


    @Jeffry
    Freue mich auf eure Hilfe :)

  • So ich hab nun format genommen, es speichert nichts.




    C
    [21:37:28] >> mysql_query( Connection handle: 1 )
    [21:37:28] CMySQLHandler::Query(INSERT INTO `usercars` (`Name`, `AH_Typ`, `AH_X`, `AH_Y`, `AH_Z`, `AH_Rot`, `AH_Status`, `AH_Lock`, `AH_Paintjob`, `AH_Farbe1`, `AH_Farbe2`, `AH_mod1`, `AH_mod2`, `AH_mod3`, `AH_mod4`, `AH_mod5`, `AH_mod6`, `AH_mod7`, `AH_mod8`, `AH_mod9`, `AH_mod10`, `AH_mod11`, `AH_mod12`, `AH_mod13`, `AH_mod14`, `AH_mod15`, `AH_mod16`, `AH_mod17`, `AH_SpawnSaveX`, `AH_SpawnSaveY`, `AH_SpawnSaveZ`, `AH_SpawnSaveRot`, `AH_TankVolumen`, `AH_RepairTime`, `AH_Versicherung`, `AH_StandTime`, `AH_Meter`) VALUES ('111AutoNR0', '39', '0.0', '0.0', '739.7', '-1343.8', '1097963930', '1132924109', '0', '0', '-1', '-1', '-1', '-1', '-1', ��������ݚΤ, ��������ۍd)) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ڽۍd, ��������ۍd)' at line 1)
    [21:37:28] OnQueryError() - Called.

    Neuer Syntax Error

  • Versuche es so, mit dem letzten format:

    C
    format(var, sizeof(var),
    "INSERT INTO `usercars` (`Name`, `AH_Typ`, `AH_X`, `AH_Y`, `AH_Z`, `AH_Rot`, `AH_Status`, `AH_Lock`, `AH_Paintjob`, `AH_Farbe1`, `AH_Farbe2`, `AH_mod1`, `AH_mod2`, `AH_mod3`, `AH_mod4`, %s, %s) VALUES ('%s', '%d', '%.1f', '%.1f', '%.1f', '%.1f', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', %s, %s)",
    formi3,formi2,formi,Carlist[playerid][chid][Typ],Carlist[playerid][chid][pos_x],Carlist[playerid][chid][pos_y],Carlist[playerid][chid][pos_z],Carlist[playerid][chid][z_angle],Carlist[playerid][chid][Status],Carlist[playerid][chid][Lock],Carlist[playerid][chid][Paintjob],
    Carlist[playerid][chid][Farbe1],Carlist[playerid][chid][Farbe2],Carlist[playerid][chid][mod1],Carlist[playerid][chid][mod2],Carlist[playerid][chid][mod3],Carlist[playerid][chid][mod4],formi4,formi5);
  • Nun kommt dieser Fehler in der Log:


    C
    [23:10:33] >> mysql_query( Connection handle: 1 )
    [23:10:33] CMySQLHandler::Query(INSERT INTO `usercars` (`Name`, `AH_Typ`, `AH_X`, `AH_Y`, `AH_Z`, `AH_Rot`, `AH_Status`, `AH_Lock`, `AH_Paintjob`, `AH_Farbe1`, `AH_Farbe2`, `AH_mod1`, `AH_mod2`, `AH_mod3`, `AH_mod4`, `AH_mod5`, `AH_mod6`, `AH_mod7`, `AH_mod8`, `AH_mod9`, `AH_mod10`, `AH_mod11`, `AH_mod12`, `AH_mod13`, `AH_mod14`, `AH_mod15`, `AH_mod16`, `AH_mod17`, `AH_SpawnSaveX`, `AH_SpawnSaveY`, `AH_SpawnSaveZ`, `AH_SpawnSaveRot`, `AH_TankVolumen`, `AH_RepairTime`, `AH_Versicherung`, `AH_StandTime`, `AH_Meter`) VALUES ('111AutoNR0', '10', '739.7', '-1343.8', '15.1', '270.1', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '-1', '739.7', '-1343.8', '15.1', '270.1', '100', '0', '0', '0', '0')) - An error has occured. (Error ID: 1136, Column count doesn't match value count at row 1)
    [23:10:33] OnQueryError() - Called.
  • Die Anzahl der Spalten Namen (erster Teil) stimmt nicht mit der Anzahl der Werte (zweiter Teil) überein. Zähle die Platzhalter (%d,...) und die Variablen im format nach und prüfe, welche Variable bzw welcher Platzhalter zu viel da ist, oder fehlt.

  • Nach dem Ich mir ein Car gekauft habe und reloggen wollte konnte ich feststellen das dieses Speichert.
    Nun hab ich ein neues Problem nach dem Relog bekomm ich ein Art Spawnbug und aufeinmal
    schmiert der Server ab.


    //edit Server schmiert nur ab wenn der connectet der online ist.


    hier nochmal der Lade public und der Save public


    Der wird beim connecten aufgerufen also ist er für das laden zuständig


    public PlayerCarConnect(playerid)
    {
    if(IsPlayerNPC(playerid))
    {
    return 1;
    }
    new string[128],
    playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    for(new h = 0; h < MaxVeh[playerid]; h++)
    {
    if(SaveServerMySQL==0)
    {
    format(string, sizeof(string), "cars/%dAutoNR%d.ini", PlayerInfo[playerid][pSQLID], h);
    if(fexist(string))
    {
    new data[256];
    data = dini_Get(string,"AH_Typ"); Carlist[playerid][h][Typ] = strval( data );
    data = dini_Get(string,"AH_X"); Carlist[playerid][h][pos_x] = floatstr( data );
    data = dini_Get(string,"AH_Y"); Carlist[playerid][h][pos_y] = floatstr( data );
    data = dini_Get(string,"AH_Z"); Carlist[playerid][h][pos_z] = floatstr( data );
    data = dini_Get(string,"AH_Rot"); Carlist[playerid][h][z_angle] = floatstr( data );
    data = dini_Get(string,"AH_Status"); Carlist[playerid][h][Status] = strval( data );
    data = dini_Get(string,"AH_Lock"); Carlist[playerid][h][Lock] = strval( data );
    data = dini_Get(string,"AH_Paintjob"); Carlist[playerid][h][Paintjob] = strval( data );
    data = dini_Get(string,"AH_Farbe1"); Carlist[playerid][h][Farbe1] = strval( data );
    data = dini_Get(string,"AH_Farbe2"); Carlist[playerid][h][Farbe2] = strval( data );
    data = dini_Get(string,"AH_mod1"); Carlist[playerid][h][mod1] = strval( data );
    data = dini_Get(string,"AH_mod2"); Carlist[playerid][h][mod2] = strval( data );
    data = dini_Get(string,"AH_mod3"); Carlist[playerid][h][mod3] = strval( data );
    data = dini_Get(string,"AH_mod4"); Carlist[playerid][h][mod4] = strval( data );
    data = dini_Get(string,"AH_mod5"); Carlist[playerid][h][mod5] = strval( data );
    data = dini_Get(string,"AH_mod6"); Carlist[playerid][h][mod6] = strval( data );
    data = dini_Get(string,"AH_mod7"); Carlist[playerid][h][mod7] = strval( data );
    data = dini_Get(string,"AH_mod8"); Carlist[playerid][h][mod8] = strval( data );
    data = dini_Get(string,"AH_mod9"); Carlist[playerid][h][mod9] = strval( data );
    data = dini_Get(string,"AH_mod10"); Carlist[playerid][h][mod10] = strval( data );
    data = dini_Get(string,"AH_mod11"); Carlist[playerid][h][mod11] = strval( data );
    data = dini_Get(string,"AH_mod12"); Carlist[playerid][h][mod12] = strval( data );
    data = dini_Get(string,"AH_mod13"); Carlist[playerid][h][mod13] = strval( data );
    data = dini_Get(string,"AH_mod14"); Carlist[playerid][h][mod14] = strval( data );
    data = dini_Get(string,"AH_mod15"); Carlist[playerid][h][mod15] = strval( data );
    data = dini_Get(string,"AH_mod16"); Carlist[playerid][h][mod16] = strval( data );
    data = dini_Get(string,"AH_mod17"); Carlist[playerid][h][mod17] = strval( data );
    data = dini_Get(string,"AH_SpawnSaveX"); Carlist[playerid][h][SpawnSaveX] = floatstr( data );
    data = dini_Get(string,"AH_SpawnSaveY"); Carlist[playerid][h][SpawnSaveY] = floatstr( data );
    data = dini_Get(string,"AH_SpawnSaveZ"); Carlist[playerid][h][SpawnSaveZ] = floatstr( data );
    data = dini_Get(string,"AH_SpawnSaveRot"); Carlist[playerid][h][SpawnSaveRot] = floatstr( data );
    data = dini_Get(string,"AH_TankVolumen"); Carlist[playerid][h][TankVolumen] = strval( data );
    data = dini_Get(string,"AH_RepairTime"); Carlist[playerid][h][RepairTime] = strval(data);
    data = dini_Get(string,"AH_Versicherung"); Carlist[playerid][h][Versicherung] = strval(data);
    data = dini_Get(string,"AH_StandTime"); Carlist[playerid][h][StandTime] = strval(data);
    data = dini_Get(string,"AH_Meter"); Carlist[playerid][h][Meter] = strval(data);
    }
    }
    else
    {
    format(string, sizeof(string),"SELECT * FROM `usercars` WHERE `Name` = '%dAutoNR%d'",PlayerInfo[playerid][pSQLID], h);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(string);
    new val[ 256 ];
    self_mysql_get_field("AH_Typ", val); Carlist[playerid][h][Typ] = strval( val );
    self_mysql_get_field("AH_X", val); Carlist[playerid][h][pos_x] = floatstr( val );
    self_mysql_get_field("AH_Y", val); Carlist[playerid][h][pos_y] = floatstr( val );
    self_mysql_get_field("AH_Z", val); Carlist[playerid][h][pos_z] = floatstr( val );
    self_mysql_get_field("AH_Rot", val); Carlist[playerid][h][z_angle] = floatstr( val );
    self_mysql_get_field("AH_Status", val); Carlist[playerid][h][Status] = strval( val );
    self_mysql_get_field("AH_Lock", val); Carlist[playerid][h][Lock] = strval( val );
    self_mysql_get_field("AH_Paintjob", val); Carlist[playerid][h][Paintjob] = strval( val );
    self_mysql_get_field("AH_Farbe1", val); Carlist[playerid][h][Farbe1] = strval( val );
    self_mysql_get_field("AH_Farbe2", val); Carlist[playerid][h][Farbe2] = strval( val );
    self_mysql_get_field("AH_mod1", val); Carlist[playerid][h][mod1] = strval( val );
    self_mysql_get_field("AH_mod2", val); Carlist[playerid][h][mod2] = strval( val );
    self_mysql_get_field("AH_mod3", val); Carlist[playerid][h][mod3] = strval( val );
    self_mysql_get_field("AH_mod4", val); Carlist[playerid][h][mod4] = strval( val );
    self_mysql_get_field("AH_mod5", val); Carlist[playerid][h][mod5] = strval( val );
    self_mysql_get_field("AH_mod6", val); Carlist[playerid][h][mod6] = strval( val );
    self_mysql_get_field("AH_mod7", val); Carlist[playerid][h][mod7] = strval( val );
    self_mysql_get_field("AH_mod8", val); Carlist[playerid][h][mod8] = strval( val );
    self_mysql_get_field("AH_mod9", val); Carlist[playerid][h][mod9] = strval( val );
    self_mysql_get_field("AH_mod10", val); Carlist[playerid][h][mod10] = strval( val );
    self_mysql_get_field("AH_mod11", val); Carlist[playerid][h][mod11] = strval( val );
    self_mysql_get_field("AH_mod12", val); Carlist[playerid][h][mod12] = strval( val );
    self_mysql_get_field("AH_mod13", val); Carlist[playerid][h][mod13] = strval( val );
    self_mysql_get_field("AH_mod14", val); Carlist[playerid][h][mod14] = strval( val );
    self_mysql_get_field("AH_mod15", val); Carlist[playerid][h][mod15] = strval( val );
    self_mysql_get_field("AH_mod16", val); Carlist[playerid][h][mod16] = strval( val );
    self_mysql_get_field("AH_mod17", val); Carlist[playerid][h][mod17] = strval( val );
    self_mysql_get_field("AH_SpawnSaveX", val); Carlist[playerid][h][SpawnSaveX] = floatstr( val );
    self_mysql_get_field("AH_SpawnSaveY", val); Carlist[playerid][h][SpawnSaveY] = floatstr( val );
    self_mysql_get_field("AH_SpawnSaveZ", val); Carlist[playerid][h][SpawnSaveZ] = floatstr( val );
    self_mysql_get_field("AH_SpawnSaveRot", val); Carlist[playerid][h][SpawnSaveRot] = floatstr( val );
    self_mysql_get_field("AH_TankVolumen", val); Carlist[playerid][h][TankVolumen] = strval( val );
    self_mysql_get_field("AH_RepairTime", val); Carlist[playerid][h][RepairTime] = strval( val );
    self_mysql_get_field("AH_Versicherung", val); Carlist[playerid][h][Versicherung] = strval( val );
    self_mysql_get_field("AH_StandTime", val); Carlist[playerid][h][StandTime] = strval( val );
    self_mysql_get_field("AH_Meter", val); Carlist[playerid][h][Meter] = strval( val );
    }
    mysql_free_result(MySQLConnection);
    }
    if(Carlist[playerid][h][Typ] != -1 && Carlist[playerid][h][Status] == 0){
    printf("Fahrzeugspeicherung: Beginning Spawn.");
    Carlist[playerid][h][Carid] = CreateTunedCar(playerid, h);
    printf("Fahrzeugspeicherung: End Spawn.");
    }
    }
    return 1;
    }

  • [23:36:44] [debug] Server crashed while executing revolution.amx
    [23:36:44] [debug] AMX backtrace:
    [23:36:44] [debug] #0 00000039 in ?? (48, 124, 48, 124, 48, 124, 48, 0, 52, 68, ... <21 arguments>) from revolution.amx
    [23:36:44] [debug] #1 00000039 in public OnDialogResponse () from revolution.amx


    es kommt nichts anderes mehr außer das.


    @[DT]midomen

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Immer noch das ganze


    [23:58:20] Fahrzeugspeicherung: Beginning Spawn.
    [23:58:20] Fahrzeugspeicherung: End Spawn.
    [23:58:20] [debug] Server crashed while executing revolution.amx
    [23:58:20] [debug] AMX backtrace:
    [23:58:20] [debug] #0 00000039 in ?? (48, 124, 48, 124, 48, 124, 48, 0, 52, 68, ... <21 arguments>) from revolution.amx
    [23:58:20] [debug] #1 00000039 in public OnDialogResponse () from revolution.amx


    /edit: print von PlayerCarConnect vorhanden.

  • So ich erläutere es nochmal,


    Problem ist: Mein Account connectet, bis ich mich nicht einlogge ist alles gut, sobald ich mein richtiges passwort im Login Menu eingebe um ein Schritt weiter zu
    gelangen steh ich in der Luft und bin nicht eingeloggt. Wenn ich ein Befehl ausführen möchte steht dran du bist nicht eingeloggt.
    Beim Connecten bzw. Login wird der public PlayerCarConnect aufgerufen.
    Sobald ich diesen public ausklammer und den Server starte und mich dann einlogge, funktioniert alles !
    Somit kann es doch nur daran liegen.



    //edit Dazu muss man noch sagen, das die SQLID des Autos mit dem Spieler übereinstimmt, das heißt es wird geladen.


  • Tag zusammen :),
    Ich konnte soeben rausfinden: der public PlayerCarConnect wird ja unter OnPlayerLogin aufgerufen, der Public OnPlayerLogin führt alles aus bis zum Code PlayerCarConnect.
    Alle Codes etc. was nach PlayerCarConnect kommen werden nicht ausgeführt.


    @Jeffry
    @[DT]midomen


    OnPlayerLogin Public



    fakt ist es muss an PlayerCarConnect liegen.