Personalizacja
Prawie wszystko znajduje się w jednym pliku, config.lua. Oba pliki bridge oraz lokalizacje (locales) są również otwarte.
Który plik decyduje o czym
Dział zatytułowany „Który plik decyduje o czym”| Plik | O czym decyduje | Otwarty? |
|---|---|---|
config.lua | Język, waluta, interakcja, limit ustawionych automatów oraz każdy stały automat wraz z ceną | Tak |
locales/*.lua | Komunikaty, powiadomienia i etykiety targetu | Tak |
bridge/client_bridge.lua | Wykrywanie frameworka, odczyt pieniędzy, powiadomienia, tekst pomocy oraz strefy ox-target / qb-target / drawtext | Tak |
bridge/server_bridge.lua | Pobieranie i wypłacanie pieniędzy lub żetonów, imiona i identyfikatory postaci, powiadomienia oraz używalne przedmioty automatów | Tak |
items/ | Definicje przedmiotów dla ox, qb i ESX oraz ikony w items/images/ | Tak |
ui/ | Menu automatu i siedem gier, każda w osobnym folderze w ui/games/ | Bez escrow |
client/data.lua | Pozycja kamery i ekranu dla każdego modelu automatu | Objęty escrow |
mic_arcade_props/ | Modele automatów i renderer ekranu | Tylko zasoby |
Ogólne — config.lua
Dział zatytułowany „Ogólne — config.lua”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.Locale | Który plik z locales/ jest używany | 'en' |
Config.PaymentType | Czym płaci się za grę: cash, bank, both lub item | 'item' |
Config.PaymentItem | Przedmiot używany jako waluta, gdy PaymentType ma wartość item | 'arcade_coin' |
Config.Interaction | ox-target (z myślnikiem), qb-target lub drawtext | 'ox-target' |
Config.MaxArcadesPerPlayer | Ile ustawionych automatów może mieć naraz jedna postać | 3 |
Typy płatności
Dział zatytułowany „Typy płatności”| Wartość | Co się dzieje |
|---|---|
cash | Płatność z gotówki (na ESX z konta money) |
bank | Płatność z konta bankowego |
both | Najpierw gotówka; jeśli jej nie wystarczy, reszta idzie z banku |
item | Płatność w Config.PaymentItem, jeden przedmiot za każdą jednostkę ceny |
Ta sama waluta jest używana dla stawek i wygranych w DuoFight.
Automaty i ceny — Config.Arcades
Dział zatytułowany „Automaty i ceny — Config.Arcades”Jeden wpis na model automatu. Każdy wpis ma Price oraz, opcjonalnie, dowolną liczbę stałych pozycji (vec4 z x, y, z i kierunkiem) — w każdej z nich pojawia się jeden automat.
| Automat | Model | Gra | Cena | Stały domyślnie |
|---|---|---|---|---|
| DuoFight | mic_arcade_duofight | Bijatyka dla dwóch graczy lub przeciwko komputerowi | 0 | Nie (zakomentowany) |
| Alien | mic_arcade_alien | Alien | 100 | Nie (zakomentowany) |
| Breakout | mic_arcade_brick | Breakout | 100 | Nie (zakomentowany) |
| Pixel | mic_arcade_pixel | Pixel | 100 | Tak |
| Race | mic_arcade_race | Race | 100 | Tak |
| Tower | mic_arcade_tower | Tower | 100 | Tak |
| Road | mic_arcade_road | Road | 100 | Tak |
- Aby dodać stały automat, dopisz pozycję do listy pod danym modelem. Stań tam, gdzie chcesz go mieć, pobierz swoje współrzędne i kierunek, a następnie wpisz je.
- Aby go usunąć, skasuj lub zakomentuj jego pozycję.
Pricenadal obowiązuje dla ustawionych automatów tego modelu. - Cena
0sprawia, że automat jest darmowy. - Punkt początkowy automatu Breakout leży niżej niż w pozostałych — domyślna pozycja Breakout jest o około 0,7 niżej na osi z niż pozycje sąsiadów. Zrób tak samo, gdy dodajesz własną.
Price jest też kwotą, jaką pobiera ustawiony automat tego modelu.
Ustawiane automaty
Dział zatytułowany „Ustawiane automaty”Przedmiot automatu (arcade_alien, arcade_race…) rozpoczyna ustawianie:
| Klawisz | Co robi |
|---|---|
| Rozglądanie się | Przesuwa podgląd tam, gdzie patrzysz |
| Kółko myszy | Obraca automat |
| E | Ustawia go i zabiera przedmiot |
| ESC / Backspace | Anuluje; przedmiot zostaje u ciebie |
Właściciel — i tylko on — dostaje na automacie opcję Pick Up Arcade (w trybie drawtext to drugi klawisz widoczny w podpowiedzi). Zabranie automatu zwraca przedmiot. Automatu, z którego ktoś korzysta, nie można podnieść.
Config.MaxArcadesPerPlayer liczy automaty, które postać ma aktualnie ustawione.
Stawki w DuoFight
Dział zatytułowany „Stawki w DuoFight”Wybranie dwóch graczy w DuoFight wymaga podania stawki: 1, 5, 25, 50 lub 100 w twojej walucie. Gospodarz ją płaci i czeka przy automacie; kolejny gracz, który użyje automatu, dostaje propozycję meczu i płaci tyle samo, by dołączyć.
| Wynik | Co się dzieje |
|---|---|
| Wygrana | Zwycięzca otrzymuje obie stawki |
| Remis | Każdy gracz dostaje swoją stawkę z powrotem |
| Gracz odchodzi w trakcie meczu | Oddaje mecz walkowerem: drugi gracz wygrywa obie stawki |
| Gospodarz odchodzi, zanim ktoś dołączy | Mecz zostaje anulowany; stawka gospodarza nie wraca |
| Gracz się rozłącza | Mecz zostaje anulowany, bez wypłaty |
Tabele wyników
Dział zatytułowany „Tabele wyników”Każda gra poza DuoFight zapisuje najlepszy wynik każdej postaci w mic_arcade_leaderboard i pokazuje dziesiątkę najlepszych na automacie. Nazwy to imię i nazwisko postaci z twojego frameworka. Aby zresetować tabelę wyników, opróżnij tę tabelę (lub wiersze jednej gry) przy zatrzymanym serwerze.
W locales/ jest dziesięć: en, es, fr, de, it, pt, nl, ja, ru, zh. Ustaw Config.Locale na odpowiedni kod.
Aby dodać nowy, skopiuj locales/en.lua do nowego pliku nazwanego twoim kodem, zmień Locales['en'] na swój kod, przetłumacz prawą stronę każdej linii i ustaw Config.Locale. Brakujący klucz wyświetla się jako Translation [xx][key] does not exist — nie ma powrotu do angielskiego.
Pliki lokalizacji obejmują to, co pokazuje świat gry: etykiety targetu, podpowiedzi pomocy i powiadomienia. Tekst wewnątrz gier jest częścią ui/games/.
| Plik | Co obejmuje |
|---|---|
bridge/client_bridge.lua | Wykrywanie frameworka, ilość pieniędzy lub żetonów pokazywana graczowi, Bridge.Notify, tekst pomocy oraz strefa interakcji na każdym automacie dla ox-target, qb-target lub drawtext |
bridge/server_bridge.lua | Wykrywanie frameworka, pobieranie i wypłacanie pieniędzy lub przedmiotów (Bridge.RemoveMoney, Bridge.AddMoney), przedmioty automatów, imię i identyfikator postaci, powiadomienia serwera oraz lista używalnych przedmiotów automatów |
Inny zasób powiadomień: zmień Bridge.Notify w pliku klienta i Bridge.ServerNotify w pliku serwera. Komunikaty not enough money są wysyłane z Bridge.RemoveMoney.
Inny zasób targetu: Bridge.RegisterArcadeInteraction i Bridge.RemoveArcadeInteraction w pliku klienta to jedyne miejsca, w których dotyka się targetów.
Inny ekwipunek: żetony i przedmioty automatów są odczytywane i zabierane przez własne funkcje gracza frameworka w server_bridge.lua. Wskaż Bridge.RemoveMoney, Bridge.AddMoney, Bridge.RemoveSpecificItem, Bridge.AddSpecificItem i Bridge.GetMoney na swój ekwipunek, jeśli nie reaguje na te funkcje.
Nowy używalny przedmiot dla automatu: tabela UsableArcades na dole server_bridge.lua przypisuje każdy przedmiot do modelu automatu.