SMART BOT AI - Умные боты с изучением поведения игроков [No Test] | CSS

DENZEL519

Работаю через AI !
Сообщения
490
Реакции
315
Изучайте как находить указатели на адреса в памяти на Sourcemod, потом изучайте, как делать detour, для перехвата функций, когда вы будете уметь делать эти две вещи
Можно мануал, где изучить?
 

-=|УЧЕНИК|=-

вся жизнь,сплошной цирк.
Сообщения
909
Реакции
238
А я и всегда говорил про это)
Но при этом делаю то,что может ИИ.
Хватит уже.
Как ты там писал,тип "нуй надо" чтоб я что-то проверял.
Не друг.
Ты тут не прав ваше.
Выставил ресурс? Проверь,проблемы какие?
Не можешь сам,нет вариков? Попроси помощи..
 

DENZEL519

Работаю через AI !
Сообщения
490
Реакции
315
Но при этом делаю то,что может ИИ.
Хватит уже.
Как ты там писал,тип "нуй надо" чтоб я что-то проверял.
Не друг.
Ты тут не прав ваше.
Выставил ресурс? Проверь,проблемы какие?
Не можешь сам,нет вариков? Попроси помощи..
Я такое оформляю в Болтательный >> Всякое
Не лезу в категорию плагины)
 

DENZEL519

Работаю через AI !
Сообщения
490
Реакции
315
Да это понятно,поэтому к тебе и нет вопросов.
Ну лучше,что-то бы взяли свое,а не через ИИ
Ну и на оборот, может моя идея с кривым кодом от ИИ, поможет реализовать тем кто реально делает плагины сам) И он сможет заработать на этом)
 

Vit_ amin

Добрая душа
Сообщения
1,548
Реакции
735
Ну и на оборот, может моя идея с кривым кодом от ИИ, поможет реализовать тем кто реально делает плагины сам) И он сможет заработать на этом)
Ваш код вообще никак не поможет, потому что для написания кода под ИИ ботов нужен совершенно иной подход.
P. S. Говорю так, потому что делаю такие заказы
 

-=|УЧЕНИК|=-

вся жизнь,сплошной цирк.
Сообщения
909
Реакции
238
Ну и на оборот, может моя идея с кривым кодом от ИИ, поможет реализовать тем кто реально делает плагины сам) И он сможет заработат

Ну и на оборот, может моя идея с кривым кодом от ИИ, поможет реализовать тем кто реально делает плагины сам) И он сможет заработать на этом)
А судя по последнему коду ваше,то что я тестил.
Там боты даже c 4 поставить не могут
У них все идет стрельба.
Тоже ваше лишнее тут
g_cvBotReactionTime = CreateConVar("sm_bot_reaction_time", "0.15", "Базовая скорость реакции ботов (секунды)", _, true, 0.05, true, 0.5);
g_cvBotAimAccuracy = CreateConVar("sm_bot_aim_accuracy", "0.75", "Базовая точность прицеливания (0.0-1.0)", _, true, 0.3, true, 0.95);

Как ты хочешь ботов отслеживать ваше?
Тут они тупые,либо у них стоит анимацмя на движения,зачем она ваше
 

DENZEL519

Работаю через AI !
Сообщения
490
Реакции
315
V 1.0.3 - Удалите старый файл конфига

Основные функции плагина​

1. Система обучения и анализа поведения игроков​

  • Отслеживание движения игроков
  • Каждую секунду записывает позиции всех живых игроков
  • Сохраняет маршруты движения в массив g_PlayerRoutes (до 1000 позиций)
  • Если игрок стоит на месте более 3 секунд, позиция добавляется как точка укрытия
  • Анализ паттернов поведения
  • Для каждого игрока (по SteamID) создается профиль PlayerPattern
  • Отслеживает: последние 100 позиций, стиль стрельбы (0.0-1.0), скорость движения, предпочтения к укрытиям
  • Анализирует статистику (kills/deaths) для определения успешности стиля игры
  • Автоматическое создание точек укрытия
  • Позиции, где игроки часто останавливаются, автоматически становятся точками укрытия
  • Учитывается команда (T/CT) и частота использования
  • Сохраняются в файл coverpoints_[mapname].cfg

2. Навигационная система​

  • Автоматическая генерация waypoints
  • Каждые 60 секунд анализирует маршруты игроков
  • Группирует близкие позиции (в радиусе sm_smartbot_nav_waypoint_distance)
  • Создает waypoint, если позиция использовалась минимум sm_smartbot_nav_min_usage раз
  • Автоматически связывает waypoints между собой (максимум 32 связи на waypoint)
  • Умная навигация ботов
  • Боты предпочитают использовать nav waypoints (70% вероятность)
  • Выбирают ближайший waypoint и перемещаются по связанным точкам
  • Используют алгоритм выбора следующего waypoint (ближе к цели)

3. Логика работы ботов​

