Капча — это автоматически генерируемый тест-проверка, является ли пользователь человеком или компьютером. Представляет собой в подавляющем большинстве случаев искаженную надпись из букв и/или цифр.
Что делает код: данный код добавит на Ваш сервер защиту "Каптчей"
В конец мода пропишите:
stock RandomString() {
new string[8];
format(string, 8, "%c%c%i%c", 65+random(26), 65+random(26), 100+random(899), 65+random(26));
return string;
}
Потом функция для показа каптчи:
stock ShowCaptcha(playerid) {
new string[64];
format(string, 64, "%s", RandomString());
SetPVarString(playerid, "Captcha", string);
format(string, 64, "Введите, пожалуйста, код ниже:\n{FFA000}%s", string);
ShowPlayerDialog(playerid, 777, 1, "\tCaptcha проверка", string, "Ввод", "");
return 1;
}
Ну и саму проверку, идём в OnDialogResponse():
if (dialogid==777) {
new string[32];
if (!response || strlen(inputtext) < 6)
return ShowCaptcha(playerid);
GetPVarString(playerid, "Captcha", string, 32);
if(strcmp(string, inputtext, true) != 0)
return SendClientMessage(playerid, 0xFFFA00FF, "Каптча-код введён неправльно!"), ShowCaptcha(playerid);
}
Использование:
Поставьте функцию:
ShowCaptcha(playerid);
Туда, где нужно сделать проверку.
Автор: =KempeR=
Последнее редактирование модератором: