Документация Pulse Phone

Framework

Для Pulse Phone 1.4.28 мин чтенияОбновлено

3. Пошагово для вашего framework

Телефон сам находит ваш framework: es_extended, qb-core, qbx_core, ox_core, ND_Core, vrp или core от TMC. Config.Framework в config/config.lua нужен, только если запущено больше одного или для кастомного framework.

Ваш framework вкратце

Framework Определяется по Предметы Банк и наличные Полезно знать
ESX Legacy es_extended Pulse сам добавляет свои предметы в таблицу items ESX (стандартный инвентарь). На ox_inventory вставьте блок, который выводит проверка при запуске Счета ESX Счета компаний через ваш скрипт society
QBCore qb-core Pulse сам добавляет свои предметы в shared items QBCore (qb-, ps-, lj-inventory) Деньги QBCore Ранги с isboss управляют компанией
Qbox qbx_core (его заглушка qb-core считается Qbox, а не вторым framework) Вставьте выведенный блок для ox_inventory Деньги Qbox Использует адаптер Qbox, никогда адаптер QBCore
ox_core ox_core Вставьте выведенный блок для ox_inventory Счёт персонажа в ox_core; наличные — money из ox_inventory Нет флага смены: все считаются на смене
ND Core ND_Core Вставьте выведенный блок для ox_inventory bank и cash из ND Нет флага смены; нет счетов компаний
TMC его ресурс core, распознаётся по собственному объекту ядра TMC Каждый предмет должен быть в списке предметов TMC: проверка при запуске выводит их Деньги TMC Работает через кастомный мост, настраивать ничего не нужно
vRP 2 vrp См. раздел vRP Кошелёк и банк vRP vRP 1 и форки не поддерживаются
Standalone ничего из перечисленного не запущено Не нужны Собственный банк телефона Для тестовых серверов или серверов без framework
Кастомный Config.Framework = 'custom' Через ваш мост Через ваш мост См. «Кастомный или собственный framework»

Принудительный выбор framework

Большинству серверов это никогда не понадобится. Задавайте framework принудительно, если строка при запуске называет не тот, или если установлены и запущены два ядра framework. Добавьте одну строку в server.cfg:

server.cfg
setr phone_framework qb
Значение Framework
esx ESX Legacy (es_extended)
qb QBCore (qb-core)
qbox Qbox (qbx_core)
ox ox_core
nd ND Core (ND_Core)
vrp vRP 2 (vrp)
tmc TMC (core)
standalone Без framework: телефон использует собственную идентификацию и банк
custom Ваш собственный мост (см. «Кастомный или собственный framework» ниже)
auto То же, что и без этой строки: решает Config.Framework
  • Имеет приоритет над Config.Framework. После изменения перезапустите телефон.
  • Имена ресурсов тоже работают: qbcore, qb-core, qbx_core, es_extended, ox_core. Незнакомое слово отклоняется: проверка при запуске сообщает об этом, а денежные функции остаются выключенными.
  • qb на сервере с qbx_core использует адаптер Qbox. Qbox также отвечает как QBCore.
  • Если принудительно заданный framework не запущен, телефоны остаются на экране «not ready», пока он не запустится. Телефон никогда сам не переключается на другой framework.

Мультиперсонаж работает на любом framework. Config.IdentityScope = 'character' (по умолчанию) даёт каждому персонажу свой телефон. 'player' даёт один телефон на аккаунт. Выберите один раз: изменение на живом сервере оставит все существующие телефоны позади.

Управление компанией (смены, персонал, найм, счёт компании в приложении Services) использует компании из Config.Services в config/apps.lua. Если названия ваших работ отличаются от стандартных (police, ambulance, mechanic, taxi, fire ...), добавьте свои в список job этой компании. Чтобы самим выбрать ранги начальника, добавьте компании bossGrade = <n>.

ESX Legacy