Боты работают в 4 состояниях:
  • Idle (0) — выбор действия
  • Выбор между: движением к точке укрытия, использованием nav waypoints, созданием засады, случайным патрулированием
  • Moving (1) — движение к цели
  • Плавное движение к выбранной позиции
  • Использует сглаживание поворота и движения
  • При достижении цели переходит в состояние Idle
  • Ambush (2) — засада
  • Боты приседают и ждут врагов
  • Периодически поворачиваются и смотрят вокруг
  • Атакуют при обнаружении врага в радиусе 500 единиц
  • Ждут случайное время (от minwait до maxwait секунд)
  • Combat (3) — бой
  • При обнаружении врага бот переходит в боевой режим
  • Прицеливается на врага с плавным поворотом
  • Стреляет, если враг близко (< 1000 единиц)
  • Движется к врагу, если далеко (только при достаточных данных обучения)

4. Система засад​

  • Групповые засады
  • Боты могут создавать засады группами (1-3 бота)
  • Выбирают популярные точки укрытия (с наибольшим количеством использований)
  • Все боты группы движутся к выбранной позиции одновременно
  • Управление засадами
  • Автоматическое создание засад (30% вероятность при выборе действия)
  • Ручное создание через команду sm_smartbot_ambush_create
  • Автоматическая деактивация при обнаружении врага или истечении времени

5. Сглаживание движения​

  • Плавный поворот
  • Интерполяция углов для плавного поворота
  • Скорость поворота ограничена sm_smartbot_rotation_speed градусов в секунду
  • Учитывается кратчайший путь поворота (через -180/180 градусов)
  • Pitch ограничен диапазоном -89..89 градусов
  • Плавное движение
  • Скорость движения: 200-300 единиц в секунду
  • Направление движения синхронизировано с углами поворота
  • Можно отключить через sm_smartbot_smooth_movement 0

6. Система сохранения данных​

  • Автоматическое сохранение
  • Каждые 300 секунд (5 минут) — все данные
  • При окончании раунда — точки укрытий и nav waypoints
  • Файлы данных
  • coverpoints_[mapname].cfg — точки укрытия для конкретной карты
  • player_patterns.cfg — паттерны поведения всех игроков (общий файл)
  • nav_waypoints_[mapname].cfg — навигационные waypoints для конкретной карты

Настройки плагина (ConVars)​

Основные настройки​

ConVarПо умолчаниюОписание
sm_smartbot_enabled1Включить/выключить плагин (1 = да, 0 = нет)
sm_smartbot_learning1Включить изучение поведения игроков (1 = да, 0 = нет)
sm_smartbot_debug0Режим отладки (1 = да, 0 = нет). Выводит подробные логи

Настройки ботов​

ConVarПо умолчаниюДиапазонОписание
sm_smartbot_think_interval0.10.05 - 1.0Интервал обновления логики ботов (секунды). Меньше = быстрее реакция
sm_smartbot_rotation_speed180.030.0 - 720.0Скорость поворота ботов (градусов в секунду). Меньше = плавнее
sm_smartbot_smooth_movement10 - 1Сглаживание движения и поворота ботов (1 = да, 0 = нет)

Настройки системы засад​

ConVarПо умолчаниюДиапазонОписание
sm_smartbot_ambush10 - 1Включить систему засад (1 = да, 0 = нет)
sm_smartbot_ambush_minwait5.01.0 - 60.0Минимальное время ожидания в засаде (секунды)
sm_smartbot_ambush_maxwait15.01.0 - 120.0Максимальное время ожидания в засаде (секунды)

Настройки точек укрытия​

ConVarПо умолчаниюДиапазонОписание
sm_smartbot_cover_radius100.050.0 - 500.0Радиус для определения точки укрытия. Если две позиции ближе этого радиуса, они считаются одной точкой

Настройки навигационной системы​

ConVarПо умолчаниюДиапазонОписание
sm_smartbot_nav_autogenerate10 - 1Автоматически создавать nav файл из маршрутов игроков
sm_smartbot_nav_waypoint_distance150.050.0 - 500.0Минимальное расстояние между waypoints (единицы)
sm_smartbot_nav_min_usage31 - 100Минимальное количество использований для создания waypoint

Настройки обучения (минимальные требования)​

ConVarПо умолчаниюДиапазонОписание
sm_smartbot_min_cover_points100 - 1000Минимальное количество точек укрытия для начала работы ботов
sm_smartbot_min_nav_waypoints200 - 1000Минимальное количество nav waypoints для начала работы ботов
sm_smartbot_min_player_routes500 - 10000Минимальное количество маршрутов игроков для начала работы ботов
Важно: боты начинают двигаться только после накопления достаточных данных по всем трем параметрам. До этого они стоят на месте и могут только стрелять по врагам.

Администраторские команды​

Все команды требуют флаг ADMFLAG_ROOT (root доступ):

Основные команды​

  • sm_smartbot_reload — перезагрузить все данные из файлов
  • sm_smartbot_save — сохранить все данные в файлы
  • sm_smartbot_clear — очистить все данные (точки укрытий, паттерны, маршруты)
  • sm_smartbot_stats — показать статистику плагина и прогресс обучения

