Balansowanie ekonomii serwera FiveM: wynagrodzenia, ujścia pieniędzy i inflacja
Jak zbalansować ekonomię serwera FiveM: wynagrodzenia, pieniądze początkowe, ceny, ujścia pieniędzy takie jak naprawy, paliwo, podatki i mieszkania, czarna kasa i SQL do obserwacji inflacji.
Objaw: nowi gracze kupią wszystko w dzień, ceny przestają czegokolwiek znaczyć, a najbogatsi gracze mają więcej pieniędzy niż cały katalog sklepu kosztuje.
Ekonomia to dwa przepływy: pieniądze wchodzące do gry (krany) i pieniądze opuszczające ją (ujścia). Gdy krany wygrywają na wystarczająco długo, dostajesz inflację. Ten artykuł pokazuje gdzie pieniądze pochodzą, jak je usunąć ponownie i jak zmierzyć je bazą danych.
Krany: gdzie pieniądze wchodzą
Wyświetl każde źródło zanim zmienisz jakąkolwiek liczbę:
- Wynagrodzenia: regularna płata na pracę i stopień, czy gracz pracuje czy stoi bezczynnie.
- Pieniądze początkowe: co nowa postać otrzymuje.
- Nagrody za pracę i aktywność: dostawy, misje, rabunki, sprzedaż przedmiotów NPC lub sklepowi przedmiotów.
- Polecenia admina i prezenty: pieniądze, które dajesz ręcznie.
Wynagrodzenia to najcichszy kran, ponieważ działają na czasomierzu. W QBCore przedział wynagrodzeń i początkowe wartości gotówki i banku żyją w głównym konfigu; w ESX Legacy przedział i początkowe konta są również w głównym konfigu, a kwota pochodzi ze stopnia pracy. Znajdź je w Twojej wersji zamiast zgadywania i przeczytaj płatę stopnia w konfigu pracy (ESX, QBCore).
Wskazówka: wiele serwerów płaci wysokie wynagrodzenie, aby przyciągnąć graczy, a następnie zastanawiają się, dlaczego pieniądze są bezwartościowe. Niskie wynagrodzenie z rzeczywistymi nagrodami za aktywność utrzymuje graczy w czymś.
Ustawianie cen
Zakotwicz wszystko do jednej liczby: co gracz zarabia w godzinę normalnej pracy. Następnie obliczyć ceny w godzinach:
| Przedmiot | Rozsądna cena |
|---|---|
| Podstawowy samochód | Kilka godzin pracy |
| Dobry samochód | Dzień lub dwa gry |
| Jedzenie i napoje | Minuty pracy |
| Dom lub apartament | Wiele godzin, z bieżącymi kosztami |
Nie potrzebujesz dokładnych wartości. Potrzebujesz porządku: tanie rzeczy są tanie, przedmioty statusu zajmują rzeczywisty czas. Odwiedź to ponownie po pierwszym tygodniu z rzeczywistymi danymi.
Ujścia pieniędzy
Ujście bierze pieniądze i nic nie daje w zamian. Dobre również dodają gameplay:
- Naprawy: mechanik pobiera opłaty, lub gracz płaci w warsztacie. Zajrzyj do mechanic job.
- Paliwo: mały powtarzający się koszt, który każdy kierowca płaci.
- Podatki: na pojazdy, majątek, zakupy w sklepie lub zyski firmy.
- Mieszkania: czynsz, media lub cena zakupu. Zobacz housing and apartments.
- Licencje i grzywny: prawo jazdy, licencja na broń, grzywny policji.
- Ubezpieczenie i opłaty za przechowywanie pojazdy.
Nie przesadzaj z jednym z nich. Mały koszt, który występuje często, jest lepszy niż jeden gigantyczny koszt, który wydaje się karą.
Gotówka, bank i czarna kasa
Pieniądze istnieją w kilka kont, które mają znaczenie gdy mierzysz. Gotówka i bank to normalne pieniądze. Czarna kasa (brudne pieniądze) to oddzielne konto lub przedmiot, zwykle zarabiany z незаконной aktywności i prany w czyste pieniądze. Utrzymuj to pod kontrolą z kursem konwersji, więc jest warte mniej niż czyste pieniądze i zobacz cash, bank and black money dla tego, jak każdy typ jest przechowywany i wydawany.
Obserwacja inflacji za pomocą zapytań
Nie potrzebujesz dashboardu. Zapytanie w tabeli postaci, uruchomione codziennie, pokazuje trend. Pieniądze są przechowywane jako JSON w jednej kolumnie, więc wyodrębnij wartości:
-- ESX Legacy: users.accounts holds {"money":..,"bank":..,"black_money":..}
SELECT
COUNT(*) AS characters,
SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(accounts, '$.money')) AS DECIMAL(20,0))) AS cash,
SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(accounts, '$.bank')) AS DECIMAL(20,0))) AS bank,
SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(accounts, '$.black_money')) AS DECIMAL(20,0))) AS black
FROM users;-- QBCore and QBox: players.money holds {"cash":..,"bank":..,"crypto":..}
SELECT
COUNT(*) AS characters,
SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(money, '$.cash')) AS DECIMAL(20,0))) AS cash,
SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(money, '$.bank')) AS DECIMAL(20,0))) AS bank
FROM players;Sprawdzaj nazwy kolumn w Twojej własnej bazie danych najpierw, ponieważ niektóre serwery je dostosowywają. Przechowuj wynik w małej tabeli z datą, aby mógł ją wykreślić później:
CREATE TABLE IF NOT EXISTS economy_snapshots (
id INT AUTO_INCREMENT PRIMARY KEY,
taken_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
characters INT,
cash BIGINT,
bank BIGINT
);Dwa inne zapytania warte są uruchamiania od czasu do czasu: dziesięć najbogatszych postaci (ogromna wartość odstająca wskazuje exploit) i średnie pieniądze na postać. Porównaj je z tym, ile postaci jest aktywnych, ponieważ całość podzielona przez aktywnych graczy to bardziej uczciwa liczba niż całość sama. Aby uzyskać pomoc z zapytań z Lua, zobacz oxmysql queries.
Co robić, gdy się inflacjonuje
- Znajdź kran: nową pracę, wypłatę rabunku, błąd. Porównaj daty.
- Obniż kran zanim dodasz ujścia.
- Dodaj lub podnieś ujście, które dotyka każdego (paliwo, podatki).
- Dla ucieczliwego exploitu, napraw go pierwszy, a potem radzić sobie z pieniędzmi, ponieważ usunięcie pieniędzy, podczas gdy wyciek jest otwarty, jest bezużyteczne.
Wyczyszczenie sald to ostateczność, ponieważ gracze tracą zaufanie. Łagodniejsze opcje to podatki na dużych saldach, cięcie odsetek bankowych, lub ograniczone czasowo przedmioty luksusowe, które absorbują pieniądze.
Checklist
| Objaw | Rozwiązanie |
|---|---|
| Wszystko przystępne w dzień | Obniż wynagrodzenie i pieniądze początkowe |
| Całkowite pieniądze rosną każdy tydzień | Obniż krany, dodaj ujścia, które dotykają każdego |
| Jedna postać ma absurdalne pieniądze | Szukaj exploitu, sprawdzaj logi |
| Ceny wydają się bezcelowe | Obliczaj w godzinach pracy |
| Czarna kasa zbyt silna | Dodaj stratę przy praniu |
| Brak danych do podjęcia decyzji | Snapshot totals codziennie |
Szybkie odpowiedzi
Jak mogę wiedzieć, czy moja ekonomia się inflacjonuje?
Sumuj pieniądze wszystkich postaci w bazie danych na harmonogram, na przykład raz dziennie i porównaj liczby. Jeśli całkowita liczba wciąż rośnie szybciej niż liczba graczy, więcej pieniędzy wchodzi niż wychodzi.
Co to jest ujście pieniędzy?
Wszystko, co bierze pieniądze z gry na zawsze: naprawy, paliwo, podatki, czynsz, licencje, grzywny. Bez ujść, pieniądze tylko się akumulują.
Gdzie zmieniam wynagrodzenie i pieniądze początkowe?
W głównym konfigu Twojego frameworku. ESX i QBCore każde mają ustawienia dla przedziału wynagrodzeń i pieniędzy, które nowa postać zaczyna, a płaca pracy jest zdefiniowana na stopień.


