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;
}