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:
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:
- Otwórz zasób
tW_carDealer. - Przejdź do pliku
sh_shared.lua. - Edytuj jedną z wymaganych tablic:
settings.possibleColors— kolory pojazdów,settings.dealers— salony pojazdów,settings.modelsZIndex— regulacja wysokości pojazdów.
- Zapisz plik.
- Zrestartuj zasób
tW_carDealer.
Konfiguracja salonów pojazdów korzysta ze zwykłych tablic Lua.
Nie trzeba używać JSON-a ani narzędzia tableToJSON.
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:
settings.possibleColors
Struktura palety kolorów
Przykładowa struktura palety kolorów:
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:
['white'] = { name = 'Biały', color = { 255, 255, 255 } }
W tym przykładzie ID koloru to:
white
Najlepiej używać prostych angielskich nazw kolorów, na przykład white, black, red, blue.
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:
name = 'Biały'
color
Pole color określa kolor pojazdu w formacie RGB.
Kolor składa się z trzech wartości:
| Wartość | Znaczenie |
|---|---|
r | Ilość koloru czerwonego |
g | Ilość koloru zielonego |
b | Ilość koloru niebieskiego |
Przykład białego koloru:
color = { 255, 255, 255 }
Przykład czerwonego koloru:
color = { 255, 0, 0 }
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.
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:
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 = {
['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' },
},
},
}
Każdy wpis ['dealer_id'] oznacza osobny salon pojazdów.
Opis pól salonu
dealer_id
dealer_id to nazwa kodowa salonu.
Przykład:
['lowriders'] = {
-- konfiguracja salonu
}
ID salonów nie mogą się powtarzać.
Każdy salon musi mieć własne, unikalne dealer_id.
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:
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 |
|---|---|
x | Pozycja na osi X |
y | Pozycja na osi Y |
z | Wysokość |
Przykład:
position = { 2131.20, -1149.50, 24.10 }
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 |
|---|---|
rx | Obrót na osi X |
ry | Obrót na osi Y |
rz | Obrót na osi Z |
Przykład:
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:
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 = 411
possibleVehicles.price
Pole price określa cenę pojazdu.
Przykład:
price = 250000
possibleVehicles.mileage
Pole mileage określa przebieg pojazdu salonowego.
Przykład:
mileage = 0
possibleVehicles.fuelType
Pole fuelType określa typ paliwa pojazdu.
Dostępne wartości:
| Wartość | Znaczenie |
|---|---|
diesel | Diesel |
petrol | Benzyna |
Przykład:
fuelType = 'diesel'
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:
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:
settings.modelsZIndex
Struktura regulacji wysokości
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
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
settings.modelsZIndex = {
[411] = -0.2,
}
W tym przykładzie pojazd o modelu 411 będzie respiony o 0.2 niżej.
Wartość może być dodatnia albo ujemna.
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.
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:
- Edytuj plik
tW_carDealer/sh_shared.lua. - Kolory dodawaj w
settings.possibleColors. - Salony dodawaj w
settings.dealers. - Miejsca pojazdów ustawiaj w
vehicleSpots. - Pojazdy dostępne w salonie ustawiaj w
possibleVehicles. - Regulację wysokości pojazdów ustawiaj w
settings.modelsZIndex. - Pamiętaj o przecinku po każdym wpisie.
- Zapisz plik i zrestartuj zasób
tW_carDealer.
Najważniejsze tablice:
| Tablica | Za co odpowiada |
|---|---|
settings.possibleColors | Paleta kolorów pojazdów |
settings.dealers | Konfiguracja salonów pojazdów |
settings.modelsZIndex | Regulacja wysokości respienia pojazdów |
Najważniejsze pola:
| Pole | Za co odpowiada |
|---|---|
dealer_id | Unikalne ID salonu |
vehicleSpots | Miejsca postojowe pojazdów |
possibleVehicles | Lista pojazdów w rotacji |
model | ID modelu pojazdu |
price | Cena pojazdu |
mileage | Przebieg pojazdu |
fuelType | Typ paliwa pojazdu |
position | Pozycja miejsca postojowego |
rotation | Rotacja miejsca postojowego |
Konfiguracja salonów pojazdów korzysta ze zwykłych tablic Lua.
Nie trzeba konwertować jej do JSON-a.