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

Інвентарі

Для Pulse Phone 1.4.28 хв читанняОновлено

4. Предмети та інвентарі

Предмети потрібні лише на серверах із фреймворком. Файли лежать у config/items/, а зображення — у config/items/images/.

Що телефон робить сам. Під час запуску він визначає, які предмети потрібні увімкненим вами функціям (таблиця нижче), а потім:

Ваш інвентар Що відбувається
ESX зі стандартним інвентарем Відсутні предмети додаються в таблицю items ESX. Наявні рядки ніколи не змінюються. Консоль виводить один рядок із переліком доданого. На старішому ESX, який не вміє перезавантажувати предмети, один раз перезапустіть сервер. config/items/esx.sql потрібен лише для ручного додавання.
QBCore з qb-inventory (а також ps-, lj-inventory) Відсутні предмети додаються в shared items QBCore, поки сервер працює. Предмет, який уже є в qb-core, як-от його власний phone, залишається як є. Консоль виводить один рядок із переліком доданого.
ox_inventory (ESX, Qbox, ox_core) ox_inventory читає предмети лише з власного файлу. Перевірка під час запуску перелічує лише відсутні предмети й виводить їхні записи під блоком, готові до вставлення в ox_inventory/data/items.lua.
Будь-який інший інвентар Перевірка під час запуску називає відсутні предмети. Додайте їх так, як цей інвентар додає предмети (таблиця в розділі «Що робити для вашого інвентаря»).

Важливо

Зображення ніколи не копіюються за вас. Перевірка під час запуску називає кожне відсутнє зображення й папку, куди його покласти, наприклад copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

Перевірка під час запуску має один рядок Items: [OK], коли всі предмети на місці, або [FAIL] із назвами відсутніх і рішенням під ним. phone:health виводить його знову після того, як ви щось виправите.

