Przejdź do głównej zawartości

Personalizacja

Jeden plik decyduje o wszystkim, co możesz zmienić: config.lua. Reszta to ekrany aplikacji oraz logika zabezpieczona przez escrow.


PlikZa co odpowiadaOtwarty do edycji
config.luaFramework, ścieżka obrazków, czas wygasania, płatności, lokalizacja lombardu, znacznik, blip, sprzedawca, czarna lista, teksty powiadomień, nazwa aplikacjiTak
pawnshop.sqlTrzy tabele bazy danych, importowane jednorazowoTak
web/index.html, web/styles.css, web/script.jsEkrany aplikacji, układ oraz etykiety—
web/assets/pawn.pngIkona aplikacjiTak
web/assets/fries.pngObrazek wyświetlany, gdy przedmiot nie posiada własnej ikonyTak
client/main.lua, server/main.luaLogika skryptuEscrow

Nie ma tu folderu bridge ani folderu locales: framework wybiera się jedną opcją poniżej, a wszystkie teksty znajdują się w config.lua.


OpcjaCo robiDomyś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.InventoryImagePathFolder, z którego wczytywane są obrazki przedmiotów, jako zasob/folder/. Dla qb-inventory: "qb-inventory/html/images/""ox_inventory/web/images/"
Config.ExpireLiczba dni, przez które oferta jest aktywna. Zmiana ceny oferty resetuje odliczanie7

OpcjaCo robiDomyślnie
Config.Banktrue: kupujący płacą z konta bankowego, a sprzedający wypłacają do banku. false: obie strony używają przedmiotu z Config.Moneytrue
Config.MoneyPrzedmiot 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.


OpcjaCo robiDomyślnie
Config.RequireLocationtrue: wystawianie i kupowanie ofert musi zostać sfinalizowane na miejscu w lombardziefalse
Config.PawnShopLocationLokalizacja lombardu: współrzędne x, y, z oraz kierunek patrzenia (heading) sprzedawcy412.17, 315.11, 103.13, heading 194.62
Config.InteractionDistanceJak blisko (w metrach) musi stać gracz, aby nacisnąć E. Serwer również to weryfikuje1.0
Config.MarkerZnacznik przy drzwiach: Type, Scale (x, y, z) oraz Color (r, g, b, a)Typ 20, ciemny stalowoniebieski
Config.BlipBlip trasy: Sprite, Color, Scale480, 32, 1
Config.NPCModel 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.


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.


Skrypt nie posiada folderu locales. Cały tekst, który możesz zmienić, znajduje się w config.lua po angielsku:

OpcjaCo przechowuje
Config.locales.en.app_nameNazwa aplikacji w telefonie oraz tytuł jej powiadomień
Config.locales.en.app_descriptionKrótki opis pod nazwą w App Store
Config.MessagesWszystkie 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.


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ą.