Probleme mit einem Dialog

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 irgendwie ein Problem mit meinen Dialogen.


    new string1[120];
    new string2[120];
    new string44[120];
    new string99[120];
    new string48[120];
    new all[2200];
    format(string1, sizeof(string1), "{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten",Sprung1Lager);
    format(string2, sizeof(string2), "{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten",Sprung2Lager);
    format(string2, sizeof(string44), "{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten",Sprung3Lager);
    format(string99, sizeof(string99), "{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten",Sprung4Lager);
    format(string48, sizeof(string48), "{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten",Sprung5Lager);
    format(all, sizeof(all), "%s\n%s\n%s\n%s\n%s\n%s", string1,string2,string44,string99,string48);
    ShowPlayerDialog(playerid,DIALOG_SPRUNKAUTOM,DIALOG_STYLE_LIST,"Hier siehst du alle Belieferungsorte", all,"Marker","Beenden");


    Irgendwie werden nur 4 Dialog-Zeilen angezeigt.

  • Du schreibst zwei mal in string2.


    Schreibe es aber so, das braucht weniger Variablen:
    new string[1024];
    format(string, sizeof(string), "{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",Sprung1Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung2Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung3Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung4Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung5Lager);
    ShowPlayerDialog(playerid,DIALOG_SPRUNKAUTOM,DIALOG_STYLE_LIST,"Hier siehst du alle Belieferungsorte", string,"Marker","Beenden");


    Kaliber: Hab ich gemerkt, genau im Funkloch :S

    3HZXdYd.png

    2 Mal editiert, zuletzt von Jeffry () aus folgendem Grund: Umbruch vergessen.

  • Wie wäre es denn so:


    const rows = 5;
    new all[(85*rows)+(2*(rows-1))+(rows+1)];
    format(all,sizeof(all),"{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",Sprung1Lager);
    format(all,sizeof(all),"%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",all,Sprung2Lager);
    format(all,sizeof(all),"%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",all,Sprung3Lager);
    format(all,sizeof(all),"%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",all,Sprung4Lager);
    format(all,sizeof(all),"%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten",all,Sprung5Lager);
    ShowPlayerDialog(playerid,DIALOG_SPRUNKAUTOM,DIALOG_STYLE_LIST,"Hier siehst du alle Belieferungsorte", all,"Marker","Beenden");


    Jeffry: Du hast das \n vergessen und dein String ist zu klein :)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Das schreibt aber ehrlich gesagt kein Mensch so.


    Außerdem kannst du es auf
    new all[87*rows];reduzieren, der Rest ist nur hin und her gerechnet.


    PS: \n wird als ein Zeichen gezählt ;)


    Okay Super funktioniert :D Allerdings habe ich noch ein Problem und zwar kann man "Offduty" ins Auto einsteigen Onduty nicht.


    if(LieferrantenSpunkcarBet(vehicleid) && !ispassenger)
    {
    if(GetPVarInt(playerid,"SprungDuty") == 0){}
    else
    {
    //SendClientMessage(playerid, COLOR_RED,"Du hast kein Schlüssel");
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht als Sprunk-Lieferrant im Dienst.");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }

  • if(LieferrantenSpunkcarBet(vehicleid) && !ispassenger)
    {
    if(GetPVarInt(playerid,"SprungDuty") == 0)
    {
    //SendClientMessage(playerid, COLOR_RED,"Du hast kein Schlüssel");
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht als Sprunk-Lieferrant im Dienst.");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }