Große Dialoge (MSGBOX)

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
  • Moinmoin,


    ich habe ein Problem. Ich möchte einen Dialog ausgeben lassen der ziemlich groß wird.


    Es sieht bis jetzt so aus:
    new pktstring[128],stringgesamt[256],string[256],string2[256];
    format(pktstring,sizeof(pktstring),"Sie besitzen %d Premiumpunkte.",Spieler[playerid][Premiumpunkte]);
    format(string,sizeof(string),"%s\n\nHier finden Sie eine Liste mit Dingen gegen die Sie Ihre Premiumpunkte eintauschen können und vorallem wie.\n\nPremiumdinge\t\tPreis\t\tBeschreibung\n\nNitro\t\t\t1 Premiumpunkt\t\tMit '/nitro' können Sie Nitro in Ihr Auto einfügen\n",pktstring);
    format(string2,sizeof(string2),"Auto erstellen.\t\t3 Premiumpunkte\t\tMit '/veh' können Sie sich ein Fahr/Flugzeug erstellen.\nSpeedlock\t\t100 Premiumpunkte\t\tDen Speedlock können Sie sich unter dem Menüpunkt 'Premiumpunkte benutzen' kaufen. Hilfe dazu unter '/help speedlock'.");
    format(stringgesamt,sizeof(stringgesamt),"%s %s",string,string2);
    ShowPlayerDialog(playerid,D_PREMMENU_Kaufliste,DIALOG_STYLE_MSGBOX,"Kaufliste",stringgesamt,"---","---");


    Doch das wird leider nicht alles angezeigt Ingame. Woran liegt das? Geht das irgendwie nicht mehr mit Riesen MSGBOXEN ? :D Oder bin ich einfach mal wieder zu dumm ? ^^


    Danke für die Hilfe schonmal.
    Mfg,
    Seb.

  • den stringgesamt


    mach den mal auf den Wert 1024 der ist zu klein der String

  • Ach genau so war das hatte daran gedacht das man den nicht größer machen sollte, dankeschön. :)



    Vielleicht noch jemand der mir eine weitere Frage beantworten kann. Damit ich kein neues Thema aufmachen muss editiere ich es hier rein.


    Also , wenn ich ein Auto per /veh erstelle soll das Nummernschild meinen Namen tragen, funktioniert aber nicht. Wie mach ich das ? Code:
    dcmd_veh(playerid,params[])
    {
    if(Spieler[playerid][Admin] >= 1337)
    {
    new veh,color1,color2;
    if(sscanf(params,"ddd",veh,color1,color2))
    {
    return SendClientMessage(playerid,COLOR_HELLBLAU,"VERWENDUNG: /veh [VehicleID] [Color1] [Color2]");
    }
    if(veh < 400)
    {
    return SendClientMessage(playerid,COLOR_RED,"VehicleID darf nicht unter 400 und über 611 sein!");
    }
    if(veh > 611)
    {
    return SendClientMessage(playerid,COLOR_RED,"VehicleID darf nicht unter 400 und über 611 sein!");
    }
    new Float:x,Float:y,Float:z;
    new vnname[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid,vnname,sizeof(vnname));
    GetPlayerPos(playerid,x,y,z);
    CreateVehicle(veh, x, y+2, z, 0, color1, color2, 123456789);
    format(string,sizeof(string),"%s",vnname);
    SetVehicleNumberPlate(veh,string);
    PutPlayerInVehicle(playerid,veh,0);
    }
    return 1;
    }

    Einmal editiert, zuletzt von Seb_Mcpepp ()

  • dcmd_veh(playerid,params[])
    {
    if(Spieler[playerid][Admin] >= 1337)
    {
    new veh,color1,color2;
    if(sscanf(params,"ddd",veh,color1,color2))
    {
    return SendClientMessage(playerid,COLOR_HELLBLAU,"VERWENDUNG: /veh [VehicleID] [Color1] [Color2]");
    }
    if(veh < 400)
    {
    return SendClientMessage(playerid,COLOR_RED,"VehicleID darf nicht unter 400 und über 611 sein!");
    }
    if(veh > 611)
    {
    return SendClientMessage(playerid,COLOR_RED,"VehicleID darf nicht unter 400 und über 611 sein!");
    }
    new Float:x,Float:y,Float:z;
    new vnname[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid,vnname,sizeof(vnname));
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"%s",vnname);
    SetVehicleNumberPlate(CreateVehicle(veh, x, y+2, z, 0, color1, color2, 123456789),string); // Fahrzeug muss für Nummernschild neu gespawnt werden.
    PutPlayerInVehicle(playerid,veh,0); // Kann nicht einfach einer FahrzeugID (oder wie hier nur dem Model) zugewiesen werden.
    }
    return 1;
    }
    Nimm doch lieber die Funktion Strcat um mehrere Strings zusammenzuführen. Dann sparst du dir das Format und die zweite Variable.


    Mit freundl. Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger