Документация Pulse Phone
Подробности установки
1. Быстрая установка
Прежде чем что-либо копировать
Используйте серверный артефакт, отвечающий требованиям ниже, с включённым OneSync и игровым билдом 2699 или новее. Для обычного ролевого сервера сначала добейтесь работы framework, инвентаря, oxmysql, голосового ресурса и screenshot-basic. Режим standalone работает и без framework; предметы инвентаря там необязательны.
Скачайте ресурс в своём аккаунте Cfx.re после получения покупки. Используйте ключ сервера, принадлежащий аккаунту, которому принадлежит ассет. Если Cfx.re сообщает об ошибке прав (entitlement), исправьте связь аккаунта и ключа; изменение настроек телефона не может выдать эти права.
Шаг 1 — Поместите ресурс на сервер
Распакуйте пакет и скопируйте папку ресурса phone с файлом fxmanifest.lua в каталог resources вашего сервера. Не переименовывайте её и не кладите вместо неё внешнюю папку ZIP/пакета.
На сервере на хостинге загружайте в режиме Binary или загрузите zip и распакуйте его там (почему). В быстром старте (шаг 2) указаны число файлов и размер каждой папки для этого билда, а проверка при запуске называет любой отсутствующий файл или файл неверного размера.
Остановите предыдущий ресурс телефона перед тестированием Pulse, чтобы два телефона не конкурировали за одну клавишу и один предмет. Сделайте резервную копию его данных, если планируете потом их импортировать.
Шаг 2 — Добавьте предметы в инвентарь
Выберите свой текущий инвентарь; заменять его не нужно.
| Ваш инвентарь | Что нужно сделать |
|---|---|
| ox_inventory | Откройте прилагаемый config/items/ox_inventory.lua. Добавьте его записи в ox_inventory/data/items.lua, внутрь существующей таблицы. Не заменяйте весь файл инвентаря. Оставьте собственную запись phone в ox_inventory: при использовании она открывает Pulse Phone, и строка Phone item в проверке при запуске это подтверждает. Заменяйте её выведенной записью, только если эта строка сообщает, что она открывает другой скрипт. Скопируйте картинки из config/items/images/ в ox_inventory/web/images/. После правок перезапустите сервер. |
| qb-inventory с QBCore | Недостающие определения предметов регистрируются автоматически при запуске. Скопируйте config/items/images/ в qb-inventory/html/images/. Если вашему инвентарю нужны постоянные shared-записи, прилагаемый config/items/qb-core.lua готов к добавлению в qb-core/shared/items.lua. |
| Стандартный инвентарь ESX | Недостающие предметы добавляются автоматически. Если консоль просит рестарт, перезапустите один раз, чтобы ESX их прочитал. Если аккаунт вашей базы данных не может их добавить, используйте config/items/esx.sql. |
| qs-inventory или другой поддерживаемый инвентарь | Следуйте короткой строке для вашего инвентаря в разделе Предметы и инвентари. Используйте его собственный список предметов и папку картинок. |
| Standalone без инвентаря | Записи инвентаря не нужны. Оставьте требование предметов выключенным. |
Проверка при запуске находит недостающие записи и выводит только те определения, которые вам ещё нужны. Инвентарю, который загружает определения предметов при запуске, например ox_inventory, нужны записи выше; Pulse не перезаписывает файлы другого ресурса.
Шаг 3 — Проверьте основную конфигурацию
Откройте config/config.lua. Значения по умолчанию определяют вашу текущую конфигурацию:
Config.Framework = 'auto'Оставьте inventory = 'auto' в существующей таблице Config.Providers. Если у вас запущено несколько ресурсов инвентаря, задайте в этом значении нужный, например 'ox_inventory'. Не добавляйте вторую таблицу Config.Providers или Config.Item в конец файла.
В существующей таблице Config.Item выберите, как работают телефоны:
| Настройка | Что она делает |
|---|---|
required = false, unique = false |
У каждого персонажа есть телефон без ношения предмета. Удобно для первого теста. |
required = true, unique = false |
Персонажу нужен предмет phone, чтобы открыть свой телефон. Передача этого предмета не передаёт его данные. |
unique = true |
У каждого предмета телефона свой номер и свои данные. Передача предмета передаёт этот телефон. Нужен ox_inventory, qb-inventory, qs-inventory, core_inventory или codem-inventory. |
name = 'phone' |
Имя предмета в инвентаре. Не меняйте его, если не меняете также прилагаемое определение предмета. |
Уникальные телефоны следуют выбранному мосту инвентаря. Оставьте Config.Item.inventory = 'auto'; это старое переопределение нужно только для существующих продвинутых установок. Config.Providers.inventory имеет приоритет, если задан явно.
Не меняйте Config.IdentityScope на существующем сервере. Значение по умолчанию, 'character', разделяет телефоны разных персонажей.
По желанию: телефоны-предметы и платная связь
Чтобы для каждого телефона требовался отдельный предмет, задайте required = true и unique = true внутри существующей таблицы Config.Item в config/config.lua после добавления записей инвентаря. Используйте один из инвентарей для уникальных телефонов, перечисленных выше.
Чтобы продавать услуги связи, задайте Config.Carrier.enabled = true в том же файле. Это включает приложение Carrier, где игроки покупают тариф. Новым телефонам нужен тариф, прежде чем станут доступны обычные звонки, сообщения и приложения с мобильными данными. App Hub — это место, где игроки устанавливают приложения, а не магазин услуг связи. Задайте Config.Coverage.enabled = true, если вам также нужны зоны покрытия. Покрытие и платные тарифы — отдельные опции; оставьте любую выключенной, если эта функция вам не нужна.
Редактируйте существующие настройки, а не добавляйте дублирующие таблицы. После сохранения перезапустите сервер. Если настройка ранее была сохранена в игре, сбросьте её в Settings → Server, чтобы применилось значение из вашего файла.
Шаг 4 — Запускайте зависимости раньше Pulse
Оставьте существующие настройки подключения к базе данных и framework. Добавляйте только недостающие строки; не запускайте вторую копию какой-либо зависимости.
Используйте этот порядок с ресурсами, которые уже установлены на вашем сервере:
- Ресурс базы данных и его существующие настройки подключения.
- Framework и его обязательные библиотеки, ресурсы идентификации и персонажей.
- Инвентарь с конфигурацией этого инвентаря для вашего framework.
- Один поддерживаемый голосовой ресурс и
screenshot-basic. ensure phone.
Не устанавливайте ESX, QBCore или другой инвентарь только ради Pulse. Выберите свою текущую конфигурацию в разделе Ваш framework, чтобы увидеть пример порядка запуска именно для неё. Qbox определяется как Qbox, даже если другой ресурс использует его QBCore-совместимые экспорты.
Для доступа администратора Pulse добавьте add_ace group.admin phone.admin allow. Чтобы это право применилось, ваш аккаунт администратора уже должен входить в group.admin.
Шаг 5 — Прочитайте проверку первого запуска
Перезапустите сервер. Pulse выводит отчёт о запуске и автоматически создаёт таблицы базы данных, когда доступно SQL-соединение.
- FIX / FAIL: обязательная часть не может работать. Выполните указанное исправление, прежде чем пускать игроков.
- NOTE / WARN: посмотрите, какая функция затронута; некоторые предупреждения касаются необязательных функций, которые вы не настраивали.
- Выполните
phone:healthв консоли сервера, чтобы повторить проверку. - Выполните
phone:diag, чтобы увидеть выбранные framework/инвентарь/провайдеры. - Как администратор зайдите на сервер, откройте F8 и выполните
phone:setupдля пошаговой настройки.
Настройки, сохранённые во внутриигровой настройке администратора, переопределяют соответствующие настройки из файлов. Если изменение в файле будто игнорируется, проверьте Settings → Server и сбросьте сохранённое переопределение, прежде чем менять другие файлы.
Шаг 6 — Проверьте как игрок
- Загрузите персонажа, нажмите F1 и пройдите настройку телефона. Если включено требование предметов, сначала купите телефон в магазине или выдайте персонажу настроенный предмет телефона.
- Если вы купили запечатанную коробку, используйте коробку из инвентаря, чтобы распаковать её, затем завершите настройку. Телефон приходит включённым; при
Config.Device.arrivesOn = falseсначала удерживайте End или O. - Откройте Messages, Contacts и Phone. Вернитесь на Home, откройте переключатель приложений и закройте каждое приложение по очереди.
- Сделайте фото и короткое видео. Откройте оба в Photos, закройте и снова откройте телефон и убедитесь, что они на месте.
- Переподключитесь и проверьте, что у того же персонажа тот же телефон. Проверьте звонки со вторым игроком через установленный голосовой ресурс.
Где что менять
| Что вы хотите изменить | Файл или место |
|---|---|
| Framework, провайдер инвентаря, предмет телефона, магазин, модели, назначение клавиш | config/config.lua |
| Голосовой провайдер | config/config.lua |
| Настройки приложений и служб/работ | config/apps.lua |
| Записи инвентаря и картинки | config/items/ |
| Подключение к базе данных, порядок запуска ресурсов, учётные данные медиахостинга | server.cfg (храните приватные учётные данные на стороне сервера) |
| Интеграции для разработчиков | Продвинутые интеграции, необязательный Developer Kit (zerodevscripts.com/downloads/PulsePhone-developer-kit.zip) и существующие файлы bridge/; для обычной установки их редактировать не нужно |
| Фото/видео игроков во встроенном хранилище | media/; сохраняйте эту папку при обновлении |
В разделах ниже — подробный справочник. Чтобы завершить первую установку, не нужно читать каждую настройку функций.