Skip to main content

Konfiguracja salonów pojazdów

Salony pojazdów są konfigurowane bezpośrednio w pliku współdzielonym zasobu tW_carDealer.

Aby dodać lub edytować salony, paletę kolorów albo wysokość respienia pojazdów, należy edytować plik:

Plik konfiguracyjny
tW_carDealer/sh_shared.lua

Dokumentacja obejmuje:

  • dodawanie i edycję palety kolorów,
  • dodawanie i edycję salonów pojazdów,
  • konfigurację pojazdów dostępnych w salonie,
  • regulację wysokości respienia pojazdów.

Szybka instrukcja

Aby skonfigurować salon pojazdów:

  1. Otwórz zasób tW_carDealer.
  2. Przejdź do pliku sh_shared.lua.
  3. Edytuj jedną z wymaganych tablic:
    • settings.possibleColors — kolory pojazdów,
    • settings.dealers — salony pojazdów,
    • settings.modelsZIndex — regulacja wysokości pojazdów.
  4. Zapisz plik.
  5. Zrestartuj zasób tW_carDealer.
info

Konfiguracja salonów pojazdów korzysta ze zwykłych tablic Lua.
Nie trzeba używać JSON-a ani narzędzia tableToJSON.

warning

Pamiętaj, aby każdy wpis w tablicy kończył się przecinkiem.
Brak przecinka może spowodować błąd w konfiguracji.


Paleta kolorów pojazdów

Paleta kolorów określa kolory dostępne do wyboru podczas zakupu pojazdu w salonie.

Kolory znajdują się w tablicy:

sh_shared.lua
settings.possibleColors

Struktura palety kolorów

Przykładowa struktura palety kolorów:

settings.possibleColors
settings.possibleColors = {
['white'] = { name = 'Biały', color = { 255, 255, 255 } },
['black'] = { name = 'Czarny', color = { 0, 0, 0 } },
['red'] = { name = 'Czerwony', color = { 255, 0, 0 } },
['green'] = { name = 'Zielony', color = { 0, 255, 0 } },
}

Każdy wpis oznacza jeden kolor dostępny w salonie.


Opis pól palety kolorów

id

id to nazwa kodowa koloru używana w tablicy settings.possibleColors.

Przykład:

ID koloru
['white'] = { name = 'Biały', color = { 255, 255, 255 } }

W tym przykładzie ID koloru to:

white
tip

Najlepiej używać prostych angielskich nazw kolorów, na przykład white, black, red, blue.

warning

ID kolorów nie powinny się powtarzać.
Jeżeli użyjesz dwa razy tego samego ID, jeden kolor może nadpisać drugi.


name

Pole name określa wyświetlaną nazwę koloru.

Jest to nazwa, którą gracz widzi obok palety kolorów po wybraniu danego koloru.

Przykład:

Nazwa koloru
name = 'Biały'

color

Pole color określa kolor pojazdu w formacie RGB.

Kolor składa się z trzech wartości:

WartośćZnaczenie
rIlość koloru czerwonego
gIlość koloru zielonego
bIlość koloru niebieskiego

Przykład białego koloru:

Biały kolor
color = { 255, 255, 255 }

Przykład czerwonego koloru:

Czerwony kolor
color = { 255, 0, 0 }
tip

Wartości RGB najczęściej mieszczą się w zakresie od 0 do 255.


Przykład dodania nowego koloru

Aby dodać nowy kolor, dodaj kolejny wpis do tablicy settings.possibleColors.

Dodanie koloru niebieskiego
settings.possibleColors = {
['white'] = { name = 'Biały', color = { 255, 255, 255 } },
['black'] = { name = 'Czarny', color = { 0, 0, 0 } },
['red'] = { name = 'Czerwony', color = { 255, 0, 0 } },
['blue'] = { name = 'Niebieski', color = { 0, 0, 255 } },
}

W tym przykładzie:

  • dodano kolor o ID blue,
  • nazwa wyświetlana to Niebieski,
  • kolor RGB to { 0, 0, 255 }.

Dodawanie i edycja salonów pojazdów

Salony pojazdów znajdują się w tablicy:

sh_shared.lua
settings.dealers

Każdy salon ma własne ID oraz osobną konfigurację miejsc postojowych i pojazdów dostępnych w rotacji.


Struktura salonów

Przykładowa struktura dla kilku salonów:

settings.dealers
settings.dealers = {
['dealer_id'] = {
vehicleSpots = {
{ position = { x, y, z }, rotation = { rx, ry, rz } },
{ position = { x, y, z }, rotation = { rx, ry, rz } },
},

possibleVehicles = {
{ model = modelId, price = 0, mileage = 0, fuelType = 'diesel' },
{ model = modelId, price = 0, mileage = 0, fuelType = 'diesel' },
{ model = modelId, price = 0, mileage = 0, fuelType = 'diesel' },
},
},

['dealer_id'] = {
vehicleSpots = {
{ position = { x, y, z }, rotation = { rx, ry, rz } },
{ position = { x, y, z }, rotation = { rx, ry, rz } },
},

possibleVehicles = {
{ model = modelId, price = 0, mileage = 0, fuelType = 'diesel' },
{ model = modelId, price = 0, mileage = 0, fuelType = 'diesel' },
},
},
}
info

Każdy wpis ['dealer_id'] oznacza osobny salon pojazdów.


Opis pól salonu

dealer_id

dealer_id to nazwa kodowa salonu.

Przykład:

ID salonu
['lowriders'] = {
-- konfiguracja salonu
}
warning

ID salonów nie mogą się powtarzać.
Każdy salon musi mieć własne, unikalne dealer_id.

tip

Najlepiej używać prostych nazw bez polskich znaków i spacji, na przykład lowriders, premium, truck_dealer.


vehicleSpots

Pole vehicleSpots określa miejsca, w których będą pojawiać się pojazdy salonowe.

Przykład:

Miejsca pojazdów
vehicleSpots = {
{ position = { 2131.20, -1149.50, 24.10 }, rotation = { 0, 0, 90 } },
{ position = { 2135.80, -1149.50, 24.10 }, rotation = { 0, 0, 90 } },
}

Każdy wpis w vehicleSpots oznacza jedno miejsce postojowe.


position

Pole position określa pozycję miejsca postojowego pojazdu salonowego.

Pozycja składa się z trzech wartości:

WartośćZnaczenie
xPozycja na osi X
yPozycja na osi Y
zWysokość

Przykład:

Pozycja miejsca postojowego
position = { 2131.20, -1149.50, 24.10 }
tip

Pozycję można pobrać w grze za pomocą komendy /gp.


rotation

Pole rotation określa obrót pojazdu salonowego.

Rotacja składa się z trzech wartości:

WartośćZnaczenie
rxObrót na osi X
ryObrót na osi Y
rzObrót na osi Z

Przykład:

Rotacja pojazdu
rotation = { 0, 0, 90 }

Najczęściej do ustawienia kierunku pojazdu wystarczy zmiana wartości rz.


possibleVehicles

Pole possibleVehicles określa listę pojazdów, które mogą pojawić się w danym salonie.

Przykład:

Pojazdy dostępne w salonie
possibleVehicles = {
{ model = 411, price = 250000, mileage = 0, fuelType = 'petrol' },
{ model = 451, price = 220000, mileage = 10000, fuelType = 'petrol' },
{ model = 515, price = 400000, mileage = 0, fuelType = 'diesel' },
}

possibleVehicles.model

Pole model określa ID modelu pojazdu, który może pojawić się w rotacji salonu.

Przykład:

Model pojazdu
model = 411

possibleVehicles.price

Pole price określa cenę pojazdu.

Przykład:

Cena pojazdu
price = 250000

possibleVehicles.mileage

Pole mileage określa przebieg pojazdu salonowego.

Przykład:

Przebieg pojazdu
mileage = 0

possibleVehicles.fuelType

Pole fuelType określa typ paliwa pojazdu.

Dostępne wartości:

WartośćZnaczenie
dieselDiesel
petrolBenzyna

Przykład:

Typ paliwa
fuelType = 'diesel'
warning

Wartość fuelType powinna być wpisana jako tekst, czyli w cudzysłowie.


Przykład dodania jednego salonu

Poniżej znajduje się przykład konfiguracji jednego salonu pojazdów:

sh_shared.lua
settings.dealers = {
['premium'] = {
vehicleSpots = {
{ position = { 2131.20, -1149.50, 24.10 }, rotation = { 0, 0, 90 } },
{ position = { 2135.80, -1149.50, 24.10 }, rotation = { 0, 0, 90 } },
},

possibleVehicles = {
{ model = 411, price = 250000, mileage = 0, fuelType = 'petrol' },
{ model = 451, price = 220000, mileage = 10000, fuelType = 'petrol' },
{ model = 515, price = 400000, mileage = 0, fuelType = 'diesel' },
},
},
}

