Dokumentacja Pulse Phone

Ekwipunki

Dla Pulse Phone 1.4.28 min czytaniaAktualizacja

4. Przedmioty i ekwipunki

Przedmioty są potrzebne tylko na serwerach z frameworkiem. Pliki są w config/items/, a obrazki w config/items/images/.

Co telefon robi sam. Przy starcie ustala, których przedmiotów potrzebują włączone funkcje (tabela poniżej), a potem:

Twój ekwipunek Co się dzieje
ESX z domyślnym ekwipunkiem Brakujące przedmioty są dodawane do tabeli items w ESX. Istniejące wiersze nigdy nie są zmieniane. Konsola wypisuje jedną linię z tym, co dodano. Na starszym ESX, który nie potrafi przeładować przedmiotów, zrestartuj serwer raz. config/items/esx.sql służy tylko do ręcznego dodania.
QBCore z qb-inventory (także ps-, lj-inventory) Brakujące przedmioty są dodawane do shared items QBCore w trakcie działania serwera. Przedmiot, który qb-core już ma, na przykład własny phone, zostaje bez zmian. Konsola wypisuje jedną linię z tym, co dodano.
ox_inventory (ESX, Qbox, ox_core) ox_inventory czyta przedmioty tylko z własnego pliku. Sprawdzenie startowe wymienia tylko brakujące przedmioty i wypisuje ich wpisy pod ramką, gotowe do wklejenia do ox_inventory/data/items.lua.
Każdy inny ekwipunek Sprawdzenie startowe wymienia brakujące przedmioty. Dodaj je tak, jak dany ekwipunek dodaje przedmioty (tabela pod "Co zrobić dla twojego ekwipunku").

Ważne

Obrazki nigdy nie są kopiowane za ciebie. Sprawdzenie startowe wymienia każdy brakujący obrazek i folder, do którego trafia, na przykład copy pulse_magpack.png, pulse_router.png from config/items/images/ into qb-inventory/html/images.

Sprawdzenie startowe ma jedną linię Items: [OK], gdy wszystkie przedmioty są na miejscu, albo [FAIL] z brakującymi nazwami i rozwiązaniem pod spodem. phone:health wypisuje je ponownie, gdy coś naprawisz.

Przedmiot Potrzebujesz go, gdy
phone Tylko z Config.Item.required = true (gracze muszą nosić telefon) albo z unikalnymi telefonami.
pulse_phone_box Sklep sprzedaje telefony w zaplombowanym pudełku. Domyślnie włączone (Config.Store.box).
pulse_magpack, pulse_magpack_max, pulse_cable Akcesoria do ładowania. Domyślnie włączone (Config.Charging).
pulse_router Pulse Home Wi-Fi, router, który gracze stawiają w domu. Domyślnie włączone (config/apps.lua).
pulse_burner Pulse Burner, telefon na kartę z własnym numerem. Domyślnie włączone (config/apps.lua).
pulse_case, pulse_case_clear, pulse_pouch, pulse_protector Ochrona telefonu: etui, wodoodporny pokrowiec i szkło ochronne. Domyślnie włączone (config/apps.lua).
pulse_buds, pulse_ringlight, pulse_wallet Pulse Buds, Pulse Ring Light i Pulse Card Wallet. Domyślnie włączone (config/apps.lua).
powerbank Opcjonalnie. Stary przedmiot powerbanku; działa jak Reserve.
pulse_phone_box_<finish> Tylko z Config.Store.boxPerFinish = true.
radio (albo dowolna nazwa) Tylko gdy ustawisz Config.Radio.item (sekcja 5, Radio). ox_inventory i qb-core mają już przedmiot radio.

Jeśli brakuje przedmiotu, telefon i tak startuje. Sklep wyłącza pudełka albo zdejmuje ten przedmiot ze sprzedaży, a konsola podaje przedmiot do dodania.

Reserve'y się stackują. Pełne powerbanki nie mają metadanych, więc do 20 mieści się w jednym slocie. Częściowo zużyty powerbank po zdjęciu staje się osobnym przedmiotem z naładowaniem zapisanym w metadanych (na ox_inventory, qb-inventory i qs-inventory), więc potrzebuje wolnego slotu. Bez metadanych przedmiotów (standalone, domyślny ekwipunek ESX) śledzony jest tylko używany powerbank, jeden na postać na rozmiar.

Z Config.Item.required = true (albo unikalnymi telefonami) serwer sprawdza przedmiot telefonu przez twój ekwipunek i odrzuca zapytania telefonu od gracza, który go nie ma. Utrata przedmiotu kończy połączenia gracza, łącznie z alarmowymi, i zamyka telefon.

Oddawanie zaplombowanego pudełka komuś innemu. Na ox_inventory, qb-inventory i qs-inventory sam przedmiot pudełka niesie kupiony model i wykończenie, więc ten, kto je otworzy, dostaje ten telefon. Na każdym innym ekwipunku pudełko to zwykły przedmiot, a model i wykończenie są zapisane w rekordzie zakupu kupującego: oddane pudełko otwiera się jako kolejny zakup nowego właściciela albo jako domyślny model i wykończenie. Z Config.Store.boxPerFinish = true nazwa przedmiotu pudełka zachowuje wykończenie, ale nie model.

Dokładny tekst do wklejenia dla twojego ekwipunku

Nigdy nie musisz sam rozpracowywać wpisu przedmiotu. Gdy brakuje przedmiotu, sprawdzenie startowe wypisuje pod ramką dokładny tekst dla twojego ekwipunku, a Settings > Server > Health Check pokazuje ten sam tekst z przyciskiem Copy. Wklej go, zrestartuj ekwipunek i telefon i uruchom ponownie phone:health.

Twój ekwipunek Co jest wypisywane Gdzie to trafia
ox_inventory (ESX, Qbox, ox_core, ND Core) Wpisy ox_inventory ox_inventory/data/items.lua, wewnątrz jego tabeli
QBCore (qb-, ps-, lj-inventory) Wpisy QBCore (tylko jeśli telefon nie mógł dodać ich sam) qb-core/shared/items.lua
qs-inventory Wpisy w formacie QBCore Lista przedmiotów qs-inventory
Domyślny ekwipunek ESX Jedna linia SQL (tylko jeśli telefon nie mógł dodać ich sam) Twoje narzędzie do bazy, potem restart
TMC Wpisy TMC dla każdego przedmiotu, którego potrzebuje telefon (TMC nie da się zapytać, które ma) Lista przedmiotów TMC (plik z sim_card), z zachowaniem tych, które już masz
Każdy inny ekwipunek Wpisy w formacie QBCore, który czyta większość ekwipunków Lista przedmiotów danego ekwipunku

Jak wygląda każdy z nich, na przykładzie 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);

Własny przedmiot phone w ox_inventory. ox_inventory ma wpis phone zrobiony dla innego skryptu telefonu. Nie musisz go zmieniać: jego użycie otwiera Pulse Phone. Sprawdzenie startowe ma linię Phone item, która mówi, jak jest podpięty twój wpis. Tylko gdy wskazuje eksport innego skryptu ([WARN] albo [FAIL] przy wymaganych lub unikalnych telefonach), wypisuje wpis zastępczy. Jeśli skrypt telefonu, dla którego zrobiono ten wpis, dalej działa, przedmiot otwiera zamiast tego jego: linia Phone item go wymienia; usuń go z server.cfg.

Co zrobić dla twojego ekwipunku

Ekwipunek Gdzie trafiają przedmioty Gdzie trafiają obrazki
ox_inventory (ESX, Qbox, ox_core) Wklej wpisy, które wypisuje sprawdzenie startowe (albo cały ox_inventory.lua), do ox_inventory/data/items.lua, wewnątrz jego tabeli. Zostaw własny wpis ['phone'] z ox_inventory (otwiera Pulse Phone); zastąp go wypisanym tylko wtedy, gdy linia Phone item mówi, że otwiera inny skrypt ox_inventory/web/images/
qb-inventory Nic: dodawane przy starcie. Żeby dodać je ręcznie, wklej qb-core.lua do qb-core/shared/items.lua qb-inventory/html/images/
ps-inventory, lj-inventory Nic: dodawane przy starcie, tak jak dla qb-inventory folder obrazków twojego ekwipunku
qs-inventory Wklej qb-core.lua do qb-core/shared/items.lua albo do własnej listy przedmiotów qs-inventory folder obrazków twojego ekwipunku
codem-inventory, core_inventory, tgiann-inventory, origen_inventory Dodaj przedmioty do jego listy przedmiotów tak samo jak każdy inny przedmiot, używając nazw, etykiet i wag z 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). Użyj pulse_magpack.png także dla powerbank i pulse_magpack_max folder obrazków twojego ekwipunku
ak47_inventory Dodaj przedmioty oraz linie onUse poniżej folder obrazków twojego ekwipunku
Domyślny ekwipunek ESX Nic: dodawane przy starcie. esx.sql to sposób ręczny niepotrzebne
vRP 2 Zobacz sekcję vRP powyżej
Standalone Nic

Dla pozostałych ekwipunków w tej tabeli telefon sam czyni przedmioty używalnymi. ox_inventory używa linii client = { export = 'phone....' }, które już są w jego pliku.

ox_inventory: jeśli wcześniej używałeś innego telefonu, usuń też jego hook Item('phone', ...) z ox_inventory/modules/items/client.lua.

ak47_inventory trzyma użycie przedmiotu we własnym wpisie każdego przedmiotu. Dodaj te:

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 },

Unikalne telefony (Config.Item.unique = true) zapisują numer telefonu w przedmiocie, więc przekazanie przedmiotu przekazuje telefon. Wymagają ox_inventory, qb-inventory, qs-inventory, core_inventory albo codem-inventory.

Przetłumaczone z angielskiego. Jeśli coś tutaj różni się od strony angielskiej, rację ma strona angielska. English