Neue Zeile bei Dialogen

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 möchte aus einer Datenbank einen Text laden, der dann in einem Dialog (DIALOG_STYLE_MSGBOX) angezeigt wird,
    allerdings habe ich Probleme mit dem Zeilenumbruch.


    Wenn ich folgenden Query ausführe und dann den Text aus der Datenbank lade, funktioniert alles einwandfrei:

    SQL
    INSERT INTO Tabelle (txt) VALUES ('Hier funktioniert der\nZeilenumbruch.)


    Auch wenn ich den Text über UPDATE verändere, klappt das:

    SQL
    UPDATE Tabelle SET txt='Auch hier funktioniert der\nZeilenumbruch.' WHERE ID=1


    Allerdings sehe ich in meinem SQL-Clienten den Zeilenumbruch nicht.



    Wenn ich allerdings manuell den Text verändere und ein \n Hinzufüge, klappt das nicht,
    es sei denn ich bearbeite den Text mit dem Texteditor.



    Kann ich den "Quellcode" aktivieren und ersichtlich machen?

  • Das liegt daran, dass \n nur einen Character darstellt. Du wirst es also in deinem Editor nie wirklich korrekt sehen können. Um es trotzdem editieren zu können, nutze diesen Trick:
    In deiner Datenbank sieht das ganze so aus:

    Zitat

    Dieser Zeilenumbruch~wird nun beachtet.


    Code:
    for(new i=0; i<strlen(string); i++) if(string[i] == '~') string[i] = '\n';
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Info",string,"Schließen","");


    string = der Wert aus der Datenbankspalte in der der Text steht.