У цій статті я спробую зрозумілою мовою і по можливості коротко пояснити, як створюються вейпоїнти для ботів, а саме для найбільш популярного КС-бота PODBot. Це перша редакція статті, тому на даний момент вона не зачіпає всі аспекти створення вейпоїнтов. Надалі ж цей матеріал я планую доповнити і переробити.
Для початку визначимося, що ж таке "вейпоїнти"?
Вейпоїнти (від англ. Waypoints) - це такі собі вертикальні різнокольорові палички, розставлені по карті. Як тільки їх не називають: і ВІНпоінт, і ВЕНТпоінт, але самий прикол, що мені доводилося чути - це ВАЙТпоінт)))))). біла точка, мдеее. Тепер Ви точно знаєте правильну назву.
Так ось цими самими паличками користуються боти для навігації (пересування) по карті. Коли Ви граєте вдома з ботами ці палички не видно, однак вони існують Не будь вейпоїнтов, боти напаривается б на стінки, як сліпі кошенята, і повзали б уздовж них, не знаючи, що їм робити.
Існує кілька типів "паличок", які розрізняються кольором і дією на бота. Давайте посомтрім як виглядає звичайний вейпоїнтов для PODBot:
Звичайний вейпоїнтов (яскраво-зелений)
Звичайний вейпоїнтов забарвлений в яскраво-зелений колір. Він є простим покажчиком для бота. Коли бот підбігає до такого вейпоїнтов, він починає шукати наступний вейпоїнтов, а коли знаходить - біжить до нього, таким чином бот пересувається по карті.
З цього випливає, що звичайні вейпоїнти необхідно розміщувати практично у всіх доступних місцях карти (тобто у всіх проходах, кімнатах, на вулиці і т.д.). Вейпоїнти необхідно розставляти досить близько один до одного (приблизно також, як це показано на малюнку вище).
Створюємо перший вейпоїнтов
Отже, Ви встановили PODBot'а і створили свій сервер на який-небудь карті, для якої поки що немає вейпоїнтов. Витягніть консоль і напишіть в ній:
waypoint on
waypoint add
На екрані з'явиться ось таке меню:
Вибір типу вейпоїнтов
Натисніть цифру 1, щоб створити простий вейпоїнтов яскраво-зеленого кольору. У момент створення Ви почуєте характерний звук. Перший вейпоїнтов створений, і створився він саме в тому місці, де Ви перебували в момент введення команди.
Однак просто окремі вейпоїнти працювати не будуть. Їх необхідно з'єднати один з одним, щоб бот знав точний напрям до наступного вейпоїнтов. Поки що не звертайте уваги на сині смужки, про це поговоримо трохи нижче.
Типи з'єднань між вейпоїнтов
З'єднані між вейпоїнтов може бути одинарним і подвійним. Одинарное з'єднання позначається білою смужкою, яка тягнеться від одного вейпоїнтов до іншого. Одинарное з'єднання означає, що бот зможе пройти від вейпоїнтов-А до вейпоїнтов-Б, але не зможе пройти в зворотному напрямку (тому що немає зворотного зв'язку).
Подвійне (двостороннє) з'єднання позначається жовтою смужкою. При такому з'єднанні бот може вільно подорожувати від одного вейпоїнтов до іншого і назад. Зазвичай послідовно йдуть вейпоїнти з'єднують двостороннім зв'язком (жовтою смужкою), а біла застосовується лише у виняткових випадках.
Інформація про вейпоїнтов
Якщо Ви підійдете досить близько до вейпоїнтов, то в верхньому лівому кутку екрана побачите біжать цифри. Ось такі:
Інформація про поточний вейпоїнтов
Тут головним параметром є порядковий номер вейпоїнтов. На малюнку це номер 250, тобто вейпоїнтов, поруч з яким Ви зараз стоїте, має порядковий номер 250.
Радіус вейпоїнтов пишеться в кінці рядка, після слова Radius. На зображенні нижче зображений звичайний зелений вейпоїнтов з радіусом 96 юнітів (радіус вимірюється в юнітах - віртуальної величиною, характерезует розмір об'єкта в грі).
Вейпоїнти мають радіус дії
Як бачите, радіус вейпоїнтов наочно зображується у вигляді яскраво-синіх паличок, що йдуть з центру вейпоїнтов і розташованих по колу.
Чим довше ці палички, тим більше радіус (радіус дії) вейпоїнтов. Рекомендується збільшувати радіус вейпоїнтов на відкритих просторах і суттєво зменшувати в дверних отворах, вузьких коридорах і на кутах. Якби всім вейпоїнтов надати радіус рівний 0, то руху ботів були б досить "незграбними", тобто боти будуть чітко бігти від палички до палички, натикатися один на одного.
*** Отже, підіб'ємо невеликий підсумок. Ми знаємо, що:
вейпоїнти вставляються на карту командою waypoint add
звичайні вейпоїнти необхідно розміщувати у всіх проходах, кімнатах і т.п.
розташовані поруч вейпоїнти необхідно з'єднувати жовтою смужкою
після проставляння вейпоїнтов необхідно правильно підібрати радіуси
Кілька корисних консольних команд
autowaypoint on | off - включає / вимикає автоматичне розставляння вейпоїнтов, коли Ви просто бігаєте по карті. Це дуже корисна функція, яку проте необхідно використовувати досить акуратно (про це трохи нижче).
pathwaypoint on | off - включає / вимикає відображення сполучних смужок (білих і жовтих), радіусів, прапорів. Дану команду рекомендується завжди ставити в on.
Інші типи вейпоїнтов
На жаль, тільки простими вейпоїнтов обійтися не вдасться. Боти настільки дурні, що не можуть самі визначити в якому місці необхідно закладати бомбу, куди потрібно відводити заручників, в яких місцях слід покемперить, де можна скористатися вертикальними сходами і т.д.
Для всіх цих випадків передбачені спеціальні вейпоїнти, які ми зараз і розглянемо.
Вейпоїнти для вертикальних сходів (Ladder Waypoint)
Вейпоїнти для вертикальних сходів, таких як на малюнку нижче, завжди необхідно створювати вручну і при цьому ставити команду autowaypoint off.
Вейпоїнтов для вертикальних сходів (фіолетовий)
"Сходовий" вейпоїнтов фіолетового кольору. Один з вейпоїнтов необхідно розміщувати у самого початку сходів, другий на її закінчення. Якщо сходи досить довга (наприклад, як на cs_assault), то можуть знадобитися додаткові (проміжні) "сходові" вейпоїнти.
"Сходові" вейпоїнти вставляються через команду waypoint add. З уже знайомого нам меню необхідно вибрати пункт 4: Ladder Waypoint.
Так як команда autowaypoint встановлена в значення off (а це необхідно зробити при створенні таких вейпоїнтов), то зв'язку між вейпоїнтов не буде. Її необхідно створити вручну. Для цього:
підійдіть до одного з вейпоїнтов і запам'ятайте його порядковий номер, наприклад, 30
перейдіть до іншого сходового вейпоїнтов і також запам'ятайте його номер, наприклад, 31
тепер, стоячи на 31 вейпоїнтов, введіть команду pathwaypoint add 30
перейдіть назад до 30 вейпоїнтов і введіть pathwaypoint add 31
Таким чином, між двома сходовими вейпоїнтов виникне подвійний зв'язок (жовта смужка, див. Рис. Нижче), а це означає, що боти зможуть плазувати по сходах в обох напрямках. Природно не забудьте з'єднати сходові вейпоїнти з розташованими поруч звичайними вейпоїнтов, щоб боти могли дістатися до сходів.
Зв'язок між сходовими вейпоїнтов створюється вручну
Кемперского вейпоїнтов (Camper Waypoint)
Кемперского вейпоїнтов також вставляється на карту командою waypoint add, в меню вибирається пункт 6: Camp Waypoint Start
Кемперского вейпоїнтов (світло-блакитний)
Я думаю зрозуміло для чого потрібен цей тип вейпоїнтов - для вказівки ботам місць, в яких необхідно затриматися на деякий час і покемперить.
Тут є деяка тонкість. В меню існує два пункти, а саме 6: Camp Waypoint Start і 7: Camp Waypoint End. Так ось, як треба правильно розміщати кемперского вейпоїнтов? Ви стаєте на кемперского позицію і повертаєтеся в початкове положення, куди повинен дивитися кемперящій бот на початку. Імені команди 6. Потім повертаєтеся і зупиняєте приціл в кінцевому кемперского положенні і на цей раз вибираєте пункт 7.
Таким чином, поблизу кемперского вейпоїнтов буде виглядати як паличка з двома розведеними під деяким кутом червоними смужками. Ці смужки і позначають напрямок погляду бота при кемперстве в цьому місці.
Напрямок кемперского вейпоїнтов (червоні смужки)
Слід зауважити, що є можливість вказати яка з команд може використовувати кожен конкретний кемперского вейпоїнтов. Наприклад, можна зробити щоб одним кемперского вейпоїнтов користувалися тільки контри, а іншим тільки терористи. Це виставляється прапорами (про це трохи пізніше). Розрізнити террорскій і Контровскій кемперского вейпоїнти можна за кольором. Звичайний кемперского вейпоїнтов (яким можуть користуватися боти обох команд) забарвлений світло-блакитним кольором.
Якщо Ви хочете, щоб бот під час свого кемперства сидів навпочіпки, просто присядьте під час створення вейпоїнтов. В результаті вейпоїнтов матиме половину своєї звичайної висоти. Це ж правило можна застосувати при створенні і інших типів вейпоїнтов.
Вейпоїнтов для стрибка (Jump Waypoint)
На невисокі препятсвия (невеликі бортики) боти здатні забиратися самостійно. Для більш високих перешкод необхідно створювати спеціальний "стрибкові" вейпоїнтов. Давайте подивимося як це робиться.
Припустимо нам хотілося б, що б боти відразу стрибали у воду в наступному місці (див. Рис):
Напрямок стрибка показано стрілкою
Для цього необхідно створити "стрибкові" вейпоїнтов. Встаємо на верхній майданчик (там, де починається жовта стрілка) і вводимо команду waypoint add, вибираємо пункт 9: More Types. потім пункт 1: Jump Waypoint.
Вибираємо стрибкові вейпоїнтов
На екрані з'явиться напис: Observation on! (Див. Рис. Вище). Це означає, що в даний момент дії гравця відслідковуються. Розбігаються і стрибаємо вниз у воду. У тому місці звідки ми відштовхнулися і туди, куди прилетіли, буде створено по одному вейпоїнтов. При цьому від верхнього до нижнього буде тягнутися тонка червона смужка, що означає, що в даному місці знаходиться стрибкові вейпоїнтов. Зауважте, що червона смужка з'єднує вейпоїнти лише в одному напрямку (в даному випадку зверху-вниз).
Червона смуга вказує на стрибкові тип вейпоїнтов
Таким чином створюються вейпоїнти для встрибування на ящики, перестрибування бортиків і т.п. Якщо необхідно, щоб бот під час стрибка присів (тобто виконав довший стрибок) - присядьте під час стрибка.
Ключові (стратегічні) вейпоїнти
На малюнку нижче зображені ключові вейпоїнти для терористів (червоні) і для контрою (сині). Називаються ці вейпоїнти Terrorist Important Waypoint і Counter Terrorist Important Waypoint.
Ключові (стратегічні) вейпоїнти
Вставляються вони точно також, як і всі інші вейпоїнти - через команду waypoint add.
Дані вейпоїнти необхідно розміщувати біля стратегічних місць карти (тобто близько місць закладки бомби і місць знаходження заручників). Причому на DE-картах, на точках закладки бомби, рекомендується встановлювати більше Контровскій (синіх) вейпоїнтов, а на CS-картах біля місць знаходження заручників - більше стратегічних вейпоїнтов для терористів. Наприклад, на DE-карті, в точці закладки бомби можна розташувати 4-5 Контровскій і 2 террорскіх вейпоїнтов.
Goal переводиться як "мета, завдання". Без даного типу вейпоїнтов боти не зможуть поставити бомбу або відвести заручників, тому на кожній карті необхідно створити від одного до декількох Goal вейпоїнтов.
Goal вейпоїнтов (фіолетовий)
Встановіть по кілька Goal вейпоїнтов на кожній з точок закладки бомби. Якщо точок дві, то можна встановити, наприклад, по 3 вейпоїнтов на кожну. На CS-картах Goal вейпоїнти необхідно ставити в тих місцях, де знаходяться заручники.
Вейпоїнти для місць порятунку заручників (Rescue Waypoint)
Вейпоїнти для місць порятунку заручників (білий)
Даний тип вейпоїнтов устанвливается в місцях, куди боти повинні відводити врятованих заручників. Зазвичай вистачає одного вейпоїнтов на одне місце порятунку. Наприклад, на cs_italy тільки одне місце порятунку заручників - на базі контров, тому досить розмістити один Rescue Waypoint.
ДЕЯКІ КОРИСНІ ПОРАДИ
Тепер хотілося б дати Вам декілька корисних порад, щоб Ви менше робили помилок при створенні вейпоїнтов.
Перша порада стосується команди autowaypoint on. Дана команда, нагадаю, активізує функцію автоматичної розстановки вейпоїнтов, коли Ви просто бігаєте по карті. Так ось, раджу відключати цю функцію при створенні вейпоїнтов на вертикальних сходах (про це вже йшлося вище), на крутих спусках і підйомах (див. Рис. Нижче).
Створення вейпоїнтов на крутих сходах
Припустимо у нас на карті є досить круті сходи, по якій проходить один із шляхів ботів. Після того як Ви пройдете по таких сходах з включеною командою autowaypoint on, не полінуйтеся і перевірте чи зв'язують лінії - жовті (тобто скрізь є двосторонній зв'язок). Якщо в якихось місцях зв'язок відсутній (а це цілком можливо) - додайте її.
Нижче на зображенні представлений досить поширений випадок, коли частина вейпоїнтов з'єднана подвійним зв'язком, частина одинарної (білої), а частина взагалі не з'єднана! Все це - наслідки використання autowaypoint on на крутих, занадто крутих сходах. Вихід один - необхідно вручну додати відсутні зв'язку.
Відсутність зв'язку між вейпоїнтов
Також не рекомендується під час автоматичного проставлення вейпоїнтов підстрибувати, тобто необхідно пересуватися по карті, не відриваючись від землі (взагалі візьміть собі за звичку не тиснути на пробіл при включеній команді autowaypoint on). Якщо потрібно створити стрибкові вейпоїнтов - наберіть попередньо autowaypoint off.
Повернемося до радіусів вейпоїнтов. При прокладанні шляху через вузькі дверні прорізи, віконні рами, ворота, коридори і т.п. необхідно вручну відкоригувати радіуси вейпоїнтов.
Радіус для кожного конкретного вейпоїнтов устанвливается командою waypoint setradius x, де х - числове значення радіуса в юнитах. На малюнку нижче зображений досить вузький прохід між стулками воріт, тому радіус прилеглих вейпоїнтов встановлений рівним 0.
Установка нульового радіуса для вейпоїнтов у вузьких проходах
Поменше слід робити радіус і у кутових вейпоїнтов, для того, щоб боти не застрявали.
Ну, і на завершення коротко розповім про прапори і збереженні вейпоїнтов.
Збереження вейпоїнтов здійснюється командою waypoint save. При цьому всі розставлені вейпоїнти будуть перевірені на помилки. У разі відсутності таких - вейпоїнти будуть збережені в каталог CSTRIKE / PODBot / WPTDefault під ім'ям вашої карти, наприклад, de_dust.pwf. Якщо ж помилки є (наприклад, вейпоїнтов Несполучені ні з одним іншим викликає помилку), то вейпоїнти збережені не будуть, до тих пір, поки всі помилки не будуть усунені.
Якщо Вам ну ніяк не вдається виправити всі помилки, щоб не пропадати за даремно витраченим зусиллям, введіть команду збереження вейпоїнтов без перевірки на помилки waypoint save nocheck.
КОНСОЛЬНІ КОМАНДИ ДЛЯ СТВОРЕННЯ вейпоїнтов
waypoint on | off - включає / вимикає відображення вейпоїнтов на мапі
waypoint on noclip - при створенні вейпоїнтов можна бігати крізь стінки
waypoint add - додати вейпоїнтов в те місце, де варто гравець (з'явиться меню)
waypoint delete - видалити вейпоїнтов, на якому стоїть гравець
waypoint find x | -1 - показує / вимикає шлях до певного вейпоїнтов (х - номер вейпоїнтов)
waypoint addflag - додати прапор до вейпоїнтов
waypoint showflags - показує встановлені на даному вейпоїнтов прапори
waypoint delflag - видаляє прапор з вейпоїнтов
waypoint setradius x - вручну встановити радіус дії вейпоїнтов (х - значення)
waypoint stats - показує загальне число встановлених на мапі вейпоїнтов
waypoint check - перевірка на помилки (автоматично робиться при збереженні)
wayzone calcall - встановлює радіуси дії для всіх вейпоїнтов (не використовується, тому що все це робиться автоматично вже при створенні вейпоїнтов)
waypoint save - зберігає вейпоїнти в PWF-файл (якщо немає помилок)
waypoint save nocheck - зберігає вейпоїнти в будь-якому випадку (навіть з помилками)
waypoint load - завантажує PWF-файл з вейпоїнтов
autowaypoint on | off - включити / вимкнути автоматичне розставляння вейпоїнтов, коли гравець бігає по карті по потрібних місцях
pathwaypoint on | off - включити / вимкнути показ сполучних ліній між вейпоїнтов
pathwaypoint add x - з'єднує лінією вейпоїнтов, на якому стоїть гравець, з вейпоїнтов х (де х - номер іншого вейпоїнтов)
pathwaypoint delete x - видаляє лінію, яка б пов'язала вейпоїнти (зворотне попередньому)
debuggoal x - змушує ботів використовувати вейпоїнтов х, як кращий для подальшого пересування