Konfiguracja restauracji
Niektóre stacje benzynowe mogą posiadać restauracje lub punkty gastronomiczne, w których gracz może kupić jedzenie albo napoje.
Konfiguracja restauracji nie znajduje się w bazie danych.
Zmiana cen produktów oraz ich wpływu na gracza odbywa się bezpośrednio w skrypcie:
tW_gasStations
w pliku:
sh_settings.lua
W konfiguracji restauracji używane są zwykłe tablice Lua.
Nie trzeba używać JSON-a ani narzędzia tableToJSON.
Ceny produktów
Za ceny produktów w restauracji odpowiada tablica:
settings.restaurantPrices = {
['coffee'] = 8,
['fries'] = 12,
['sandwich'] = 15,
['burger'] = 20,
}
Każdy wpis oznacza cenę danego produktu.
| Klucz | Produkt | Cena |
|---|---|---|
coffee | Kawa | 8 |
fries | Frytki | 12 |
sandwich | Kanapka | 15 |
burger | Burger | 20 |
Przykład:
['burger'] = 20
oznacza, że burger kosztuje 20.
Aby zmienić cenę burgera na 25, należy zmienić wartość w tablicy:
settings.restaurantPrices = {
['coffee'] = 8,
['fries'] = 12,
['sandwich'] = 15,
['burger'] = 25,
}
Zmieniaj tylko wartość po prawej stronie znaku =, jeżeli chcesz zmienić samą cenę produktu.
Zmiana poziomu zmęczenia
Za zmianę poziomu zmęczenia odpowiada tablica:
settings.tirednessLevelChanges = {
['coffee'] = 30,
}
Wartość przy danym produkcie określa, o ile zmienia się poziom zmęczenia po użyciu produktu.
| Klucz | Produkt | Zmiana poziomu zmęczenia |
|---|---|---|
coffee | Kawa | 30 |
Przykład:
['coffee'] = 30
oznacza, że kawa zmniejsza poziom zmęczenia o 30.
Maksymalny poziom zmęczenia gracza to 100
Zmiana poziomu głodu
Za zmianę poziomu głodu odpowiada tablica:
settings.hungerLevelChanges = {
['fries'] = 25,
['sandwich'] = 40,
['burger'] = 60,
}
Wartość przy danym produkcie określa, o ile zmienia się poziom głodu po użyciu produktu.
| Klucz | Produkt | Zmiana poziomu głodu |
|---|---|---|
fries | Frytki | 25 |
sandwich | Kanapka | 40 |
burger | Burger | 60 |
Przykład:
['burger'] = 60
oznacza, że burger zmniejsza poziom głodu o 60.
W praktyce oznacza to, że burger jest bardziej sycący niż frytki lub kanapka.
Maksymalny poziom głodu gracza to 100
Nazwy produktów
Nazwy produktów, takie jak:
'coffee'
'fries'
'sandwich'
'burger'
są kluczami używanymi przez skrypt.
Nie należy zmieniać ich nazw, jeżeli nie ma pewności, że dana nazwa została również zmieniona w pozostałej części skryptu.
Poprawnie:
['coffee'] = 8
Ryzykowna zmiana:
['kawa'] = 8
Zmiana nazwy klucza, na przykład z coffee na kawa, może spowodować, że produkt przestanie działać poprawnie.
Skrypt może nadal oczekiwać starej nazwy produktu.
Przykład pełnej konfiguracji
Poniżej znajduje się przykładowa kompletna konfiguracja restauracji:
settings.restaurantPrices = {
['coffee'] = 8,
['fries'] = 12,
['sandwich'] = 15,
['burger'] = 20,
}
settings.tirednessLevelChanges = {
['coffee'] = 30,
}
settings.hungerLevelChanges = {
['fries'] = 25,
['sandwich'] = 40,
['burger'] = 60,
}
Co można bezpiecznie zmieniać?
| Element | Czy można zmieniać? | Uwagi |
|---|---|---|
| Cena produktu | Tak | Zmieniaj wartość liczbową w settings.restaurantPrices |
| Wpływ na głód | Tak | Zmieniaj wartość liczbową w settings.hungerLevelChanges |
| Wpływ na zmęczenie | Tak | Zmieniaj wartość liczbową w settings.tirednessLevelChanges |
| Nazwa klucza produktu | Nie | Wymaga zmian w innych częściach skryptu |
| Dodanie nowego produktu | Nie | Produkt musi być obsłużony przez resztę skryptu |
Podsumowanie konfiguracji restauracji
Konfiguracja restauracji znajduje się w:
tW_gasStations/sh_settings.lua
Najważniejsze tablice:
| Tablica | Za co odpowiada |
|---|---|
settings.restaurantPrices | Ceny produktów |
settings.tirednessLevelChanges | Wpływ produktów na zmęczenie |
settings.hungerLevelChanges | Wpływ produktów na głód |
Najważniejsze zasady:
- konfiguracja restauracji nie znajduje się w bazie danych,
- nie używa się tutaj JSON-a,
- wartości zapisuje się jako zwykłe tablice Lua,
- ceny zmienia się w
settings.restaurantPrices, - wpływ jedzenia na głód zmienia się w
settings.hungerLevelChanges, - wpływ produktów na zmęczenie zmienia się w
settings.tirednessLevelChanges, - nie należy zmieniać nazw kluczy produktów bez sprawdzenia reszty skryptu.