Personalizacja
mic_boosting ma dwie warstwy. Krótki config.lua zawiera garść rzeczy ustawianych raz — framework, sposób otwierania tabletu, kto jest adminem, język. Cała rozgrywka żyje w bazie danych i jest edytowana na żywo z panelu admina (/boostingconfig), bez restartu.
Który plik decyduje o czym
Dział zatytułowany „Który plik decyduje o czym”| Gdzie | O czym decyduje | Do edycji |
|---|---|---|
config.lua | Framework, przedmiot/komenda tabletu, dostęp admina, język, system interakcji, joby policji, piny testowe | Tak |
shared/prices.lua | Wartości początkowe sześciu ustawień ekonomii — odczytywane tylko przy pierwszym starcie (patrz niżej) | Tak |
locales/*.lua | Każde powiadomienie i każdy tekst tabletu, jeden plik na język; locales/locale.lua to loader | Tak |
bridge/server_bridge.lua | Framework, pieniądze, przedmioty, używalny przedmiot, liczba policji, sprawdzanie admina, oddawanie auta do garażu | Tak |
bridge/client_bridge.lua | Powiadomienia, podpowiedź tekstowa, interakcje targetu, alert dyspozytorni policji | Tak |
items/ | Definicje przedmiotów dla ox_inventory, QBCore i ESX oraz siedem obrazków przedmiotów | Tak |
ui/ | Sam tablet (HTML, CSS, JS) | Escrow |
client/, server/ | Logika gry i zaplecze panelu admina | Escrow |
Panel admina (/boostingconfig) | Miejscówki, miejsca dostawy, klasy, auta, strażnicy, minigry, sklep z narzędziami, progresja, ekonomia | W grze |
Otwarte pliki to te wymienione w escrow_ignore w fxmanifest.lua: config.lua, locales/, shared/ i bridge/.
config.lua
Dział zatytułowany „config.lua”Framework i język
Dział zatytułowany „Framework i język”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.Framework | 'auto' sprawdza qb-core, potem es_extended, a w przeciwnym razie standalone. QBox jest wykrywany jako qb-core dzięki warstwie kompatybilności z QBCore. Możesz też wymusić 'qbcore' (także dla QBox), 'esx', 'standalone' | 'auto' |
Config.CoreResource | Jest w pliku, ale nie jest czytane przez tę wersję: wykrywanie zawsze szuka zasobów o nazwach qb-core i es_extended | '' |
Config.Locale | Język powiadomień i tabletu. W razie braku używany jest angielski | 'en' |
Otwieranie tabletu
Dział zatytułowany „Otwieranie tabletu”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.TabletOpenMode | 'item', 'command' lub 'both' | 'item' |
Config.TabletItem | Używalny przedmiot, który go otwiera | mic_boosting_tablet |
Config.TabletCommand | Komenda, która go otwiera, w trybie command lub both | boosting |
Dostęp admina
Dział zatytułowany „Dostęp admina”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.AdminCommand | Komenda otwierająca panel admina | boostingconfig |
Config.AdminGroups | Rangi uznawane za admina. ESX porównuje grupę gracza; QBCore pyta HasPermission o każdą nazwę | admin, superadmin, god |
Config.AdminAce | ACE, które również czyni cię adminem. Jedyna droga na standalone. false wyłącza | command |
To samo sprawdzenie decyduje, kto widzi kartę Admin wewnątrz tabletu. Więcej w ⌨️ Komendy i uprawnienia.
Interakcja i policja
Dział zatytułowany „Interakcja i policja”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.InteractionSystem | Jak pojawia się podpowiedź wytrycha na aucie: 'ox_target', 'qb_target' lub 'drawtext' (naciśnij E) | 'ox_target' |
Config.PoliceJobs | Joby liczone do minimalnej liczby policji online każdej klasy | police, sheriff, lspd, bcso |
Z ox_target auto pokazuje też osobną opcję EMP Jammer każdemu, kto ją ma przy sobie. W pozostałych trybach zagłuszacz nadal jest używany — automatycznie, gdy zaczyna się otwieranie wytrychem.
Testowanie
Dział zatytułowany „Testowanie”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.ForceDropoffId | Wysyła każdy kontrakt do tego miejsca dostawy | nil (losowo) |
Config.ForceLocationId | Spawnuje każdy kontrakt w tej miejscówce odbioru | nil (losowo) |
Locations.BlipRadius | Promień w metrach okręgu poszukiwań wokół docelowego auta | 150.0 |
shared/prices.lua — tylko pierwszy start
Dział zatytułowany „shared/prices.lua — tylko pierwszy start”Ten plik wstawia sześć wartości ekonomii do bazy danych przy pierwszym starcie zasobu (gdy tabela ustawień jest pusta). Potem jego edycja nic nie daje — zmieniaj je na karcie Settings w panelu admina.
Prices.Tools w tym samym pliku nie jest tym, co sprzedaje sklep z narzędziami: sklep czyta swój katalog z karty Market w panelu admina.
Panel admina
Dział zatytułowany „Panel admina”/boostingconfig otwiera go na Locations. Dodaj kartę, aby otworzyć go gdzie indziej: locations, dropoffs, classes, vehicles, setups, progression, minigames, market lub settings — na przykład /boostingconfig classes.
| Karta | Czym tam zarządzasz |
|---|---|
| Locations | Miejscówki odbioru: pozycja auta i cztery pozycje strażników każda, dozwolone klasy oraz konfiguracja strażników na klasę. Teleportacja, zmiana kolejności, edycja, usuwanie lub ustawienie nowej w świecie |
| Drop-Offs | Gdzie dostarcza się auta. Ustawiaj nowe w świecie, teleportuj się, usuwaj |
| Classes | Wszystko dla każdej klasy (tabela niżej) |
| Vehicles | Pula aut, z której każda klasa losuje cele |
| NPC Setups | Nazwane zestawy strażników i ich broń |
| Progression | Wyzwania, kamienie milowe, osiągnięcia i perki |
| Minigames | Każda minigra, jej ustawienia trudności, włączenie/wyłączenie i to, które klasy jej używają |
| Market | Sklep z narzędziami: przedmioty i buffy, cena, waluta (MB lub gotówka), wartość, minimalna klasa, włączenie/wyłączenie |
| Settings | Ekonomia, heat, karta Tools i znacznik miejsca dostawy |
Ustawianie w świecie. Nowe miejscówki i miejsca dostawy ustawia się za pomocą ducha: E zatwierdza, kółko myszy obraca, Backspace przerywa. Miejscówka odbioru to najpierw auto, potem czterech strażników, a na końcu nazwa.
W zestawie jest sześć: D, C, B, A, S i S+.
| Ustawienie | Co robi |
|---|---|
| Label, minimum level | Wyświetlana nazwa i poziom potrzebny do jej wzięcia (D 0, C 3, B 6, A 10, S 15, S+ 20) |
| XP range, payout range | Co daje dostarczone auto, losowane między dwiema wartościami |
| Time limit | Minuty na dostawę |
| Cooldown | Sekundy, zanim ten sam gracz może wziąć kolejny |
| Queue min / max | Ile trwa znalezienie kontraktu w kolejce |
| Daily limits | Kontrakty na gracza i na ekipę dziennie (0 = bez limitu) |
| Max lockpick attempts | Liczba prób, zanim zamek się podda |
| Police alert | Czy policja dostaje alert dyspozytorni dla tej klasy |
| Heat gain | Heat dodawany za zlecenie |
| Min police online | Policja potrzebna online, by dołączyć lub przyjąć. Domyślnie 2 dla każdej klasy |
| Wanted stars | Poziom poszukiwania nadawany złodziejowi po otwarciu auta (D 1 … S+ 5) |
Settings
Dział zatytułowany „Settings”| Ustawienie | Co robi | Wartość domyślna |
|---|---|---|
| VIN Scratch Multiplier | Opłata za zdrapanie VIN to 35% wypłaty × ta wartość, płatna w MB | 4.0 |
| XP per Level | XP potrzebne do następnego poziomu = poziom × ta wartość | 500 |
| Heat Decay per Minute | Heat odejmowany co minutę graczom online | 2 |
| Max Heat | Przy tym heat kontrakty są odrzucane, dopóki nie ostygnie | 100 |
| Hide Locked Items | Ukrywa przedmioty sklepu z narzędziami powyżej klasy gracza | Wyłączone |
| Dropoff marker | Włączenie/wyłączenie, typ znacznika, kolor (RGBA) i rozmiar | Włączony, typ 2, czerwony |
| Queue Fee, Crypto Rate | Wymienione w panelu. W tej wersji dołączenie do kolejki jest darmowe, a dostawa dodaje pełną wypłatę w MB | 0, 0.10 |
Zaczynanie od nowa
Dział zatytułowany „Zaczynanie od nowa”boostingseed, wpisane w konsoli serwera, czyści tabele konfiguracji i przywraca dostarczone ustawienia domyślne. Dane graczy — profile, poziomy, MB, ekipy, kontrakty, oferty na rynku — nie są ruszane.
W locales/ jest jedenaście: en, es, fr, pt (brazylijski), de, tr, it, nl, pl, cs, ru. Ustaw Config.Locale na jeden z nich. Klucz brakujący w danym języku jest zastępowany angielskim.
Aby dodać nowy:
- Skopiuj
locales/en.luadolocales/<code>.luai zmień kod języka na górze tabeli. - Przetłumacz wartości w obu połowach:
script(powiadomienia — zachowaj%si%d) orazui(tablet — zachowaj placeholdery{name}).date.intl_localeustawia format daty na ekranie blokady. - Dodaj plik do
shared_scriptswfxmanifest.lua, polocales/en.lua, a następnie wykonajrefresh. - Ustaw
Config.Localena nowy kod.
Oba pliki bridge są otwarte i właśnie tu podpina się własny framework, ekwipunek, powiadomienia lub dyspozytornię.
bridge/server_bridge.lua
| Funkcja | Do czego służy |
|---|---|
| Wykrywanie frameworka | Wybiera qbcore, esx lub standalone i to wypisuje |
GetPlayerIdentifier | citizenid na QBCore, identifier na ESX, license: na standalone |
GetPlayerJob, GetPoliceCount | Nazwy jobów oraz ilu graczy ma job z Config.PoliceJobs |
AddMoney, RemoveMoney | Nagrody gotówkowe i zakupy za gotówkę używają konta money |
AddItem, RemoveItem, HasItem | Najpierw ox_inventory, jeśli działa, w przeciwnym razie framework |
RegisterUsableItem | Czyni przedmiot tabletu używalnym (ESX i QBCore; na standalone nic) |
GiveVehicle | Wstawia auto ze zdrapanym VIN do garażu: owned_vehicles na ESX, player_vehicles w pillboxgarage na QBCore |
IsAdmin | Najpierw ACE, potem Config.AdminGroups |
Notify | Powiadomienie frameworka z serwera |
bridge/client_bridge.lua
| Funkcja | Do czego służy |
|---|---|
Notify | Powiadomienie QBCore lub ESX, natywny feed na standalone |
ShowTextUI, HideTextUI | Podpowiedź w trybie drawtext. Zakomentowane przykłady dla okokTextUI i cd_drawtextui |
ClientHasItem | Sprawdzanie przedmiotu po stronie klienta, używane przez opcję EMP na aucie |
AddEntityInteraction, RemoveEntityInteraction | ox_target / qb-target / drawtext na aucie |
PoliceDispatch | Wykonuje się na każdym kliencie policji, gdy zostanie wywołany alert. Domyślnie: powiadomienie i migający znacznik (blip) przez 60 sekund. Zakomentowane przykłady dla cd_dispatch i ps-dispatch |
Większość powiadomień, które widzi gracz, pochodzi z wnętrza tabletu jako jego własne toasty, a nie przez framework.