Hey Leute ich habe folgendes Problem.
Ich versuche gerade das das Account erstellen/Laden/Speichern ohne Probleme klappt.
Beim Registrieren klappt alles. Er setzt das Geld,ADM Level,Score so wie es soll und man spawnt
Wenn Man sich dann Ausloggt und Einloggen will hängt sich nach der Passwort eingabe das Spiel auf. Hat da jmd einen Plan.
Hab jetzt folgendes:
enum PlayerInformationen
{
Adminlevel,
Geld,
Level,
pLogin
}
new pDaten[MAX_PLAYERS][PlayerInformationen];
public OnPlayerDisconnect(playerid, reason)
{
OnLogin[playerid] = 0;
Speichern(playerid);
pDaten[playerid][pLogin] = 0;
pDaten[playerid][Adminlevel] = 0;
pDaten[playerid][Geld] = 0;
pDaten[playerid][Level] = 0;
Speichern(playerid);
return 1;
}
stock Registrieren(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);
dini_IntSet(Spielerdatei,"Level",1);
dini_IntSet(Spielerdatei,"Adminlevel",0);
dini_IntSet(Spielerdatei,"Geld",15000);
Einloggen(playerid,key);
SpawnPlayer(playerid);
SendClientMessage(playerid,NEONGRUEN,"Willkommen auf Planet Reallife :)");
return 1;
}
stock Einloggen(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
{
pDaten[playerid][pLogin] = 1;
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
pDaten[playerid][Adminlevel] = dini_Int(Spielerdatei,"Adminlevel");
pDaten[playerid][Geld] = dini_Int(Spielerdatei,"Geld");
GivePlayerMoney(playerid,pDaten[playerid][Geld]);
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Falsches Passwort.");
ShowPlayerDialog(playerid,DIALOG_EINLOGGEN,DIALOG_STYLE_PASSWORD,"[PR]-Login","{989898}Dein Account wurde in der {00CC00}Datenbank {989898}gefunden. Gib bitte das Passwort ein.\n\n{ff0000}Das [PR]Team wird dich niemals nach deinen Passwort fragen!","Login","Abbrechen");
return 1;
}
}
stock Speichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(pDaten[playerid][pLogin] == 1)
{
pDaten[playerid][Geld] = GetPlayerMoney(playerid);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",pDaten[playerid][Adminlevel]);
dini_IntSet(Spielerdatei,"Geld",pDaten[playerid][Geld]);
return 1;
}
else
{return 1;}
}