Hallo Community,
ich verzweifle gerade an meinem Login-System in meinem Selfmade und hoffe ihr könnt mir helfen.
Das Problem ist, dass er das Passwort falsch erkennt.
Wenn mein Passwort zb. 123 ist, kann mich mit /login 1 einlogen, was ja totaler schwachsinn ist.
Noch verwunderlich ist das in der .ini 49 als Passwort drin steht (bei dem Beispiel PW: 123).
Was wahrscheinlich daran liegt, dass ich beim registrieren sage, Speicher das Passwort als String, denn ich will ja auch Buchstaben im Passwort erlauben.
Das ist mein Login Befehl:
dcmd_login(playerid,params[])
{
new string[128], pw, password[256], pname[MAX_PLAYER_NAME];
if(sscanf(params,"s",pw))
{
return SendClientMessage(playerid,COLOR_GELB,"Benutzung: /Login [Passwort]");
}
GetPlayerName(playerid,pname,sizeof(pname));
format(string, sizeof(string),"spieler/%s.ini",pname);
password=dini_Get(string,"passwort"); // Problem vermutung
if(strval(password)==pw) // Problem vermutung
{
SendClientMessage(playerid,COLOR_GRÜN,"Du hast dich erfolgreich eingeloggt.");
SetPlayerSkin(playerid,dini_Int(string,"skin"));
SetPlayerPos(playerid,dini_Float(string,"x"),dini_Float(string,"y"),dini_Float(string,"z"));
SetPlayerFacingAngle(playerid,dini_Float(string,"a"));
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,1);
SpawnPlayer(playerid);
logged[playerid] = 1;
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Das Passwort war falsch!");
}
return 1;
}
Alles weitere wie Spawn, Skin usw. funktioniert einwandfrei, nur das er das Passwort nicht erkennt ist mein Problem.
Ich habe mir auch schon Loginsysteme hier im Forum angeschaut, aber die sind nie mit dcmd, was meiner Meinung nach das beste ist.
Außerdem ist bloßes rauskopieren oder einfügen von FS´s zu simpel. Also reicht hier eine erklärung, woran das Problem liegt.
Wie es dann weiter geht sollte ich eigentlich dann selbst hinbekommen (ansonsten frage ich halt nach ).
Ich bin über jeden Beitrag froh, außer er enthält dinge wie: Lern scripten oder ähnliches.
Mfg
Paddy