Предмет Потрібен, коли
phone Лише з Config.Item.required = true (гравці мають носити телефон) або з унікальними телефонами.
pulse_phone_box Магазин продає телефони в запечатаній коробці. Увімкнено за замовчуванням (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable Аксесуари для заряджання. Увімкнено за замовчуванням (Config.Charging).
pulse_router Pulse Home Wi-Fi, роутер, який гравці ставлять удома. Увімкнено за замовчуванням (config/apps.lua).
pulse_burner Pulse Burner, передплачений телефон із власним номером. Увімкнено за замовчуванням (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Захист телефона: чохли, водонепроникний футляр і захисне скло. Увімкнено за замовчуванням (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, Pulse Ring Light і Pulse Card Wallet. Увімкнено за замовчуванням (config/apps.lua).
powerbank Необов'язково. Старий предмет павербанка; працює як Reserve.
pulse_phone_box_<finish> Лише з Config.Store.boxPerFinish = true.
radio (або будь-яка назва) Лише коли ви задаєте Config.Radio.item (розділ 5, Radio). ox_inventory і qb-core вже мають предмет radio.

Якщо предмета бракує, телефон усе одно запускається. Магазин вимикає коробки або знімає цей предмет із продажу, а консоль називає предмет, який треба додати.

Reserve складаються в стос. Повні батареї не мають метаданих, тож до 20 займають один слот. Частково використана батарея, яку зняли, стає окремим предметом із зарядом у метаданих (на ox_inventory, qb-inventory і qs-inventory), тож їй потрібен вільний слот. Без метаданих предметів (standalone, стандартний інвентар ESX) відстежується лише батарея, що використовується, — одна на персонажа на кожен розмір.

З Config.Item.required = true (або з унікальними телефонами) сервер перевіряє предмет телефона через ваш інвентар і відхиляє запити телефона від гравця без нього. Втрата предмета завершує дзвінки цього гравця, зокрема екстрені, і закриває телефон.

Передача запечатаної коробки іншому гравцеві. На ox_inventory, qb-inventory і qs-inventory сам предмет коробки містить куплені модель і оздоблення, тож той, хто її відкриє, отримає саме цей телефон. На всіх інших інвентарях коробка — звичайний предмет, а модель і оздоблення зберігаються в записі покупки покупця: подарована коробка відкривається як наступна покупка нового власника або як модель і оздоблення за замовчуванням. З Config.Store.boxPerFinish = true назва предмета коробки зберігає оздоблення, але не модель.

Точний текст для вставлення у ваш інвентар

Вам ніколи не доведеться складати запис предмета самостійно. Коли предмета бракує, перевірка під час запуску виводить точний текст для вашого інвентаря під своїм блоком, а Settings > Server > Health Check показує той самий текст із кнопкою Copy. Вставте його, перезапустіть інвентар і телефон і знову запустіть phone:health.

Ваш інвентар Що виводиться Куди це вставити
ox_inventory (ESX, Qbox, ox_core, ND Core) Записи для ox_inventory ox_inventory/data/items.lua, усередині його таблиці
QBCore (qb-, ps-, lj-inventory) Записи QBCore (лише якщо телефон не зміг додати їх сам) qb-core/shared/items.lua
qs-inventory Записи у форматі QBCore Список предметів qs-inventory
Стандартний інвентар ESX Один рядок SQL (лише якщо телефон не зміг додати їх сам) Ваш інструмент для бази даних, потім перезапуск
TMC Записи TMC для кожного потрібного телефону предмета (у TMC неможливо запитати, які в нього є) Список предметів TMC (файл із sim_card), зі збереженням тих, що у вас уже є
Будь-який інший інвентар Записи у форматі QBCore — формат, який читає більшість інвентарів Список предметів цього інвентаря

Як виглядає кожен варіант на прикладі Reserve:

Lua
-- ox_inventory/data/items.lua
['pulse_magpack'] = { label = "Pulse Reserve", weight = 110, stack = true, close = true, consume = 0, description = "Magnetic battery pack. Fills 70% of a phone.", client = { export = "phone.usePack", image = "pulse_magpack.png" } },

-- qb-core/shared/items.lua, qs-inventory and similar
['pulse_magpack'] = { name = "pulse_magpack", label = "Pulse Reserve", weight = 110, type = 'item', image = "pulse_magpack.png", unique = false, useable = true, shouldClose = true, description = "Magnetic battery pack. Fills 70% of a phone." },

-- TMC
['pulse_magpack'] = { ['label'] = "Pulse Reserve", ['weight'] = 110, ['type'] = 'item', ['image'] = "pulse_magpack.png", ['unique'] = false, ['stackable'] = true, ['useable'] = true, ['shouldClose'] = true, ['description'] = "Magnetic battery pack. Fills 70% of a phone." },
SQL
-- ESX default inventory
INSERT IGNORE INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
  ('pulse_magpack', 'Pulse Reserve', 1, 0, 1);

Власний предмет phone в ox_inventory. ox_inventory постачається із записом phone, створеним для іншого скрипту телефона. Змінювати його не потрібно: його використання відкриває Pulse Phone. Перевірка під час запуску має рядок Phone item, який показує, як підключено ваш запис. Лише коли він називає export іншого скрипту ([WARN] або [FAIL] з обов'язковими чи унікальними телефонами), виводиться запис на заміну. Якщо скрипт телефона, для якого створено цей запис, досі запущений, предмет відкриває його: рядок Phone item називає його; приберіть його з server.cfg.

Що робити для вашого інвентаря

Інвентар Куди йдуть предмети Куди йдуть зображення
ox_inventory (ESX, Qbox, ox_core) Вставте записи, які виводить перевірка під час запуску (або весь ox_inventory.lua), у ox_inventory/data/items.lua, усередину його таблиці. Залиште власний запис ox_inventory ['phone'] (він відкриває Pulse Phone); замінюйте його виведеним лише тоді, коли рядок Phone item каже, що він відкриває інший скрипт ox_inventory/web/images/
qb-inventory Нічого: додаються під час запуску. Щоб натомість додати їх вручну, вставте qb-core.lua у qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Нічого: додаються під час запуску, як і для qb-inventory папка зображень вашого інвентаря
qs-inventory Вставте qb-core.lua у qb-core/shared/items.lua або у власний список предметів qs-inventory папка зображень вашого інвентаря
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Додайте предмети до його списку предметів так само, як будь-який інший предмет, використовуючи назви, підписи й вагу з qb-core.lua (phone, powerbank, pulse_magpack, pulse_magpack_max, pulse_cable, pulse_router, pulse_burner, pulse_buds, pulse_ringlight, pulse_wallet, pulse_phone_box). Використовуйте pulse_magpack.png також для powerbank і pulse_magpack_max папка зображень вашого інвентаря
ak47_inventory Додайте предмети, а також рядки onUse нижче папка зображень вашого інвентаря
Стандартний інвентар ESX Нічого: додаються під час запуску. esx.sql — ручний спосіб не потрібно
vRP 2 Див. розділ vRP вище
Standalone Нічого

Для інших інвентарів у цій таблиці телефон сам робить предмети придатними до використання. ox_inventory використовує рядки client = { export = 'phone....' }, які вже є в його файлі.

ox_inventory: якщо раніше ви використовували інший телефон, також видаліть його хук Item('phone', ...) з ox_inventory/modules/items/client.lua.

ak47_inventory зберігає використання предмета у власному записі кожного предмета. Додайте ці:

Lua
-- powerbank
server = { onUse = function(source) exports.phone:UsePowerbank(source) end },
-- pulse_magpack and pulse_magpack_max
server = { onUse = function(source, item) exports.phone:UseMagPack(source, item and item.slot, item and item.name) end },
-- pulse_cable
server = { onUse = function(source) exports.phone:UseChargingCable(source) end },
-- pulse_phone_box
server = { onUse = function(source, item) exports.phone:UseBox(source, item and item.slot) end },
-- pulse_router
server = { onUse = function(source) exports.phone:UseRouter(source) end },
-- pulse_burner
server = { onUse = function(source, item) exports.phone:UseBurner(source, item and item.slot) end },
-- pulse_case, pulse_case_clear, pulse_pouch, pulse_protector
server = { onUse = function(source, item) exports.phone:FitPhoneProtection(source, item and item.name) end },
-- pulse_buds
server = { onUse = function(source) exports.phone:UseBuds(source) end },
-- pulse_ringlight
server = { onUse = function(source) exports.phone:UseRingLight(source) end },
-- pulse_wallet
server = { onUse = function(source) exports.phone:UseCardWallet(source) end },

Унікальні телефони (Config.Item.unique = true) зберігають номер телефона в предметі, тож передача предмета означає передачу телефона. Для них потрібен ox_inventory, qb-inventory, qs-inventory, core_inventory або codem-inventory.

Перекладено з англійської. Якщо щось тут розходиться з англійською сторінкою, правильною є англійська сторінка. English