Команды для точек укрытия​

  • sm_smartbot_cover_add — добавить точку укрытия в текущей позиции игрока

Команды для засад​

  • sm_smartbot_ambush_create — создать засаду в текущей позиции игрока (боты из вашей команды)

Команды для навигации​

  • sm_smartbot_nav_generate — принудительно сгенерировать nav waypoints из маршрутов игроков
  • sm_smartbot_nav_clear — очистить все nav waypoints и маршруты

Технические особенности​

Отключение стандартного ИИ ботов​

  • Выполняет bot_stop 1 при запуске
  • Выполняет bot_quota 0 при запуске
  • Перехватывает команды: bot_add, bot_add_t, bot_add_ct, bot_quota, bot_stop

Попытка использования Detour (опционально)​

  • Пытается использовать DHooks для перехвата функций ИИ ботов
  • Требует файл addons/sourcemod/gamedata/smart_bot_ai.txt
  • Если недоступно, использует стандартный метод (bot_stop)

Таймеры​

  1. Timer_TrackPlayers — каждые 1.0 секунду (отслеживание позиций игроков)
  2. Timer_BotThink — каждые sm_smartbot_think_interval секунд (основная логика ботов)
  3. Timer_SaveData — каждые 300 секунд (автосохранение)
  4. Timer_GenerateNavWaypoints — каждые 60 секунд (генерация nav waypoints)

Ограничения​

  • Максимум 500 точек укрытия
  • Максимум 1000 паттернов игроков
  • Максимум 10 групп засад одновременно
  • Максимум 3 бота в одной засаде
  • Максимум 32 связи на nav waypoint
  • Максимум 1000 маршрутов в памяти (старые удаляются)
 

Вложения

  • addons.7z
    41.7 КБ · Просмотры: 22

Vit_ amin

Добрая душа
Сообщения
1,548
Реакции
735
Не позорьтесь, лучше пишите весь код на чистом API (кто знает, тот поймет)
C-подобный:
"Games"
{
    "#default"
    {
        "Signatures"
        {
            "BotThink"
            {
                "library"    "server"
                "windows"    "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A"
                "linux"        "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A"
            }
        }
      
        "Functions"
        {
            "BotThink"
            {
                "signature"    "BotThink"
                "callconv"    "cdecl"
                "return"    "void"
            }
        }
    }
}

P.S. В вашем случае проще создать бота через CreateFakeClient и на него уже вешать кастомный ИИ, но для этого вам потребуется все с нуля писать (стратегии, атаки, поведение при сценарии карты и прочее)
 

w0hderful

Участник
Сообщения
132
Реакции
29
1763161977149.png



вот такой прикол бывает иногда, смотрят в пол и трясутся, буд-то со спин ботом (CSS v34), качал последнюю версию - v1.0.3
 

DENZEL519

Работаю через AI !
Сообщения
490
Реакции
315
вот такой прикол бывает иногда, смотрят в пол и трясутся, буд-то со спин ботом (CSS v34), качал последнюю версию - v1.0.3
Да, есть такой баг. Не могу просто понять почему тряска у них происходит, может они просто ищут так нычки. Попробуйте поиграть мин 30, не уберутся ли тряски?
Сообщения автоматически склеены:

V 2.0.0 Переделка плагина. Удалите все старые файлы.

Общая концепция​

Плагин расширяет стандартный ИИ ботов Valve в Counter-Strike: Source через модульную систему. Модули дополняют базовый ИИ, не заменяя его.

Основные компоненты​

1. Модульная архитектура​

Плагин состоит из модулей:
  • Модуль изучения поведения
  • Отслеживает действия реальных игроков
  • Сохраняет маршруты движения
  • Анализирует стиль стрельбы и успешность
  • Создает паттерны поведения игроков
  • Модуль точек укрытия
  • Отмечает позиции, где игроки останавливаются
  • Сохраняет точки укрытия для каждой карты
  • Боты используют популярные точки укрытия
  • Модуль навигации
  • Генерирует навигационную сеть из маршрутов игроков
  • Создает waypoints с соединениями
  • Помогает ботам выбирать оптимальные пути
  • Модуль засад
  • Организует групповые засады ботов
  • Координирует действия нескольких ботов
  • Управляет временем ожидания в засаде
  • Модуль боя
  • Улучшает прицеливание ботов
  • Плавное наведение на врагов
  • Учитывает время реакции
  • Модуль движения
  • Улучшает движение ботов к целям
  • Использует точки укрытия и waypoints
  • Работает только при отключенном стандартном ИИ

Принцип работы​

Инициализация​

  1. При загрузке плагина:
  • Создаются ConVars для настройки
  • Регистрируются административные команды
  • Инициализируются массивы данных
  • Настраивается стандартный ИИ Valve (если включен)
  • Загружаются сохраненные данные из файлов
  1. Регистрация модулей:
  • Каждый модуль регистрируется с приоритетом
  • Создаются ConVars для каждого модуля
  • Модули инициализируются через свои функции

