Hallo Community!
Ich habe eineige probleme mit dem Login/Register system.
1.) Wenn ich mich registriere und wieder einlogge habe ich automatisch Level 1 und 1dollar....
2.) Wenn ich Registriert bin und mich wieder einlogge aber ein falsches passwort eingebe trotzdem lässt er mich einloggen
Ich schicke euch nun meine stocks und das zeug bei OnDialogResponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
new string[128];
SendClientMessage(playerid,COLOR_ROT,"{AAAAAA}Das eingegebene {37FF00}Passwort {AAAAAA}war {FF0005}Falsch, {AAAAAA}bitte geben sie Ihr {37FF00}richtiges Passwort{AAAAAA} ein.");
format(string,sizeof(string),"{AAAAAA}Herzlich Willkommen zurück {FFFF00}%s. {AAAAAA}\nBitte geben sie Ihr{37FF00} Passwort{AAAAAA} ein.",SpielerName(playerid));
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",string,"Login","Abbrechen");
}
else
{
Login(playerid,inputtext);
}
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAU,"Sie haben den Vorgang abgebrochen!");
Kick(playerid);
}
return 1;
}
if(dialogid == DIALOG_REGISTER)
{
if(response)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GRAU,"Das Passwort war nicht lang genug.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Dein Account wurde nicht in der Datenbank gefunden.\nBitte geben sie Ihr gewünschtes Passwort ein.","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
}
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAU,"Sie haben den Vorgang abgebrochen!");
Kick(playerid);
}
return 1;
}
return 1;
}
stock Register(playerid, key[])
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new Spielerdatei[264];
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,COLOR_GRAU,"Sie haben sich erfolgreich Registriert.");
dini_IntSet(Spielerdatei,"Level",0);
return 1;
}
stock Login(playerid, key[])
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new Spielerdatei[264];
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LadeAccount(playerid);
SendClientMessage(playerid,COLOR_GRAU,"Sie haben sich erfolgreich eingeloggt.");
}
else
{
new string[128];
SendClientMessage(playerid,COLOR_ROT,"{AAAAAA}Das eingegebene {37FF00}Passwort {AAAAAA}war {FF0005}Falsch, {AAAAAA}bitte geben sie Ihr {37FF00}richtiges Passwort{AAAAAA} ein.");
format(string,sizeof(string),"{AAAAAA}Herzlich Willkommen zurück {FFFF00}%s. {AAAAAA}\nBitte geben sie Ihr{37FF00} Passwort{AAAAAA} ein.",SpielerName(playerid));
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",string,"Login","Abbrechen");
}
return 1;
}
stock LadeAccount(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new Spielerdatei[264];
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
pInfo[playerid][plevel] = SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
pInfo[playerid][pgeld] = GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
pInfo[playerid][padmin] = dini_Int(Spielerdatei,"Adminlevel");
pInfo[playerid][premium] = dini_Int(Spielerdatei,"Premium");
pInfo[playerid][pbanned] = dini_Int(Spielerdatei,"Banned");
pInfo[playerid][pwarn] = dini_Int(Spielerdatei,"Warns");
pInfo[playerid][pskin] = dini_Int(Spielerdatei,"Skin");
pInfo[playerid][pleader] = dini_Int(Spielerdatei,"Leader");
pInfo[playerid][pmember] = dini_Int(Spielerdatei,"Member");
pInfo[playerid][prang] = dini_Int(Spielerdatei,"Rang");
pInfo[playerid][pmute] = dini_Int(Spielerdatei,"Mute");
fsInfo[playerid][Fuehrerschein] = dini_Int(Spielerdatei,"Führerschein");
fsInfo[playerid][Mottoradschein] = dini_Int(Spielerdatei,"Mottoradschein");
fsInfo[playerid][Bootschein] = dini_Int(Spielerdatei,"Bootschein");
fsInfo[playerid][Angelschein] = dini_Int(Spielerdatei,"Angelschein");
fsInfo[playerid][Flugschein] = dini_Int(Spielerdatei,"Flugschein");
fsInfo[playerid][Waffenschein] = dini_Int(Spielerdatei,"Waffenschein");
if(pInfo[playerid][pbanned] == 1)
{
SendClientMessage(playerid,COLOR_GRAU,"Du bist vom Server gebannt.");
Kick(playerid);
}
pInfo[playerid][plogged] = 1;
return 1;
}
stock SpielerSpeichern(playerid)
{
if(pInfo[playerid][plogged] == 1)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new Spielerdatei[264];
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",pInfo[playerid][plevel]);
dini_IntSet(Spielerdatei,"Geld",pInfo[playerid][pgeld]);
dini_IntSet(Spielerdatei,"Adminlevel",pInfo[playerid][padmin]);
dini_IntSet(Spielerdatei,"Premium",pInfo[playerid][premium]);
dini_IntSet(Spielerdatei,"Banned",pInfo[playerid][pbanned]);
dini_IntSet(Spielerdatei,"Warns",pInfo[playerid][pwarn]);
dini_IntSet(Spielerdatei,"Skin",pInfo[playerid][pskin]);
dini_IntSet(Spielerdatei,"Leader",pInfo[playerid][pleader]);
dini_IntSet(Spielerdatei,"Member",pInfo[playerid][pmember]);
dini_IntSet(Spielerdatei,"Rang",pInfo[playerid][prang]);
dini_IntSet(Spielerdatei,"Mute",pInfo[playerid][pmute]);
dini_IntSet(Spielerdatei,"Führerschein",fsInfo[playerid][Fuehrerschein]);
dini_IntSet(Spielerdatei,"Mottoradschein",fsInfo[playerid][Mottoradschein]);
dini_IntSet(Spielerdatei,"Bootschein",fsInfo[playerid][Bootschein]);
dini_IntSet(Spielerdatei,"Angelschein",fsInfo[playerid][Angelschein]);
dini_IntSet(Spielerdatei,"Flugschein",fsInfo[playerid][Flugschein]);
dini_IntSet(Spielerdatei,"Waffenschein",fsInfo[playerid][Waffenschein]);
}
return 1;
}