Beiträge von Jeffry

    Ach ja, INT ist ja eine SQL Anweisung (steht für den Integer Datentyp).


    Versuche es dann so:
    format(query,sizeof(query),"UPDATE user SET px='%f',py='%f',pz='%f',`int`='%i' WHERE id ='%i'",sInfo[playerid][p_x],sInfo[playerid][p_y],sInfo[playerid][p_z],sInfo[playerid][p_int],sInfo[playerid][id]);

    Interessant. Erklären kann ich mir den Fehler nicht, aber versuche mal folgendes:
    PlayerCarConnect(playerid);
    zu:
    SetTimerEx("PlayerCarConnect", 100, false, "d", playerid);


    Geht es dann?
    Das würde möglicherweise das Problem mit dem Memory Access umgehen.

    Lass dir das Query mal mit einem print ausgeben und schaue ob die Angaben passen.
    Dann schaue in den MySQL Log, ob du dort angegebene Fehler findest, wenn der Code ausgeführt wird.

    Das geht so nicht. Du musst es entweder mit mysql_query machen, und damit ohne ein Callback, oder, und das würde ich dir empfehlen, dass du nicht jedes mal die Datenbank ansprechen musst, das geht ziemlich auf die Ressourcen.


    EDIT: @malE
    Ich bin bei dem Satz irgendwie draus gekommen, was ich eigentlich schreiben wollte, sorry O.o


    Der Satz sollte heißen:
    Das geht so nicht. Du musst es entweder mit mysql_query machen, und damit ohne ein Callback, oder, und das würde ich dir empfehlen, dass du beim Login des Spielers den Name in eine Variable schreibst und diese dann nutzt, sodass du nicht jedes mal die Datenbank ansprechen musst, das geht nämlich ziemlich auf die Ressourcen.

    Füge bitte beim Login vor und nach der Erstellung der Fahrzeuge einen print ein:
    printf("Im Login vor PlayerCarConnect");
    PlayerCarConnect(playerid);
    printf("Im Login nach PlayerCarConnect");
    SpawnPlayer(playerid);
    printf("Nach SpawnPlayer");


    Was wird dann geprintet?

    Du hast erst das return und dann die SCMTA.
    Mache es so:


    if(strcmp(cmd, "/noooc", true) == 0)
    {
    if(!IsPlayerConnected(playerid)) SCM(playerid,COLOR_RED,"Du bist nicht eingeloggt");
    if (SpielerInfo[playerid][pAdmin] <= 3) SCM(playerid,COLOR_RED,"Du bist nicht befugt diesen Befehl auszuführen");
    if(noooc == 0)
    {
    noooc = 1;
    SCMTA(COLOR_GRAD2, " OOC Chat Channel Ausgeschaltet!");
    }
    else
    {
    noooc = 0;
    SCMTA(COLOR_GRAD2, " OOC Chat Channel Eingeschaltet!");
    }
    return 1;
    }

    Das ist ein Fehler von SA-MP, dass die Health-Anzeige ab 255 (?) wieder runter geht. Du hast die Health aber trotzdem, sie wird nur nicht angezeigt. Fällst du wieder unter den Wert, dann geht sie wieder hoch. Das ist auch bei 511 so, etc... (256er-Schritte, wenn ich mich richtig erinnere).

    Du erstellst den Checkpoint mit CreateDynamicCP, und fragst dann bei OnPlayerEnterDynamicCP ab, in welchem Checkpoint (checkpointid) er ist, gleich wie bei den Pickups, nur dass du nicht nach der pickupid fragst, sondern nach der checkpointid.

    Dann versuche es mal über das Web-Archiv: http://archive.org/web/
    Da sind die Seiten, wenn sie dort gespeichert sind, zwar nicht immer aktuell, aber besser als nichts.


    Gegebenenfalls musst du weiterführende Links (Download-Links) vorher abändern, damit die nicht innerhalb des Archivs abgerufen werden.

    Was wird dir so im Server Log ausgegeben?
    public PlayerCarConnect(playerid)
    {
    printf("Starte PlayerCarConnect für %d (MySQL = %d)", playerid, SaveServerMySQL);
    if(IsPlayerNPC(playerid))
    {
    printf("NPC");
    return 1;
    }
    new string[128],
    playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    for(new h = 0; h < MaxVeh[playerid]; h++)
    {
    printf("h: %d", 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);
    printf("string = %s", string);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    printf("rows: %d", mysql_num_rows(MySQLConnection));
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    printf("Starte Laden der Daten...");
    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 );
    printf("Laden der Daten beendet.");
    }
    mysql_free_result(MySQLConnection);
    printf("Result frei.");
    }
    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 (%d).", Carlist[playerid][h][Carid]);
    }
    printf("Durch.");
    }
    printf("Alle Fahrzeuge wurden erfolgreich geladen. Beende Funktion.");
    return 1;
    }