Работа модулей​

  1. Модуль изучения поведения:
  • Таймер каждую секунду отслеживает позиции игроков
  • Сохраняет маршруты в g_PlayerRoutes
  • При остановке игрока создается точка укрытия
  • Анализирует убийства и смерти для оценки успешности
  1. Модуль точек укрытия:
  • Работает совместно с модулем изучения
  • Сохраняет точки укрытия в g_CoverPoints
  • Проверяет минимальное количество точек для активации
  • Данные сохраняются в configs/smart_bot/coverpoints_[mapname].cfg
  1. Модуль навигации:
  • Анализирует маршруты игроков
  • Группирует позиции в кластеры (waypoints)
  • Создает соединения между waypoints
  • Генерирует навигационную сеть для ботов
  1. Модуль засад:
  • Обрабатывает группы засад
  • Проверяет время ожидания
  • Координирует действия ботов в группе
  1. Модуль боя:
  • Работает через хук OnPlayerRunCmd
  • Находит ближайшего врага
  • Плавно поворачивает бота к цели
  • Учитывает время реакции
  1. Модуль движения:
  • Работает только при отключенном стандартном ИИ
  • Использует точки укрытия и waypoints
  • Управляет движением бота к целевой позиции

Система данных​

Структуры данных​

  1. CoverPoint — точка укрытия:
  • Позиция (x, y, z)
  • Количество использований
  • Команда (CT/T)
  • Время последнего использования
  1. PlayerPattern — паттерн игрока:
  • SteamID игрока
  • Массив позиций (до 100)
  • Стиль стрельбы
  • Скорость движения
  • Предпочтения укрытий
  • Статистика (убийства, смерти, успешность)
  1. NavWaypoint — навигационный waypoint:
  • Позиция
  • Количество использований
  • Соединения с другими waypoints (до 32)
  • Команда
  • Время последнего использования
  1. AmbushGroup — группа засады:
  • Массив ботов (до 3)
  • Позиция засады
  • Время ожидания
  • Время начала
  • Статус активности

Сохранение данных​

  • Автоматическое сохранение каждые 5 минут
  • Сохранение при окончании раунда
  • Сохранение при выгрузке плагина
  • Файлы:
  • configs/smart_bot/coverpoints_[mapname].cfg — точки укрытия
  • configs/smart_bot/player_patterns.cfg — паттерны игроков
  • configs/smart_bot/navwaypoints_[mapname].cfg — навигационные waypoints

Консольные переменные (ConVars)​

Основные настройки:​

  • sm_smartbot_enabled — включить/выключить плагин (0/1)
  • sm_smartbot_debug — режим отладки (0/1)
  • sm_smartbot_use_valve_ai — использовать стандартный ИИ Valve (0/1)
  • sm_smartbot_difficulty — сложность ботов (0-3)

Настройки модулей:​

  • sm_smartbot_module_0_enabled — модуль изучения
  • sm_smartbot_module_1_enabled — модуль точек укрытия
  • sm_smartbot_module_2_enabled — модуль навигации
  • sm_smartbot_module_3_enabled — модуль засад
  • sm_smartbot_module_4_enabled — модуль боя
  • sm_smartbot_module_5_enabled — модуль движения

Специфичные настройки модулей:​

  • sm_smartbot_learning_track_interval — интервал отслеживания (секунды)
  • sm_smartbot_learning_min_routes — минимальное количество маршрутов
  • sm_smartbot_cover_radius — радиус определения точки укрытия
  • sm_smartbot_cover_min_points — минимальное количество точек
  • sm_smartbot_nav_waypoint_distance — расстояние между waypoints
  • sm_smartbot_ambush_minwait — минимальное время ожидания в засаде
  • sm_smartbot_ambush_maxwait — максимальное время ожидания
  • sm_smartbot_combat_reaction_time — время реакции в бою
  • sm_smartbot_movement_use_cover — использовать точки укрытия
  • sm_smartbot_movement_use_nav — использовать навигацию

Административные команды​

  • sm_smartbot_reload — перезагрузить все данные из файлов
  • sm_smartbot_save — сохранить все данные в файлы
  • sm_smartbot_clear — очистить все данные
  • sm_smartbot_stats — показать статистику плагина
  • sm_smartbot_modules — показать список модулей
  • sm_smartbot_module_enable <номер> — включить модуль
  • sm_smartbot_module_disable <номер> — выключить модуль

Взаимодействие модулей​

  1. Модуль изучения → Модуль точек укрытия:
  • Изучение создает точки укрытия из позиций игроков
  1. Модуль изучения → Модуль навигации:
  • Маршруты игроков используются для генерации waypoints
  1. Модуль точек укрытия → Модуль движения:
  • Боты используют точки укрытия для движения
  1. Модуль навигации → Модуль движения:
  • Боты используют waypoints для навигации
  1. Модуль боя → Все модули:
  • Улучшает прицеливание независимо от других модулей

