Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Проблема с паролем

Статус
В этой теме нельзя размещать новые ответы.

BusMan

Ученик
Здравствуйте. Проблема в том, что пароль сохраняется в таком формате: Key=1454QT“½, и при вводе не правильного пароля, всё равно заходит на сервер. Как это можно исправить?

public OnPlayerRegister

Код:
strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
new var[32];
format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
public OnPlayerUpdateSG

Код:
format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
public OnPlayerLogin

Код:
	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(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
		{
			new key[ 256 ] , val[ 256 ];
			new Data[ 256 ];
			while ( fread( UserFile , Data , sizeof( Data ) ) )
			{
				key = ini_GetKey( Data );
Если ввести не верный пароль:

Код:
			fclose(UserFile);
			new logtires = 3 - gPlayerLogTries[playerid];
			new loginmsg[300+1];
			format(loginmsg,256,"{FFA500}Внимание! Вы ввели неверный пароль!\nУ вас осталось (%d) попытки\nПосле вы будете забанены",logtires);
			ShowPlayerDialog(playerid,10008,DIALOG_STYLE_MSGBOX,"Ошибка!",loginmsg,"Повтор","Выйти");
			gPlayerLogTries[playerid] += 1;
			if(gPlayerLogTries[playerid] == 4)
			{
				BanEx(playerid,"Неверный ввод пароля 3 раза!");
			}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу