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"
}