Przejdź do treści
PLSetti
← Wszystkie pluginy
Rozszerzony

qAds / Advertisements - Reklamy/Informacje na serwerze

autor: Qesik

Plugin pozwala umieszczać na serwerze informację bazując na hint-center/chat, a także obrazki z uwzględnieniem flag, drużyn, itd

qAds - Plugin Reklam dla Counter-Strike 2

O Pluginie

qAds to zaawansowany plugin dla serwerów Counter-Strike 2, który umożliwia wyświetlanie reklam serwera w postaci wiadomości czatowych, tekstów podpowiedzi, komunikatów centralnych oraz obrazków. Plugin obsługuje zaawansowany system planowania wiadomości, filtrowanie na podstawie uprawnień, wielojęzyczną obsługę i inteligentne zarządzanie rotacją reklam. Idealny dla administratorów serwerów, którzy chcą promować forum, sklep, usługi lub inne elementy gry bez irytowania graczy.


🚀 Główne Możliwości

  • ✅ Wyświetlanie wiadomości na czacie, podpowiedziach i w centrum ekranu
  • ✅ Losowy lub sekwencyjny porządek wyświetlania
  • ✅ Specjalna wiadomość powitalna dla nowych graczy
  • ✅ System wyświetlania obrazków martwym graczom
  • ✅ Filtrowanie wiadomości po uprawnieniach i drużynach
  • ✅ Obsługa wielu języków (angielski, polski)
  • ✅ Dynamiczne placeholdery (nazwa gracza, IP serwera, liczba graczy online)
  • ✅ Kolorowe formatowanie tekstu
  • ✅ Komendy do testowania reklam dla administratorów

⚙️ Konfiguracja

Lokalizacja Pliku

Plik konfiguracyjny znajduje się w:

/csgo/addons/counterstrikesharp/configs/plugins/Qesik/ServerAds.json

Przykład Pełnej Konfiguracji

{
  "ChatTag": "{green}● [qAdvert] ",
  "ForumUrl": "cs-classic.pl",
  
  "First_msg": {
    "Delay": 0.0,
    "Message": {
      "Text": "Hej {playername}, witaj na serwerze {serverip}\u2029Twoje Steam id: {steamid}\u2029Graczy online: {online}/{maxplayers}\u2029Wpadnij na forum {forumurl}",
      "Translation": "",
      "Type": 0,
      "Team": 0,
      "Status": 0,
      "Permission": null,
      "ExcludePermission": null
    }
  },

  "All": {
    "InfoTime": 70,
    "Mode": true,
    "ExcludeMessage": 2,
    "Messages": [
      {
        "Text": "{chattag}{default}Usługi zakupisz pod komendą {green}!sklepcs!",
        "Translation": "",
        "Type": 0,
        "Team": 0,
        "Status": 0,
        "Permission": null,
        "ExcludePermission": null
      },
      {
        "Text": "Menu pod komendą !menu",
        "Translation": "",
        "Type": 1,
        "Team": 0,
        "Status": 0,
        "Permission": null,
        "ExcludePermission": null
      },
      {
        "Text": "",
        "Translation": "qads.info1",
        "Type": 0,
        "Team": 0,
        "Status": 0,
        "Permission": null,
        "ExcludePermission": null
      }
    ]
  },

  "DeadImages": {
    "Cooldown": 30.0,
    "DisplayTime": 10.0,
    "Random": true,
    "ExcludePermission": null,
    "Messages": [
      "https://example.com/image1.gif",
      "https://example.com/image2.gif"
    ]
  }
}

📋 Opis Opcji Konfiguracji

Parametry Główne

Parametr Typ Opis
ChatTag tekst Domyślny tag czatu wyświetlany przed wiadomościami (z kodami kolorów)
ForumUrl tekst URL forum serwera - używany w placeholderze {forumurl}

Sekcja First_msg (Wiadomość Powitalna)

Parametr Typ Opis
Delay liczba Opóźnienie w sekundach przed wyświetleniem wiadomości powitalnej nowo dołączającemu graczowi
Message obiekt Dane wiadomości (zob. tabela poniżej)

Przykład: "Delay": 2.5 - wiadomość pojawi się 2.5 sekundy po dołączeniu gracza

Sekcja All (Zwykłe Reklamy)

Parametr Typ Opis
InfoTime liczba Interwał w sekundach między wyświetleniami wiadomości (np. 70 = co 70 sekund)
Mode logika true = losowa kolejność, false = sekwencyjnie po kolei
ExcludeMessage liczba Ile ostatnich wiadomości wyłączyć z losowania (aby się nie powtarzały)
Messages tablica Lista wiadomości do wyświetlenia

Przykład: "Mode": true z "ExcludeMessage": 2 oznacza, że wiadomości będą wyświetlane losowo, ale ostatnie 2 zostaną pominięte.

Sekcja DeadImages (Reklamy Obrazkowe)

Parametr Typ Opis
Cooldown liczba Czas oczekiwania między wyświetleniami obrazków (w sekundach)
DisplayTime liczba Jak długo wyświetlać każdy obrazek (w sekundach)
Random logika true = losowa kolejność obrazków, false = po kolei
ExcludePermission tekst Uprawnienie które wyklucza gracza z widzenia obrazków (np. "@css/ban")
Messages tablica Lista URL-i do obrazków (GIF, PNG, JPG)

