Personalizacja
Wszystko, co masz zmieniać, znajduje się w czterech otwartych folderach: config/, locales/, bridge/ i items/. Reszta Lua jest objęta escrow.
Który plik decyduje o czym
Dział zatytułowany „Który plik decyduje o czym”| Plik | O czym decyduje | Otwarty? |
|---|---|---|
config/config.lua | Język, system interakcji, powiadomienia, dostawy, kopanie offline, NPC dealera i jego blip | Tak |
config/warehouses.lua | Trzy magazyny: cena, miejsca na rigi, obraz, miejsce pojawienia się, miejsce lądowania paczek; ustawienia wyjścia i blipów posiadanych magazynów | Tak |
config/shop.lua | Każda część w sklepie na laptopie: cena, waty, hashrate, kategoria | Tak |
config/cryptos.lua | Monety: nazwa, cena bazowa, zmienność, trudność, kolor, ikona | Tak |
config/webhook.lua | Dwa webhooki Discord. Ładowane tylko na serwerze | Tak |
locales/*.lua | Każdy tekst, w grze i na laptopie | Tak |
bridge/bridge_client.lua | Powiadomienia, tekst pomocy, callbacki oraz wrapper ox_target / qb-target / drawtext | Tak |
bridge/bridge_server.lua | Gracze, pieniądze, imiona i przedmioty przez fmLib | Tak |
items/ | Definicje przedmiotów dla ox, qb i ESX oraz ikony przedmiotów | Tak |
html/ | Sklep dealera i ekran laptopa, a także obrazy magazynów w html/img/ | Tak, bez escrow |
mic_crypto_props/ | Streamowane modele i podglądy 3D pokazywane na laptopie | Tylko zasoby |
Ogólne — config/config.lua
Dział zatytułowany „Ogólne — config/config.lua”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.Locale | Który plik z locales/ jest używany | 'en' |
Config.Interaction | ox_target, qb-target lub drawtext (podpowiedź Press E) | 'ox_target' |
Config.CustomLaptopNotificacions | true: komunikaty sklepu i handlu pojawiają się jako toasty na ekranie laptopa. false: zwykłe powiadomienia twojego frameworka | true |
Config.ReceiveProductsDirectlyToInventory | true: części kupione na laptopie trafiają prosto do ekwipunku. false: w magazynie zostaje zrzucona paczka do odebrania | false |
Config.OfflineMining | Czy rigi kopią, gdy właściciel jest rozłączony | true |
Config.OfflineRate | Jak szybko działa kopanie offline. 1.0 to pełna prędkość, 0.5 połowa | 1.0 |
Nazwa opcji CustomLaptopNotificacions jest tak zapisana w pliku — zachowaj pisownię.
Dealer — Config.NPC i Config.Blip
Dział zatytułowany „Dealer — Config.NPC i Config.Blip”| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.NPC.model | Model peda dealera | s_m_y_ammucity_01 |
Config.NPC.coords | Gdzie stoi dealer, wraz z kierunkiem | Przy porcie |
Config.NPC.scenario | Co robi dealer | WORLD_HUMAN_CLIPBOARD |
Config.NPC.interactDistance | Jak blisko musisz być | 2.5 |
Config.Blip.enable | Pokazuje dealera na mapie | true |
Config.Blip.sprite / color / scale | Wygląd blipa | 478 / 5 / 0.8 |
Config.Blip.name | Etykieta blipa | Crypto Warehouse Shop |
Magazyny — config/warehouses.lua
Dział zatytułowany „Magazyny — config/warehouses.lua”| Magazyn | id | Cena | Miejsca na rigi (rigSlots) |
|---|---|---|---|
| Mały | warehouse_small | 50 000 | 8 |
| Średni | warehouse_medium | 150 000 | 21 |
| Duży | warehouse_large | 350 000 | 37 |
Każdy magazyn ma te pola:
| Pole | Co robi |
|---|---|
id | Nazwa wewnętrzna. Zostaw trzy identyfikatory bez zmian |
name, description | Tekst sklepu, z pliku lokalizacji |
price | Koszt, płatny gotówką lub z banku — wybiera kupujący |
rigSlots | Liczba pokazywana w sklepie |
image | Obraz w sklepie, z html/img/ |
security, power | Etykiety pokazywane w sklepie |
viewCoords | Dokąd View wysyła kupującego, by rozejrzał się przed zapłatą |
insideCoords | Gdzie pojawiasz się po wejściu; tu też jest wyjście |
packageCoords | Gdzie ląduje paczka z dostawą |
Nad listą:
| Opcja | Co robi | Domyślnie |
|---|---|---|
Config.ExitCoords | Gdzie wszyscy wychodzą, niezależnie od tego, w którym magazynie byli | Obok dealera |
Config.WarehouseBlips | Sprite, kolor i skala blipa dla magazynów, które posiadasz | 478, zielony, 0.7 |
Sklep — config/shop.lua
Dział zatytułowany „Sklep — config/shop.lua”Config.Shop.Categories ustawia cztery karty sklepu na laptopie (GPU, zasilacze, wentylatory, stelaże). Config.Shop.Items to lista części. Zakupy na laptopie są zawsze płatne z banku.
| Pole | Co robi |
|---|---|
id | Nazwa przedmiotu. Musi odpowiadać przedmiotowi w twoim ekwipunku i modelowi w mic_crypto_props |
category | gpus, psus, fans lub racks |
label, description | Tekst sklepu, z pliku lokalizacji |
price | Koszt |
image | Nazwa pliku ikony |
watts | Dla GPU i wentylatorów: ile pobiera. Dla zasilaczy: ile dostarcza |
hashrate | Tylko GPU: GH/s na kartę |
temperature, cooling | Ciepło na GPU i chłodzenie na wentylator, używane przez zestawienie bilansu na górze pliku. Ta wersja nie uwzględnia ich w grze — egzekwowana jest moc |
Ceny domyślne:
| Część | Cena | Część | Cena |
|---|---|---|---|
| Badger Comm-100 | 450 | PostOP 500W | 150 |
| Wiwang PC-G | 900 | Whiz Wireless 850W | 350 |
| eCola OC Edition | 1 600 | Merryweather 1600W | 800 |
| iFruit Pro Max | 2 800 | Darrell Brother Fan | 45 |
| Sprunk Xtreme | 4 500 | FlyUS Aero Fan | 120 |
| Standard 5-Slot Rig | 1 200 | Atomic Vortex 120mm | 250 |
Blok komentarza na górze config/shop.lua rozpisuje, jakich zasilaczy i wentylatorów potrzebuje każdy poziom GPU do pełnego rigu. Przeczytaj go, zanim zmienisz watts — to najszybszy sposób, by każdy poziom dało się zbudować.
Jak sprawdzana jest moc. Gdy instalowane jest GPU lub wentylator, łączny pobór rigu (każde GPU i wentylator) plus nowa część muszą zmieścić się w sumie jego zasilaczy. Jeśli się nie mieszczą, część jest odrzucana z komunikatem not enough power.
Monety — config/cryptos.lua
Dział zatytułowany „Monety — config/cryptos.lua”W zestawie są cztery monety. Dodawaj i usuwaj wpisy swobodnie; nowa moneta jest dodawana do tabeli rynku przy następnym starcie.
| Moneta | Nazwa | Cena bazowa | range | difficulty |
|---|---|---|---|---|
MWX | Merryweather Crypto | 850,50 | 10 | 1.0 |
FLK | Fleeca Token | 45,20 | 5 | 0.5 |
PEG | Pegassi Coin | 12 500,00 | 25 | 5.0 |
LIFE | LifeInvader Chain | 120,75 | 15 | 0.8 |
| Pole | Co robi |
|---|---|
label | Nazwa pokazywana na laptopie, z pliku lokalizacji |
short | Ticker |
basePrice | Cena, wokół której moneta się waha |
range | Jak mocno może się wahać, w procentach w każdą stronę |
difficulty | Im wyższa, tym wolniej się kopie |
color, icon | Kolor i ikona Font Awesome na laptopie |
Jak porusza się rynek. Co 15 minut każda moneta dostaje nową cenę: jej basePrice przesunięte w górę lub w dół o losową wartość w granicach range procent. Cena jest zapisywana, więc przetrwa restart.
Jak płaci kopanie. Właściciele dzielą hashrate swojego magazynu między monety suwakami na laptopie. Co minutę każda moneta zarabia przydzielone GH/s × 0,01 ÷ difficulty. Jedna karta Badger (0,10 GH/s) na MWX daje 0,001 MWX na minutę. Hashrate nieprzydzielony żadnej monecie niczego nie kopie.
Handel. Kupno monety zabiera pieniądze z banku gracza przy laptopie; sprzedaż wypłaca do banku gracza przy laptopie. Salda należą do magazynu, więc każdy, komu go udostępnisz, może nimi handlować.
Webhooki — config/webhook.lua
Dział zatytułowany „Webhooki — config/webhook.lua”| Opcja | Co jest logowane |
|---|---|
Config.WebhookBuy | Każdy zakup krypto na giełdzie |
Config.WebhookSell | Każda sprzedaż krypto na giełdzie |
Każda wiadomość zawiera imię i nazwisko postaci, jej identyfikatory license, steam i discord (Discord jako wzmianka), monetę, ilość i sumę. Zostaw URL pusty, aby wyłączyć dany log. Tekst wiadomości jest w pliku lokalizacji (webhook_buy, webhook_sell).
Ten plik jest ładowany tylko na serwerze, więc adresy URL nigdy nie są wysyłane do graczy.
W locales/ jest jedenaście: en, es, fr, de, it, pt, nl, ar, ja, ko, ru. Ustaw Config.Locale na odpowiedni kod.
Aby dodać nowy, skopiuj locales/en.lua do nowego pliku nazwanego twoim kodem, zmień linię Locales['en'] na swój kod, przetłumacz prawą stronę każdej linii i ustaw w Config.Locale ten kod. Laptop i sklep dealera czytają ten sam plik.
Klucz brakujący w twoim pliku wyświetla się jako Translation [xx][key] does not exist — nie ma powrotu do angielskiego, więc zachowaj każdy klucz z en.lua.
Kilka podpowiedzi jest zapisanych po angielsku w kodzie objętym escrow (tekst pomocy Press E to place Rig / install GPU oraz etykieta Collect Package) i nie pochodzi z pliku lokalizacji.
bridge/ jest otwarty, abyś mógł wskazać skryptowi to, co działa na twoim serwerze.
| Plik | Co obejmuje |
|---|---|
bridge/bridge_client.lua | Wykrywanie frameworka, Bridge.Notify, Bridge.ShowHelpNotification, callbacki oraz każda interakcja: targety encji, stref i modeli dla ox_target, qb-target lub wbudowanej pętli drawtext |
bridge/bridge_server.lua | Wykrywanie frameworka, gracze, gotówka i bank, imiona postaci oraz AddItem / HasItem / RemoveItem / RegisterUsableItem przez fmLib |
Inny zasób powiadomień: zmień Bridge.Notify w obu plikach.
Inny zasób targetu: trzy funkcje Add…Interaction i ich odpowiedniki Remove… w bridge_client.lua to jedyne miejsca, w których dotyka się targetów.
Inny framework: blok wykrywania na górze każdego pliku oraz funkcje pieniędzy, gracza i imienia to wszystko, co trzeba. Przedmioty nie zależą od frameworka — przechodzą przez fmLib.
Konta pieniężne. Magazyny są płatne z cash lub bank (wybiera kupujący); zakupy na laptopie i handel używają bank. Na ESX cash to pieniądze gracza, a bank to konto bankowe.