Редактирование графов
Краткая информация
Заголовок раздела «Краткая информация»Узлы, что это такое?
Заголовок раздела «Узлы, что это такое?»В отличие от людей, боты не могут видеть карту и анализировать то, что они видят. Если вы видите здание с дверью, вы можете подойти прямо к двери, открыть её и войти в здание. Боты не могут сделать это без посторонней помощи! Они могут видеть врагов и сражаться с ними или реагировать, если на них нападают. Эти способы поведения работают без какой-либо внешней помощи. Но для того, чтобы ориентироваться на карте и безопасно перемещаться по всем путям и переходам, им действительно нужна помощь. Им нужно что-то, что говорило бы им, куда они могут пойти, а куда нет. Им нужно что-то, что показывает им, где находится лестница или где цель миссии (зона побега/заложники/место закладки бомбы). Это делается с помощью узлов. Вы можете представить себе узлы, похожие на флаги на лыжной трассе. Каждый узел отмечает точку, куда могут идти боты. Если два из них связаны друг с другом, бот может переходить из одной точки в другую и обратно. Итак, когда вы расставляете узлы по карте, вы в основном размещаете целую сеть точек на карте и соединяете их таким образом, чтобы боты могли перемещаться из одной точки в другую. Все точки должны быть размещены в областях, доступных для игроков, и если вы хотите, чтобы ваши боты перемещались плавно и безопасно, вы также должны следить за соединениями. Если соединения проходят сквозь стены или над глубоким оврагом, ваши боты натыкаются на стены или падают насмерть.
Есть несколько типов узлов, которые можно использовать для обозначения целей на карте, зон спасения, хороших мест для кемпинга, лестниц и т.д. Существуют также различные типы соединений: односторонние или двусторонние, а также прыжковые соединения, которые заставляют бота прыгнуть с точки А до точки Б вместо того, чтобы идти или бежать туда. Мы вернёмся к этому позже.
Кроме того, вам не нужно беспокоиться о каждой мелочи. Редактор, поставляемый с этой версией бота, сделает за вас большую часть работы. Кроме того, он графический и простой в использовании (без навыков программирования или чего-либо ещё). Вы можете обнаружить, что создание узлов может быть очень увлекательным занятием, особенно когда увидите, как боты без проблем перемещаются по всей карте — и вы сделали это возможным!
Как узлы выглядят в игре?
Заголовок раздела «Как узлы выглядят в игре?»Когда вы играете на карте с узлами, узлы, конечно, будут невидимы, чтобы они никоим образом не отвлекали вас.
Когда редактор графов активирован, вы увидите узлы в виде вертикальных полос примерно на высоте стоящего игрока. Цвет обычных узлов зелёный, но вы также можете видеть белые, фиолетовые, красные, синие и голубые узлы. Эти цвета указывают на особые узлы. Если вы видите узлы, которые намного меньше других, это узлы для приседания. Они заставят ботов приседать при приближении к ним. Такие узлы необходимы, чтобы вести ботов через вентиляцию или любые другие низкие и узкие проходы.
Соединения между узлами отмечены горизонтальными линиями, ведущими от центра одного узла к другому. Они тоже существуют в разных цветах. Вы можете увидеть жёлтые, белые и красные линии. Не волнуйтесь, если все эти разные цвета вас сбивают с толку — на самом деле это очень просто, и, конечно, это очень помогает, если вы видите несколько узлов на экране.
Как получить доступ к редактору графов?
Заголовок раздела «Как получить доступ к редактору графов?»Редактор графов — это не отдельная программа, он включён в DLL бота (или .so, если вы используете Linux). Чтобы открыть его, создайте игру на локальном сервере, выберите карту, для которой вы хотите создать граф, и запустите игру как обычно. Как только вы окажетесь на карте, вы можете активировать режим редактирования из консоли, набрав yb graphmenu, или, если вы связали для него клавишу, просто нажмите эту клавишу.
Консольные команды Graph
Заголовок раздела «Консольные команды Graph»Доступны следующие команды Graph:
| Команда | Описание |
|---|---|
yb g on |
Включает отображение узлов |
yb g off |
Выключает отображение узлов |
yb g on auto |
Включает автоматическую расстановку узлов |
yb g off auto |
Выключает автоматическую расстановку узлов |
yb g on models |
Включает отображение моделей игроков на точках спавна |
yb g off models |
Выключает отображение моделей игроков на точках спавна |
yb g on noclip |
Включает редактирование узлов с noclip |
yb g off noclip |
Выключает редактирование узлов с noclip |
yb g add |
Добавляет узел в текущем местоположении игрока |
yb g addbasic |
Добавляет основные узлы на карте |
yb g cache |
Запоминает ближайший узел к игроку |
yb g clean |
Очищает бесполезные путевые соединения |
yb g delete |
Удаляет ближайший узел к игроку |
yb g erase |
Удаляет файлы графов и опыта ботов |
yb g flags |
Позволяет вручную добавлять/удалять флаги на узел |
yb g setradius x |
Вручную настраивает радиус путевой зоны |
yb g teleport x |
Телепортирует игрока к узлу с индексом x |
yb g stats |
Показывает количество различных узлов |
yb g fileinfo |
Показывает базовую информацию о файле графа |
yb g adjust_height |
Изменяет высоту всех узлов графа |
yb g check |
Проверяет правильность всех соединений узлов |
yb g load |
Загружает узлы из файла графа |
yb g save |
Сохраняет текущие узлы в файл |
yb g save nocheck |
Сохраняет текущие узлы в файл без проверки |
yb g upload |
Загружает созданный файл графа в базу данных |
yb g menu |
Показывает меню редактора графов |
yb g path_set_autopath |
Открывает меню для настройки автопути |
yb g path_create |
Открывает меню создания путей |
yb g path_delete |
Удаляет путь от указанного до ближайшего узла |
yb g path_create_in |
Создаёт входящий путь от указанного до ближайшего узла |
yb g path_create_out |
Создаёт исходящий путь от ближайшего до указанного узла |
yb g path_create_both |
Создаёт двусторонний путь между узлами |
yb g path_create_jump |
Создаёт прыжковый путь |
yb g path_clean |
Очищает соединения всех типов с узла |
yb g iterate_camp |
Позволяет переходить по всем точкам кемпинга |
yb g acquire_editor |
Получает права на редактирование графа |
yb g release_editor |
Снимает права на редактирование графа |
Чтобы использовать команды graph, вам нужно использовать консоль. Нажмите клавишу ~, чтобы открыть консоль. Введите консольные команды, которые вы хотите, затем снова нажмите ~, чтобы вернуться в игру.
Использование команд Graph
Заголовок раздела «Использование команд Graph»yb g delete удалит узел, ближайший к игроку. Узел ДОЛЖЕН быть в пределах 50 юнитов от игрока, чтобы его можно было удалить. Вам нужно будет встать достаточно близко к узлу, чтобы его можно было удалить. Это предотвратит случайное удаление узла на другой стороне комнаты. При удалении узла вы услышите звук, указывающий на то, что узел был удалён.
yb g save сохранит данные узлов в файл графа. Файл графа будет иметь то же имя, что и текущая карта, с расширением .graph. Файл будет сохранён в папку cstrike/addons/yapb/data/graph. Ваше текущее имя игрока будет сохранено как имя автора файла графа.
Вы также можете сохранить узлы в формате .pwf для старых версий YaPB или PODBot, введя в консоли yb g save old. Обратите внимание, что вы можете сохранять узлы в этом формате только тогда, когда количество узлов не превышает 1024.
yb g load удалит все узлы на текущей карте и загрузит их из файла графа. Это хороший способ “отменить” несколько узлов, которые вы создали, но не хотите сохранять. Невозможно “отменить” один узел. Вам нужно будет использовать команду yb g delete для удаления узлов по одному.
yb g on auto позволяет автоматически добавлять узлы, когда вы бегаете по карте. Узлы будут автоматически расставляться каждые 200 юнитов. Узел не будет поставлен, если уже есть другой узел в пределах 200 юнитов от вашей текущей позиции. Поэтому, если вы хотите разместить много узлов достаточно близко друг к другу, возможно, вам придётся вручную разместить некоторые узлы, используя команду yb g add.
При использовании автоматической расстановки узлов старайтесь оставаться в центре узких коридоров и всегда размещайте узлы с ОБЕИХ сторон двери. Вам может потребоваться разместить некоторые из этих узлов вручную, так как такие места, как перекрёстки коридоров и дверные проходы, обычно не попадают точно в то место, где автоматическая расстановка хотела бы разместить узел.
Когда вы приближаетесь к узлу, жёлтые, белые или зелёные линии будут нарисованы ко всем другим узлам, которые бот будет считать “достижимыми”. Если соединение двустороннее, линия отображается жёлтым цветом, а односторонние соединения отображаются белым. Эти “достижимые” узлы будут узлами, которые чётко видны из текущего местоположения. Определённые узлы не будут считаться достижимыми по той или иной причине. Например, узлы, висящие в воздухе над ботом, не будут считаться достижимыми, поскольку бот не может прыгнуть достаточно высоко, чтобы добраться до них. Также не будут считаться достижимыми узлы, расположенные слишком далеко от текущего местоположения.
Боты будут переходить от одного узла к другому ТОЛЬКО, если между ними есть путь. Заведите привычку проверять, существуют ли ДВУХСТОРОННИЕ ПУТИ между узлами.
yb g path_create позволяет вручную назначить путь между двумя узлами. Это необходимо в некоторых случаях, когда узлы заблокированы, и вы хотите создать путь между этими узлами.
Номер узла, на котором вы стоите, будет показан в верхнем углу вашего HUD. Например, чтобы вручную назначить путь между узлами #250 и 251, вы сначала должны встать рядом с узлом #250, затем использовать yb g cache для кэширования узла #250, затем перейти к узлу #251 и ввести yb g path_create, чтобы открыть меню и создать необходимое путевое соединение.
yb g path_delete похож на команду “create”, за исключением того, что он удаляет путь от начальной точки до конечной. Это необходимо в некоторых случаях, когда у вас может быть дверь, которая открывается с одной стороны.
yb g acquire_editor позволяет редактировать граф на выделенном сервере. Прежде чем вы сможете использовать это, на сервере должны быть настроены квары yb_password и yb_password_key.
Установка графов
Заголовок раздела «Установка графов»По умолчанию, если YaPB находит граф в официальной базе для вашей карты, он автоматически скачает его в папку addons/yapb/data/graph.
Если вы хотите установить граф вручную, положите его в папку *gamedir*/addons/yapb/data/graph.
Или если вы хотите установить вэйпоинт старого формата (PWF) вручную, положите его в папку *gamedir*/addons/yapb/data/pwf.
Также вы можете установить E-BOT (EWP) вэйпоинты в папку *gamedir*/addons/yapb/data/ewp.
Где *gamedir* — это путь до папки с игрой, например:
D:\Steam\steamapps\common\Half-Life\cstrike— это папка Counter-Strike 1.6D:\Steam\steamapps\common\Half-Life\czero— это папка Counter-Strike Condition Zero
Обзор редактора графов
Заголовок раздела «Обзор редактора графов»Редактор графов показывает полезную информацию о данных графов и практики, такую как свойства текущего/направленного/кэшированного узла, данные практики узла, название карты и ваше текущее время.
Данные графов хранятся в файле .graph в папке addons/yapb/data/graph или в файле .pwf в папке addons/yapb/data/pwf, если вы используете/сохраняете их в старом формате вэйпоинтов PODBot. Данные практики хранятся в файле .prc в папке addons/yapb/data/train.
Информация об текущем/направленном/кэшированном узле показывает номер этого узла, общее количество узлов, радиус, уровень освещённости, флаги и координаты. Если вы не кэшировали никакой узел или не смотрите ни на какой узел, будут отображаться только данные о ближайшем узле.
Данные практики узла показывают номер узла и значение урона, полученного от него как для Т (Террористов), так и для CT (Контр-Террористов). Вы также можете видеть стрелочки, указывающие на эти узлы (красные для Террористов, синие для Контр-Террористов).
Белые стрелочки указывают на ваш направленный узел (на который указывает ваш прицел). Жёлтые стрелочки указывают на ваш кэшированный узел.
