Dokumentacja Pulse Phone
Rozwiązywanie problemów
11. Rozwiązywanie problemów
Zacznij tutaj: przeczytaj sprawdzenie startowe w konsoli serwera. Zaczyna się od PULSE PHONE v1.x.x i builda, a potem podaje jedną linię na obszar (Server, Database, Framework, Connected scripts, Items...). Każda linia FIX albo NOTE ma pod sobą problem i jego rozwiązanie (-> ...). Wpisz phone:health, żeby zobaczyć pełny raport linia po linii, i phone:diag, żeby zobaczyć szczegóły.
Telefon się nie otwiera
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
F1 nic nie robi, /phone działa |
Inny skrypt używa F1 | Zmień przypisanie w Settings > Key Bindings > FiveM albo zmień Config.Keys.open. Nowa wartość domyślna trafia tylko do graczy, którzy nigdy nie przypisali klawisza. |
| Nic się w ogóle nie otwiera | Gracz nie ma przedmiotu telefonu, bateria jest pusta, skrypt wyłączył telefon albo gracz jest martwy, skuty lub w innym zablokowanym stanie | Sprawdź Config.Item.required, baterię i stany w Config.Block. |
| Nie otwiera się nad ekwipunkiem albo menu | Celowo (Config.Open.blockWhenNuiFocused) |
Najpierw zamknij inne menu. |
| "No phone item": nie otwiera się nikomu | Config.Item.required = true, ale w twoim ekwipunku brakuje przedmiotu phone albo gracze go nie noszą |
Dodaj przedmiot phone (sekcja 4) i daj go graczom albo ustaw Config.Item.required = false. |
| Nowy telefon jest czarny i pokazuje "Hold to turn on" | Telefon przyszedł wyłączony: Config.Device.arrivesOn = false. Od 1.4.0 nowe telefony domyślnie przychodzą włączone; config.lua zachowany z wcześniejszej wersji zachowuje swoją wartość |
Z wyjętym telefonem przytrzymaj End albo O (Config.Keys.power) przez około dwie sekundy albo przytrzymaj myszką własny przycisk boczny telefonu. Przesuń w górę na ekranie powitalnym, żeby zacząć konfigurację. |
Pudełko znika, ale nie pojawia się przedmiot phone |
Config.Item.required = false i unique = false używają telefonu należącego do postaci, bez przedmiotu w ekwipunku |
Otwórz telefon normalnie. Jeśli twój serwer powinien wymagać noszonego przedmiotu, włącz Config.Item.required przed sprzedażą telefonów, a potem zrestartuj Pulse. |
| Ekran pusty albo biały | Strona serwerowa nie działa. F8 pokazuje the server never answered bootstrap - is the resource running server-side? |
Poszukaj w konsoli serwera czerwonej linii [phone] albo błędu escrow (poniżej). |
Ekran pusty, konsola mówi ui/index.html missing |
Folder ui/ został usunięty albo nie został wgrany |
Wgraj ponownie cały folder phone. Nie usuwaj ui/. |
Telefon widać w dłoni, ale ekran nigdy się nie pojawia; sprawdzenie startowe pokazuje [FAIL] Interface z plikiem w ui/assets/ |
Tego pliku brakuje w twojej kopii: niepełny upload albo antywirus go usunął | Pobierz telefon ponownie z Keymaster i wgraj cały folder. Jeśli plik znowu zniknie, dodaj folder serwera do wyjątków antywirusa. |
| Kursor utknął na środku ekranu | Raw input w GTA jest wyłączony | Gracz włącza raw input w ustawieniach GTA. |
Framework, pieniądze i prace
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
FRAMEWORK NOT SELECTED: more than one framework is started |
Działają dwa core'y, na przykład es_extended i qb-core | Ustaw Config.Framework w config/config.lua na ten, którego używasz, albo dodaj setr phone_framework <name> do server.cfg (sekcja 3). Do tego czasu funkcje pieniężne są wyłączone. |
framework not ready: ... w konsoli, a telefony zostają na ekranie "not ready" |
Framework, który telefon znalazł albo który mu wskazano, jeszcze nie działa: dalej startuje, restartuje się, jest zatrzymany albo (własny) jego mostek nigdy nie został zarejestrowany. Pieniądze są odrzucane, dopóki nie wstanie. | Uruchamiaj telefon po frameworku. Po restarcie core'a daj mu chwilę albo zrestartuj też telefon. Własny framework: zarejestruj mostek i wywołaj exports.phone:FrameworkRestarted() po restarcie core'a. Serwer w ogóle bez frameworka: ustaw Config.Framework = 'standalone' w config/config.lua albo dodaj setr phone_framework standalone do server.cfg (ma pierwszeństwo przed configiem). |
| Wykryto zły framework: linia startowa podaje taki, którego nie używasz | ox_core jest uruchomiony obok ESX, QBCore albo Qbox (telefon używa wtedy tego drugiego) albo twój core ma zmienioną nazwę resource'a | Zatrzymaj core, którego nie używasz, albo wymuś swój przez setr phone_framework <name> w server.cfg (sekcja 3). Core ze zmienioną nazwą: użyj oryginalnej nazwy albo podłącz go jako własny framework. |
Config.Framework = "esx" but es_extended is not started |
Ustawienie wskazuje framework, który nie działa | Popraw ustawienie albo przywróć je na 'auto'. |
Linia startowa mówi Framework: standalone na serwerze z frameworkiem |
Core ma inną nazwę resource'a albo startuje po telefonie | Uruchamiaj telefon po frameworku. Core ze zmienioną nazwą nie zostanie znaleziony: użyj oryginalnej nazwy albo podłącz go jako własny framework (sekcja 3). |
| Saldo w banku wynosi 0 albo jest złe | Telefon działa w trybie standalone (własny bank) albo framework nie został znaleziony | Sprawdź części Framework: i Banking: linii startowej. |
| Brak konta firmy w Services | Nie działa żaden skrypt kont firm albo gracz nie jest szefem | Uruchom któryś z sekcji 7. Stopnie szefa: boss (ESX), isboss (QBCore / Qbox) albo bossGrade. Na ox_core i vRP nie ma zarządzania firmą. |
| Policja albo EMS nie dostają zgłoszeń 911 | Nazw ich prac nie ma na listach albo są poza służbą | Dodaj nazwy swoich prac do Config.Services i Config.Emergency w config/apps.lua. |
<script> found but not connected |
Wersja tego skryptu ma inne eksporty | Telefon używa następnej opcji. Zaktualizuj skrypt albo wybierz inny przez Config.Providers. |
Serwer ND Core, ale linia startowa podaje inny framework albo standalone |
ND_Core startuje po telefonie albo uruchomiony jest też inny core |
Uruchamiaj telefon po ND_Core, zatrzymaj core, którego nie używasz, albo dodaj setr phone_framework nd do server.cfg. |
Baza danych
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
Telefon nigdy nie kończy ładowania; F8 pokazuje request "bootstrap" timed out |
Tabele innego telefonu przeszkadzają i nie dało się ich przenieść | Przeczytaj sprawdzenie startowe (phone:health). Linia [FAIL] Database ... belong to another script wymienia tabele; zobacz sekcję 2, "Tabele innego telefonu". |
Sprawdzenie startowe: [WARN] Database N table(s) of another script were moved aside: phone_x -> old_phone_x |
Tabela, którą inny skrypt zostawił pod jedną z nazw telefonu, została przy starcie przemianowana, żeby telefon mógł utworzyć własną. Nic nie zostało usunięte | Po stronie telefonu nic nie trzeba robić. Jeśli ta tabela należy do jakiegoś twojego skryptu, daj mu inną nazwę tabeli: pod starą nie znajdzie swoich danych. phoneimport czyta stamtąd dane starego telefonu (Import danych, "Tabele o tej samej nazwie co w Pulse Phone"). |
Sprawdzenie startowe: [WARN] Database <table> is missing columns the phone writes (...) |
Tabela ma nazwę telefonu, ale brakuje jej kolumny, do której telefon zapisuje, i nie jest wyraźnie tabelą innego skryptu. Jest celowo zostawiona w spokoju: błędna zmiana nazwy byłaby gorsza niż ostrzeżenie | Jeśli utworzył ją inny skrypt, zmień jej nazwę na old_<table> w swoim narzędziu do bazy i zrestartuj. Jeśli nie, wyślij tę linię do wsparcia (sekcja 12). Zasady są w Imporcie danych. |
db: could not create table ... check that the database user may CREATE TABLE |
Użytkownik bazy nie może tworzyć tabel | Daj użytkownikowi uprawnienia CREATE i ALTER albo zaimportuj phone.sql ręcznie. |
db: could not add column ... |
Użytkownik nie może wykonywać ALTER na tabelach | Jak wyżej. |
is running but the database did not answer |
oxmysql działa, ale nie może połączyć się z bazą | Popraw mysql_connection_string. Telefon sam ponawia próby. |
no SQL resource running - storing data in the resource key/value store |
oxmysql nie jest uruchomiony albo startuje po telefonie | Uruchamiaj oxmysql przed telefonem. |
auth_gssapi_client w logu oxmysql |
Użytkownik bazy jest ustawiony na logowanie Windows | Przełącz tego użytkownika na hasło: ALTER USER 'fivem'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('your-password'); |
phone_db_fallback is "kvp", so the key/value store takes over |
Baza nie odpowiada, a fallback jest włączony | Dane są zapisywane w magazynie key/value i nie trafią do bazy. Napraw połączenie. |
db: no answer within 10 s, answered as failed: <query> |
To zapytanie nigdy nie wróciło (wolna albo zablokowana baza) | Aplikacja, która o nie prosiła, dostała informację o błędzie. Sprawdź log resource'a SQL. |
Połączenia, zdjęcia i telefon
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
Połączenia łączą się bez dźwięku, no voice resource |
Nie działa żaden skrypt voice | Uruchom pma-voice (albo inny z sekcji 5) przed telefonem. |
Brak dźwięku, 2 voice resources running |
Dwa skrypty voice walczą o te same kanały | Uruchamiaj dokładnie jeden. |
| Rozmowa wideo pokazuje tylko obraz dzwoniącego | Dwóch graczy nie może połączyć się bezpośrednio | Skonfiguruj relay wideo według zaawansowanego poradnika podlinkowanego w sekcji 5. |
| Połączona rozmowa ma dźwięk, ale nie ma obrazu | Grupowe wideo jest wyłączone albo skonfigurowane miejsca wideo są zajęte. Uczestnicy głosowi mogą zostać w konferencji bez miejsca wideo. | W config/config.lua sprawdź Config.Calls.groupVideo i Config.Calls.groupVideoMax. Grupowe wideo jest domyślnie włączone z czterema miejscami wideo. Dla łączności na produkcji postępuj według konfiguracji relay wideo podlinkowanej w sekcji 5. |
| Klipy wideo z aparatu nie mają dźwięku u jednego gracza | Ten gracz kiedyś odrzucił prośbę gry o dostęp do mikrofonu. FiveM zapamiętuje odpowiedź w %AppData%\CitizenFX\media_access.json i już nigdy nie pyta. |
Gracz zamyka FiveM, usuwa %AppData%\CitizenFX\media_access.json, uruchamia grę ponownie i zezwala na mikrofon, gdy zostanie zapytany. |
Zdjęcia się nie zapisują, screenshot-basic not started |
screenshot-basic nie działa | Uruchamiaj go przed telefonem. |
| Zdjęcia się zapisują, ale wyświetlają się jako uszkodzone | phone_media_origin to zwykłe http:// |
Użyj adresu https://, usuń to ustawienie albo użyj Fivemanage (sekcja 6). |
refused a media link on "<host>" |
Link z hosta, którego nie ma na liście dozwolonych | Dodaj host do Config.Media.allow (sekcja 6) albo zostaw go zablokowanym. |
| Aplikacja Radio mówi, że radio jest niedostępne | Nie działa żaden skrypt voice albo to YACA | Zobacz sekcję 5, Radio. |
| Radio: "You need a radio to tune in" | Config.Radio.item jest ustawione, a gracz nie ma tego przedmiotu |
Daj mu przedmiot albo ustaw item = false w config/apps.lua. |
| Budka telefoniczna odrzuca połączenie z powodu pieniędzy | Za mało pieniędzy na koncie wskazanym w Config.Payphone.pay albo własny mostek bez funkcji pieniężnych |
Na serwerze standalone nikt nie ma gotówki: zostaw pay = 'either' albo użyj 'bank'. |
| Nie da się pisać w polu tekstowym | Inny skrypt wywołał SetNuiFocus(false, false), gdy telefon był otwarty |
Znajdź ten skrypt (pokazują go NUI devtools). |
Sprawdzenie startowe: phone_media_origin not set |
Serwer nie ma publicznego adresu Cfx.re (lokalny albo LAN-owy serwer testowy) | Gracze na tym samym PC albo w tej samej sieci nie mają problemu. Dla publicznego serwera sprawdź, czy jest na liście, albo ustaw setr phone_media_origin "https://..." (sekcja 6). |
| Telefon niewidoczny, standardowy telefon albo szare pudełko w dłoni | Model telefonu się nie streamował. F8 pokazuje the handset model "pulse_titanium" did not load. (albo pulse_ultra, pulse_clear, pulse_flip, zależnie od modelu telefonu) |
Ustaw sv_enforceGameBuild na 2699 lub nowszy. Wgraj ponownie stream/ bez zmian i zachowaj każdą linię data_file w fxmanifest.lua. |
Sklep i przedmioty
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
| Brak sprzedawcy w sklepie | Sprzedawca pojawia się tylko w promieniu około 60 m. Sklep może być wyłączony albo twoja mapa zakrywa Legion Square | Sprawdź Config.Store.enabled. Przenieś ladę w Config.Store.locations. |
store: the item "pulse_phone_box" ... is not registered in your inventory |
Brakuje przedmiotu pudełka | Dodaj go (sekcja 4). Do tego czasu telefony są wydawane bez pudełka. |
Sklep mówi "inventory full", ale gracz ma miejsce; konsola mówi store: the inventory would not take <item> |
Tego przedmiotu nie ma na liście przedmiotów twojego ekwipunku, więc ekwipunek go odrzuca | Dodaj przedmiot wymieniony w konsoli (sekcja 4 i config/items/) albo ustaw Config.Store.box = false, żeby wydawać telefony bez pudełek. Zakup został zwrócony. |
Brak Reserve albo kabla w sklepie, albo store: the item "pulse_cable" ... |
W twoim ekwipunku brakuje przedmiotów do ładowania | Dodaj pulse_magpack, pulse_magpack_max i pulse_cable (sekcja 4) oraz ich obrazki. |
Brak Pulse Home Wi-Fi w sklepie albo store: the item "pulse_router" ... |
W twoim ekwipunku brakuje przedmiotu routera albo Config.Wifi.enabled ma wartość false |
Dodaj pulse_router (sekcja 4) i jego obrazek. |
Home Wi-Fi: the model "pulse_router" is not streamed w F8 |
stream/ nie został wgrany w całości |
Wgraj ponownie stream/ bez zmian. Wi-Fi dalej działa; router po prostu nie jest rysowany. |
Brak Pulse Burner w sklepie albo store: the item "pulse_burner" ... |
W twoim ekwipunku brakuje przedmiotu burnera albo Config.Burner.enabled ma wartość false |
Dodaj pulse_burner (sekcja 4) i jego obrazek. |
Pulse Burner: the model "pulse_burner" is not streamed w F8 |
stream/ nie został wgrany w całości |
Wgraj ponownie stream/ bez zmian. Burnery dalej działają; w dłoni widać telefon Pulse. |
| Funkcjonariusz nie ma aplikacji Intercept albo pokazuje ona, że jest poza służbą | Jego praca nie jest w Config.Taps.jobs, jego stopień jest niższy niż minGrade albo framework mówi, że jest poza służbą |
Sprawdź config/apps.lua i jego pracę. |
| "A router can only go inside a home you own or have a key to" | placement ma wartość 'housing' (albo 'auto' ze skryptem housingu) |
Postaw go w swoim domu albo zmień placement w config/apps.lua. |
| Nie da się postawić routera: pierścień zostaje czerwony albo komunikat mówi dlaczego | Miejsce łamie regułę. Musi to być płaska powierzchnia w promieniu około 3 m od gracza (nie ściana ani skos), co najmniej minSpacing (8 m) od innego routera, a gracz musi mieć postawionych mniej niż maxPerPlayer (2). Z placement = 'interior' musi być w środku ("A router has to go indoors"). Z 'housing' musi być w domu, który gracz posiada albo do którego ma klucz. |
Podejdź bliżej i celuj w podłogę albo stół. Najpierw podnieś starszy router. Albo zmień placement w config/apps.lua (sekcja 8, Home Wi-Fi). |
| "Routers go in homes, and this server has no housing script the phone can read" | placement = 'housing', ale nie działa żaden ze skryptów housingu z sekcji 7 |
Ustaw placement na 'auto' albo 'interior' albo uruchom obsługiwany skrypt housingu. |
| Przedmioty wyświetlają się bez obrazka | Obrazki nie zostały skopiowane | Skopiuj config/items/images/ do folderu obrazków swojego ekwipunku. Linia Item pictures w sprawdzeniu startowym wymienia brakujące i folder. |
Sprawdzenie startowe: [FAIL] Items ... missing in ox_inventory |
ox_inventory czyta tylko własny plik przedmiotów | Wklej wpisy wypisane pod ramką do ox_inventory/data/items.lua, a potem zrestartuj ox_inventory i telefon. |
Sprawdzenie startowe: Phone item ... opens <another script> |
Wpis phone w ox_inventory wskazuje eksport innego skryptu |
Zastąp ten wpis tym wypisanym pod ramką (jest też w Settings > Server > Health Check, z przyciskiem Copy), a potem zrestartuj ox_inventory. Standardowy wpis jest w porządku taki, jaki jest. |
Sprawdzenie startowe: [INFO] Items TMC keeps no item list the phone can read |
TMC nie ma sposobu na wylistowanie swoich przedmiotów, więc telefon nie wie, które są. Informacja, nie błąd | Upewnij się, że każdy przedmiot wypisany pod ramką jest na liście przedmiotów TMC. Sklep wymienia każdy przedmiot, który TMC odrzuca. |
Sprawdzenie startowe: [WARN] Items ... restart the server once so ESX loads them |
Przedmioty zostały dodane do tabeli items w ESX, ale ten ESX nie potrafi ich przeładować w trakcie działania |
Zrestartuj serwer raz. |
Sprawdzenie startowe: [WARN] Items ... could not add the items itself |
Telefon nie mógł zapisać do tabeli items w ESX ani do przedmiotów QBCore (powód jest w linii) |
Zrób to ręcznie: uruchom config/items/esx.sql (ESX) albo wklej config/items/qb-core.lua do qb-core/shared/items.lua (QBCore), a potem zrestartuj. |
Unique phones are waiting for their inventory. |
Unikalne telefony są włączone, ale nie działa żaden z ekwipunków, których wymagają | Uruchom wybrany obsługiwany ekwipunek przed telefonem i sprawdź Config.Providers.inventory. Pulse zachowuje ustawienie unikalnych telefonów i wznawia działanie, gdy ten ekwipunek stanie się dostępny; nie zmieniaj trybu własności tylko po to, żeby obejść to ostrzeżenie. |
| Rachunku nie da się zapłacić: nie ma odbiorcy | Firma z rachunku nie ma konta w skrypcie kont firm albo nie można znaleźć nadawcy | Ustaw Config.Bills.payToCity = true, żeby przyjmować takie rachunki jako grzywny miejskie. |
Inne skrypty, język i usługi
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
Skrypt wyrzuca błąd No such export dla innego telefonu |
Wywołuje eksporty innego telefonu, na przykład exports['<old phone>']:SendMail. Pulse Phone nie kopiuje eksportów innych telefonów. |
Zmień to wywołanie na własny eksport Pulse Phone (Eksporty) albo poproś autora skryptu o opcję dla Pulse Phone. Skrypty używające eventów nic nie potrzebują. |
No such export dla phone |
Folder telefonu ma zmienioną nazwę | Zmień ją z powrotem na phone (poniżej). |
| Zły język | Config.Locale jest ustawione na inny język albo gracz wybrał inny |
Ustaw Config.Locale. Każdy gracz może wybrać własny w Settings > General > Language. |
Tekst wyświetla się jako klucze, np. key.answer |
Stary folder config/locales/ został skopiowany na nowy |
Używaj nowych plików językowych. Swoje własne sformułowania nanieś ponownie ręcznie. |
| Pobieranie w App Hub pokazuje No Connection | Telefon nie ma tu zasięgu komórkowego (martwa strefa albo brak sygnału przy włączonym Carrier) i nie jest połączony z Wi-Fi. Pobieranie wymaga Wi-Fi albo danych mobilnych. | Przejdź tam, gdzie jest sygnał, albo połącz się z Wi-Fi (router Pulse Home Wi-Fi). |
| Pobieranie w App Hub pokazuje No Cellular Plan, Data Limit Reached albo Cellular Data Is Off | Carrier jest włączony, a telefon nie ma planu albo zużył dane, albo gracz wyłączył Cellular Data | Kup albo ulepsz plan w aplikacji Carrier (zainstalowanej na każdym telefonie, gdy Carrier jest włączony), włącz z powrotem Cellular Data albo połącz się z Wi-Fi. |
| Wszyscy mają "No Service" | Carrier jest włączony (Config.Carrier.enabled = true albo setr phone_carrier 1), więc każdy telefon potrzebuje planu |
Gracze kupują plan w aplikacji Carrier. Albo go wyłącz: ustaw enabled = false i usuń linię setr phone_carrier. |
| Brak sygnału tylko w niektórych miejscach | Martwe strefy są włączone (Config.Coverage.enabled) |
Sprawdź swoje strefy komendą phone:zone show w grze. Połączenia alarmowe zawsze działają. |
Settings > Server, alerty alarmowe i aktualizacje
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
| Brak wiersza Server w Settings | Gracz nie ma ace phone.admin albo Config.OwnerTools.enabled = false |
add_ace group.admin phone.admin allow i dodaj gracza do group.admin, a potem otwórz ponownie Settings. |
phone:setup nic nie robi |
Wpisane w konsoli serwera albo gracz nie jest adminem | Wpisz to w grze (F8) jako admin. W konsoli phone:health wypisuje te same sprawdzenia. |
| Zmiana zrobiona w grze nie działa | Jest oznaczona jako Restart needed | Zrestartuj telefon (ensure phone) albo serwer. Linia Restart w sprawdzeniu startowym wymienia, co czeka. |
Edycja pliku w config/ nic nie zmienia |
To ustawienie zostało zmienione w grze, a wartość z gry ma pierwszeństwo | Naciśnij przy nim Reset to Default w Settings > Server albo wpisz phone:reset <key> w konsoli. |
| Settings > Server pokazuje wszystko tylko do odczytu | Config.OwnerTools.enabled = false w config/apps.lua |
Ustaw na true i zrestartuj telefon. |
Not saved: ... pod ustawieniem |
Ta wartość nie pasuje do ustawienia (poza zakresem, zły format, nazwa pracy ze spacjami) | Użyj wartości, którą opisuje komunikat. |
| Nikt nie dostaje alertu alarmowego | Config.Broadcast.enabled = false albo gracze są poza narysowanym przez ciebie okręgiem |
Sprawdź config/apps.lua. Do testu wyślij do całego miasta. |
| Gracze dostają alerty severe albo advisory bez dźwięku albo wcale | Każdy gracz może wyłączyć te poziomy, a alerty severe stosują się do trybu cichego | To wybór gracza. Alerty extreme zawsze dzwonią. |
| Funkcjonariusz nie ma przycisku New Alert | Jego praca nie jest w Config.Broadcast.senders, jego stopień jest niższy niż podany albo jest poza służbą |
Dodaj 'police:3' (praca:najniższy stopień) do senders albo ustaw requireDuty = false. |
Wait ... before sending another alert |
Cooldown nadawcy (cooldownSeconds) albo limit godzinowy (perHour) |
Poczekaj albo podnieś limity w config/apps.lua. |
Brak linii Update w sprawdzeniu startowym |
Telefon nie mógł pobrać pliku aktualizacji (brak internetu, firewall) albo Config.UpdateCheck.enabled = false |
Nie ma czego naprawiać: telefon działa dalej bez tego. Z Config.Debug = true konsola mówi dlaczego. |
Nowsze funkcje
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
| Brak aplikacji Shade | Shade jest domyślnie wyłączony i wymaga przedmiotu pulse_vpn, pracy z listy albo access.everyone |
Ustaw Config.DarkMarket.enabled = true w config/apps.lua i sprawdź jego blok access. |
| Brak karty SIM w sklepie albo brak kredytu w Settings | Karty SIM są domyślnie wyłączone (Config.Sim.enabled), a kredyt prepaid to drugi przełącznik (prepaid) |
Włącz je w config/apps.lua i dodaj pulse_sim oraz pulse_topup do swojego ekwipunku (sekcja 4). |
| Pulse Beacon nie daje się przyczepić do auta | Gracz jest za daleko od pojazdu (attachRange, 4 m) albo ma już maxPerPlayer (8) |
Stań obok auta. Sprawdź config/apps.lua. |
| "An unknown Pulse Beacon is moving with you" | Ostrzeżenie bezpieczeństwa: czyjś beacon podróżował z graczem przez alertAfter sekund |
Tak ma być. Ustaw alert.enabled = false tylko wtedy, gdy twoje zasady pozwalają na ukryte śledzenie. |
| Pulse Buds, Ring Light albo Card Wallet nie działają z ekwipunku | Brakuje ich przedmiotów albo są wyłączone | Dodaj pulse_buds, pulse_ringlight i pulse_wallet (sekcja 4) i sprawdź config/apps.lua. |
| Slipstream nie pozwala graczowi stworzyć wyścigu ani dołączyć | Jest dalej niż joinRadius (60 m) od linii startu, wyścig jest pełny (maxRacers) albo wpisowe jest poza zakresem od minFee do maxFee |
Podjedź do linii startu. Sprawdź config/apps.lua. |
| Hail: kierowca nigdy nie dostaje kursów | Klasa albo model jego auta nie jest dozwolony, jego praca nie jest w driver.jobs, nie ma driver.licenceItem albo jest poza serviceArea |
Sprawdź blok driver w config/apps.lua. |
| Zamówień z Eats nigdy nie dostarcza gracz | Nie ma kuriera na służbie z pracą z couriers.jobs; z cityCourier.enabled zamiast tego dostarcza miasto |
Dodaj swoje prace dostawcze do config/apps.lua (albo w Settings > Server > Jobs). |
| Realty nie pokazuje żadnych domów | Twój skrypt housingu nie potrafi wylistować domów na sprzedaż, a Config.Homes.listings jest puste |
Dodaj oferty w config/apps.lua albo uruchom skrypt housingu z sekcji 7. |
| Żaden agent nie dostaje próśb o oglądanie w Realty | Żaden gracz na służbie nie ma pracy z realtor.jobs |
Dodaj nazwy swoich prac w config/apps.lua (albo w Settings > Server > Jobs). |
| Gry na żywo: nie przychodzi zaproszenie | Gra jest wyłączona w config/apps.lua albo zaproszenie czekało dłużej niż inviteSeconds |
Sprawdź config/apps.lua i wyślij zaproszenie ponownie. |
| Linia firmowa nie dzwoni u nikogo albo dzwoniący czekają na linii | Nikt nie jest zalogowany jako dyspozytor tej linii albo żaden członek nie jest na służbie | Zobacz config/apps.lua: dyspozytorzy logują się w aplikacji Services. |
| Groups: "the group is full" | maxMembers (6, łącznie z liderem) |
Podnieś to w config/apps.lua. |
| Breaking news nikogo nie powiadamia | breaking.enabled jest wyłączone albo cooldown (cooldownSeconds, perAuthorSeconds) jeszcze nie minął |
Sprawdź config/apps.lua albo Settings > Server > News. |
Problemy z instalacją i wersją
| Co widzisz | Dlaczego | Rozwiązanie |
|---|---|---|
You lack the required entitlement albo błąd escrow przy starcie |
Klucz serwera należy do innego konta Cfx.re niż to, które kupiło Pulse Phone | Asset musi należeć do tego samego konta Cfx.re co klucz twojego serwera (sv_licenseKey). Pobierz telefon z Keymaster (Granted Assets) na tym koncie. Kopia od kogoś innego nigdy nie zadziała. |
Failed to verify protected resource phone przy starcie, a konsola albo F8 pokazuje syntax error near '<\1>' dla plików w zablokowanym folderze |
Upload zmienił zablokowane pliki: klient FTP wysłał je w trybie tekstowym (Auto/ASCII) albo upload został przerwany. Licencja jest w porządku (przy złym koncie pojawia się zamiast tego You lack the required entitlement) |
Usuń folder phone na serwerze, pobierz go ponownie z Keymaster i wgraj w trybie Binary (FileZilla: Transfer > Transfer Type > Binary) albo wgraj zip i rozpakuj go na serwerze. Porównaj folder z tabelą plików w INSTALL.md. |
Sprawdzenie startowe: [FAIL] Package ... file(s) missing or the wrong size, z plikami w ui/, data/ albo stream/ |
Te pliki nie dotarły w takiej postaci, w jakiej zostały zbudowane: częściowy upload, transfer FTP w trybie tekstowym albo antywirus jeden usunął | To samo rozwiązanie: pobierz ponownie, a potem wgraj w trybie Binary albo rozpakuj zip na serwerze. Jeśli plik znowu zniknie, wyklucz folder serwera w antywirusie. Pliki stream są sprawdzane tylko pod kątem obecności (escrow zmienia ich rozmiar), a zablokowany kod sprawdza sam serwer. |
Sprawdzenie startowe: [FAIL] Package the file list is from build ... files from two downloads are mixed |
ui/ i reszta folderu pochodzą z różnych pobrań |
Usuń folder i rozpakuj jedno pobranie w całości. Zawsze bierz stream/ i ui/ z tego samego wydania. |
Sprawdzenie startowe: [WARN] Package data/package.json is missing or unreadable |
Lista plików dołączana do każdego wydania nie dotarła | Wgraj ponownie cały folder (tryb Binary), łącznie z data/. |
| Inne skrypty albo przedmioty przestają działać po zmianie nazwy folderu | Inne skrypty i wpisy przedmiotów odwołują się do telefonu jako phone (exports.phone, phone.useItem) |
Zostaw folder z nazwą phone. |
Dziwne zachowanie po aktualizacji, your config has no Config.Charging section |
Stary config.lua został skopiowany na nowy |
Sekcje, których brakuje, działają na wartościach domyślnych. Skopiuj brakujące sekcje z nowego config/config.lua albo zacznij od nowego pliku. |
| Stary adapter blokuje podłączanie skryptów po aktualizacji | Stare pliki bridge/ (z tej albo starszej wersji) zostały skopiowane z powrotem |
Używaj nowych plików (sekcja 10). |
| Startują dwa telefony | Stary folder phone dalej jest gdzieś w resources |
Przenieś go poza resources. |