[Kleine Hilfe] /help Dialog

  • [Kleine Hilfe] /help Dialog

    Dieses Script bzw. die Scripte sind auf Wunsch entstanden.
    Tutorialwünsche? - Her damit!
    @Jack_Daniels:

    Also Schritt 1 ist immer das definieren des Dialoges.

    [pwn]#define DIALOG_HELP 1[/pwn]

    Dabei sollte die sogenannte dialogid nur einmal vergeben werden.


    Und hier alle Beispiele.

    Plain/Ohne alles:
    [pwn]public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp("/help", cmdtext, true)) // Wenn der Spieler /help eingegeben hat, dann wird folgendes ausgeführt... (das true sagt, dass das auch zählt wenn man /helpasdasd eingibt oder /help my)
    return ShowPlayerDialog(playerid, DIALOG_HELP, DIALOG_STYLE_MSGBOX, "Hilfe", "Hier kann dann ein Text stehen.\nMan kann auch eine Listbox machen.", "", "Beenden"); // Der Dialog
    return 0;
    }[/pwn]

    DCMD:
    [pwn]public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(help, 4, cmdtext); // Definierung von unserem Befehl. Dabei ist "help" der Funktionszweitname (dcmd_NAME), die 4 steht für die Länge: help <- sind 4 zeichen, cmdtext ist normal der Input
    return 0;
    }

    dcmd_help(playerid, params[])
    return ShowPlayerDialog(playerid, DIALOG_HELP, DIALOG_STYLE_MSGBOX, "Hilfe", "Hier kann dann ein Text stehen.\nMan kann auch eine Listbox machen.", "", "Beenden"); // Unser Dialog[/pwn]

    OCMD:
    [pwn]ocmd:help(playerid, params[])
    return ShowPlayerDialog(playerid, DIALOG_HELP, DIALOG_STYLE_MSGBOX, "Hilfe", "Hier kann dann ein Text stehen.\nMan kann auch eine Listbox machen.", "", "Beenden");[/pwn]

    ZCMD:
    [pwn]CMD:help(playerid, params[])
    return ShowPlayerDialog(playerid, DIALOG_HELP, DIALOG_STYLE_MSGBOX, "Hilfe", "Hier kann dann ein Text stehen.\nMan kann auch eine Listbox machen.", "", "Beenden");[/pwn]

    Und Schritt 3 noch, wenn man auf Beenden geklickt hat oder ESC gedrückt hat...

    Methode 1: If
    [pwn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    #pragma unused response // Das brauchen wir ja nicht... Wir wollen Warnungen umgehen!
    #pragma unused listitem // Das brauchen wir ja nicht... Wir wollen Warnungen umgehen!
    #pragma unused inputtext // Das brauchen wir ja nicht... Wir wollen Warnungen umgehen!
    if(dialogid == DIALOG_HELP) // Wenn der Dialog ausgewählt ist...
    return SendClientMessage(playerid, 0x00FF00FF, ":)");
    return 1;
    }[/pwn]

    Methode 2: Switch
    [pwn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    #pragma unused response // Das brauchen wir ja nicht... Wir wollen Warnungen umgehen!
    #pragma unused listitem // Das brauchen wir ja nicht... Wir wollen Warnungen umgehen!
    #pragma unused inputtext // Das brauchen wir ja nicht... Wir wollen Warnungen umgehen!
    switch(dialogid) // Alle Dialoge durchgehen
    {
    case DIALOG_HELP: // Wenn der Dialog ausgewählt ist...
    return SendClientMessage(playerid, 0x00FF00FF, ":)");
    }
    return 1;
    }[/pwn]

    Bei weiteren Wünschen editiere ich weitere Engine´s dazu.
    Bei weiteren Tutorials/Scripts arbeite ich dann auch mit diesen Engine's.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bubelbub ()

  • Finde ich umständlich wie du das machst,
    Wo ich mich aber auch Frage, "wieso du den ShowPlayerDialog" Return'st mit nem return davor ?
    Ich mach einfach nen CMD:
    [pwn]
    #define DIALOG_TEST

    ocmd:test(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_TEST,DIALOG_STYLE_MSGBOX,"Test","Test MSGBOX","Abdenden","Abbrechen");
    }[/pwn]


    Da Frage ich mich wieso mit nem Return ?
    Verkaufe UCP,
    Bitte Kauft es, weitere Infos hier:
    easy-scripting.net/index.php?p…rketplaceEntry&entryID=24

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Raphael ()