Документація Pulse Phone
Фреймворки
3. Покроково для вашого фреймворку
Телефон сам знаходить ваш фреймворк: es_extended, qb-core, qbx_core, ox_core, ND_Core, vrp або core від TMC. Config.Framework у config/config.lua потрібен лише тоді, коли запущено кілька фреймворків, або для власного фреймворку.
Ваш фреймворк коротко
| Фреймворк | Як визначається | Предмети | Банк і готівка | Варто знати |
|---|---|---|---|---|
| ESX Legacy | es_extended |
Pulse сам додає свої предмети в таблицю items ESX (стандартний інвентар). На ox_inventory вставте блок, який виводить перевірка під час запуску |
Рахунки ESX | Рахунки компаній через ваш скрипт організацій |
| QBCore | qb-core |
Pulse сам додає свої предмети в shared items QBCore (qb-, ps-, lj-inventory) | Гроші QBCore | Компанією керують ранги з isboss |
| Qbox | qbx_core (його заглушка qb-core вважається Qbox, а не другим фреймворком) |
Вставте виведений блок для 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, розпізнається за власним core-об'єктом TMC |
Кожен предмет має бути в списку предметів TMC: перевірка під час запуску їх виводить | Гроші TMC | Працює через власний міст, нічого налаштовувати не треба |
| vRP 2 | vrp |
Див. розділ vRP | Гаманець і банк vRP | vRP 1 і форки не підтримуються |
| Standalone | нічого з переліченого вище не запущено | Не потрібні | Власний банк телефона | Для тестових серверів або серверів без фреймворку |
| Власний | Config.Framework = 'custom' |
Через ваш міст | Через ваш міст | Див. «Сторонній або власний фреймворк» |
Примусовий вибір фреймворку
Більшості серверів це ніколи не потрібно. Задавайте фреймворк примусово, коли рядок під час запуску називає не той, або коли встановлено й запущено два ядра фреймворків. Додайте один рядок у server.cfg:
setr phone_framework qb| Значення | Фреймворк |
|---|---|
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 |
Без фреймворку: телефон має власну ідентифікацію та банк |
custom |
Ваш власний міст (див. «Сторонній або власний фреймворк» нижче) |
auto |
Те саме, що й без цього рядка: вирішує Config.Framework |
- Має пріоритет над
Config.Framework. Після зміни перезапустіть телефон. - Назви ресурсів теж працюють:
qbcore,qb-core,qbx_core,es_extended,ox_core. Невідоме слово відхиляється: перевірка під час запуску повідомляє про це, а грошові функції залишаються вимкненими. qbна сервері зqbx_coreвикористовує адаптер Qbox. Qbox також відповідає як QBCore.- Якщо примусово заданий фреймворк не запущено, телефони залишаються на екрані «not ready», доки його не запустять. Телефон ніколи сам не перемикається на інший фреймворк.
Мультиперсонажі працюють на кожному фреймворку. Config.IdentityScope = 'character' (за замовчуванням) дає кожному персонажу власний телефон. 'player' дає один телефон на акаунт. Оберіть один раз: зміна на живому сервері залишить усі наявні телефони позаду.
Керування компанією (зміна, персонал, наймання, рахунок компанії в застосунку Services) використовує компанії з Config.Services у config/apps.lua. Якщо назви ваших робіт відрізняються від стандартних (police, ambulance, mechanic, taxi, fire ...), додайте свої до списку job цієї компанії. Щоб самостійно обрати ранги боса, додайте компанії bossGrade = <n>.
ESX Legacy
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phone- Предмети: зі стандартним інвентарем ESX нічого робити не потрібно. Телефон додає свої предмети в таблицю
itemsESX під час запуску, а консоль повідомляє, які саме додано.config/items/esx.sqlє на випадок, якщо ви хочете додати їх самі. З іншим інвентарем див. розділ 4. - Гроші: банк — це рахунок ESX
bank, готівка — рахунокmoney. - Персонаж: телефон прив'язується до
identifierгравця ESX, тож esx_multicharacter працює. - Бос: компанією керує ранг з назвою
boss, якщо ви не задалиbossGrade. - Рахунки компаній: esx_addonaccount / esx_society або банківський скрипт із розділу 7.
QBCore
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
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. Це нормально: телефон вважає їх одним фреймворком.
ox_core
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
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/. Нічого копіювати не потрібно.
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 — усі працюють).
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. - Гроші: готівка персонажа та його банк: ресурс TMC
banking, якщо він запущений (особистий рахунок персонажа), інакше банківські гроші ядра. Якщо ваші номери рахунків мають інший вигляд, ніжBNK123456, вкажіть поле з номером рахунку вconfig/config.lua:Config.Providers.tmcBankAccount = 'charinfo.account'(використайте своє поле). Коли банк не вдається прочитати, Wallet показує прочерк, а не вигадану суму. - Персонаж: citizen id у TMC.
- Роботи: робота на зміні (або перша), з її рангом і станом зміни.
- Мали тимчасовий конектор
pulse_tmc? Видалітьensure pulse_tmcі цю папку. Консоль нагадуватиме, поки він ще запущений.
Standalone (без фреймворку)
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone- Предмети: не потрібні. Кожен гравець має телефон, Reserve і кабель.
- Гроші: телефон має власний банк. Новий гравець починає з 5000 (
startingBalanceуconfig/apps.lua). - Персонаж: ліцензія Rockstar гравця.
- Роботи, авто й житло: телефон веде власні. Заповніть їх тестовими командами з розділу 9.
Сторонній або власний фреймворк
- Задайте
Config.Framework = 'custom'уconfig/config.lua. - Передайте телефону таблицу мосту за зразком
optional-developer-kit/custom_framework_bridge.lua: або якConfig.Providers.customуconfig/config.lua, або з власного ресурсу черезexports.phone:RegisterFrameworkBridge(MyBridge). - Обов'язкова лише
GetCharacterId. Якщо ви не додасте функцію імені, роботи, ліцензії чи списку транспорту/житла, телефон поводиться так, ніби на вашому сервері таких даних немає. Якщо не додасте функцію грошей чи предметів, цю дію буде відхилено: телефон ніколи не платить із власного банку. Застосунок Bank з'являється, лише коли ваш міст маєGetBankBalance. - Якщо ваше ядро перезапускається, поки телефон працює, викличте
exports.phone:FrameworkRestarted(), щойно ядро буде готове.
bridge/frameworks/custom.lua показує, як телефон використовує вашу таблицю. Щоб підключити інші власні скрипти (банківський чи гаражний), див. optional-developer-kit/custom_provider_template.lua та Exports. Обидва шаблони постачаються в необов'язковому наборі для розробника, zerodevscripts.com/downloads/PulsePhone-developer-kit.zip, а не в папці телефона.