Personalizacja
Jeden plik decyduje o wszystkim, co możesz zmienić: config.lua. Reszta to ekrany aplikacji oraz logika zabezpieczona przez escrow.
Który plik za co odpowiada
Dział zatytułowany „Który plik za co odpowiada”| Plik | Za co odpowiada | Otwarty do edycji |
|---|---|---|
config.lua | Framework, ścieżka obrazków, czas wygasania, płatności, lokalizacja lombardu, znacznik, blip, sprzedawca, czarna lista, teksty powiadomień, nazwa aplikacji | Tak |
pawnshop.sql | Trzy tabele bazy danych, importowane jednorazowo | Tak |
web/index.html, web/styles.css, web/script.js | Ekrany aplikacji, układ oraz etykiety | — |
web/assets/pawn.png | Ikona aplikacji | Tak |
web/assets/fries.png | Obrazek wyświetlany, gdy przedmiot nie posiada własnej ikony | Tak |
client/main.lua, server/main.lua | Logika skryptu | Escrow |
Nie ma tu folderu bridge ani folderu locales: framework wybiera się jedną opcją poniżej, a wszystkie teksty znajdują się w config.lua.
| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.Framework | "esx" lub "qb", małymi literami. Na QBox użyj "qb" — QBox uruchamia zasoby QBCore przez swoją warstwę kompatybilności | "esx" |
Config.InventoryImagePath | Folder, z którego wczytywane są obrazki przedmiotów, jako zasob/folder/. Dla qb-inventory: "qb-inventory/html/images/" | "ox_inventory/web/images/" |
Config.Expire | Liczba dni, przez które oferta jest aktywna. Zmiana ceny oferty resetuje odliczanie | 7 |
Płatności
Dział zatytułowany „Płatności”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.Bank | true: kupujący płacą z konta bankowego, a sprzedający wypłacają do banku. false: obie strony używają przedmiotu z Config.Money | true |
Config.Money | Przedmiot ekwipunku używany jako waluta, gdy Bank jest wyłączony — money, black_money lub własny | "money" |
Gdy opcja Bank jest wyłączona, pieniądze muszą być przedmiotem w ekwipunku, tak jak ma to miejsce w ox_inventory. W domyślnym ekwipunku ESX oraz w QBCore gotówka jest kontem, a nie przedmiotem, dlatego tam pozostaw Config.Bank = true.
Pieniądze ze sprzedaży nie trafiają bezpośrednio do sprzedającego. Są dodawane do jego salda Pending (Oczekujące) w aplikacji, skąd gracz wypłaca je przyciskiem przelewu.
Sprzedaż przy ladzie
Dział zatytułowany „Sprzedaż przy ladzie”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.RequireLocation | true: wystawianie i kupowanie ofert musi zostać sfinalizowane na miejscu w lombardzie | false |
Config.PawnShopLocation | Lokalizacja lombardu: współrzędne x, y, z oraz kierunek patrzenia (heading) sprzedawcy | 412.17, 315.11, 103.13, heading 194.62 |
Config.InteractionDistance | Jak blisko (w metrach) musi stać gracz, aby nacisnąć E. Serwer również to weryfikuje | 1.0 |
Config.Marker | Znacznik przy drzwiach: Type, Scale (x, y, z) oraz Color (r, g, b, a) | Typ 20, ciemny stalowoniebieski |
Config.Blip | Blip trasy: Sprite, Color, Scale | 480, 32, 1 |
Config.NPC | Model peda sprzedawcy oraz animacja przekazania (Dict i Name) | a_m_m_business_01, mp_common / givetake1_a |
Jak wygląda rozgrywka z włączonym RequireLocation: gracz wypełnia ofertę lub klika kup, telefon wyznacza trasę do lombardu, a znacznik pojawia się w odległości 20 metrów. Naciśnięcie E w znaczniku przywołuje sprzedawcę do przekazania towaru i transakcja dochodzi do skutku.
Blip oraz znacznik istnieją tylko wtedy, gdy gracz ma tam coś do sfinalizowania; na mapie nie ma stałego blipa. Przy wyłączonym RequireLocation żaden z tych elementów nie jest używany.
Config.Blip.Name nie jest używane jako nazwa blipa — pochodzi ona z Config.Messages.blip_name.
Czarna lista (Blacklist)
Dział zatytułowany „Czarna lista (Blacklist)”Config.BlackList to lista nazw przedmiotów, których nigdy nie można wystawić na sprzedaż. Są one pomijane przy wyborze przedmiotów, odrzucane przez serwer, a każda istniejąca już oferta z takim przedmiotem zostaje usunięta z tablicy — razem z przedmiotami — przy kolejnym otwarciu aplikacji przez kogokolwiek. Domyślnie zawiera burger oraz weapon_appistol jako przykłady.
Tekst i język
Dział zatytułowany „Tekst i język”Skrypt nie posiada folderu locales. Cały tekst, który możesz zmienić, znajduje się w config.lua po angielsku:
| Opcja | Co przechowuje |
|---|---|
Config.locales.en.app_name | Nazwa aplikacji w telefonie oraz tytuł jej powiadomień |
Config.locales.en.app_description | Krótki opis pod nazwą w App Store |
Config.Messages | Wszystkie powiadomienia: utworzenie, zakup i usunięcie oferty, brakujące pola, błędy, komunikat „udaj się do lombardu”, podpowiedź E oraz nazwa blipa |
Aby grać w innym języku, przetłumacz te teksty bezpośrednio w pliku. Kilka komunikatów serwera — „Insufficient items”, „Inventory full”, „This item cannot be listed for sale”, „You do not own this offer” i podobne — jest zapisanych na stałe w chronionym pliku serwera i pozostaje po angielsku.
Na ESX powiadomienia przychodzą jako powiadomienia aplikacji w lb-phone. Na QBCore korzystają z wbudowanego systemu powiadomień frameworka.
Obrazki przedmiotów
Dział zatytułowany „Obrazki przedmiotów”Aplikacja wyświetla każdy przedmiot ze ścieżki <Config.InventoryImagePath><item name>.png, odczytywanej bezpośrednio z Twojego zasobu ekwipunku. Jeśli brakuje obrazka, zamiast niego pokazywany jest plik web/assets/fries.png; podmień ten plik, aby zmienić grafikę zastępczą.