Hallo,
Ich habe ein problem. Wenn ich mir schon ein Account erstellt habe, kann ich mich mit Enter einloggen. Ohne ein Passwort einzugeben. Brauche dringend hilfe.
Register System: man kann sich mit Enter einloggen brauche hilfe
- Shinato
- Geschlossen
- Erledigt
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
-
-
zeig mal bei ondialogresponse den code von der abfrage:
if(dialogid == DIALOG_LOGIN) -
Normalerweise vergleichst du in einer Anfrage, ob der inputtext mit dem gespeicherten Passwort übereinstimmt. Strcmp gibt auch 0 zurück, wenn einer der strings leer ist. Du musst also noch && strlen(inputtext) einfügen
-
Hallo,
Ich habe ein problem. Wenn ich mir schon ein Account erstellt habe, kann ich mich mit Enter einloggen. Ohne ein Passwort einzugeben. Brauche dringend hilfe.if(strlen(inputtext) == 0)return SendClientMessage(playerid,FARBE,"Fehler: Sie/Du haben/hast nix eingegeben!");
-
Zeig mal den Kompletten Code, wenn wir wieder nur mit 5 Zeilen was anfangen dauerts um so länger
-
Das ist der Code:
if(dialogid == REGISTER)
{
if(response == 0)
{
SendClientMessage(playerid,COLOR_ROT,"Du hast den Vorgang abgebrochen und wurdest gekickt");
Kick(playerid);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_ROT,"Dein Passwort erfüllt die Vorraussetzungen nicht!");
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Register","Wolkommen,\nDu hast noch kein Account bei uns erstellt.\nBitte beachte das du niemanden deine Account Daten gibst.\n\nTipp: Nimm nicht etwas wie 123 oder Passwort\nEs könnte sonst dein Account gefährden","Registrieren","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}
if(dialogid == LOGIN)
{
if(response == 0)
{
SendClientMessage(playerid,COLOR_ROT,"Du hast den Vorgang abgebrochen und wurdest gekickt");
Kick(playerid);
return 1;
}
if(response == 1)
{
Login(playerid,inputtext);
return 1;
}
}
return 1;
}
Und hier die stocks:
stock Register(playerid,key[])
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
dini_Create(Spieler);
dini_Set(Spieler,"Name",Sname);
dini_Set(Spieler,"Passwort",key);
dini_IntSet(Spieler,"Geld",0);
dini_IntSet(Spieler,"VIP",0);
dini_IntSet(Spieler,"Clan",0);
dini_IntSet(Spieler,"Adminlevel",0);
dini_IntSet(Spieler,"Baned",0);
return 1;
}stock Login(playerid,key[])
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
{
SendClientMessage(playerid,COLOR_WEIß,"Erfolgreich eingeloggt!");
SendClientMessage(playerid,COLOR_WEIß,"Um zu spawnen, klicke auf den Spawn Button!"); //Kann sein dass das bei dir nicht nötig ist
SpielerLaden(playerid);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Das Passwort ist falsch!");
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Wilkommen,\nDein Account wurde gefunden.\nLogge dich mit deinem Passwort ein:","Login","Schließen");
return 1;
}
} -
if(dialogid == LOGIN)
{
if(response == 0)
{
SendClientMessage(playerid,COLOR_ROT,"Du hast den Vorgang abgebrochen und wurdest gekickt");
Kick(playerid);
return 1;
}
if(response == 1)
{
if(strlen(inputtext)) return ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war nicht lang genug, wiederhole die Eingabe!","Login","");
Login(playerid,inputtext);
return 1;
}
} -
Es geht
Ich danke dir -
breadfish.de
Hat das Thema geschlossen.