Fehler bei format?

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
  • Heho,
    ich konnte den Fehlerbereich meines letzten threads etwas eindämpfen und hab jetzt den verursacher ausfindig machen können..
    (neuer thread da alter titel nicht mehr passt)
    genaugenommen führt folgende zeile dazu dass eine for-schleife abgebrochen wird


    format(DialogStr, sizeof DialogStr,"%s%s | Wartende: %d\n", DialogStr, BusRoute[k][Name], GetPlayerNumberWaitingForBus(k));


    der String DialogStr wird vorher initialisiert und der stock GetPlayerNumberWaitingForBus returned einen integer...


    wo ist der fehler?!

  • Der index deines Arrays wird entweder außerhalb des Gültigkeitsbereichs liegen oder er ist negativ

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Der index deines Arrays wird entweder außerhalb des Gültigkeitsbereichs liegen oder er ist negativ



    new DialogStr[750];
    DialogStr[0] = '\0';
    for(new k=0; k < sizeof BusRoute; k++)
    {
    format(DialogStr, sizeof DialogStr,"%s%s | Wartende: %d\n", DialogStr, BusRoute[k][Name], GetPlayerNumberWaitingForBus(k));
    }


    ?

  • DialogStr[0] = '\0';
    Weißt du eigentlich was du da machst?

    nein, ehrlich gesagt nicht :D die zeile hat eine zweite person geschrieben die mit an dem script arbeitet...
    da der ganze string später die liste in einem dialog sein soll dachte ich mir es sei dazu gut dass man am ende nicht eine leere zeile im dialog hat

  • \0 = Ende vom String, somit könnte dahinter garnichts mehr stehen

    ist ja jetzt raus, der fehler allerdings nicht... um mal etwas präziser zu werden:


    folgender code wird aufgerufen wenn man in einen bus einsteigt


    new DialogStr[750];
    for(new k=0; k < sizeof BusRoute; k++)
    {
    SendClientMessageToAll(COLOR_GREY,"Hallo");
    format(DialogStr, sizeof DialogStr,"%s%s | Wartende: %d\n", DialogStr, BusRoute[k][Name], GetPlayerNumberWaitingForBus(k));
    SendClientMessageToAll(COLOR_GREY,DialogStr);
    }
    ShowPlayerDialog(playerid,Dialog_Jobcar_Busroute,DIALOG_STYLE_LIST,"Welche Linie?",DialogStr,"Auswählen","Abbrechen");


    das "Halo" wird einmalig geschrieben, sonst passiert nix

  • Was macht dieses hier für einen Sinn?


    format(DialogStr, sizeof DialogStr,"%s%s | Wartende: %d\n", DialogStr, BusRoute[k][Name], GetPlayerNumberWaitingForBus(k));


    Du hast als ersten Parameter DialogStr angegeben, warum? Was wird dort dann angegeben?