String in Idalog einbinden

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
  • Mit der SuFu habe ich einfach so meine Probleme...


    Ich möchte Strings in meinen Dialog einarbeiten und weiß leider gar nicht mehr wie das geht. Irgendwie bekomme ich immer ein Warning:



    Code
    ShowPlayerDialog(playerid, DIALOG_CHARAKTER, DIALOG_STYLE_LIST, "Charaktere", "%s\%s\%s", "Einbloggen", "Abbrechen",Charakter1,Charakter2,Charakter3);
  • Du musst per [wiki]format[/wiki] den string erst einmal formatieren und dann die Variable als Parameter angeben.


    Beispiel:

    Code
    new str[15];
    format(str, 15, "Du bist %s", "toll");
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Du bist ..", str, "Button 1", "Button 2");
  • Code
    format(str1, 15, "%s", Charakter1);
     format(str2, 15, "%s", Charakter2);
     format(str3, 15, "%s", Charakter3);
     ShowPlayerDialog(playerid, DIALOG_CHARAKTER, DIALOG_STYLE_LIST, "Charaktere:","",str1,str2,str3, "Einbloggen", "Abbrechen");

    Geht einmal nicht und wie füge ich dann noch einen Zeilenumbruch im Dialog ein?

  • Code
    format(str1, 15, "%s", Charakter1);
     format(str2, 15, "%s", Charakter2);
     format(str3, 15, "%s", Charakter3);
     ShowPlayerDialog(playerid, DIALOG_CHARAKTER, DIALOG_STYLE_LIST, "Charaktere:","",str1,str2,str3, "Einbloggen", "Abbrechen");

    Geht einmal nicht und wie füge ich dann noch einen Zeilenumbruch im Dialog ein?


    Ich glaube, dass du das mit den Zeichenketten noch nicht ganz verstanden hast :P


    Du kannst in einem Dialog nur eine Zeichenkette für die Anzeige des Inhaltes verwenden, das gleiche gilt für den Titel und die Buttons.
    Einen Zeichenumbruch kannst du mit \n erwirken, d.h. deine Zeichenkette sollte erstmal so aussehen:



    Code
    format(string, sizeof(string), "%s\n%s\n%s", Charakter1, Charakter2, Charakter3);
    
    
    ShowPlayerDialog(playerid, DIALOG_CHARAKTER, DIALOG_STYLE_LIST, "Charaktere:",string, "Einloggen", "Abbrechen");


    Im OnDialogResponse nicht vergessen, dass Charakter1 mit 0, Charakter2 mit 1 usw. abgefragt wird :)