Türen öffnen mit password

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
  • IsPlayerInRangeOfPoint(...)
    Dann ShowPlayerDialog(...)


    Wenn passwort richtig, dann tür auf wenn nicht, dann ist es halt zu :P


    -Unknown

  • Ich habe das nun so gemacht:



    else if (IsPlayerInRangeOfPoint(i,2.0,1520.6512,-1625.4971,13.5469))
    {
    ShowPlayerDialog(i,DIALOG_Password,DIALOG_STYLE_INPUT,"Password","Gib das Password ein!","Ok","Abbrechen");
    }
    und


    if(dialogid == DIALOG_Password)
    {
    if(response && strlen(inputtext) > 0)
    {
    SendClientMessage(playerid,COLOR_RED,"Tür öffnet sich");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Tür bleibt leider zu falsches password");
    }
    }


    und wie muss ich nun die abfrage in einer .ini machen?
    das er da das password abfragt ?
    kann mir jemand die abfrage machen für .ini?


    //edit

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    2 Mal editiert, zuletzt von eli ()

  • new tuerpasswort[128];


    public OnGameModeInit()
    {
    tuerpasswort = dini_Get("Türpasswort.ini","Passwort");
    return 1;
    }


    else if (IsPlayerInRangeOfPoint(i,2.0,1520.6512,-1625.4971,13.5469))
    {
    ShowPlayerDialog(i,DIALOG_Password,DIALOG_STYLE_INPUT,"Password","Gib das Password ein!","Ok","Abbrechen");
    }


    if(dialogid == DIALOG_Password)
    {
    if(strcmp(inputtext,tuerpasswort,true)==0)
    {
    SendClientMessage(playerid,COLOR_RED,"Tür öffnet sich");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Tür bleibt leider zu falsches password");
    }
    }

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • Danke :)
    Kannst du mir zufälliger weise noch sagen wie ich das machen kann das z.B
    leader fraktion 1:


    if(strcmp(cmd, "/türpw", true) == 0)
    {
    if (PlayerInfo[playerid][pLeader] == 1)
    {
    .....
    }
    }


    auf dem server änderen können ?

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009


  • if(strcmp(cmd,"/türpw",true)==0)
    {
    if(PlayerInfo[playerid][pLeader] == 1)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,0xFF0000FF,"Benutze: /türpw [Neues Passwort]");
    return 1;
    }
    if(strcmp(tmp,tuerpasswort,true)==0)
    {
    SendClientMessage(playerid,0xFF0000FF,"Das ist dasselbe Passwort! Nutze ein anderes!");
    return 1;
    }
    format(tuerpasswort,sizeof(tuerpasswort),"%s",tmp);
    format(string,sizeof(string),"Das neue Passwort ist: %s",tmp);
    SendClientMessage(playerid,0xFF0000FF,string);
    return 1;
    }
    }


    Achja bei public OnGameModeExit()
    musst du noch das hinzufügen:



    dini_Set("Türpasswort.ini","Passwort",tuerpasswort);

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • Danke so weit alles funktionirt nur ein error:



    habe das nun so gemacht:
    dini_Set("Türpasswort.ini","Passwort",tuerpasswort);
    und nun funktionirt alles. nur wenn ich auf server bin sagt er mir immer tür öffnet sich und immer wenn ich ein buchstarben eingebe wir er gleich wieder gelöscht



    //edit

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    5 Mal editiert, zuletzt von eli ()

  • Wie "Der Buchstabe geht immer wieder weg"? O.o


    Erklär das mal bitte genauer...

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • eli: Das liegt daran, dass du den Pickup Spawn Type vom Pickup auf ID 1 hast.
    Mach es mit einem Command oder setz es auf ID 2.


    Sonst wird der Dialog dir immer hintereinander angezeigt, und der Buchstabe scheint für dich zu verschwinden.

  • also wenn ich z.B 1234 eingebe wird das gleich wieder im dialog gelöscht
    2. wenn ich z.B schnell 1 eingebe und dann enter drücke dann kommt immer richtig password.
    3. /türpw funktionirt auch nicht so ganz immer wenn ich /türpw eingebe steht das password ist genau so wie das alte


    wie meinst du das? und wo?
    eli: Das liegt daran, dass du den Pickup Spawn Type vom Pickup auf ID 1 hast.
    Mach es mit einem Command oder setz es auf ID 2.


    Sonst wird der Dialog dir immer hintereinander angezeigt, und der Buchstabe scheint für dich zu verschwinden.

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

  • ne ohne pickup ich gehe einfach vor die tür und rechts ist so ein schalt platte welche rot ist wie im video und dann wenn man davor steht soll das dialog kommen aber du hast recht es kommt immer wieder direkt wie kann ich das änderen?

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

  • hab gerade oben gelesen, hier ist der Fehler..
    Der Dialog wird dir oft pro Sekunde gesendet, sodass du fast keine Möglichkeit hast etwas einzugeben.

    ah stimmt das wegen kann ich nicht eingeben^^ danke.


    aber es funktionirt noch nicht so ganz das er das aus der .ini liest
    habe das nun so gemacht:


    Ganz oben:
    new tuerpasswort[128];
    in public OnGameModeInit()
    dini_Set("Türpasswort.ini","Passwort",tuerpasswort);
    (weil das nicht funtionirt: tuerpasswort = dini_Set("Türpasswort.ini","Passwort");)


    in public OnGameModeExit()
    dini_Set("Türpasswort.ini","Passwort",tuerpasswort);


    der befehl:


    if(strcmp(cmd,"/türpw",true)==0)
    {
    if(PlayerInfo[playerid][pLeader] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du bist kein cop");
    return 1;
    }
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,0xFF0000FF,"Benutze: /türpw [Neues Passwort]");
    return 1;
    }
    if(strcmp(tmp,tuerpasswort,true)==0)
    {
    SendClientMessage(playerid,0xFF0000FF,"Das ist dasselbe Passwort! Nutze ein anderes!");
    return 1;
    }
    format(tuerpasswort,sizeof(tuerpasswort),"%s",tmp);
    format(string,sizeof(string),"Das neue Passwort ist: %s",tmp);
    SendClientMessage(playerid,0xFF0000FF,string);
    return 1;
    }


    Dialog:


    if(dialogid == DIALOG_Password)
    {
    if(strcmp(inputtext,tuerpasswort,true)==0)
    {
    SendClientMessage(playerid,COLOR_RED,"Tür öffnet sich");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Tür bleibt leider zu falsches password");
    }
    }
    und der befehl für die tür:


    if(strcmp(cmd, "/tür", true) == 0)
    {
    if (!PlayerToPoint(2.0, playerid,1520.6512,-1625.4971,13.5469))
    {
    SendClientMessage(playerid, COLOR_GREEEN, "Du bist nicht an der Tür");
    return 1;
    }
    ShowPlayerDialog(playerid,DIALOG_Password,DIALOG_STYLE_INPUT,"Password","Gib das Password ein!","Ok","Abbrechen");
    return 1;
    }


    aber immer wenn ich im dialog z.B 123 eingebe was falsch ist dann kommt:
    Tür öffnet sich


    und wenn ich /türpw mache kommt immer:
    Das ist dasselbe Passwort! Nutze ein anderes!


    Aber warum ?


    //edit

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    2 Mal editiert, zuletzt von eli ()

  • mach mal das



    if(strcmp(tmp,tuerpasswort,true)==0)
    {
    SendClientMessage(playerid,0xFF0000FF,"Das ist dasselbe Passwort! Nutze ein anderes!");
    return 1;
    }




    weg, vl gehts dann...

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • ja nun gehts nun kommt auch das es das falsche password ist wenn man ein andere eingibt es wird aber nicht in der .ini gespeichter oder ausgelesen
    meine .ini war leer und da hat sich dann das rein geschrieben:


    Passwort=

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

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