Как зарегистрироваться в GTA V

Epic games

Зайдите по данной ссылке и нажмите на кнопку “купить” (Данный способ имеет самую выгодную цену)
Используйте один из удобных Вам способов авторизации.
После приобретения установите Epic Games Launcher.

Js – регистрация и авторизация на cef mysql

Сегодня мы с Вами напишем с нуля полноценный скрипт регистрации и авторизации для сервера rage mp. В качестве интерфейса мы не будем использовать команды, а сразу сделаем “красиво” на

CEF

. В качестве базы данных будем использовать MySQL.

Видео версия как обычно на youtube канале:

Для начала я нашел в Интернете простенький HTML шаблон страницы авторизации:

https://codepen.io/colorlib/pen/rxddKy

Помещаем его в папку cef нашего клиентского скрипта accounts. Туда же ложим стили (style.css) и браузерные скрипты (script.js), которые мы напишем дальше.

Я немного модифицировал шаблон:

1. Добавил фоновую картинку

2. Расставил id для полей ввода, чтобы было удобнее работать с ними.

3. Убрал неиспользуемые стили

4. Добавил блок для вывода ошибок

5. Перевел на русский язык.

В итоге html файл выглядит так:

Чтобы показать этот интерфейс игроку при входе на сервер, будем дергать с сервера на клиент событие showLoginDialog.

На клиентской стороне добавим обработчик этого события

Теперь при входе игрока на сервер ему будет показываться на форма входа.

form.jpg

Вернемся теперь к index.html и браузерной части. У нас есть две формы (register и login). Форма login отображается по-умолчанию, а register скрыта в стилях. Внизу каждой формы есть ссылка на другую и при помощи функций showLogin() и showRegister() мы будем переключаться между ними. Также для кнопок входа и регистрации добавлен вызов функций registerAttempt() и loginAttempt(), которые будут вызываться по событию onclick

В script.js добавим реализацию этих функций. С переключением между формами все просто:

При отправке запроса на вход или регистрацию нам нужно считать содержимое полей формы, выполнить их базовые проверки и передать в клиент rage mp

mp.trigger позволяем нам отправить из браузера на клиент только один дополнительный параметр. И это может быть только строка или число. Нам же нужно отправить два значения. Мы не можем отправить напрямую массив или объект, но мы можем преобразовать наш объект с логином и паролем в json строку

JSON.stringify({ login, password })

. И теперь эту строку мы легко передаем в одном аргументе.

Также в коде Вы наверное заметили функции связанные с выводом ошибок в форму на нашей страничке. Здесь все просто. У нас есть div блок с id error. Он находится выше наших форм и поэтому может показываться независимо от того на какой форме сейчас пользователь.

В клиентской части добавим обработчики событий loginAttempt и registerAttempt, которые будут вызываться из браузерного скрипта.

Они максимально простые и просто передают данные с браузера дальше на сервер при помощи callRemote. Напоминаю что в качестве data у нас JSON строка с логином и паролем. В таком виде мы передаем ее дальше, поскольку callRemote также позволяет нам передавать только простые строки и числа.

На серверной стороне прежде чем обработать события onLoginAttempt и onRegisterAttempt нужно кое-что подготовить:

  1. Добавить пакет mysql и настроить подключение к серверу MySQL. Структура базы данных и само подключение будет таким же, как и в уроке по подключению MySQL. У нас будет 1 таблица accounts с тремя столбцами: id, login и password
  2. Добавить пакет bcrypt для генерации хэша паролей и его проверки.

JavaScript:

mp.events.add('onLoginAttempt', (player, data) => {
    data = JSON.parse(data); // преобразовуем данные из json в объект
    DB.query('SELECT * FROM accounts WHERE login = ? LIMIT 1', [data.login], function (error, results) { // ищем аккаунт по логину
        if(results.length == 0) return player.call('showAuthError', ['Неверный Логин и/или Пароль']); // если аккаунт с таким логином не найден, то возвращаем на клиент текст ошибки

        const passwordHash = results[0].password; // если же аккаунт есть, то берем его хеш пароля
        bcrypt.compare(data.password, passwordHash, function(err, isMatched) { // сравниваем хэши паролей из базы данных и того что указал пользователь
            if( isMatched ) return player.call('hideLoginDialog');  // если пароли не совпадают, значит пользователь авторизовался успешно
            player.call('showAuthError', ['Неверный Логин и/или Пароль']); // если же пароли не совпали, то опять таки возвращаем на клиент текст ошибки при помощи события showAuthError
        });
    });
});

На клиенте событие showAuthError просто показывает текст ошибки в форме.

А при успешном входе мы скрываем окно авторизации и считаем что игрок авторизовался

Для регистрации на серверной стороне обработчик onRegisterAttempt будет немного сложнее. Прежде чем добавить аккаунт нам нужно проверить его на уникальность и его такой логин уже есть в базе данных, то выдавать ошибку.

JavaScript:

mp.events.add('onRegisterAttempt', (player, data) => {
    data = JSON.parse(data);

    DB.query('SELECT id FROM accounts WHERE login = ?', [data.login], function (error, results) {  // Проверяем уникальность логина
        if(results.length > 0) return player.call('showAuthError', ['Аккаунт с таким Логином уже существует']); // Если такой логин уже есть, то возвращаем ошибку

        bcrypt.hash(data.password, saltRounds, function(err, passwordHash) { // Создаем хэш пароля
            DB.query('INSERT INTO accounts SET login = ?, password = ?', [data.login, passwordHash], function (error, results) { // Добавляем аккаунт в базу данных
                player.call('hideLoginDialog'); // Скрываем окно авторизации
            });
        });
    });

});