Особенности работы​

  1. Совместимость со стандартным ИИ:
  • Модули расширяют стандартный ИИ, не заменяя его
  • Можно использовать только модули (отключив стандартный ИИ)
  1. Адаптивность:
  • Боты учатся на поведении реальных игроков
  • Данные накапливаются со временем
  • Боты становятся умнее по мере накопления данных
  1. Производительность:
  • Модули работают независимо
  • Можно отключать ненужные модули
  • Оптимизированные алгоритмы поиска и обработки
  1. Масштабируемость:
  • Легко добавлять новые модули
  • Система регистрации модулей
  • Приоритеты модулей для правильного порядка обработки

Процесс обучения​

  1. Сбор данных:
  • Отслеживание позиций игроков каждую секунду
  • Запись маршрутов движения
  • Анализ остановок (потенциальные укрытия)
  1. Обработка данных:
  • Группировка позиций в кластеры
  • Создание waypoints из популярных маршрутов
  • Анализ успешности игроков
  1. Использование данных:
  • Боты выбирают популярные точки укрытия
  • Используют изученные маршруты
  • Копируют успешные стратегии
 

Вложения

  • smart_bot_ai.smx
    27.6 КБ · Просмотры: 36
  • smart_bot_ai.sp
    73.5 КБ · Просмотры: 43
Последнее редактирование:

Denis345770228

Участник
Сообщения
19
Реакции
5
V 1.0.2

Исправления​

1. Исправлены подергивания головой​

  • Улучшена интерполяция углов в AimAndShoot: всегда применяется плавный поворот с динамической скоростью
  • Убраны случайные повороты головы во время боя: они происходят только когда isEngagingEnemy == false
  • Добавлена проверка времени между случайными поворотами (не чаще раза в 2-3 секунды)
  • Исправлены ошибки в логах Exception reported: Client 8 is not connected

2. Исправлено отворачивание от врага при атаке​

  • Неточность прицеливания применяется после интерполяции, чтобы не мешать повороту к цели
  • Добавлен флаг isEngagingEnemy, который блокирует случайные повороты во время боя
  • Улучшена динамическая скорость интерполяции: быстрее при больших углах, медленнее для точной наводки

3. Добавлена система засад​

  • Боты выбирают популярные позиции укрытий (на основе usageCount)
  • Группировка: 1-3 бота вместе в одной засаде
  • Автоматический поиск других ботов поблизости для совместной засады
  • Ожидание: боты ждут в засаде до 15 секунд (настраивается через AMBUSH_WAIT_TIME)
  • Автоматический выход из засады при:
  • Обнаружении врага
  • Истечении времени ожидания
  • Смерти/отключении бота
  • Плавное наблюдение: боты смотрят в направлении вероятного появления врагов

Дополнительные улучшения​

  • Очистка засад при смене карты
  • Удаление ботов из засад при отключении/смерти
  • Отладочные сообщения (при включенном sm_bot_debug)
Ну, щас поглядим, потестим)
Сообщения автоматически склеены:

Да, есть такой баг. Не могу просто понять почему тряска у них происходит, может они просто ищут так нычки. Попробуйте поиграть мин 30, не уберутся ли тряски?
Сообщения автоматически склеены:

V 2.0.0 Переделка плагина. Удалите все старые файлы.

Общая концепция​

Плагин расширяет стандартный ИИ ботов Valve в Counter-Strike: Source через модульную систему. Модули дополняют базовый ИИ, не заменяя его.

Основные компоненты​

1. Модульная архитектура​

Плагин состоит из модулей:
  • Модуль изучения поведения
  • Отслеживает действия реальных игроков
  • Сохраняет маршруты движения
  • Анализирует стиль стрельбы и успешность
  • Создает паттерны поведения игроков
  • Модуль точек укрытия
  • Отмечает позиции, где игроки останавливаются
  • Сохраняет точки укрытия для каждой карты
  • Боты используют популярные точки укрытия
  • Модуль навигации
  • Генерирует навигационную сеть из маршрутов игроков
  • Создает waypoints с соединениями
  • Помогает ботам выбирать оптимальные пути
  • Модуль засад
  • Организует групповые засады ботов
  • Координирует действия нескольких ботов
  • Управляет временем ожидания в засаде
  • Модуль боя
  • Улучшает прицеливание ботов
  • Плавное наведение на врагов
  • Учитывает время реакции
  • Модуль движения
  • Улучшает движение ботов к целям
  • Использует точки укрытия и waypoints
  • Работает только при отключенном стандартном ИИ

Принцип работы​

Инициализация​

  1. При загрузке плагина:
  • Создаются ConVars для настройки
  • Регистрируются административные команды
  • Инициализируются массивы данных
  • Настраивается стандартный ИИ Valve (если включен)
  • Загружаются сохраненные данные из файлов
  1. Регистрация модулей:
  • Каждый модуль регистрируется с приоритетом
  • Создаются ConVars для каждого модуля
  • Модули инициализируются через свои функции

