Login system verbuggt .... Dringend HIlfe benötigt

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
  • Also bei dem Script eines Freundes ist es so, dass egal ob der Spieler registriert ist oder nicht, angezeigt wird, dass er sich registrieren soll, dabei kann er sich trotzdem einloggen...
    Hier mal die Login sachen:
    Das unter OnplayerConnect rausgepickt:
    GetPlayerName(playerid, plname, sizeof(plname));
    format(string, sizeof(string), " benutzer/%s.ini", plname);
    new name[128], save[128]; // Dies machen wir um den Namen vom Spieler aufzuschreiben || Hiermit können wir sagen, dass etwas gespeichert werden soll
    GetPlayerName(playerid,name,sizeof(name)); // Dies sagt, er soll( vom Spieler, den namen, in der größe name aufschreiben)
    format(save,sizeof(save),"/Spieler/%s.ini",name); // Hier wird gechekt, wo der Spieler gespeichert ist, bzw. wo ein Spieler angelegt werden soll.
    if(dini_Exists(save)) // Hier wird geprüft, ob die Datei des Spielers schon existiert.
    { // Wenn ja, sende einen Text und lade den Skin und das Geld
    SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
    SendClientMessage(playerid, 0xFFFFFFAA, "Dein Account wurde wiedererkannt.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt einloggen.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /login [passwort].");
    //ShowPlayerDialog(playerid,login,DIALOG_STYLE_INPUT,"Login","Bitte tippe dein Passwort in das TextFeld ein um dich einzuloggen!","Login","Abbruch");
    }
    else
    {
    if(!dini_Exists(save)) // Wenn kein Spieler mit dem Namen existiert
    { //Sende einen Text
    SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du hast noch keinen Account.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt registrieren.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /register [passwort].");
    //ShowPlayerDialog(playerid,register,DIALOG_STYLE_INPUT,"Regestrieren","Bitte tippe dein Passwort in das TextFeld ein um dich zu Regestrieren!","Register","Abbruch");
    }
    }
    return 1;
    }


    public OnPlayerRegister(playerid, password[]) if(IsPlayerConnected(playerid))
    {
    new string3[32];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "benutzer/%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    da steht das ganze gedöns was ich euch nicht antun will :D
    fclose(hFile);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "______Account Registriert_____");
    SendClientMessage(playerid, COLOR_GREEN, "Dein Account wurde jetzt Registriert ;)");
    SendClientMessage(playerid, COLOR_GREEN, "Um jetzt bei uns Spielen zu können, musst du dich einloggen");
    SendClientMessage(playerid, COLOR_GREEN, "Schreibe dazu /login [DEIN PASSWORT]");
    SendClientMessage(playerid, COLOR_GREEN, "Dann bist du mit unserem Server verbunden und kannst beginnen zu spielen ;)");
    }
    }
    return 1;
    }



    Was muss ich da abändern?? Er hat keine Ahnung und ich auch nicht....

  • new name[128], save[128]; // Dies machen wir um den Namen vom Spieler aufzuschreiben || Hiermit können wir sagen, dass etwas gespeichert werden soll
    GetPlayerName(playerid,name,sizeof(name));


    mach aus dem name[128] mal name[MAX_PLAYER_NAME]
    Vielleicht klappts, mir is sonst nix aufgefallen :D


    du kannst aber auch anstatt } else { if... einfach nur else nehmen, ohne die zweite If-Abfrage

  • hier ohne onplayerregister:
    new name[128], save[128]; // Dies machen wir um den Namen vom Spieler aufzuschreiben || Hiermit können wir sagen, dass etwas gespeichert werden soll
    GetPlayerName(playerid,name,sizeof(name)); // Dies sagt, er soll( vom Spieler, den namen, in der größe name aufschreiben)
    format(save,sizeof(save),"benutzer/%s.ini",name); // Hier wird gechekt, wo der Spieler gespeichert ist, bzw. wo ein Spieler angelegt werden soll.
    if(dini_Exists(save)) // Hier wird geprüft, ob die Datei des Spielers schon existiert.
    { // Wenn ja, sende einen Text und lade den Skin und das Geld
    SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
    SendClientMessage(playerid, 0xFFFFFFAA, "Dein Account wurde wiedererkannt.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt einloggen.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /login [passwort].");
    //ShowPlayerDialog(playerid,login,DIALOG_STYLE_INPUT,"Login","Bitte tippe dein Passwort in das TextFeld ein um dich einzuloggen!","Login","Abbruch");
    }
    else
    {
    //Sende einen Text
    SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du hast noch keinen Account.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt registrieren.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /register [passwort].");
    //ShowPlayerDialog(playerid,register,DIALOG_STYLE_INPUT,"Regestrieren","Bitte tippe dein Passwort in das TextFeld ein um dich zu Regestrieren!","Register","Abbruch");
    }
    return 1;
    }