Accountnamen

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
  • Hallo,
    ich habe das Problem das wenn ich mir einen Account erstelle "FileZilla" und jemand sich einen neuen "filezilla" wird ein neuer erstellt, wie bekomme ich es hin das groß & kleinschreibung gleich bleibt?


    Jeffry:
    Vllt?


    GetPlayerIp(playerid,pIP[playerid],16);
    GetPlayerName(playerid, plname, sizeof(plname));
    format(string, sizeof(string), "/Accounts/%s.ini", plname);



    OnPlayerLogin
    public OnPlayerLogin(playerid,password[])
    {
    new tmp2[256];
    new string2[128];
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    format(string2, sizeof(string2), "/Accounts/%s.ini", playername2);
    new File: UserFile = fopen(string2, io_read);
    if ( UserFile )
    {
    new PassData[256];
    new keytmp[256], valtmp[256];
    fread( UserFile , PassData , sizeof( PassData ) );
    keytmp = ini_GetKey( PassData );
    if( strcmp( keytmp , "Key" , true ) == 0 )
    {
    valtmp = ini_GetValue( PassData );
    strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
    }


    OnPlayerRegister
    public OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    new string3[64];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
    new var[32];
    format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);


    Danke im Voraus.

  • Ja genau Jeffry: So das bei einem Account es egal ist ob ich mich mit Filezilla oder FILEZILLA einlogge. Es soll der Selber account bleiben.


    MfG

  • Du kannst keine Datei mit strcmp vergleichen, wie soll denn das gehen?

    Das ist mir schon bewusst. Er kann dennoch nach der Datei suchen und wenn diese vorhanden ist, dann sucht er da nach dem Feld "username" (vorausgesetzt das existiert) und vergleicht das. Ansonsten halt den Dateinamen Splitten vor dem letzten ".". Ich programmiere nicht mit Dini (zum Glück) und weiß nicht wie seine Spielerdatei aufgebaut ist. Mehr als raten kann ich nicht.


    filezilla: Wenn Du Jeffry's Methode verwendest, dann musst Du logischerweise alle existierenden Dateien umbenennen.

  • Er kann dennoch nach der Datei suchen und wenn diese vorhanden ist, dann sucht er da nach dem Feld "username" (vorausgesetzt das existiert) und vergleicht das.


    Problem ist nur, dass du nicht nach Dateien suchen kannst. Auf einem Linux Server kannst du sowohl eine Datei "Test.txt" als auch eine Datei "TEST.txt" im selben Ordner haben, auf Windows geht das nicht.
    Heißt man nun "tEsT", wie willst du herausfinden, ob irgendeine Kombination existiert? Das geht nur, indem du die Dateien nur mit Kleinbuchstaben behandelst. Suchen geht nicht. ;)