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

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

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

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

Создания Авторизации и Регистрации в Диалогах

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

Leaders

Изучающий
Пользователь
Регистрация
28 Июл 2011
Сообщения
895
Лучшие ответы
0
Репутация
243
Описание:
Сегодня покажу вам как сделать регистрацию/авторизацию оригинального GodFather'а, в диалоговых окнах

Начнёмс... В OnPlayerConnect ищем:
PHP:
if(fexist(string))
{
    gPlayerAccount[playerid] = 1;
    SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Этот ник уже зарегестрирован!");
    SendClientMessage(playerid, COLOR_WHITE, "HINT: Теперь вы можете ввести /login <password>, чтобы войти.");
    return 1;
}
else
{
    gPlayerAccount[playerid] = 0;
    SendClientMessage(playerid,COLOR_YELLOW,"*Вы не зарегестрированны. Пожалуйста зарегестрируйтесь, введите /register [password]");
    return 1;
}
И заменяем на:

PHP:
new str[128];
if(fexist(string))
{
    gPlayerAccount[playerid] = 1;
    format(str, sizeof(str), "SERVER: Этот ник уже зарегестрирован!");
    SendClientMessage(playerid, COLOR_WHITE, str);
    return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Авторизация GodFather", "Введите пароль:", "ENTER", "CANCEL");
}
else
{
    gPlayerAccount[playerid] = 0;
    format(str, sizeof(str), "*Вы не зарегестрированны. Пожалуйста зарегестрируйтесь.");
    SendClientMessage(playerid, COLOR_WHITE, str);
    return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация GodFather", "Введите пароль:", "REGISTER", "CANCEL");
}
Далее идём в OnDialogResponse (Если нет такого паблика, создаём):

PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
, вставляем туда:

PHP:
    if(dialogid == 0)
    {
        if(response)
        {
        Encrypt(inputtext);
        return OnPlayerLogin(playerid, inputtext);
        }
        else
        {
            SendClientMessage(playerid, COLOR_LIGHTRED, "Для игры на сервере необходимо авторизоваться!");
        return Kick(playerid);
        }
    }
    if(dialogid == 1)
    {
        if(response)
        {
            new sendername[128], string[128];
            GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), "%s.ini", sendername);
        new File: hFile = fopen(string, io_read);
        if (hFile)
        {
        SendClientMessage(playerid, COLOR_YELLOW, "YoYo: Этот ник уже зарегестрирован!");
        return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Авторизация GodFather", "Введите пароль:", "ENTER", "CANCEL");
        return fclose(hFile);
        }
        Encrypt(inputtext);
        return OnPlayerRegister(playerid, inputtext);
    }
    else
    {
        SendClientMessage(playerid, COLOR_LIGHTRED, "Для игры на сервере необходимо авторизоваться!");
        return Kick(playerid);
    }
    }
И на последок, в OnPlayerRegister ищем:

PHP:
SendClientMessage(playerid, COLOR_YELLOW, " Аккаунт зарегестрирован, теперь введите (/login [password]) чтобы войти.");
И заменяем на:

PHP:
new str[128];
format(str, sizeof(str), "Ваш ник успешно зарегестрирован. Пожалуйста авторизуйтесь");
SendClientMessage(playerid, COLOR_YELLOW, str);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Авторизация GodFather", "Введите пароль:", "ENTER", "CANCEL");
public OnPlayerLogin

Это изменеям
PHP:
//SendClientMessage(playerid, COLOR_WHITE, "SERVER: Пороль не совподает с Логином.");
На это

PHP:
return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ GodFazer", "Ведите пороль:", "ENTER", "CANCEL");
Говорю Сразу Всё Норм Работает

Если что пишите раскажу

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