Ich habe grade bei mir ein Login/register System eingebaut es gefällt mir auch eigentlich ganz gut aber iwie bekomme ich es nicht hin das der Score/Skin/Geld speichert hier mal die daten:
#define DIALOG_LOGIN 3
#define DIALOG_REG 4
enum spieler_daten
{
score,
geld,
skin,
eingeloggt
}
new Spieler[MAX_PLAYERS][spieler_daten];
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(fexist(accFormat))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Einloggen","-");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Registrieren","-");
}
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(fexist(accFormat) && Spieler[playerid][eingeloggt])
{
dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
}
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(response)
{
switch(dialogid) // dialogid auswählen
{
case DIALOG_LOGIN: // ID Login
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Einloggen","-");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
if(strcmp(inputtext,dini_Get(accFormat,"geld")) == 0)
if(strcmp(inputtext,dini_Get(accFormat,"score")) == 0)
if(strcmp(inputtext,dini_Get(accFormat,"skin")) == 0)
{
Spieler[playerid][skin] = dini_Int(accFormat,"skin");
Spieler[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
SendClientMessage(playerid,0xFFFFFFFF,"Bitte waehle jetzt dein gewünschten Skin aus.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Einloggen","-");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Registrieren","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
Spieler[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGINhowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Einloggen","-");
case DIALOG_REGhowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Registrieren","Abbrechen");
}
return 1;
}
Wie gesagt es ist alles drin nur es wird halt nicht gespeichert wenn ich -2 score habe und ich server restarte ist alles auf 0