Dialog wird ab 4. Auflistung nichtmehr angezeigt

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
  • Ich lade die Fahrzeuge aus der Datenbank und füge Sie dann zum Dialog hinzu.
    Wenn ich über 3 Fahrzeuge habe, zeigt er mir das Dialog nicht mehr an, wieso?
    new String[2048] = "", globalId;
    if(mode == 1) {
    for(new i = 0; i < num_rows; i++) {
    globalId = cache_get_field_content_int(i, "Id", Database);
    new Item[128] = "";
    for(new x = 0; x < MAX_VEHICLES; x++) {
    if(VehicleInfo[x][vId] == globalId) {
    PlayerInfo[playerid][pCarselection][i] = x;
    format(Item, sizeof(Item), "%s (Id: %i)\n", VehicleNames[VehicleInfo[x][vModelId] - 400], VehicleInfo[x][vId]);
    printf("%s", Item);
    continue;
    }
    }
    printf("%s%s", String, Item);
    format(String, sizeof(String), "%s%s", String, Item);
    }
    ShowPlayerDialog(playerid, DIALOG_PV_1, DIALOG_STYLE_LIST, "{FFFFFF}Fahrzeuge", String, "Schließen", "Zurück");
    return 1;
    }

  • Wie wird num_rows definiert?


    new num_rows, num_fields;
    cache_get_data(num_rows, num_fields, Database);


    Geprintet wird alles ohne Fehler.

  • Items wird immer nur neu formatiert und am Ende einmalig übernommen.
    Probiere es mal wie folgt:



    new String[1024];
    if(mode == 1) {
    for(new i = 0; i<num_rows; i++) {
    new tempId = cache_get_field_content_int(i, "Id", Database);
    for(new x = 0; x<MAX_VEHICLES; x++) {
    if(VehicleInfo[x][vId] == tempId) {
    PlayerInfo[playerid][pCarselection][i] = x;
    format(string, sizeof(string), "%s\n%s (Id: %i)", VehicleNames[VehicleInfo[x][vModelId] - 400], VehicleInfo[x][vId]);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_PV_1, DIALOG_STYLE_LIST, "{FFFFFF}Fahrzeuge", String, "Schließen", "Zurück");
    return 1;
    }

  • Edit2:
    Ich habe nun den Fehler gefunden, aber keine Lösung dafür.
    PlayerInfo[playerid][pCarselection][i] = x;
    Wenn ich diese Zeile rauslasse, zeigt er mir das Dialog plötzlich an.
    Warum macht das Probleme?
    Edit3:
    Omg, mein Fehler. Ich habe die Größe des Arrays von pCarselection auf 3 gesetzt, statt auf 1999 (MAX_VEHICLES). :|

    2 Mal editiert, zuletzt von Caglar ()