# Плагин «Расширенная реклама»
**Версия:** 1.0
**Автор:** illusion @ CodeStrike.STORE
**Название плагина:** Расширенная реклама
## Описание
AdvertsNEW — это плагин AMX Mod X для серверов Counter-Strike, который отображает настраиваемые сменяющиеся рекламные объявления для игроков с помощью сообщений на HUD и цветных сообщений в чате. Плагин поддерживает несколько режимов отображения, случайные цвета (HUD) и различные визуальные эффекты для создания привлекательных объявлений на сервере.
## Особенности
- ✅ **Поочередное отображение рекламных объявлений**: отображение нескольких объявлений последовательно или в случайном порядке
- ✅ **Реклама на HUD**: отображение рекламы в виде красочных сообщений на экране
- ✅ **Реклама в чате**: отображает рекламу в чате (поддерживает цветные теги)
- ✅ **Команды в чате (триггеры)**: Определите их в`key = message` файле INI и запускайте, введя соответствующий ключ в чате
- ✅ **Случайные цвета (HUD)**: каждая реклама на HUD отображается со случайно сгенерированными цветами
- ✅ **Настраиваемое положение**: настройте положение сообщений HUD по осям X и Y
- ✅ **Визуальные эффекты**: различные эффекты плавного появления и исчезновения, а также режимы отображения
- ✅ **Заполнители**: поддержка и`%map%` `%servername%`(HUD + чат)
- ✅ **Многострочные сообщения HUD**: поддержка `%newline%`(только для HUD)
- ✅ **Автоматическая перезагрузка**: перезагрузка конфигурации без перезапуска сервера
- ✅ **Автоматическое создание конфигурации**: автоматически создает конфигурацию по умолчанию, если она отсутствует
## Установка
1. **Скомпилируйте плагин:**
```bash
amxxpc AdvertsNEW.sma
```
2. **Загрузить файлы:**
- Поместить в`AdvertsNEW.amxx` `/addons/amxmodx/plugins/`
- Добавить в`AdvertsNEW.amxx` `/addons/amxmodx/configs/plugins.ini`
3. **Настройки:**
- Плагин автоматически создаст `/addons/amxmodx/configs/adverts.ini`
- Отредактируйте этот файл, чтобы добавить свои собственные рекламные объявления
## Файл конфигурации
**Файл:** `/addons/amxmodx/configs/adverts.ini`
### Формат:
```ini
; Adverts Configuration File
; Lines starting with ; are comments and will be ignored
; Placeholders: %map% (current map), %servername% (hostname)
; Chat colors: !g = green, !t = team color, !n = normal
[HUD]
Welcome to %servername%!
Current map: %map%
Line 1%newline%Line 2 of same HUD advert
[CHAT]
!g[Info] !nWelcome to !t%servername%
!g[Map] !nCurrent map: !t%map%
discord = !g[Discord] !nJoin our Discord: !thttps://discord.gg/yourserver
```
### Заполнители и теги:
- `%map%` - Заменено на текущее название карты
- `%servername%` - Заменено на имя хоста сервера (`hostname`cvar)
- `%newline%` - Вставляет разрыв строки в сообщение HUD (только для HUD)
- `!g` / `!t`/ `!n`— Цветовые метки в чате (только в чате)
- Строки, начинающиеся со или`;` , `/`рассматриваются как комментарии
### Поведение INI (важно):
- Строки, расположенные под , `[HUD]`рассматриваются как рекламные объявления в HUD.
- В разделе`[CHAT]`:
- Строка **без** `=`рассматривается как циклическая реклама в чате.
- Строка **с** `key = message`сохраняется в качестве триггера команды чата.
- Ключевое слово-триггер считается найденным, если оно встречается **в любом месте сообщения** (поддерживаются сообщения, состоящие из нескольких слов).
- `/key` а также допускаются префиксы`!key`.
- Если игрок вводит **только** ключевое слово (например, или`discord` `/discord`), его сообщение скрывается, и отображается только ответ плагина.
- Если ключевое слово встречается в более длинном сообщении (например, `how to join discord server?`), сообщение игрока остается видимым, и одновременно отображается ответ плагина.
## CVars (консольные переменные)
| CVar | По умолчанию | Описание |
| ---------------------- | ------- | ---------------------------------------------- |
| `amx_adverts_enabled` | `1` | Включить/отключить систему рекламы |
| `amx_adverts_interval` | `60.0` | Время между рекламными роликами (в секундах) |
| `amx_adverts_random` | `0` | В случайном порядке (1) или по порядку (0) |
| `amx_adverts_effect` | `2` | Тип эффекта сообщения HUD (0–3) |
| `amx_adverts_holdtime` | `5.0` | Как долго показывать каждую рекламу |
| `amx_adverts_fadein` | `0.1` | Продолжительность плавного появления (секунд) |
| `amx_adverts_fadeout` | `0.2` | Продолжительность затухания (секунды) |
| `amx_adverts_x` | `-1.0` | Положение по оси X (-1,0 = центр) |
| `amx_adverts_y` | `0.2` | Координата по оси Y (0,0 = верх, 1,0 = низ) |
### CVAR-параметры рекламных объявлений в чате:
| CVar | По умолчанию | Описание |
| --------------------------- | ------- | ---------------------------------------------- |
| `amx_adverts_chat_enabled` | `1` | Включить/отключить циклические рекламные сообщения в чате |
| `amx_adverts_chat_interval` | `60.0` | Интервал между рекламными объявлениями в чате (в секундах) |
| `amx_adverts_chat_random` | `0` | В случайном порядке (1) или по порядку (0) |
### CVAR-параметры команд чата:
| CVar | По умолчанию | Описание |
| ------------------------------ | ------- | ----------------------------------------------- |
| `amx_adverts_chatcmd_enabled` | `1` | Включение/отключение триггеров команд чата |
| `amx_adverts_chatcmd_to_all` | `0` | 0 = показывать только отправителю, 1 = показывать всем |
| `amx_adverts_chatcmd_cooldown` | `5.0` | Время восстановления (в секундах) на одного игрока для триггеров чата |
### Типы эффектов:
- `0` - Без эффекта
- `1` - Постепенное появление/исчезновение
- `2` - Эффект вспышки/стробоскопа
- `3` - Эффект расшифровки
## Команды администратора
| Команда | Уровень доступа | Описание |
| ------------------- | ------------ | --------------------------------------------------- |
| `amx_reloadadverts` | `ADMIN_CVAR` | Перезагружает настройки рекламы без перезапуска |
## Примеры использования
### Базовая конфигурация:
```ini
[HUD]
Welcome to %servername%!
Visit our website: www.yoursite.com
Current map: %map%
Join our Discord: discord.gg/yourserver
Type !shop to open the store
[CHAT]
!g[Info] !nWelcome to !t%servername%
discord = !g[Discord] !nJoin our Discord: !thttps://discord.gg/yourserver
```
### Многострочная реклама:
```ini
[HUD]
=== SERVER RULES ===%newline%1. No cheating%newline%2. No spam%newline%3. Have fun!
```
### Динамическое содержимое:
```ini
You are playing on: %map%
Server time: Check !time command
```
## Технические сведения
- **Зависимости:** amxmodx, amxmisc, reapi, reapi_stocks
- **Максимальное количество объявлений:** 32
- **Максимальная длина сообщения:** 192 символа
- **Хранение на основе массивов:** использует динамические массивы для эффективного управления памятью
- **Система цветопередачи:** для каждого дисплея генерируются случайные значения RGB
## Советы по настройке
1. **Настройки положения:**
- X: `-1.0`выравнивание по горизонтали, `0.0`= слева, `1.0`= справа
- Y: `0.0`= верх экрана, `1.0`= низ экрана
2. **Рекомендации по срокам:**
- Интервал: 30–120 секунд (избегайте спама)
- Время удержания: 3–8 секунд (продолжительность, при которой текст остается разборчивым)
- Время затухания: 0,1–0,5 секунды (плавные переходы)
3. **Рекомендации по написанию сообщений:**
- Сообщения должны быть лаконичными и понятными
- Используйте с умеренностью`%newline%`, чтобы избежать перегруженности
- Попробуйте различные типы эффектов, чтобы добиться наилучшей видимости
## Устранение неисправностей
**Реклама не отображается?**
- Параметр «Check» `amx_adverts_enabled`установлен в значение `1`
- Для`1` рекламных объявлений в чате `amx_adverts_chat_enabled`установлен флажок «Проверить»
- Убедитесь, что файл конфигурации существует и содержит допустимое содержимое
- Убедитесь, что в файле конфигурации есть хотя бы одна строка, не содержащая комментариев
**Проблемы с позицией?**
- Настройте и`amx_adverts_x` значения`amx_adverts_y`
- Тестирование с различными разрешениями экрана
**Есть вопросы по производительности?**
- Увеличьте интервал, если на сервере наблюдаются задержки
- Уменьшить количество рекламных объявлений при высоком потреблении памяти
## Поддержка
По проблемам или вопросам:
- Автор: illusion @ CodeStrike.STORE
- Ознакомьтесь с документацией по AMX Mod X, чтобы узнать об ограничениях на отображение сообщений в HUD
- Проверьте установку ReAPI на предмет правильной работы
---
**Примечание:** Для работы расширенных функций отображения сообщений в HUD этому плагину требуется ReAPI. Убедитесь, что ReAPI правильно установлен и настроен на вашем сервере Counter-Strike.