W tym przykładzie:

  • salon ma ID premium,
  • salon posiada dwa miejsca postojowe,
  • w salonie mogą pojawić się trzy różne pojazdy,
  • pojazdy mają ustawione ceny, przebieg oraz typ paliwa.

Regulacja wysokości pojazdu

Jeżeli pojazd w salonie ma koła w ziemi, jest zbyt nisko albo zbyt wysoko, można ustawić dla niego korektę wysokości.

Regulacja wysokości znajduje się w tablicy:

sh_shared.lua
settings.modelsZIndex

Struktura regulacji wysokości

settings.modelsZIndex
settings.modelsZIndex = {
[modelId] = 0.5,
[modelId] = 0.5,
}

modelId oznacza ID modelu pojazdu, dla którego chcesz dodać regulację wysokości.

Wartość po znaku = określa, o ile wyżej lub niżej ma pojawić się pojazd.


Przykład podniesienia pojazdu

Podniesienie pojazdu
settings.modelsZIndex = {
[515] = 0.5,
}

W tym przykładzie pojazd o modelu 515 będzie respiony o 0.5 wyżej.


Przykład obniżenia pojazdu

Obniżenie pojazdu
settings.modelsZIndex = {
[411] = -0.2,
}

W tym przykładzie pojazd o modelu 411 będzie respiony o 0.2 niżej.

info

Wartość może być dodatnia albo ujemna.

tip

Jeżeli pojazd ma koła w ziemi, zwiększ wartość, na przykład do 0.5.
Jeżeli pojazd jest za wysoko, zmniejsz wartość albo użyj liczby ujemnej.


Przykład pełnej konfiguracji

Poniżej znajduje się przykładowa konfiguracja kolorów, salonu i regulacji wysokości pojazdu.

sh_shared.lua
settings.possibleColors = {
['white'] = { name = 'Biały', color = { 255, 255, 255 } },
['black'] = { name = 'Czarny', color = { 0, 0, 0 } },
['red'] = { name = 'Czerwony', color = { 255, 0, 0 } },
['blue'] = { name = 'Niebieski', color = { 0, 0, 255 } },
}

settings.dealers = {
['premium'] = {
vehicleSpots = {
{ position = { 2131.20, -1149.50, 24.10 }, rotation = { 0, 0, 90 } },
{ position = { 2135.80, -1149.50, 24.10 }, rotation = { 0, 0, 90 } },
},

possibleVehicles = {
{ model = 411, price = 250000, mileage = 0, fuelType = 'petrol' },
{ model = 451, price = 220000, mileage = 10000, fuelType = 'petrol' },
{ model = 515, price = 400000, mileage = 0, fuelType = 'diesel' },
},
},
}

settings.modelsZIndex = {
[515] = 0.5,
}

Podsumowanie

Aby skonfigurować salony pojazdów:

  1. Edytuj plik tW_carDealer/sh_shared.lua.
  2. Kolory dodawaj w settings.possibleColors.
  3. Salony dodawaj w settings.dealers.
  4. Miejsca pojazdów ustawiaj w vehicleSpots.
  5. Pojazdy dostępne w salonie ustawiaj w possibleVehicles.
  6. Regulację wysokości pojazdów ustawiaj w settings.modelsZIndex.
  7. Pamiętaj o przecinku po każdym wpisie.
  8. Zapisz plik i zrestartuj zasób tW_carDealer.

Najważniejsze tablice:

TablicaZa co odpowiada
settings.possibleColorsPaleta kolorów pojazdów
settings.dealersKonfiguracja salonów pojazdów
settings.modelsZIndexRegulacja wysokości respienia pojazdów

Najważniejsze pola:

PoleZa co odpowiada
dealer_idUnikalne ID salonu
vehicleSpotsMiejsca postojowe pojazdów
possibleVehiclesLista pojazdów w rotacji
modelID modelu pojazdu
priceCena pojazdu
mileagePrzebieg pojazdu
fuelTypeTyp paliwa pojazdu
positionPozycja miejsca postojowego
rotationRotacja miejsca postojowego
info

Konfiguracja salonów pojazdów korzysta ze zwykłych tablic Lua.
Nie trzeba konwertować jej do JSON-a.