Hallo ich habe ein bisschen rumprobiert mit einem Login & Register System.
Die Spielerdatei erstellt es im Ordner "Accounts" wo Passwort und Score drinnen steht.
Jedoch wenn ich ins Spiel gehe und ein anderes Passwort eingebe als das angegebene
wird das "Passwort" in der Datei einfach zum neuen umgeschrieben. Weiß jemand warum?
Code:
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gib dein ausgewähltes Passwort ein","Einloggen","Verlassen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib dein gewünschtes Passwort ein","Registrieren","Verlassen");
}
if(dialogid == DIALOG_LOGIN)
{
if(response==0)
{
SendClientMessage(playerid,blau,"Verlassen");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Passwort ist nicht gültig");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gib dein ausgewähltes Passwort ein.","Einloggen","Verlassen");
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}
if(dialogid == DIALOG_REGISTER)
{
if(response==0)
{
SendClientMessage(playerid,blau,"Verlassen");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Passwort ist nicht gültig");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib dein gewünschtes Passwort ein","Registrieren","Verlassen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,blau,"Erfolgreich registriert.");
dini_IntSet(Spielerdatei,"Level",1);
return 1;
}
stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
return 1;
}
else
{
SendClientMessage(playerid,blau,"Falsches Passwort.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gib dein ausgewähltes Passwort ein.","Einloggen","Verlassen");
return 1;
}
}
Gruß