server.cfg
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Предметы: со стандартным инвентарём ESX делать ничего не нужно. Телефон добавляет свои предметы в таблицу items ESX при запуске, и консоль сообщает, какие добавлены. config/items/esx.sql есть на случай, если вы хотите добавить их сами. С другим инвентарём см. раздел 4.
  • Деньги: банк — это счёт ESX bank, наличные — счёт money.
  • Персонаж: телефон следует за identifier игрока ESX, поэтому esx_multicharacter работает.
  • Начальник: компанией управляет ранг с именем boss, если вы не задали bossGrade.
  • Счета компаний: esx_addonaccount / esx_society или скрипт банкинга из раздела 7.

QBCore

server.cfg
ensure oxmysql
ensure qb-core
# ... qb-inventory and your other qb scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Предметы: вставлять ничего не нужно. Телефон добавляет нужные предметы в shared items QBCore при запуске, и консоль сообщает, какие добавлены. Скопируйте картинки из config/items/images/ в qb-inventory/html/images/; проверка при запуске назовёт недостающие.
  • Деньги: bank и cash.
  • Персонаж: citizenid, поэтому qb-multicharacter работает.
  • Начальник: ранги с isboss = true в ваших работах, если вы не задали bossGrade.
  • Счета компаний: Renewed-Banking, qb-banking или старый qb-management.
  • Мультиработа: если запущен ps-multijob, другие работы игрока видны в Services, и одно касание делает работу активной.

Qbox

server.cfg
ensure oxmysql
ensure qbx_core
ensure ox_inventory
# ... your other Qbox scripts, in Qbox's own order ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Предметы: Qbox использует ox_inventory, который не может принимать предметы от другого скрипта. Запустите сервер один раз: проверка при запуске выведет недостающие записи, готовые к вставке в ox_inventory/data/items.lua (раздел 4). Картинки кладите в ox_inventory/web/images/.
  • Деньги: bank и cash через qbx_core.
  • Персонаж: citizenid.
  • Начальник: ранги с isboss = true, если вы не задали bossGrade.
  • Мультиработа: встроена. Другие работы игрока видны в Services.
  • qbx_core также отвечает как qb-core. Это нормально: телефон считает их одним framework.

ox_core

server.cfg
ensure oxmysql
ensure ox_core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Предметы: запустите сервер один раз: проверка при запуске выведет недостающие записи, готовые к вставке в ox_inventory/data/items.lua (раздел 4). Картинки кладите в ox_inventory/web/images/.
  • Деньги: банк — это счёт персонажа в ox_core. Наличные — предмет money в ox_inventory.
  • Персонаж: charId.
  • Работы: у групп ox_core нет флага смены, поэтому телефон ведёт смены сам. Управление компанией (персонал, найм, ранги) и valet на ox_core недоступны.

ND Core

server.cfg
ensure oxmysql
ensure ox_lib
ensure ND_Core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Определяется сам, когда запущен ND_Core. Чтобы задать принудительно: setr phone_framework nd.
  • Предметы: ND использует ox_inventory. Запустите сервер один раз: проверка при запуске выведет недостающие записи, готовые к вставке в ox_inventory/data/items.lua (раздел 4).
  • Деньги: bank персонажа в ND и cash в ND (ox_inventory синхронизирует с ним предмет money).
  • Персонаж: id персонажа ND. Показывается собственный номер телефона ND, если он есть у персонажа.
  • Работы: работа и ранг персонажа в ND. У ND нет флага смены, поэтому все считаются на смене. Управление компанией, счета компаний и valet на ND Core недоступны.
  • Гараж: личные машины берутся из таблицы ND nd_vehicles.

vRP

Поддерживается только vRP 2 (не vRP 1 и не форки сообщества). Телефон загружает в vRP небольшое расширение из bridge/frameworks/vrp/. Копировать ничего не нужно.