Przykład:

  • "Cooldown": 30.0 - co 30 sekund może się pojawić nowy obrazek
  • "DisplayTime": 10.0 - każdy obrazek będzie widoczny przez 10 sekund
  • "Random": true - obrazki będą wyświetlane w losowej kolejności

Struktura Wiadomości (Message)

Parametr Typ Opis
Text tekst Tekst wiadomości (może zawierać placeholdery w nawiasach klamrowych)
Translation tekst Klucz tłumaczenia z pliku jezykowego (pozostaw puste jeśli używasz Text)
Type liczba Typ wyświetlania: 0 = chat, 1 = podpowiedź (hint), 2 = środek ekranu
Team liczba Filtr drużyny: 0 = wszyscy, 1 = Terroryści, 2 = Anty-Terroryści
Status liczba Status gracza: 0 = wszyscy, 1 = żywi, 2 = martwi
Permission tekst Uprawnienie wymagane do zobaczenia (np. "@css/ban") lub null dla wszystkich
ExcludePermission tekst Uprawnienie które wyklucza gracza z zobaczenia lub null

Przykłady:

  • "Type": 0 - wiadomość pojawi się na czacie
  • "Type": 1 - wiadomość pojawi się w obszarze podpowiedzi
  • "Team": 1 - wiadomość zobaczą tylko Terroryści
  • "Status": 2 - wiadomość zobaczą tylko martwi gracze
  • "Permission": "@css/ban" - wiadomość zobaczą tylko administratorzy z uprawnieniem banu
  • "ExcludePermission": "vip" - wiadomość nie pojawi się dla graczy z uprawnieniem VIP

📌 Dostępne Placeholdery

Możesz użyć poniższych tagów w tekście wiadomości - zostaną automatycznie zastąpione:

Placeholder Opis Przykład
{playername} Nazwa gracza Krzychu
{steamid} ID Steam gracza 76561198123456789
{online} Liczba graczy online 32
{maxplayers} Maksymalna liczba graczy 64
{serverip} IP serwera 192.168.1.1:27015
{forumurl} URL forum (z konfiguracji) cs-classic.pl
{adminsonline} Liczba administratorów online 3
{chattag} Tag czatu (z konfiguracji) ● [qAdvert]

Przykład użycia:

"Text": "Cześć {playername}! Na serwerze jest {online}/{maxplayers} graczy. Odwiedź nas na {forumurl}"

🎨 Kody Kolorów

Możesz dodać kolory do wiadomości używając poniższych kodów:

Kod Kolor
{default} Domyślny
{red} Czerwony
{green} Zielony
{blue} Niebieski
{yellow} Żółty
{cyan} Turkusowy
{magenta} Magenta
{white} Biały
{orange} Pomarańczowy
{purple} Fioletowy

Przykład:

"Text": "{green}[WAŻNE]{default} Zapraszamy na nasz forum {forumurl}!"

🎮 Komendy

Komendy dla Administratorów

Komenda Opis Uprawnienie
css_qadvert <numer> Wyświetli wiadomość o podanym indeksie (do testowania) @css/config
css_qesik Wyświetli informacje o pluginie brak

📝 Typy Wyświetlania (Type)

  • 0 - Chat - Wiadomość pojawi się na czacie dla wszystkich graczy
  • 1 - Hint - Wiadomość pojawi się w obszarze podpowiedzi (u dołu ekranu)
  • 2 - Center - Wiadomość pojawi się w środku ekranu (duże oznaczenie)

👥 Filtry Drużyn (Team)

  • 0 - Wszyscy - Wiadomość będzie widoczna dla wszystkich graczy
  • 1 - Terroryści - Tylko dla Terrorystów
  • 2 - Anty-Terroryści - Tylko dla Anty-Terrorystów

💀 Filtry Statusu (Status)

  • 0 - Wszyscy - Dla wszystkich graczy niezależnie od statusu
  • 1 - Żywi - Tylko dla żywych graczy
  • 2 - Martwi - Tylko dla martwych graczy (przydatne z obrazkami)

🔧 Praktyczne Przykłady

Przykład 1: Prosta Reklama Forum

{
  "Text": "{green}● [Reklama]{default} Odwiedź nasze forum: {forumurl}",
  "Translation": "",
  "Type": 0,
  "Team": 0,
  "Status": 0,
  "Permission": null,
  "ExcludePermission": null
}

Przykład 2: Wiadomość Tylko dla Administratorów

{
  "Text": "{yellow}[ADMIN]{default} Konfiguracja została załadowana",
  "Translation": "",
  "Type": 1,
  "Team": 0,
  "Status": 0,
  "Permission": "@css/ban",
  "ExcludePermission": null
}

Przykład 3: Informacja dla Martwych Graczy

{
  "Text": "Czekaj na nową rundę...",
  "Translation": "",
  "Type": 1,
  "Team": 0,
  "Status": 2,
  "Permission": null,
  "ExcludePermission": null
}

Przykład 4: Wiadomość VIP Gracze NIE Zobaczą

{
  "Text": "Kup VIP i unikaj tych wiadomości!",
  "Translation": "",
  "Type": 0,
  "Team": 0,
  "Status": 0,
  "Permission": null,
  "ExcludePermission": "vip"
}