Для тех кто захочет дальше ковырять эту форму, напишу парочку идей того, что можно улучшить и доработать:
1. Добавить защиту от перебора паролей. Кикать после 3 неправильных вводов.
2. Написать функцию isPlayerLoggedIn() которая будет возвращать true если игрок авторизовался и false если еще нет.
3. Добавить столбец position в таблицу accounts. Записывать туда позицию игрока при выходе с сервера.
4. Добавить возможность восстановить пароль. Для этого понадобиться добавить поле для email аккаунта и какой-то способ чтобы отправлять электронные письма с сервера.

Решение задач от пользователя @geneff
Задачи 1-3
Задача 4 (восстановление пароля)

Если при установке библиотеки bcrypt появляется ошибка ‘undefined symbol: napi_module_register’, то попробуйте это решение.

Rockstar games launcher

После установки игры запустите ее, Вы увидите перед собой Rockstar Games Launcher, Вам необходимо:
Выбрать язык и нажать на “Продолжить” несколько раз
Выбрать путь установки Rockstar Games Launcher.
Дождаться окончания установки.

Создать аккаунт/авторизоваться под свой аккаунт Rockstar Social Club

Steam

Приобрести игру по данной ссылке.
Перейти в Вашу библиотеку, выбрать Grand Theft Auto 5 и нажать на кнопку “установить”.

Второе задание

  • После разговора с Майклом он отправит Вам координаты следующего квестового NPC – Джорджа, отправляемся к нему.
  • В ходе разговра он попросит Вас купить в магазине сигареты и колу. Как добраться до ближайшего 24/7 будет описано в всплывающем окне (Телефон -> GPS -> Магазины -> Ближайший).
  • Отправляемся в магазин и покупаем колу и сигареты, после покупки возвращаемся к NPC Джорджу.
  • Поговорив с NPC выбираем одежду и получаем третье задание.

Дальнейшая жизнь

Мы рекомендуем подзаработать немного денег на любой из имеющихся работ, а после окунуться в мир RolePlay вступив в одну из существующих фракций.

Ваш дальнейший путь будет зависеть исключительно от Ваших действий. Вы можете стать бандитом, блюстителем закона или вовсе стать бизнесменом и купить свой собственный бизнес. Все зависит лишь от Ваших целей и мотивации.

Первое задание

  • После первого входа на сервер Вы появитесь в стартовой зоне.
  • Далее Вам необходимо подойти к NPC, который находится около Вас и нажать на “E”. В ходе диалога положительно ответить на вопрос NPC.
  • NPC выдаст Вам задание на одной из начальных работ.
  • Возьмите скутер в аренду у NPC “Местный арендодатель”, который стоит чуть правее, либо же вызовите такси. Как добраться до той или иной работы будет описано в ходе квеста, либо же используйте руководство по работам.
  • Прибыв на место поговорите с NPC “Прораб” и начните работу. Всего необходимо совершить 50 действий, за прогрессом Вы можете наблюдать в правой верхней части экрана.
  • По завершению 50 действий Вам будет показано соответствующее уведомление, увидев которое Вы можете сдать работу NPC “Прорабу” и отправиться обратно к Майклу. Продолжить Вы можете нажав “ESC”, открыв карту и нажав левой кнопкой мыши по значку зеленого человечка на карте.

Первый вход на сервер

После окончания загрузки и подключения к серверу Вас попросят авторизоваться под уже имеющимся аккаунтом, либо же создать новый

Подключение к серверу

После того, как Вы авторизовались под своим аккаунтом, Вам необходимо:

Стандартная регистрация

Подобный процесс строится на обыденных манипуляциях. Нам потребуется зайти на официальный сайт Рокстар Геймс и выбрать раздел “Вступить в Social Club”. Откроется дополнительное окно, где нужно будет заполнить соответствующие поля. В данном случае это:

  • Имя пользователя.
  • Электронная почта.
  • Пароль.
  • Дата рождения.
  • Страна проживания.

В случае с первыми тремя параметрами все понятно: подбираем крутой игровой никнейм, вписываем действующую почту и ставим надежный пароль. Если затрудняетесь в выборе никнейма, то воспользуйтесь соответствующими интернет-сервисами по бесплатному подбору этого параметра.

Далее дело остается за малым. Юзеру предлагают подписаться на рассылку уведомлений об анонсах, релизах, турнирах. Здесь выбор делаете исключительно из своих предпочтений, но предупреждаем, что доставать будут часто. Также потребуется ввести капчу для проверки на робота.

Итак, дальше необходимо будет подтвердить регистрацию через лаунчер. Отыскиваем в нем игру, устанавливаем желаемый пользовательский аватар и заходим в общие настройки. Здесь требуется нажать кнопку “Подтвердить адрес электронной почты”. Нужно просто перейти по соответствующей ссылки в электронном письме. После этого откроются настройки профиля, где требуется нажать “Сохранить изменения”.

Третье задание

  • По прибытию в автошколу необходимо подойти к доске с надписью “Теория”, нажать на “E” и подробно изучить теоретическую часть теста.
  • После изучения теории подходим к столу с надписью “Сдать тест” и применяя практические знания сдаем тест. Обратите внимание: Повторная сдача теста будет стоить 100$.
  • Сдав тест садимся в любой свободный синий автомобиль и начинаем практическую часть экзамена. Вам необходимо проехать все красные точки за 4.5 минуты.
  • После сдачи практической части Вам будут выданы права легковой категории возвращаемся к NPC Майклу и завершаем квестовую линию.

Установка gta 5

Если у Вас уже установлена лицензионная GTA5 – пропустите этот шаг

Похожее:  Разблокировать вход в личный кабинет Цианс | Получите эксклюзивный доступ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *