Zeka_Peka228
Умник
Снова аунтификатор, но теперь проблема в том, что он не генерирует код 6-и значный.
pInfo[playerid][google_code] Он равен id, который генерируется рандомно из 16 цифр. Все нормально там, а вот почему-то не хочет преобразовываться в 6 цифр, которые выдает самартфон.
Вот здесь работает:
PHP:
case 4442:
{
if(!response) return Kick(playerid);
new code = GoogleAuthenticatorCode(pInfo[playerid][google_code], gettime());
new string[19];
format(string,sizeof(string),"%s",pInfo[playerid][google_code]);
SendClientMessage(playerid, -1, string);
if(strval(inputtext) != code) return ShowPlayerDialog(playerid, 4441, DIALOG_STYLE_MSGBOX, !"{6495ED}Подтверждение привязки", !"{ffffff}Теперь введите 6-значный код (без пробела) из приложения в окно ввода\n{ffffff}Код меняется каждые 30 секунд.", "Готово", "Отмена");
if(pInfo[playerid][google_auth][0] == 1) SendClientMessage(playerid, -1, !"{ffffff}Вы успешно выключили Google Authenticator!"), pInfo[playerid][google_auth][0] = 0;
else if(pInfo[playerid][google_auth][0] == 0) SendClientMessage(playerid, -1, !"{ffffff}Вы успешно активировали Google Authenticator!"), pInfo[playerid][google_auth][0] = 1;
pInfo[playerid][google_auth][1] = 1;
pInfo[playerid][google_auth][0] = pInfo[playerid][google_auth][0];
new setskingogog[500];
format(setskingogog, sizeof(setskingogog), "update accounts set google_auth = '%i',google_auth_create = '%i',google_auth_id = '%s' where Name = '%s'",pInfo[playerid][google_auth][0], pInfo[playerid][google_auth][1], pInfo[playerid][google_code], pInfo[playerid][aName]);
mysql_query(mysql_connect_ID,setskingogog,false);
return true;
}
Вот здесь работает:
PHP:
CMD:code2(playerid, params[])
{
if(PlayerLogged[playerid] == false) return 1;
if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, CGREY, "Используйте: /code2 [код]");
new heh = GoogleAuthenticatorCode(passwo11rd, gettime());
if(params[0] != heh) SendClientMessage(playerid,-1,"Не совпадает");
else SendClientMessage(playerid,-1,"Совпадает");
return true;
}
