qItemShop
qItemShop to plugin dla CounterStrikeSharp, który integruje serwer CS2 ze sklepem SklepCS / sklepcs.pl.
Pozwala graczom sprawdzać i kupować usługi z poziomu gry, obsługuje zakupy portfelem oraz SMS, a także automatycznie nadaje odpowiednie uprawnienia po aktywacji usługi.
Funkcje
- menu sklepu dostępne z poziomu gry,
- obsługa zakupu usług za środki z portfela,
- obsługa zakupu usług przez SMS,
- podgląd aktywnych usług gracza,
- automatyczne nadawanie permisji po zakupie,
- odczyt konfiguracji z pliku JSON,
- ładowanie usług przypisanych do serwera po wejściu gracza,
- opcjonalne wczytywanie wszystkich aktywnych usług przy starcie mapy,
- komenda administracyjna do ręcznego dodania lub przedłużenia usługi.
Instalacja
- Wgraj folder do csgo.
- Uzupełnij dane konfiguracyjne w pliku
ItemShop.json. - Zrestartuj serwer lub przeładuj plugin.
Konfiguracja
Plik konfiguracyjny znajduje się domyślnie tutaj:
addons/counterstrikesharp/configs/Qesik/ItemShop.json
Przykład:
{
"ServerTag": "ffa",
"ApiKey": "twoj_api_key",
"Website": "shop.twojadomena.pl",
"CurrencyName": "wPLN",
"BuyAnnounceAll": true,
"LoadOnMapStart": false,
"Database": {
"Hostname": "127.0.0.1",
"Database": "sklep",
"UserName": "uzytkownik",
"Password": "haslo"
},
"ServerData": [
{
"ServerName": "FFA",
"ServerTag": "ffa",
"Item": [
{
"ItemName": "VIP",
"ItemFlags": "a",
"ItemPermissions": [
"@qVip/vip"
]
}
]
}
]
}
Opis pól
ServerTag
: identyfikator serwera zgodny z konfiguracją sklepu. Plugin na jego podstawie pobiera usługi i przypisania.
ApiKey
: klucz API używany do komunikacji ze sklepem.
Website
: adres strony sklepu wyświetlany graczom w komunikatach i menu.
CurrencyName
: nazwa waluty prezentowanej w menu, np. wPLN, PLN, pkt.
BuyAnnounceAll
: jeśli ustawione na true, informacja o zakupie może być wyświetlana wszystkim graczom.
LoadOnMapStart
: jeśli ustawione na true, plugin przy starcie mapy pobiera i odświeża aktywne usługi dla wszystkich graczy z bazy.
Database
: dane połączenia do bazy danych sklepu.
Database.Hostname
: adres hosta bazy danych.
Database.Database
: nazwa bazy danych.
Database.UserName
: użytkownik bazy danych.
Database.Password
: hasło do bazy danych.
ServerData
: lista serwerów i usług obsługiwanych przez plugin.
ServerData[].ServerName
: nazwa serwera używana opisowo w konfiguracji.
ServerData[].ServerTag
: tag serwera, który musi odpowiadać ServerTag oraz oznaczeniom używanym po stronie sklepu.
ServerData[].Item
: lista usług dostępnych dla danego serwera.
ServerData[].Item[].ItemName
: nazwa usługi wyświetlana w pluginie.
ServerData[].Item[].ItemFlags
: identyfikator flag usługi używany przy mapowaniu aktywnej usługi na permisje.
ServerData[].Item[].ItemPermissions
: lista permisji CounterStrikeSharp, które mają zostać nadane po aktywacji usługi.
Komendy gracza
css_sklepcscss_sklepsmscss_shopsmscss_kodsms <kod>
Pierwsze trzy komendy otwierają sklep lub przechodzą do jego obsługi. Komenda css_kodsms służy do wpisania kodu SMS dla wybranej usługi.
Komendy administracyjne
css_addservice <steamid> <flagi> <czas_w_minutach>
Wymagana permisja:
@qitemshop/addservice
Komenda dodaje nową usługę lub przedłuża istniejącą dla wskazanego gracza.
Uprawnienia
Plugin nadaje permisje na podstawie mapowania z sekcji ServerData -> Item -> ItemPermissions.
To oznacza, że każda usługa w sklepie powinna być poprawnie połączona z permisjami używanymi przez inne pluginy na serwerze.
Przykłady:
@qVip/vip
@qShowDamage/permission
@qWeaponRestrict/permission
Dodatkowe uwagi
ServerTagmusi być spójny pomiędzy konfiguracją pluginu, sklepem oraz wpisami wServerData.- Jeśli zmieniasz strukturę usług lub wpisy językowe, warto podmienić cały katalog
lang. - Błędne dane bazy lub API spowodują brak pobierania usług albo problemy z zakupami.
- Jeśli
LoadOnMapStartjest włączone, plugin przy każdej mapie wykonuje pełne odświeżenie aktywnych usług.