Hey Leute
Ihr kennt sicher das LogIn-System, welches auch MRMonat publiziert hat(weis nicht ob es auf seinem Mist gewachsen ist :P), das mit Hilfe von dini unter "scriptfiles" in einem Ordner("Accounts") Spielerdateien mit Daten wie Passwort, Fraktion, Spielerlevel,... füllt & ausliest.
Das ganze sieht als "LogIn - Stock" so aus:
stock Login(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"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,DUNKELGRÜN,"Erfolgreich eingeloggt!");
SetCameraBehindPlayer(playerid);
return 1;
}
else
{
SendClientMessage(playerid,ROT3,"Das Passwort ist falsch...");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}Login","{AAAAAA}Dein Account wurde gefunden.\n\
Bitte {00CDFF}Passwort {AAAAAA}eingeben:","Login","Abbrechen");
return 1;
}
}
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Spielerlevel"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Arbeitsplatz",dini_Int(Spielerdatei,"Arbeitsplatz"));
SetPVarInt(playerid,"online",1);
return 1;
}
Hab mir im Forum mehrere Beiträge dazu durchgelesen, in welchen mein Problem auch teilweise kurz angesprochen aber nie beantwortet wird.
Wenn man den LogIn so aufzieht, kann man als Passwort eingeben was man will, man kommt mit jedem Passwort in jeden Account.
Ich vermute es liegt daran, dass dini den String "Passwort" in der Spielerdatei nicht auslesen kann.
Meine Vermutung begründet sich darauf, dass ich folgendes im "LogIn-Stock" eingefügt habe:
new string4[128];
format(string4,sizeof(string4),"Passwort:%s Eingabe:%s",dini_Get(Spielerdatei,"Passwort"),key);
SendClientMessage(playerid,ROT,string4);
Resultat: "Passwort: Eingabe:"eingegebenes Passwort"
Manche von euch müssten das Problem doch auch haben?
Ich kann alles auslesen außer Strings?!
Könnt ihr mir helfen oder eventuell ein anderes LogIn-System empfehlen, dass auch funktioniert?
Gruß Storm