Showme

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
  • Hey, hab ma kurzn showme erstellt,
    aber wenn ich jetz auf Nein drücke kommt schon dass ich den Vorgang abgebrochen habe,
    aber es steht auch da Du wirst jetzt Rot/gruen/blau angezeigt...
    ocmd:showme(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_SHOWME,DIALOG_STYLE_LIST,"Showme","Rot\nGruen\nBlau","Ja","Nein");
    return 1;
    }
    if(dialogid == DIALOG_SHOWME)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, Rot, "Du hast den Vorgang abgebrochen!");
    }
    if(listitem == 0)
    {
    SetPlayerColor(playerid,Rot);
    SendClientMessage(playerid,Rot,"Du wirst jetzt Rot angezeigt!");
    }
    if(listitem == 1)
    {
    SetPlayerColor(playerid,Gruen);
    SendClientMessage(playerid,Gruen,"Du wirst jetzt Gruen angezeigt!");
    }
    if(listitem == 2)
    {
    SetPlayerColor(playerid,Blau);
    SendClientMessage(playerid,Blau,"Du wirst jetzt Blau angezeigt!");
    }
    }

  • if(dialogid == DIALOG_SHOWME)
    {
    if(response == 0) return SendClientMessage(playerid, Rot, "Du hast den Vorgang abgebrochen!");
    if(listitem == 0)
    {
    SetPlayerColor(playerid,Rot);
    SendClientMessage(playerid,Rot,"Du wirst jetzt Rot angezeigt!");
    }
    if(listitem == 1)
    {
    SetPlayerColor(playerid,Gruen);
    SendClientMessage(playerid,Gruen,"Du wirst jetzt Gruen angezeigt!");
    }
    if(listitem == 2)
    {
    SetPlayerColor(playerid,Blau);
    SendClientMessage(playerid,Blau,"Du wirst jetzt Blau angezeigt!");
    }
    }
    Dadurch, dass du abfragst, ob der zweite Button geklickt wurde, wird die Nachricht dementsprechend angezeigt. Allerdings wird listitem trotzdem übergeben, da du ja auch standardweise (bzw. manuell) etwas ausgewählt hast.
    Per return wird der Callback an dieser Stelle "abgebrochen". Alternativ kannst du auch deinen Code nehmen, die Abfragen für die listitems allerdings dann in ein else packen.


    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