Работа модулей​

  1. Модуль изучения поведения:
  • Таймер каждую секунду отслеживает позиции игроков
  • Сохраняет маршруты в g_PlayerRoutes
  • При остановке игрока создается точка укрытия
  • Анализирует убийства и смерти для оценки успешности
  1. Модуль точек укрытия:
  • Работает совместно с модулем изучения
  • Сохраняет точки укрытия в g_CoverPoints
  • Проверяет минимальное количество точек для активации
  • Данные сохраняются в configs/smart_bot/coverpoints_[mapname].cfg
  1. Модуль навигации:
  • Анализирует маршруты игроков
  • Группирует позиции в кластеры (waypoints)
  • Создает соединения между waypoints
  • Генерирует навигационную сеть для ботов
  1. Модуль засад:
  • Обрабатывает группы засад
  • Проверяет время ожидания
  • Координирует действия ботов в группе
  1. Модуль боя:
  • Работает через хук OnPlayerRunCmd
  • Находит ближайшего врага
  • Плавно поворачивает бота к цели
  • Учитывает время реакции
  1. Модуль движения:
  • Работает только при отключенном стандартном ИИ
  • Использует точки укрытия и waypoints
  • Управляет движением бота к целевой позиции

Система данных​

Структуры данных​

  1. CoverPoint — точка укрытия:
  • Позиция (x, y, z)
  • Количество использований
  • Команда (CT/T)
  • Время последнего использования
  1. PlayerPattern — паттерн игрока:
  • SteamID игрока
  • Массив позиций (до 100)
  • Стиль стрельбы
  • Скорость движения
  • Предпочтения укрытий
  • Статистика (убийства, смерти, успешность)
  1. NavWaypoint — навигационный waypoint:
  • Позиция
  • Количество использований
  • Соединения с другими waypoints (до 32)
  • Команда
  • Время последнего использования
  1. AmbushGroup — группа засады:
  • Массив ботов (до 3)
  • Позиция засады
  • Время ожидания
  • Время начала
  • Статус активности

Сохранение данных​

  • Автоматическое сохранение каждые 5 минут
  • Сохранение при окончании раунда
  • Сохранение при выгрузке плагина
  • Файлы:
  • configs/smart_bot/coverpoints_[mapname].cfg — точки укрытия
  • configs/smart_bot/player_patterns.cfg — паттерны игроков
  • configs/smart_bot/navwaypoints_[mapname].cfg — навигационные waypoints

Консольные переменные (ConVars)​

Основные настройки:​

  • sm_smartbot_enabled — включить/выключить плагин (0/1)
  • sm_smartbot_debug — режим отладки (0/1)
  • sm_smartbot_use_valve_ai — использовать стандартный ИИ Valve (0/1)
  • sm_smartbot_difficulty — сложность ботов (0-3)

Настройки модулей:​

  • sm_smartbot_module_0_enabled — модуль изучения
  • sm_smartbot_module_1_enabled — модуль точек укрытия
  • sm_smartbot_module_2_enabled — модуль навигации
  • sm_smartbot_module_3_enabled — модуль засад
  • sm_smartbot_module_4_enabled — модуль боя
  • sm_smartbot_module_5_enabled — модуль движения

Специфичные настройки модулей:​

  • sm_smartbot_learning_track_interval — интервал отслеживания (секунды)
  • sm_smartbot_learning_min_routes — минимальное количество маршрутов
  • sm_smartbot_cover_radius — радиус определения точки укрытия
  • sm_smartbot_cover_min_points — минимальное количество точек
  • sm_smartbot_nav_waypoint_distance — расстояние между waypoints
  • sm_smartbot_ambush_minwait — минимальное время ожидания в засаде
  • sm_smartbot_ambush_maxwait — максимальное время ожидания
  • sm_smartbot_combat_reaction_time — время реакции в бою
  • sm_smartbot_movement_use_cover — использовать точки укрытия
  • sm_smartbot_movement_use_nav — использовать навигацию

Административные команды​

  • sm_smartbot_reload — перезагрузить все данные из файлов
  • sm_smartbot_save — сохранить все данные в файлы
  • sm_smartbot_clear — очистить все данные
  • sm_smartbot_stats — показать статистику плагина
  • sm_smartbot_modules — показать список модулей
  • sm_smartbot_module_enable <номер> — включить модуль
  • sm_smartbot_module_disable <номер> — выключить модуль

Взаимодействие модулей​

  1. Модуль изучения → Модуль точек укрытия:
  • Изучение создает точки укрытия из позиций игроков
  1. Модуль изучения → Модуль навигации:
  • Маршруты игроков используются для генерации waypoints
  1. Модуль точек укрытия → Модуль движения:
  • Боты используют точки укрытия для движения
  1. Модуль навигации → Модуль движения:
  • Боты используют waypoints для навигации
  1. Модуль боя → Все модули:
  • Улучшает прицеливание независимо от других модулей

Особенности работы​

  1. Совместимость со стандартным ИИ:
  • Модули расширяют стандартный ИИ, не заменяя его
  • Можно использовать только модули (отключив стандартный ИИ)
  1. Адаптивность:
  • Боты учатся на поведении реальных игроков
  • Данные накапливаются со временем
  • Боты становятся умнее по мере накопления данных
  1. Производительность:
  • Модули работают независимо
  • Можно отключать ненужные модули
  • Оптимизированные алгоритмы поиска и обработки
  1. Масштабируемость:
  • Легко добавлять новые модули
  • Система регистрации модулей
  • Приоритеты модулей для правильного порядка обработки

