interior und passwort abfragen

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
  • Guten Tag


    Ich habe 2 Fragen die miteinander eigentlich garnichts zu tun haben:D also die erste frage:
    Kennt jemand ein Interior für ein krankenhaus oder sowas, bzw. kennt einer eine lisste mit allen interiors und bildern? denn die die ich bin jetzt gefunden habe, waren glaube ich nicht vollständig.


    2. frage;


    Wie frage ich das Passwort richtig ab? Ich benutze dini. Ich hatte das Problem schon mit MadAd, arbeite aber nun an einem selfmade adminscript. dazu brauche ich die richtige abfrage,


    hier die nötigen Infos:


    #define DIALOG_LOGIN 0
    #define DIALOG_REGIS 1


    //spieleraccount
    enum Info
    {
    Passwort[256],
    Admin
    }


    //news:
    new Spieler[MAX_PLAYERS][Info];


    //forwards:
    forward Update(playerid);


    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[256];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Simon/%s.ini",Name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Logge dich mit deinem Passwort ein!", " ", "Login!", "Abbrechen!");
    }
    else
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registriere dich mit einem Passwort!", " ", "Registrieren!", "Abbrechen!");
    }
    new Connect[256];
    format(Connect,sizeof(Connect),"%s (%d) hat sich eingeloggt!",Name,playerid);
    SendClientMessageToAll(0xFFFFFFFF, Connect);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(reason == 0)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    new DisConnect[256];
    format(DisConnect,sizeof(DisConnect),"%s (%d) hat die Verbindung verloren!",Name,playerid);
    SendClientMessageToAll(0xFFFFFFFF, DisConnect);

    }
    if(reason == 1)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    new DisConnect[256];
    format(DisConnect,sizeof(DisConnect),"%s (%d) hat sich ausgeloggt!",Name,playerid);
    SendClientMessageToAll(0xFFFFFFFF, DisConnect);
    }
    if(reason == 2)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    new DisConnect[256];
    format(DisConnect,sizeof(DisConnect),"%s (%d) wurde gekickt!",Name,playerid);
    SendClientMessageToAll(0xFFFFFFFF, DisConnect);
    }
    Update(playerid);
    return 1;
    }


    public Update(playerid)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Simon/%s.ini",SpielerName);
    dini_IntSet(Spielerdatei,"Admin",Spieler[playerid][Admin]);
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 0)
    {
    if(response)
    {
    new pw[256];
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Simon/%s.ini",SpielerName);
    Spieler[playerid][Passwort] = pw;
    pw = dini_Get(Spielerdatei,"Passwort");
    if(strcmp(inputtext,Spieler[playerid][Passwort],false) == 0)
    {
    SendClientMessage(playerid,gruen,"Du hast dich erfolgreich eingeloggt!");
    }
    else
    {
    SendClientMessage(playerid,rot,"Falsches Passwort, du wurdest gekickt!");
    Kick(playerid);
    }
    }
    }
    if(dialogid == 1)//dialog wo er sein pw zum registerieren eingiebt
    {
    if(response == 1)
    {
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    Spieler[playerid][Admin] = 0;
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Simon/%s.ini",Name);
    dini_Create(Spielerdatei);
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registriere dich!", " ", "Registrieren!", "Abbrechen!");
    dini_Set(Spielerdatei,"Passwort",inputtext);
    dini_IntSet(Spielerdatei,"Admin",Spieler[playerid][Admin]);
    SendClientMessage(playerid,gruen,"Du hast dich erfolgreich Registriert!");
    }
    }
    return 1;
    }

  • Das OnDIalogResponse gefällt mir nicht xD Achja die #define bitte oben im Script einfügen!


    #define MAX_PASSWORD_LENGTH (128) //Bitte hier den Wert eingeben der beim enum von Spieler bei Passwort im [ ] steht!


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 0)
    {
    if(response)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Simon/%s.ini",SpielerName);
    format(Spieler[playerid][Passwort], MAX_PASSWORD_LENGTH, dini_Get(Spielerdatei,"Passwort"));
    if(strcmp(inputtext,Spieler[playerid][Passwort],false) == 0)
    {
    SendClientMessage(playerid,gruen,"Du hast dich erfolgreich eingeloggt!");
    }
    else
    {
    SendClientMessage(playerid,rot,"Falsches Passwort, du wurdest gekickt!");
    Kick(playerid);
    }
    }
    }
    if(dialogid == 1)//dialog wo er sein pw zum registerieren eingiebt
    {
    if(response == 1)
    {
    new Spielerdatei[64];
    new Name[MAX_PLAYER_NAME];
    Spieler[playerid][Admin] = 0;
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Simon/%s.ini",Name);
    dini_Create(Spielerdatei);
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registriere dich!", " ", "Registrieren!", "Abbrechen!");
    dini_Set(Spielerdatei,"Passwort",inputtext);
    dini_IntSet(Spielerdatei,"Admin",Spieler[playerid][Admin]);
    SendClientMessage(playerid,gruen,"Du hast dich erfolgreich Registriert!");
    }
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Such mal unter dialogid == 1 nach folgender Zeile:


    format(Spieler[playerid][Passwort], MAX_PASSWORD_LENGTH, dini_Get(Spielerdatei,"Passwort"));


    Damit überträgst du das Passwort von der Datei in den String Spieler[playerid][Passwort]

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • cool klappt, nun buggt es. also ich habs nun ins madAd eingebaut, da meins ja noch nicht fertig ist und solange benutzte ich noch madAd.


    da darf man 3 ma passwort falsch eingeben, er erkennt nun das passwort, aber wenn ich es beim 3. mal richtig eingebe, dann registeriert er mich neu. also beim 1. mal richtig eingeben ist alles wie es soll, beim 3. mal richtig eingeben werde ich neu registriert, nach dem 2. mal habe ich noch nie ausprobiert..


    //bug gefixxt. danke lasse thema noch offen wegen krankenhaus interior.. vllt hat ja jemand ein selbsgemapptes oder so

    Einmal editiert, zuletzt von Simon ()