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

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

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

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

[Мануал] Добавляем Captcha на сервер!

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

Grime228

Умник
Что делает код: данный код добавит на Ваш сервер защиту "Каптчей"

В конец мода пропишите:

PHP:
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;
}
Кстати, эту функцию Вы можете использовать и для номеров на авто!

Потом функция для показа каптчи

PHP:
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():

PHP:
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);
    }
Использование:
Поставьте функцию

PHP:
ShowCaptcha(playerid);

Пример перед логином:

PHP:
ShowCaptcha(playerid); // ставишь перед диалогом авторизации/регистрации
                new loginmsg[642+1];
                new loginname[MAX_PLAYER_NAME];
                GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
                format(loginmsg,500,"Авторизуйтесь, введите пароль. Логин: %s", loginname,loginname);
                ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Авторизация",loginmsg,"Войти");
Туда, где нужно сделать проверку.
На этом всё!
Автор: KempeR
Перевод: Grime228

Скрин:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу