Also ich habe mir ein simples File speicher dings gebaut....funzt alles prima ausa das mit dem password ich glaube ich mache mir das leben sehr schwer damit also ich habe es so gemacht=>
public OnPlayerCommandText(playerid,cmdtext[])
{
if(!strcmp(strget(cmdtext,0),"/register"))
{
new filename[256];
new string[128],password[128],pName[24];
password = strget(cmdtext,1);
GetPlayerName(playerid, pName, sizeof(pName));
format(filename, sizeof filename, "%s.txt",pName);
format(string,sizeof(string),"Name: %s \r\nPasswort: %s\r\n",pName,password);
if(fexist(filename))
{
SendClientMessage(playerid,COLOR_YELLOW,"Du bist bereits Regestriert");
}
else
{
if(!strlen(strget(cmdtext,1)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /register [password]");
return 1;
}
new File:ftw=fopen(filename,io_write);
fwrite(ftw, string);fclose(ftw);
SendClientMessage(playerid,COLOR_YELLOW,"Du wurdes erfolgreich Regestriert");
SendClientMessage(playerid,COLOR_YELLOW,"Benutze das nächste mal /login [password]");
}
return 1;
}
//--------------------LOGIN-------------------
if(!strcmp(strget(cmdtext,0),"/login"))
{
new filename[256];
new pName[24],password[256],password2[256],string[256];
GetPlayerName(playerid, pName, sizeof(pName));
format(filename, sizeof filename, "%s.txt",pName);
new File:ftw=fopen(filename,io_read);
password = strget(cmdtext,1);
while(fread(ftw, string))
{
if(strcmp(string, "Passwort: ", true, 10)==0)
{
MyVal=GetVal(2, string);
}
}
format(password2, sizeof password2, "%s",MyVal);
if(fexist(filename))
{
if(!strlen(strget(cmdtext,1)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /login [password]");
return 1;
}
if (strcmp(password2,password, true) == 0)
{
SendClientMessage(playerid,COLOR_YELLOW,"Du wurdest erfolgreich eingelogt!");
}
else
{
SendClientMessage(playerid,COLOR_YELLOW,"flasches PW");
}
}
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht Regestriert!");
}
return 1;
}
der fehler (denke ich)liegt dort=>while(fread(ftw, string))
{
if(strcmp(string, "Passwort: ", true, 10)==0)
{
MyVal=GetVal(2, string);
}
}
format(password2, sizeof password2, "%s",MyVal);
if(fexist(filename))
{
if(!strlen(strget(cmdtext,1)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /login [password]");
return 1;
}
if (strcmp(password2,password, true) == 0)
{
SendClientMessage(playerid,COLOR_YELLOW,"Du wurdest erfolgreich eingelogt!");
}
damit möchte ich erreichen das aus der File das Password gelesen wird... und in einen string gestzt wird(password2) und dann mit password verglichen wird, password ist ja dann das was man an 2 stelle nach /login schreibt also /login (password)
so und nun zu meinem eigentlichen problem es klapt alles aussa wenn ich /login (ein falsches password benutz) steht da trotzdem du wurdest erfolgreich eingelogt
klip und klar ich kann alle passwörter benutzen sind immer richtig wieso ??
oda mach ich irg was falsch ich habe mir das mit mienem gerigen wissen selber gebaut gibt es net eine enfacherer lösung ausser diese...??
ich Danke im vorraus
Mfg Guillaume