Процесс обучения​

  1. Сбор данных:
  • Отслеживание позиций игроков каждую секунду
  • Запись маршрутов движения
  • Анализ остановок (потенциальные укрытия)
  1. Обработка данных:
  • Группировка позиций в кластеры
  • Создание waypoints из популярных маршрутов
  • Анализ успешности игроков
  1. Использование данных:
  • Боты выбирают популярные точки укрытия
  • Используют изученные маршруты
  • Копируют успешные стратегии
А, так я понимаю это на данный момент крайняя версия, просто я по не внимательности старую скачал, пойду потестирую что там у нас)
Сообщения автоматически склеены:

Да, есть такой баг. Не могу просто понять почему тряска у них происходит, может они просто ищут так нычки. Попробуйте поиграть мин 30, не уберутся ли тряски?
Сообщения автоматически склеены:

V 2.0.0 Переделка плагина. Удалите все старые файлы.

Общая концепция​

Плагин расширяет стандартный ИИ ботов Valve в Counter-Strike: Source через модульную систему. Модули дополняют базовый ИИ, не заменяя его.

Основные компоненты​

1. Модульная архитектура​

Плагин состоит из модулей:
  • Модуль изучения поведения
  • Отслеживает действия реальных игроков
  • Сохраняет маршруты движения
  • Анализирует стиль стрельбы и успешность
  • Создает паттерны поведения игроков
  • Модуль точек укрытия
  • Отмечает позиции, где игроки останавливаются
  • Сохраняет точки укрытия для каждой карты
  • Боты используют популярные точки укрытия
  • Модуль навигации
  • Генерирует навигационную сеть из маршрутов игроков
  • Создает waypoints с соединениями
  • Помогает ботам выбирать оптимальные пути
  • Модуль засад
  • Организует групповые засады ботов
  • Координирует действия нескольких ботов
  • Управляет временем ожидания в засаде
  • Модуль боя
  • Улучшает прицеливание ботов
  • Плавное наведение на врагов
  • Учитывает время реакции
  • Модуль движения
  • Улучшает движение ботов к целям
  • Использует точки укрытия и waypoints
  • Работает только при отключенном стандартном ИИ

Принцип работы​

Инициализация​

  1. При загрузке плагина:
  • Создаются ConVars для настройки
  • Регистрируются административные команды
  • Инициализируются массивы данных
  • Настраивается стандартный ИИ Valve (если включен)
  • Загружаются сохраненные данные из файлов
  1. Регистрация модулей:
  • Каждый модуль регистрируется с приоритетом
  • Создаются ConVars для каждого модуля
  • Модули инициализируются через свои функции

Работа модулей​

  1. Модуль изучения поведения:
  • Таймер каждую секунду отслеживает позиции игроков
  • Сохраняет маршруты в g_PlayerRoutes
  • При остановке игрока создается точка укрытия
  • Анализирует убийства и смерти для оценки успешности
  1. Модуль точек укрытия:
  • Работает совместно с модулем изучения
  • Сохраняет точки укрытия в g_CoverPoints
  • Проверяет минимальное количество точек для активации
  • Данные сохраняются в configs/smart_bot/coverpoints_[mapname].cfg
  1. Модуль навигации:
  • Анализирует маршруты игроков
  • Группирует позиции в кластеры (waypoints)
  • Создает соединения между waypoints
  • Генерирует навигационную сеть для ботов
  1. Модуль засад:
  • Обрабатывает группы засад
  • Проверяет время ожидания
  • Координирует действия ботов в группе
  1. Модуль боя:
  • Работает через хук OnPlayerRunCmd
  • Находит ближайшего врага
  • Плавно поворачивает бота к цели
  • Учитывает время реакции
  1. Модуль движения:
  • Работает только при отключенном стандартном ИИ
  • Использует точки укрытия и waypoints
  • Управляет движением бота к целевой позиции

Система данных​

Структуры данных​

  1. CoverPoint — точка укрытия:
  • Позиция (x, y, z)
  • Количество использований
  • Команда (CT/T)
  • Время последнего использования
  1. PlayerPattern — паттерн игрока:
  • SteamID игрока
  • Массив позиций (до 100)
  • Стиль стрельбы
  • Скорость движения
  • Предпочтения укрытий
  • Статистика (убийства, смерти, успешность)
  1. NavWaypoint — навигационный waypoint:
  • Позиция
  • Количество использований
  • Соединения с другими waypoints (до 32)
  • Команда
  • Время последнего использования
  1. AmbushGroup — группа засады:
  • Массив ботов (до 3)
  • Позиция засады
  • Время ожидания
  • Время начала
  • Статус активности

Сохранение данных​

  • Автоматическое сохранение каждые 5 минут
  • Сохранение при окончании раунда
  • Сохранение при выгрузке плагина
  • Файлы:
  • configs/smart_bot/coverpoints_[mapname].cfg — точки укрытия
  • configs/smart_bot/player_patterns.cfg — паттерны игроков
  • configs/smart_bot/navwaypoints_[mapname].cfg — навигационные waypoints

