Przejdź do treści
PLSetti
Rozszerzony

qItemShop - Zarządzanie sklepem z usługami na serwerze

autor: Qesik

Plugin pozwala zarządzać usługami graczy, pobiera listę usług sklepu oraz portfel gracza ze SklepCS, dodając możliwość kupowania samych usług z poziomu serwera.

Dostęp do klubu

Rozszerzony

Zakup dostępu kosztuje 100,00 zł, a każde przedłużenie za 40,00 zł daje 1 miesiąc wsparcia.

Zakup

100,00 zł

Przedłużenie

40,00 zł

Wsparcie

1 miesiąc

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

  1. Wgraj folder do csgo.
  2. Uzupełnij dane konfiguracyjne w pliku ItemShop.json.
  3. 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_sklepcs
  • css_sklepsms
  • css_shopsms
  • css_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

  • ServerTag musi być spójny pomiędzy konfiguracją pluginu, sklepem oraz wpisami w ServerData.
  • 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 LoadOnMapStart jest włączone, plugin przy każdej mapie wykonuje pełne odświeżenie aktywnych usług.