Dialog Input Line is too long? :)

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 Leute.
    Ich habe vorhin diesen Befehl gemacht der einen Dialog anzeigen soll:

    ocmd:stats(playerid,params[])
    {
    new string[1024];
    new sex[16], ftext[24], jtext[24];
    new member = Spieler[playerid][Member];
    new leader = Spieler[playerid][Leader];
    new job = Spieler[playerid][Job];
    if(member == 0 || leader == 0){ftext ="--"; }
    else if(member == 1 || leader == 1){ ftext ="LSPD"; }
    else if(member == 2 || leader == 2){ ftext ="FBI"; }
    else if(member == 3 || leader == 3){ ftext ="Sanitäter"; }
    else if(member == 4 || leader == 4){ ftext ="Hitman"; }
    else if(member == 5 || leader == 5){ ftext ="News Reporter"; }
    else if(member == 6 || leader == 6){ ftext ="Transport GmbH"; }
    else if(member == 7 || leader == 7){ ftext ="Ordnungsamt"; }
    else if(member == 8 || leader == 8){ ftext ="Russen Mafia"; }
    else if(member == 9 || leader == 9){ ftext ="Yakuza"; }
    else if(member == 10 || leader == 10){ ftext ="Ballas"; }
    else if(member == 11 || leader == 11){ ftext ="Grove Street"; }
    else if(member == 12 || leader == 12){ ftext ="Los Chickos Malos"; }
    if(job == 0){ jtext ="--";}
    else if(job == 1){ jtext ="Pilot"; }
    else if(job == 2){ jtext ="Busfahrer"; }
    else if(job == 3){ jtext ="Zugfahrer"; }
    else if(job == 4){ jtext ="Taxifahrer"; }
    else if(job == 5){ jtext ="Drogendealer"; }
    else if(job == 6){ jtext ="Waffendealer"; }
    else if(job == 7){ jtext ="Anwalt"; }
    if(Spieler[playerid][Geschlecht] == 1){ sex ="Weiblich"; }
    else if(Spieler[playerid][Geschlecht] == 2){ sex ="Männlich"; }
    format(string, sizeof(string), "Personalien:\tGeschlecht: %s\n\n\n\t\tLevel: %d\n\t\tRespekt: %d/%d\n\t\tPayday: %d/60 Minuten\n\nBerufe:\tFraktion: %s\tRang: %d\n\t\tNebenjob: %s\n\nFinanzen:\tBargeld: %d$\n\t\tKonto: %d$\n\t\tFestgeld: %d$\tZinssatz: 3.50\n\nStatistik:\tMorde: %d\n\t\tGestorben: %d\n\t\tVerbrechen: %d\n\t\tSpielzeit: %d\n\t\tKnast: %d\n\t\tWanteds: %d\n\t\tVerwarnungen: %d/3\n\nInventar:\tMaterialien: %d (Safe: %d)\n\t\tDrogen: %d (Safe: %d)\n\t\tHandy(Nr. %d)\n\nSkills:\tDrogendealer: %d\n\t\tNews Reporter: %d\n\t\tAngler: %d\n\t\tBusfahrer: %d\tExp: %d/%d\n\t\tAnwalt: %d\tExp: %d\n\t\tPilot: %d\n",
    sex,
    Spieler[playerid][Level],
    Spieler[playerid][Exp],
    Spieler[playerid][MaxExp],
    Spieler[playerid][Payday],
    ftext,
    Spieler[playerid][Rank],
    jtext,
    Spieler[playerid][Money],
    Spieler[playerid][Bank],
    Spieler[playerid][Festgeld],
    Spieler[playerid][Morde],
    Spieler[playerid][Gestorben],
    Spieler[playerid][Verbrechen],
    Spieler[playerid][Wanteds],
    Spieler[playerid][Verwarnungen],
    Spieler[playerid][Mats],
    Spieler[playerid][SafeMats],
    Spieler[playerid][Drugs],
    Spieler[playerid][SafeDrugs],
    Spieler[playerid][Nummer],
    Spieler[playerid][DrugSkill],
    Spieler[playerid][NewsSkill],
    Spieler[playerid][AnglerSkill],
    Spieler[playerid][BusSkill],
    Spieler[playerid][BusExp],
    Spieler[playerid][BusMaxExp],
    Spieler[playerid][AnwaltSkill],
    Spieler[playerid][AnwaltExp],
    Spieler[playerid][PilotSkill]);


    ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, SpielerName(playerid), string, "Schließen", "");
    return 1;
    }


    Bis ca. zur Hälfte des formatieren des Strings ging noch alles prima. Aber als ich beim letzten angekommen bin, kamen diese Fehler:



    Ich komme aus dem Problem nicht heraus, da ich nicht sonderlich viel am Hut habe mit Dialogen.


    Ich hoffe ihr könnt euch mal "kurz" Zeit lassen und mir helfen. Vielen Dank im Vorraus. :thumbup:

  • Ganz einfach.



    Zeile:
    format(string, sizeof(string), "Personalien:\tGeschlecht: %s\n\n\n\t\tLevel: %d\n\t\tRespekt: %d/%d\n\t\tPayday: %d/60 Minuten\n\nBerufe:\tFraktion: %s\tRang: %d\n\t\tNebenjob: %s\n\nFinanzen:\tBargeld: %d$\n\t\tKonto: %d$\n\t\tFestgeld: %d$\tZinssatz: 3.50\n\nStatistik:\tMorde: %d\n\t\tGestorben: %d\n\t\tVerbrechen: %d\n\t\tSpielzeit: %d\n\t\tKnast: %d\n\t\tWanteds: %d\n\t\tVerwarnungen: %d/3\n\nInventar:\tMaterialien: %d (Safe: %d)\n\t\tDrogen: %d (Safe: %d)\n\t\tHandy(Nr. %d)\n\nSkills:\tDrogendealer: %d\n\t\tNews Reporter: %d\n\t\tAngler: %d\n\t\tBusfahrer: %d\tExp: %d/%d\n\t\tAnwalt: %d\tExp: %d\n\t\tPilot: %d\n",


    Ist zu lang!

  • na mach so das du so machst teilst es in zwei zeilen



    format(string,sizeof(string),"gfvifgerhio",variablen kram);


    und den 2 teil:
    format(string,sizeof(string),"%s/ngfvifgerhio",string,variablen kram); <-- %s wird benötigt


    Bedanke dich bitte, wenn du den Beitrag als hilfreich empfandest!



  • Einfach das was du auch mit den Variablen gemacht hast ein Enter in der Mitte.
    Bei mir ging das immer ka ob es noch geht naja falls nicht 2. string machen und dann halt einfach:
    format(string, sizeof(string), "String 1", ...);
    format(string1, sizeof(string1), "%s",string,...);
    Das sollte gehen.
    Falls noch was ist sag bescheid falls du es nicht verstehst erkläre ich es dir gerne nochmal genauer ^^
    Mit freundlichen Grüßen
    Sven


    //Edit Sry zu spät gelesen das du es selber auch geschaft hast ;D
    Naja egal...


    Bewerte mich und meine Transaktionen als Mittelsmann