Gate mit Code Eingabe

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
  • Hi


    Du erstellst zB einen Befehl, dieser ruft die Funktion ShowPlayerDialog auf. Unter dem Callback OnDialogResponse fragst Du dann ab, was für einen Code er eingibt und wenn dieser richtig ist, bewegst Du das Tor mit MoveObject und rufst per SetTimer dann den Schliessbefehl auf.


    MfG Simon

  • Hallo


    strcmp = stringcompare



    Beispiel:

    if(!strcmp(inputtext,"Banane")) = Wenn Inputtext Banane ist
    if(strcmp(inputtext,"Banane")) = Wenn Inputtext nicht Banane ist

    Im englischen Wiki, was glaub grad down ist, findest Du noch mehr Infos, zB kann man die Gross- und Kleinschreibung noch abfragen.


    MfG Simon


    @[]Benjamin
    Ach komm krieche unter dein Bett und halt deinen Laden, sowas Dummes sieht man selten


    (e) Anführungszeichen vergessen
    (e) Verschönert

  • Hi


    Ich hab dir mal schnell was aus dem Kopf gemacht, kann fehler enthalten, zudem musst Du dein eigenes Torsystem einbauen ;)


    #define Gate 1000


    COMMAND:gate(playerid,prams[])
    {
    // IsPlayerInRangeOfPoint Abfragen ob am Tor
    // Ist das Tor bereits offen oder öffnet sich gerade, wenn ja --> Abbruch
    ShowPlayerDialog(playerid,Gate,DIALOG_STYLE_INPUT,"Tor","Bitte Code eingeben","Auf","Abrechen");
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == Gate)
    {
    if(!response) return 1; // Spieler hat auf Abbrechen geklickt
    if(!inputtext[0]) return ShowPlayerDialog(playerid,Gate,DIALOG_STYLE_INPUT,"Tor","Du hast keinen Code eingegeben, bitte gebe einen ein","Ok","Abrechen");

    // Version für Buchstaben und Zahlen
    if(!strcmp(inputtext,"MyCodeIsEPIC111111"))
    {
    // Tor öffnen
    // Variable setzten, dass das Tor offen ist
    // MoveObject verschiebt das Tor
    // SetTimer rufen, dass das Tor wieder geschlossen wird
    return 1;
    }

    // Version nur für zahlen
    if(strval(inputtext) == 1111111)
    {
    // Tor öffnen
    // Variable setzten, dass das Tor offen ist
    // MoveObject verschiebt das Tor
    // SetTimer rufen, dass das Tor wieder geschlossen wird
    return 1;
    }


    }
    return 1;
    }