server.cfg
ensure oxmysql
ensure vrp
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Предметы: файла предметов для vRP нет, и vRP 2 не может сделать предметы используемыми для телефона. Оставьте Config.Item.required = false (по умолчанию) и задайте Config.Store.box = false, чтобы магазин выдавал телефоны напрямую. Игроки используют предметы для зарядки командами /phonepack и /phonecable; с инвентарём vRP для них игрок должен иметь при себе pulse_magpack и pulse_cable, поэтому добавьте оба предмета в свой список предметов vRP или задайте Config.Charging.enabled = false.
  • Деньги: банк и кошелёк vRP.
  • Персонаж: id персонажа vRP.
  • Работы: управление компанией и valet на vRP недоступны. Приложение Garage остаётся пустым, если вы не подключите скрипт гаража.

TMC

TMC встроен. Телефон сам распознаёт core от TMC: никакого дополнительного ресурса и никаких изменений в config/config.lua (работают auto, tmc и custom).

server.cfg
ensure oxmysql
ensure core
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone

Проверка при запуске показывает Framework: TMC.

  • Предметы: добавьте предметы Pulse в список предметов TMC так же, как добавляете любой предмет. Имена: phone, pulse_magpack, pulse_magpack_max, pulse_cable, pulse_router, pulse_burner, pulse_buds, pulse_ringlight, pulse_wallet (записи есть в config/items/tmc.lua), а для коробок магазина — pulse_phone_box и по одной на каждую расцветку (pulse_phone_box_black ...). Названия, вес и описания есть в config/items/qb-core.lua, а картинки — в config/items/images/. Предмет, которого нет в списке, отклоняется, и игрок видит «inventory full»: тогда консоль называет этот предмет. Отсутствие в списке предмета коробки не останавливает продажу: магазин выдаёт телефон без коробки и сообщает об этом в консоли. Если коробки вам вообще не нужны, задайте Config.Store.box = false.
  • Деньги: наличные персонажа и его банк: ресурс banking от TMC, если он запущен (личный счёт персонажа), иначе банковские деньги ядра. Если номера ваших счетов не имеют вид BNK123456, укажите поле с номером счёта в config/config.lua: Config.Providers.tmcBankAccount = 'charinfo.account' (используйте своё поле). Если банк не удаётся прочитать, Wallet показывает прочерк, а не выдуманную сумму.
  • Персонаж: citizen id TMC.
  • Работы: работа на смене (или первая), с рангом и состоянием смены.
  • Был установлен временный коннектор pulse_tmc? Уберите ensure pulse_tmc и удалите эту папку. Пока он запущен, консоль будет об этом напоминать.

Standalone (без framework)

server.cfg
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Предметы: не нужны. У каждого игрока есть телефон, Reserve и кабель.
  • Деньги: у телефона собственный банк. Новый игрок начинает с 5000 (startingBalance в config/apps.lua).
  • Персонаж: лицензия Rockstar игрока.
  • Работы, машины и дома: телефон ведёт их сам. Заполните их тестовыми командами из раздела 9.

Кастомный или собственный framework

  1. Задайте Config.Framework = 'custom' в config/config.lua.
  2. Передайте телефону таблицу моста по образцу optional-developer-kit/custom_framework_bridge.lua: либо как Config.Providers.custom в config/config.lua, либо из своего ресурса через exports.phone:RegisterFrameworkBridge(MyBridge).
  3. Обязателен только GetCharacterId. Если вы опустите функцию имени, работы, лицензии или списка машин/домов, телефон ведёт себя так, будто на вашем сервере таких данных нет. Если вы опустите функцию денег или предметов, это действие отклоняется: телефон никогда не платит из собственного банка. Приложение Bank появляется, только если в вашем мосте есть GetBankBalance.
  4. Если ваше ядро перезапускается, пока телефон продолжает работать, вызовите exports.phone:FrameworkRestarted(), как только ядро будет готово.

bridge/frameworks/custom.lua показывает, как телефон использует вашу таблицу. Чтобы подключить другие собственные скрипты (банкинга или гаража), см. optional-developer-kit/custom_provider_template.lua и Экспорты. Оба шаблона поставляются в необязательном наборе разработчика, zerodevscripts.com/downloads/PulsePhone-developer-kit.zip, а не в папке телефона.

Переведено с английского. Если что-то здесь расходится с английской страницей, верна английская страница. English