Tore mit Passwörtern

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,
    Heute zeige ich euch mal wie man ein Tor macht welches sich über ein Passwort öffnet.
    Wir nehmen als Beispiel einfach ein "unechtes" Tor.


    Zuerst machen wir eine Variable um um das Tor damit zu verwenden.


    Ganz oben im Script kommt:

    new TestTor;//Das ist das Tor
    new TestTorvar;//Damit stellen wir gleich ein ob das Tor auf oder zu ist, 1 = Offen - 0 = Zu


    Nun kommt die definition des Dialoges den wir verwenden für das Passwort.

    #define Dialog_Tor 1 //Dadurch ist das Dialog , dass erste Dialog.

    Nun definieren wir das Passwort das wir gleich brauchen um das Tor zu öffnen / schließen.

    #define TorPasswort "Test"//Damit kann man das Wort Test als definition TorPasswort machen, praktisch um das Passwort immer zu ändern.


    Nun kommt bei OnGameModeInit das Tor welches wir machen.

    TestTor = CreateObject(980, 1539.5653076172, -1623.5965576172, 15.02795791626, 0, 0, 270.25);
    //Dieses Tor ist aus meinem Selfmade Script ^^, noch zu wissen ist das man das Tor nicht streamen darf.


    Nun kommen wir zu dem Befehl der uns den Dialog anzeigt welchen wir brauchen um das Passwort einzugeben.
    Dies kommt unter OnPlayerCommandText.

    if(strcmp("/Tor", cmdtext, true, 10) == 0)//Damit öffnet er den Befehl /Tor
    {
    ShowPlayerDialog(playerid,Dialog_Tor,DIALOG_STYLE_INPUT,"Tor Passwort","Gebe bitte das Passwort ein!","Absenden","Abbrechen");//Der Dialog
    }
    return 1;
    }


    Nun kommen wir zu der Wirkung des Dialog´s.
    Das alles kommt bei OnDialogResponse rein.



    if(dialogid == Dialog_Tor)
    {
    if(!strcmp(inputtext,TorPasswort,true))//Dadurch wird geprüft ob das Passwort das Passwort ist welches wir oben definiert haben.
    {
    if(TestTorvar == 0)//Falls das Tor zu ist:
    {
    MoveObject(TestTor,1539.5653076172, -1623.5965576172, 8.65305519104,5);//Das Tor wird geöffnet.
    SendClientMessage(playerid,COLOR_GREEN,"*Das Tor ist nun Auf!");//Die Nachricht das das Tor offen ist.
    TestTorvar = 1;//Dadurch wird das Tor auf 1 gesetzt sprich das es offen ist.
    }
    else if(TestTorvar == 1)
    {
    MoveObject(TestTor,1539.5653076172, -1623.5965576172, 15.02795791626,5);//Dadurch wird das Tor geschlossen.
    SendClientMessage(playerid,COLOR_GREEN,"*Das Tor ist nun Zu!");//Die Nachricht das das Tor zu ist.
    TestTorvar = 0;//Dadurch wird das Tor auf 0 gesetzt sprich das es geschlossen ist.
    }
    }
    else//Falls das Passwort falsch ist:
    {
    SendClientMessage(playerid,COLOR_RED,"Das Passwort ist falsch!");//Falls das Passwort falsch ist kommt diese Nachricht.
    }
    }


    So einfach geht das ganze und dauert auch nicht lange und ist schöner zu sehen.
    Ich freue mich auf Feedback.


    Liebe Grüße,
    Stefan_o.O

    Einmal editiert, zuletzt von Stefan_o.O () aus folgendem Grund: Rechtschreib Fehler rausgemacht

  • Endlich ....


    Einer der dass mal richtig und genau erklärt :)


    10/10 :thumbup:


    -Unknown

  • Danke.
    Es freut mich immer sehr wenn ich Leuten helfen kann.

  • Wow, ein einfaches und nachvollziehbares Tutorial, so muss Das sein :thumbup:
    Ich habe es mal ausprobiert und es funktioniert Alles einwandfrei, wirklich top.


    Nur habe ich ein kleines Problem:
    Wenn ich bei der Passworteingabe Escape drücke, öffnet/ schließt sich das Tor trotzdem. Sprich man kann die Verifizierung umgehen.
    Hast du eine Lösung für mich :rolleyes:

    in jedem Fall super hydrodynamisch - dafür stehe ich mit meinem Namen

  • Jo.
    Versuch mal das:



    if(dialogid == Dialog_Tor)
    {
    if(response == 1)
    {
    if(!strcmp(inputtext,TorPasswort,true))//Dadurch wird geprüft ob das Passwort das Passwort ist welches wir oben definiert haben.
    {
    if(TestTorvar == 0)//Falls das Tor zu ist:
    {
    MoveObject(TestTor,1539.5653076172, -1623.5965576172, 8.65305519104,5);//Das Tor wird geöffnet.
    SendClientMessage(playerid,COLOR_GREEN,"*Das Tor ist nun Auf!");//Die Nachricht das das Tor offen ist.
    TestTorvar = 1;//Dadurch wird das Tor auf 1 gesetzt sprich das es offen ist.
    }
    else if(TestTorvar == 1)
    {
    MoveObject(TestTor,1539.5653076172, -1623.5965576172, 15.02795791626,5);//Dadurch wird das Tor geschlossen.
    SendClientMessage(playerid,COLOR_GREEN,"*Das Tor ist nun Zu!");//Die Nachricht das das Tor zu ist.
    TestTorvar = 0;//Dadurch wird das Tor auf 0 gesetzt sprich das es geschlossen ist.
    }
    }
    else//Falls das Passwort falsch ist:
    {
    SendClientMessage(playerid,COLOR_RED,"Das Passwort ist falsch!");//Falls das Passwort falsch ist kommt diese Nachricht.
    }
    }
    if(response == 0)
    {
    return 0;
    }
    }


  • Damit sollte es gehen:
    if(strlen(inputtext) <1 || !response) return 1;

    Zitat

    noch zu wissen ist das man das Tor nicht streamen darf.


    Wieso sollte man das Tor nicht streamen dürfen ?


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Weil es sich dann nicht bewegt ^^.
    Ich hatte damit meine Erfahrungen.

  • Wo fügt mann dass dann ein? : if(strlen(inputtext) <1) return 1;


    -Unknown

  • Bei mir klappt das wunderbar. Du musst dann aber auch die Funktion des Streamers verwenden (z.B. MoveDynamicObject)


    // edit :



    if(dialogid == Dialog_Tor)
    {
    if(strlen(inputtext) <1 || !response) return 1;
    if(!strcmp(inputtext,TorPasswort,true))//Dadurch wird geprüft ob das Passwort das Passwort ist welches wir oben definiert haben.
    {
    if(TestTorvar == 0)//Falls das Tor zu ist:
    {
    MoveObject(TestTor,1539.5653076172, -1623.5965576172, 8.65305519104,5);//Das Tor wird geöffnet.
    SendClientMessage(playerid,COLOR_GREEN,"*Das Tor ist nun Auf!");//Die Nachricht das das Tor offen ist.
    TestTorvar = 1;//Dadurch wird das Tor auf 1 gesetzt sprich das es offen ist.
    }
    else if(TestTorvar == 1)
    {
    MoveObject(TestTor,1539.5653076172, -1623.5965576172, 15.02795791626,5);//Dadurch wird das Tor geschlossen.
    SendClientMessage(playerid,COLOR_GREEN,"*Das Tor ist nun Zu!");//Die Nachricht das das Tor zu ist.
    TestTorvar = 0;//Dadurch wird das Tor auf 0 gesetzt sprich das es geschlossen ist.
    }
    }
    else return SendClientMessage(playerid,COLOR_RED,"Das Passwort ist falsch!");//Falls das Passwort falsch ist kommt diese Nachricht.
    }



    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Jo Danke Snail.
    Ich Editiere oben meinen Beitrag nachher da ich im Internet Cafe bin und die PC´s hier so lahm sind ^^.

  • Wieso sollte man Tor nicht streamen dürfen? Schöner wäre es wenn man das pw noch ändern könnte...
    new TestTorvar; sollte gleich null gesetzt werden am Anfang
    Wenn man auf Abbrechen drückt bricht der nicht ab sondern sagt falsche pw


    Kleinigkeiten jedoch sollte es schon richtig sein :)

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