Установка
Десять минут: две папки, один SQL-файл, восемь предметов.
Перед началом
Заголовок раздела «Перед началом»| Что нужно | Зачем |
|---|---|
| Запущенный ESX, QBCore или QBox | Оплата, предметы и используемые предметы. Определяется автоматически |
| Запущенный oxmysql | Таблицы лидеров |
| ox_target или qb-target (необязательно) | Только если вы хотите взаимодействие через таргет |
1. Разместите обе папки
Заголовок раздела «1. Разместите обе папки»В вашей загрузке два ресурса. Поместите оба в папку ресурсов, например внутрь resources/[mic]/:
| Папка | Что это |
|---|---|
mic_arcade | Скрипт и игры |
mic_arcade_props | Семь моделей автоматов и отрисовщик, который выводит игру на их экраны |
2. Порядок запуска
Заголовок раздела «2. Порядок запуска»В server.cfg, ниже oxmysql и вашего фреймворка, запустите mic_arcade_props, а затем mic_arcade — каждый на отдельной строке ensure.
Всё сработало, если вы зашли на сервер и стационарные автоматы стоят в координатах из config.lua — по умолчанию это ряд из четырёх: Pixel, Race, Tower и Road.
3. База данных
Заголовок раздела «3. База данных»Один раз импортируйте файл install.sql (в корне mic_arcade). Он создаёт одну таблицу, mic_arcade_leaderboard, в которой хранится лучший результат каждого персонажа по каждой игре.
Скрипт сам эту таблицу не создаёт. Без неё игры работают, но результаты не сохраняются, а таблица лидеров остаётся пустой.
Всё сработало, если в вашей базе данных появилась таблица mic_arcade_leaderboard.
4. Добавьте предметы
Заголовок раздела «4. Добавьте предметы»| Предмет | Что он делает |
|---|---|
arcade_coin | Валюта для игры при Config.PaymentType = 'item' (значение по умолчанию) |
arcade_alien | Устанавливает автомат Alien |
arcade_brick | Устанавливает автомат Breakout |
arcade_duofight | Устанавливает автомат DuoFight |
arcade_pixel | Устанавливает автомат Pixel |
arcade_race | Устанавливает автомат Race |
arcade_road | Устанавливает автомат Road |
arcade_tower | Устанавливает автомат Tower |
Скрипт никогда сам не выдаёт жетоны и автоматы. Продавайте их в магазине, выдавайте за работу или через вашу админ-панель.
Готовые определения лежат в mic_arcade/items/, а иконки — в mic_arcade/items/images/:
| Инвентарь | Определения (mic_arcade/items/) | Куда добавить | Иконки |
|---|---|---|---|
| ox_inventory | ox.lua | ox_inventory/data/items.lua | Скопируйте items/images/*.png в ox_inventory/web/images/ |
| QBCore / qb-inventory | qbcore.lua | qb-core/shared/items.lua | Скопируйте их в qb-inventory/html/images/ |
| Стандартный инвентарь ESX | esx_items.sql | Импортируйте один раз в вашу БД | — |
Записи в двух .lua-файлах закомментированы — удалите символы -- в начале строк после вставки.
Всё сработало, если вы выдали себе по одному предмету каждого вида и все восемь отобразились в инвентаре со своими иконками.
5. Фреймворк и взаимодействие
Заголовок раздела «5. Фреймворк и взаимодействие»Фреймворку ничего настраивать не нужно: ESX, QBCore или QBox находится при запуске. QBox определяется через слой совместимости с QBCore (qbx_core предоставляет qb-core), поэтому ничего задавать не требуется.
Способ взаимодействия — это Config.Interaction в config.lua. По умолчанию стоит ox-target — в этом скрипте через дефис. Установите qb-target, если используете его, или drawtext для обычной подсказки Нажмите E.
6. Первая игра
Заголовок раздела «6. Первая игра»- Выдайте себе минимум 100
arcade_coin— каждый автомат, кроме DuoFight, по умолчанию стоит 100. - Подойдите к одному из стационарных автоматов и выберите Play Arcade (или нажмите E при drawtext).
- Запустите игру из меню автомата. Жетоны списываются по
Priceавтомата. - Нажмите ESC, чтобы отойти от автомата.
Всё сработало, если камера приблизилась к экрану, игра запустилась, а количество ваших жетонов уменьшилось на цену.
Затем попробуйте установить автомат: используйте arcade_race, двигайте предпросмотр взглядом, поворачивайте колёсиком мыши и нажмите E (ESC или Backspace отменяет). Посмотрите на него ещё раз — появится пункт Pick Up Arcade, видимый только вам.
Перед открытием сервера
Заголовок раздела «Перед открытием сервера»- Решите, какая будет валюта. По умолчанию
Config.PaymentTypeравенitemсarcade_coin. Если оставите так, убедитесь, что игроки действительно могут где-то получить жетоны. - Задайте цены для каждого автомата в
Config.Arcades. - Разместите стационарные автоматы там, где нужно, либо закомментируйте их и позвольте игрокам устанавливать свои.
- Предупредите игроков, что установленные автоматы временные. Установленный автомат остаётся до перезапуска ресурса или сервера; если поднять его заранее, предмет вернётся. См. Решение проблем.