Консольные переменные (ConVars)​

Основные настройки:​

  • sm_smartbot_enabled — включить/выключить плагин (0/1)
  • sm_smartbot_debug — режим отладки (0/1)
  • sm_smartbot_use_valve_ai — использовать стандартный ИИ Valve (0/1)
  • sm_smartbot_difficulty — сложность ботов (0-3)

Настройки модулей:​

  • sm_smartbot_module_0_enabled — модуль изучения
  • sm_smartbot_module_1_enabled — модуль точек укрытия
  • sm_smartbot_module_2_enabled — модуль навигации
  • sm_smartbot_module_3_enabled — модуль засад
  • sm_smartbot_module_4_enabled — модуль боя
  • sm_smartbot_module_5_enabled — модуль движения

Специфичные настройки модулей:​

  • sm_smartbot_learning_track_interval — интервал отслеживания (секунды)
  • sm_smartbot_learning_min_routes — минимальное количество маршрутов
  • sm_smartbot_cover_radius — радиус определения точки укрытия
  • sm_smartbot_cover_min_points — минимальное количество точек
  • sm_smartbot_nav_waypoint_distance — расстояние между waypoints
  • sm_smartbot_ambush_minwait — минимальное время ожидания в засаде
  • sm_smartbot_ambush_maxwait — максимальное время ожидания
  • sm_smartbot_combat_reaction_time — время реакции в бою
  • sm_smartbot_movement_use_cover — использовать точки укрытия
  • sm_smartbot_movement_use_nav — использовать навигацию

Административные команды​

  • sm_smartbot_reload — перезагрузить все данные из файлов
  • sm_smartbot_save — сохранить все данные в файлы
  • sm_smartbot_clear — очистить все данные
  • sm_smartbot_stats — показать статистику плагина
  • sm_smartbot_modules — показать список модулей
  • sm_smartbot_module_enable <номер> — включить модуль
  • sm_smartbot_module_disable <номер> — выключить модуль

Взаимодействие модулей​

  1. Модуль изучения → Модуль точек укрытия:
  • Изучение создает точки укрытия из позиций игроков
  1. Модуль изучения → Модуль навигации:
  • Маршруты игроков используются для генерации waypoints
  1. Модуль точек укрытия → Модуль движения:
  • Боты используют точки укрытия для движения
  1. Модуль навигации → Модуль движения:
  • Боты используют waypoints для навигации
  1. Модуль боя → Все модули:
  • Улучшает прицеливание независимо от других модулей

Особенности работы​

  1. Совместимость со стандартным ИИ:
  • Модули расширяют стандартный ИИ, не заменяя его
  • Можно использовать только модули (отключив стандартный ИИ)
  1. Адаптивность:
  • Боты учатся на поведении реальных игроков
  • Данные накапливаются со временем
  • Боты становятся умнее по мере накопления данных
  1. Производительность:
  • Модули работают независимо
  • Можно отключать ненужные модули
  • Оптимизированные алгоритмы поиска и обработки
  1. Масштабируемость:
  • Легко добавлять новые модули
  • Система регистрации модулей
  • Приоритеты модулей для правильного порядка обработки

Процесс обучения​

  1. Сбор данных:
  • Отслеживание позиций игроков каждую секунду
  • Запись маршрутов движения
  • Анализ остановок (потенциальные укрытия)
  1. Обработка данных:
  • Группировка позиций в кластеры
  • Создание waypoints из популярных маршрутов
  • Анализ успешности игроков
  1. Использование данных:
  • Боты выбирают популярные точки укрытия
  • Используют изученные маршруты
  • Копируют успешные стратегии
Да, вот хотел спросить, я тут протестировал и как бы как будто изминений не заметил, они ведут себя как стандартные боты, или нужно какое - то время что бы они чему то научились? Да и засады они не устраивают, хотя плагин работает как надо - вот не пойму, может я что не так сделал?
 
Последнее редактирование:

Vit_ amin

Добрая душа
Сообщения
1,548
Реакции
735
Да, вот хотел спросить, я тут протестировал и как бы как будто изминений не заметил, они ведут себя как стандартные боты, или нужно какое - то время что бы они чему то научились? Да и засады они не устраивают, хотя плагин работает как надо - вот не пойму, может я что не так сделал?
Вы видимо так и не поняли, что из данного плагина не выйдет тот эффект - который вы ожидаете, ни при каких обстоятельствах.
 
Последнее редактирование:

Denis345770228

Участник
Сообщения
19
Реакции
5
Вы видимо так и не поняли, что из данного плагина не выйдет тот эффект - который вы ожидаете, ни при каких обстоятельствах
Возможно, да я и не жду какого то чуда из этого плагина, мне главное чтоб хоть как то геймплей улучшить, чтоб боты хоть как то себя проявляли, а так как я писал выше, я давно искал такой плагин, и думаю что все - же автор этого плагина доведет его до ума)
 
Сверху Снизу