Sklep RP na Discordzie: jak prowadzić sklep, magazyn i bank na serwerze roleplay (D&D, DayZ, GTA RP)
Na serwerze D&D albo roleplay trzymaj w CordBase jedną tabelę na ekwipunek graczy (jeden wiersz na przedmiot, z właścicielem) i jedną na stan sklepu (jeden wiersz na przedmiot, z liczbą sztuk). Gracze sprawdzają rzeczy komendami slash, a ekipa zmienia ilości przez /shop update ... _mode:Decrement. To zapisuje stan magazynu; nie prowadzi sklepu.
Większość serwerów zaczyna od przypiętej wiadomości, arkusza albo bota ekonomii. Przypięta wiadomość się sypie, gdy dwie osoby edytują ją naraz, arkusz jest poza Discordem, a boty ekonomii są zbudowane wokół kupowania rzeczy za punkty. Ten poradnik zamiast tego konfiguruje zwykłe rekordy na Discordzie, korzystając z CordBase, który sami tworzymy. Ekwipunek i sklep zajmują około dziesięciu minut.
Jeśli twoi gracze potrzebują też kart postaci, darmowy szablon karty postaci da ci karty do skopiowania dla D&D 5e, roleplayu, fantasy i sci-fi.
Co będziesz mieć na końcu
- Komendę
/inventory(add,query,view,update,delete,leaderboard) z tym, co nosi każda postać. - Komendę
/shopz tym, co handlarz ma na stanie i w jakiej cenie. - Opcjonalnie komendę
/bankz depozytami i pożyczkami każdego członka, jako zwykłe liczby. - Uprawnienia ról, dzięki którym gracze mogą sprawdzać rzeczy, a ilości zmienia tylko ekipa.
Krok 1: skonfiguruj ekwipunek postaci
Ekwipunek konfiguruje się tak samo jak w poradniku o banku gildii: zainstaluj szablon Ekwipunek (item, quantity, owner, rarity, notes), zmień slug na inventory, daj graczom Odczyt, a roli MG albo ekipy Zapis. Na serwerze roleplay dwie rzeczy mają większe znaczenie niż w banku gildii.
Po pierwsze, komendy takie jak update i view każą wybrać wiersz z listy, która pokazuje tylko pierwszą kolumnę tekstową tabeli. Jeśli Mara i Joss mają po Healing Potion, zobaczysz dwie identyczne pozycje, więc dopisz posiadacza do nazwy przedmiotu: Healing Potion (Mara). Kolumna owner nadal filtruje po członku.
Po drugie, Zapis obejmuje każdy wiersz, nie tylko własny, więc gracz z Zapisem może edytować cudzy ekwipunek. Zapis zostaw ekipie, a graczom daj Odczyt.
/inventory add item:Healing Potion (Mara) quantity:3 owner:@Mara rarity:Common
/inventory update row:Healing Potion (Mara) quantity:1 _mode:Decrement
/inventory query owner:@Mara wyświetla wszystko, co ma Mara. Query pokazuje najpierw najnowsze wiersze (domyślnie 10, z limit do 25) i tylko pierwsze cztery kolumny, więc najważniejsze trzymaj na początku. „Zwiększ (dodaj do obecnej)” dodaje, „Zmniejsz (odejmij od obecnej)” odejmuje, a „Ustaw (zastąp wartość)” (domyślne) zastępuje wartość.
Krok 2: dodaj tabelę ze stanem sklepu
Plan Free obejmuje dwie tabele, więc ekwipunek i sklep się zmieszczą. W panelu utwórz tabelę Shop z kolumnami: item (tekst, wymagana), stock (liczba, wymagana), price (liczba), category (lista wyboru z twoimi opcjami, np. Weapons, Ammo, Medical) i notes (tekst). Typów kolumn nie da się zmienić po utworzeniu, więc ilości i ceny zrób liczbami.
/shop add item:Bandage stock:40 price:25 category:Medical/shop update row:Bandage stock:1 _mode:Decrementzapisuje jedną sprzedaż. Ekipa uruchamia to, gdy sprzedaż dzieje się w fabule./shop update row:Bandage stock:20 _mode:Incrementzapisuje dostawę./shop update row:Bandage price:30zmienia cenę./shop query stock:0wyświetla wyprzedane przedmioty (dokładne dopasowanie, a nie „mniej niż”).
_mode dotyczy każdej liczby podanej w jednej komendzie. Jeśli wyślesz stock i price razem z trybem „Zmniejsz (odejmij od obecnej)”, obie spadną. Zmieniaj je osobnymi komendami.
Do salonu samochodowego użyj tego samego układu z kolumnami na pojazd, stan, cenę i dealera (typ użytkownik), a wtedy /shop query dealer:@Kade pokaże plac jednego dealera.
Stan może spaść poniżej zera. Nic nie zatrzymuje zmniejszania na 0, więc jeśli ci na tym zależy, sprawdzaj liczbę.
Krok 3: bank i pożyczki jako zwykłe rekordy (opcjonalnie)
Utwórz tabelę Bank z kolumnami account (tekst, wymagana, pierwsza, żeby pokazywał ją wybierak wierszy), member (użytkownik), balance (liczba), loan_owed (liczba) i notes (tekst). Ekwipunek i sklep zajmują już dwie darmowe tabele, więc ta trzecia wymaga planu Pro.
/bank add account:Mara member:@Mara balance:500 loan_owed:0/bank update row:Mara balance:200 _mode:Incrementzapisuje wpłatę./bank update row:Mara loan_owed:100 _mode:Decrementzapisuje spłatę./bank leaderboard column:loan_owedszereguje długi od największych.
Nie ma odsetek, terminów spłaty ani automatycznych przelewów. Liczby wpisuje ekipa. Nie ma też historii zmian: view pokazuje, kto utworzył wiersz i kiedy ostatnio się zmienił, ale nie stare wartości. Jeśli potrzebujesz śladu, dodaj tabelę Transactions (account, amount, kind, date) i dopisuj wiersz przy każdym ruchu. Wspólną pulę gildii opisuje poradnik o banku gildii.
Kiedy lepiej sprawdzi się coś innego
CordBase nie ma kasy sklepowej, waluty, którą gracze zarabiają lub wydają, ani płatności między członkami. Komendy to zawsze nazwa tabeli plus jedna ze stałych akcji, więc nie zrobisz własnej /withdraw. Bot nie czyta wiadomości, więc wpisane na czacie „-100 strzał” nic nie zmienia. Jeśli chcesz wirtualnej ekonomii, w której członkowie zarabiają monety i kupują w sklepie, użyj bota ekonomii, np. UnbelievaBoat. Jeśli chcesz zasad i kości, użyj bota do gier fabularnych, np. Avrae (zobacz poradnik o kartach postaci). Arkusz jest lepszy, jeśli potrzebujesz formuł.
Limity, o których warto wiedzieć
- Free: 2 tabele po 100 wierszy. Pro (8 USD/mies.): bez limitu tabel, 10 000 wierszy na tabelę i zbiorcza edycja. Max (15 USD/mies.): 50 000 wierszy. Eksport do CSV i JSON jest w każdym planie. Zobacz cennik.
- Do 25 kolumn na tabelę. Tabele projektuje się w przeglądarce, nie z Discorda.
- Każdy członek może uruchomić 5 komend w ciągu 10 sekund.
- Obecnie nie ma importu CSV, więc istniejące listy trafiają do tabeli przez
addalbo przez panel. - Wszystkie opcje znajdziesz w liście komend.
Często zadawane pytania
Czy mogę mieć komendę /withdraw albo pozwolić graczom samym kupować przedmioty?
Nie. Każda tabela dostaje stały zestaw akcji add, query, view, update, delete i leaderboard pod własną nazwą. Najbliższa rzecz to /shop update row:... stock:1 _mode:Decrement, którą może uruchomić każdy z dostępem Zapis. Gracz niczego nie płaci i żadna waluta się nie przemieszcza.
Czy każdy gracz może widzieć albo edytować tylko swój ekwipunek?
Nie da się tego ustawić uprawnieniem. Każdy z dostępem Odczyt może przeszukiwać całą tabelę, a każdy z dostępem Zapis może zmienić dowolny wiersz. Członkowie mogą zawęzić wyniki do swoich przedmiotów przez /inventory query owner:@yourname.
Czy to mieści się w darmowym planie?
Tabele ekwipunku i sklepu tak, bo Free pozwala na 2 tabele po 100 wierszy. Trzecia tabela, np. bank, wymaga planu Pro za 8 USD/mies..