Mein Problem besteht darin, das wenn man sich registriert hat, alles reibungslos abläuft. Nach einem Disconnect vom Server werden die Accountdaten des Spielers gespeichert, aber nach dem Login, wird zwar der Username und das Passwort wieder gefunden, jedoch das Geld, das Adminlevel und der Rest, diese werden nicht geladen.
Mich wundert das, da vorher alles reibungslos lief.
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"Eingeloggt")==1)
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
dini_IntSet(Playerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Playerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Playerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Playerdatei,"Baned",GetPVarInt(playerid,"Baned"));
}
return 1;
}
stock AccountLaden(playerid)
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
SetPlayerScore(playerid,dini_Int(Playerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Playerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Playerdatei,"Adminlevel"));
SetPVarInt(playerid,"Eingeloggt",1);
return 1;
}
new Playerdatei[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
if(dini_Exists(Playerdatei))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login-Vorgang","Gib bitte nun dein Passwort ein.","Einloggen","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrationsvorgang","Bitte wähle ein Passwort.","Register","Abbrechen");
}
{
gPlayerAccount[playerid] = 1;
SendClientMessage(playerid, ORANGE, "» Willkommen auf Street-of-Reallife «");
SendClientMessage(playerid, ORANGE, "» Wir freuen uns das du wieder da bist «");
SendClientMessage(playerid, ORANGE, "» Ðein Account wurde erfolgreich gefunden «");
return 1;
}
else
{
gPlayerAccount[playerid] = 0;
SendClientMessage(playerid, ORANGE, "» Willkommen auf Street-of-Reallife «");
SendClientMessage(playerid, ORANGE, "» Ðamit du hier spielen kannst, musst du dich registrieren «");
}
Anzeige[playerid] = TextDrawCreate(630.0,410.0," ");
TextDrawSetOutline(Anzeige[playerid], 1);
TextDrawAlignment(Anzeige[playerid], 3);
TextDrawSetShadow(Anzeige[playerid], 0);
TextDrawShowForPlayer(playerid,Anzeige[playerid]);
return 1;
}
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
dini_Create(Playerdatei);
dini_Set(Playerdatei,"Passwort",key);
SendClientMessage(playerid,FARBE,"Du hast dich erfolgreich eingeloggt.");
dini_IntSet(Playerdatei,"Adminlevel",0);
SetPVarInt(playerid,"Eingeloggt",1);
SetPlayerHealth(playerid, 100);
SetPlayerScore(playerid, 2);
GivePlayerMoney(playerid, 5000);
SendClientMessage(playerid, HBLUE, "Da du neu bist bekommst du einen Startbonus von Level 2 und 5000$.");
return 1;
}
stock Login(playerid,key[])
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
{
AccountLaden(playerid);
SendClientMessage(playerid,FARBE,"Du hast dich erfolgreich eingeloggt.");
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt!");
Kick(playerid);
}
}
else
{
SendClientMessage(playerid,ROT,"Dein hast ein falsches Passwort eingegeben!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Log In Vorgang","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","LogIn", "Abbrechen");
}
return 1;
}
Interessanterweise habe ich nichts dergleichen verändert, vorher ging es auch. Manchmal wurden meine Daten geladen und jetzt wird garnichts mehr geladen.
Hierbei muss ich sagen, wenn ich "AccountLaden(playerid);" eingebe, passiert genauso wenig.
Falls ich Scriptteile vergessen habe, einfach darunter schreiben, diese werden euch dann auch zur Verfügung gestellt.
Mit freundlichen Grüßen,
Mr.DubStep