While break Problem

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
  • Hallo, ich habe folgendes Problem:
    Ich lasse meine Objekte aus der MySQL mittels einer While-Schleife auslesen.
    Wenn die "Modelid" dann 0 (keine weiteren Objekte mehr) ist, setze ich den Wert StopLoading auf 1.
    An dieser Stelle sollte dann die While-Schleife beendet werden, tut sie jedoch nicht.
    Meine Konsole wird nur mit StopLoading = 1 zugespammt.



    Hier der Code.


    While zum Laden der Objekte:


    StopLoading = 0;
    new objecttoload = 1;
    while (objecttoload < MAX_MYSQL_OBJECTS) {
    if(StopLoading == 1) break;
    objecttoload++;
    ToLoadServerObject(objecttoload);
    }


    Lädt die Objekte:


    if(CreateObj[o_modelid] == 0) {
    StopLoading = 1;
    print("StopLoading = 1");
    }

  • Ja ist sie.
    Ich lasse diese oben unter den defines erstellen.
    new StopLoading;
    Und unter OnGameModeInit auf 0 setzen.
    Wie der Code oben schon ist.


    //Edit: Habe es jetzt anders gemacht.
    1. Neue Variable erstellt
    2. Die Objekte counten lassen, und das Ergebnis in die neue Variable "geschrieben"
    3. Die For-Schleife durchgehen lassen.


    Code (kleiner Ausschnitt):


    public MySQLCreateObjects() {
    new rows, fields;
    cache_get_data(rows, fields);
    GetMySQLObjectsNumRow = rows;
    printf("ES GIBT %d SERVER OBJEKTE!",GetMySQLObjectsNumRow);
    for (new objecttoload = 1; objecttoload < GetMySQLObjectsNumRow+1; objecttoload++)
    {
    ToLoadServerObject(objecttoload);
    printf("LADE OBJEKT! %d/%d",objecttoload,GetMySQLObjectsNumRow);
    }
    print("SERVER START:: SPIELBEREIT!");
    return 1;
    }



    Funktioniert super! :)

    Einmal editiert, zuletzt von John.Carper ()