Hallo Breadfishler,
Bei meinem Login/Register System bekomme ich keine Errors/Warnings, aber die Spielerdatei wird nicht und somit muss ich mich ständig beim Reloggen wieder Registrieren....
Hier mal die ganzen sachen Stocks usw. falls ich etwas vergessen habe schreibt es bitte ![]()
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,"Passwort",key);
dini_IntSet(Spieler,"Adminlevel",0);
dini_IntSet(Spieler,"level",0);
dini_IntSet(Spieler,"Fraktion",0);
SendClientMessage(playerid,BLAU,"Du hast dich erfolgreich Regestriert!");
SpielerReset(playerid);
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,GREEN,"Du hast dich erfolgreich eingeloggt!");
SpielerLaden(playerid);
}
else
{
SendClientMessage(playerid,ROT,"Falsches Passwort");
Kick(playerid);
}
return 1; //betroffene Zeile
}
stock SpielerSpeichern(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
dini_IntSet(Spieler,"level",sSpieler[playerid][level]);
dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
}
return 1;
}
stock SpielerLaden(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
SetPlayerScore(playerid,dini_Int(Spieler,"level"));
sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
sSpieler[playerid][level] = dini_Int(Spieler,"level");
sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
sSpieler[playerid][slogin] = 1;
}
return 1; //betroffene Zeile
}
stock SpielerReset(playerid)
{
sSpieler[playerid][Adminlevel] = 0;
sSpieler[playerid][level] = 0;
sSpieler[playerid][Fraktion] = 0;
return 1;
}
die Dialog defines
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
Hier OnPlayerConnect:
public OnPlayerConnect(playerid)
{
//Login
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
SendClientMessage(playerid,GELB,"Herzlich Willkommen zurück");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gebe Dein Passwort ein","Login","Abbrechen");
}
else
{
SendClientMessage(playerid,GELB,"Herzlich Willkommen auf New Generation Reallife");
//Register
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte wähle ein Passwort um deinen Account zu erstellen","Registrieren","Abbrechen");
}
OnPlayerDialogRespone:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//========Login==================
if(dialogid == DIALOG_LOGIN)
{
if(response == 0)
{
Login(playerid,MD5_Hash(inputtext));
}
else if(!response)
{
SendClientMessage(playerid,ROT,"Du hast deinen Login abgebrochen!");
Kick(playerid);
Login(playerid,MD5_Hash(inputtext));
}
}
else if(dialogid == DIALOG_REGISTER)
{
if(response == 0)
{
if(strlen(inputtext) < 6)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte wähle ein Passwort um deinen Account zu erstellen","Registrieren","Abbrechen");
return SendClientMessage(playerid, GELB, "Dein Passwort muss aus mindestens 6 Zeichen bestehen.");
}
else
{
SendClientMessage(playerid,GELB,"[SERVER]Du hast dich Erfolgreich Registriert!");
SpawnPlayer(playerid);
Register(playerid,MD5_Hash(inputtext));
}
}
else if(!response)
{
SendClientMessage(playerid,ROT,"Du hast die Registration abgebrochen!");
Kick(playerid);
}
}
return 1;
}
Vielen Dank an alle im Vorraus! ![]()
![]()