Buttons der MSGBox belegen?

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,


    wie belege cih den ersten Button einer MSGBOX ?


    ShowPlayerDialog(playerid, Menu, DIALOG_STYLE_MSGBOX, "Aufträge", "TEST", "Annehmen", "Abbrechen");


    Wie definiere ich hier, dass der Btton "Annehmen" einen Text wie z.B. "Keine Waffen verfügbar" sendet?
    Wenn ich diesen als Variable definiere, bringt er mir einen Error, bitte helft mir. :love:

  • Bei OnDialogResponse
    if(response)// Response wäre wenn man den ersten Button drückt, also bei dir Annehmen.
    {
    //Dein Code
    }

  • if(dialogid == Auftragsmenubus)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "**Kein Auftrag verfügbar!**");
    }
    }
    return 1;


    #define Auftragsmenubus 101


    if (strcmp("/busstart", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 2, 1109.3035,-1796.3230,16.5938))
    {
    ShowPlayerDialog(playerid, Auftragsmenubus, DIALOG_STYLE_MSGBOX, "Aufträge", "Herzlich Willkommen", "Annehmen", "Abbrechen");
    }
    else if(IsPlayerInRangeOfPoint(playerid, 9999999999999999, 1109.3035,-1796.3230,16.5938))
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "**Du bist nicht am Busplatz!**");
    }
    return 1;
    }

  • Was nützt deine IsPlayerInRangeOfPoint Abfrage eigt.? Er kanns eigt. überall einsetzen O.o

  • new pickup;


    OnGameModeInit()
    {
    pickup = CreatePickup(wasauchimmer);
    }
    OnPlayerPickUpAPickUp(playerid, pickupid)//ka ob das so heißt!
    {
    if(pickupid == pickup)
    {
    ShowPlayerDialog(playerid, Auftragsmenubus, DIALOG_STYLE_MSGBOX, "Aufträge", "Herzlich Willkommen", "Annehmen", "Abbrechen");
    }
    }

    Einmal editiert, zuletzt von SkEiTa ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Unter OnPlayerDialogResponse
    if(dialogid == x)//Deine DialogID
    {
    if(response)//Wenn er den ersten Button drückt
    {
    //Code
    }
    else//Wenn er den zweiten Button drückt
    {
    //Code
    }
    //Wenn er Button 1 oder Button 2 drückt
    return 1;
    }
    ShowPlayerDialog(id, DialogID, Dialog_Style, "Überschrift", "Text des Dialoges", "Button 1", "Button 2");

  • Sry das ich hier poste was nicht damit zu tuhn hat aber:


    Ist egal wie viele Button zum anklicken nutze?

  • Es gibt nur zwei und man muss auch beide benutzen also man kann weder einen Button wegnehmen noch einen dazutun

  • Sollte doch alles klären oder nicht? Wenn man den zweiten Button nicht braucht lässt man den Code unter else { weg und benutzt ShowPlayerDialog(id, DialogID, Dialog_Style, "Überschrift", "Text des Dialoges", "Button 1", " ")

  • ShowPlayerDialog(id, DialogID, Dialog_Style, "Überschrift", "Text des Dialoges", "Button 1", "Button 2");
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == Überschrift)
    {
    if(response == 1)
    {
    //Code
    }
    }
    }


    So kannst du einen Code ausführen, wenn du den Button 1 drückst

  • So habe ich das ja, allerdings passiert dort nichts.


    schaut selbst:


    #define Auftragsmenubus 101


    ShowPlayerDialog(playerid, Auftragsmenubus, DIALOG_STYLE_MSGBOX, "Verkehrsbetriebe San Andreas", "Herzlich Willkommen bei den Verkehrsbetrieben San Andreas\n Hier kannst Du einen unabhängigen Auftrag annehmen!", "Annehmen", "Abbrechen");


    if(dialogid == Auftragsmenubus)
    {
    if(response == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "**Kein Auftrag verfügbar!**");
    }
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen