19.12.2014, 13:53
(
Последний раз редактировалось kloning1; 19.12.2014 в 14:25.
)
Hello I have a problem with logging in, if I signed up after the 2nd time I enter the account says that the password is wrong ..
thanks before
i need your help
Код:
stock ShowMainMenuDialog(playerid, frame)
{
new titlestring[64];
new string[256];
switch(frame)
{
case 1: // login
{
format(titlestring, sizeof(titlestring), "{FFFFFF}.:- {3399FF}Retard Gamers Drifters - {FFFFFF}Login -:.");
format(string, sizeof(string), "{FFFFFF}Akun ini sudah terdaftar, silahkan login dengan mengetikkan {40FF00}password{ffffff} Anda di bawah ini, \nAnda memiliki {40FF00}tiga kesempatan{ffffff} untuk memasukkan password yang benar - jika tidak Anda akan ditendang");
ShowPlayerDialog(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,titlestring,string,"Login","Exit");
}
case 2: // register
{
format(titlestring, sizeof(titlestring), "{FFFFFF}.:- {3399FF}Retard Gamers Drifters - {FFFFFF}Register -:.");
format(string, sizeof(string), "{FFFFFF}Akun ini tidak terdaftar, silahkan register dengan mengetikkan {FF0000}password{ffffff} yang Anda inginkan di bawah ini!:");
ShowPlayerDialog(playerid,MAINMENU2,DIALOG_STYLE_PASSWORD,titlestring,string,"Register","Exit");
}
case 3: // fail login
{
format(titlestring, sizeof(titlestring), "{FFFFFF}.:- {3399FF}Retard Gamers Drifters - {FFFFFF}Login -:.");
format(string, sizeof(string), "{FFFFFF}Akun ini sudah terdaftar, silahkan login dengan mengetikkan {40FF00}password{ffffff} Anda di bawah ini, \nAnda memiliki {40FF00}tiga kesempatan{ffffff} untuk memasukkan password yang benar - jika tidak Anda akan ditendang ({FF0000} Warning %d/3)", gPlayerFailLogin[playerid]);
ShowPlayerDialog(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,titlestring,string,"Login","Exit");
}
}
}
public OnPlayerConnect(playerid)
{
if(doesAccountExist(playername))
{
ShowMainMenuDialog(playerid, 1);
}
else
{
if(strfind( playername, "server", true) != -1 || strfind( playername, "memek", true) != -1 || strfind( playername, "kontol", true) != -1 || strfind( playername, "cacad", true) != -1
|| strfind( playername, "jamban", true) != -1 || strfind( playername, "asu", true) != -1 || strfind( playername, "admin", true) != -1 || strfind( playername, "admin", true) != -1
|| strfind( playername, "ngentot", true) != -1 || strfind( playername, "cabe", true) != -1 )
{
SCME(playerid, COLOR_GREY, "SERVER: Pada nama anda terdeteksi kata yang dilarang memasuki server.");
}
else
{
ShowMainMenuDialog(playerid, 2);
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == MAINMENU || dialogid == MAINMENU2)
{
if(dialogid == MAINMENU)
{
if( response == 0 )
{
SCME(playerid, COLOR_RED, "SERVER: You have been kicked out automatically.");
Kick(playerid);
}
else
{
if(strlen(inputtext))
{
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerLoginExe(playerid,tmppass); // tmppass
}
else
{
if(gPlayerFailLogin[playerid] == 2) { SendClientMessage(playerid, COLOR_WHITE, "Wrong password, you have been kicked out automatically."); Kick(playerid); }
ShowMainMenuDialog(playerid, 1);
}
}
}
if(dialogid == MAINMENU2)
{
if(strlen(inputtext))
{
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(doesAccountExist(sendername))
{
SCME(playerid, COLOR_YELLOW, "That username is already taken, please choose a different one.");
return 1;
}
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerRegisterEx(playerid,tmppass);
}
}
}
return 1;
}
forward OnPlayerRegisterEx(playerid, password[]);
public OnPlayerRegisterEx(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new string3[32];
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "users/%s.ini", playername3);
new File:hFile = fopen(string3, io_write);
if (hFile)
{
strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
// so long, i not copy
fclose(hFile);
}
}
return 1;
}
forward OnPlayerLoginExe(playerid,password[]);
public OnPlayerLoginExe(playerid,password[])
{
new string[512], playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
format(string, sizeof(string), "users/%s.ini", playername2);
new File:UserFile = fopen(string, io_read);
if(UserFile)
{
new PassData[256];
new keytmp[256], valtmp[256];
fread(UserFile , PassData , sizeof(PassData));
keytmp = ini_GetKey(PassData);
if(strcmp(keytmp, "Key", true ) == 0 )
{
valtmp = ini_GetValue(PassData);
strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
}
if(strfind(PlayerInfo[playerid][pKey], "\r", true) != -1)
{
format(string, sizeof(string), "Warning: \\r found in player %s's password. Removing now. Password Before: %s", GetPlayerNameEx(playerid), PlayerInfo[playerid][pKey]);
Log("logs/password.log", string);
new pos = strfind( PlayerInfo[playerid][pKey], "\r", true);
strdel(PlayerInfo[playerid][pKey], pos, pos+2);
format(string, sizeof(string), "%s's Password After: %s (Note these passwords are encrypted)", GetPlayerNameEx(playerid), PlayerInfo[playerid][pKey]);
Log("logs/password.log", string);
}
if(strcmp(PlayerInfo[playerid][pKey],password,true) == 0) // i think ! this error :(
{
new key[ 256 ] , val[ 256 ];
new Data[ 256 ];
while(fread(UserFile , Data , sizeof(Data)))
{
key = ini_GetKey(Data);
// soo long ~ i not copy
}
fclose(UserFile);
}
else
{
ShowMainMenuDialog(playerid, 3);
gPlayerFailLogin[playerid] += 1;
if(gPlayerFailLogin[playerid] == 2) { SendClientMessage(playerid, COLOR_WHITE, "Wrong password, you have been kicked out automatically."); Kick(playerid); }
return 1;
}
gPlayerLogin[playerid] = 1;
SpawnPlayer(playerid);
}
return 1;
}
i need your help


help plis