Як зробити waypoints
1. Waypoint'и - що це таке.
Waypoint'и
- це точки на карті, які використовує бот для навігації. вони
дозволяють боту рухатися по карті, не стикаючись з перешкодами,
знаходити місця для установки бомби, заручників. Ці ділянки не
відображаються під час гри.
Боти знають, яким шляхом йти, використовуючи з'єднання між цими точками.
для
того, щоб боти могли бігати по всіх закутках карти, waypoint'и
повинні бути розташовані всюди на карті. Без них боти будуть просто
стояти на місці або вибирати напрямок руху випадково, при цьому
натикаючись на стіни і інші перешкоди. Waypoint'и також дозволяють
боту "знати" де на даній карті знаходяться цілі - заручники, місця для
установки бомб.
Цей документ описує команди, необхідні
для створення або зміни файлу шляхів (для POD-бота). При створенні або
редагуванні шляхів необхідно, щоб НЕ БУЛО підключених до поточної
грі ботів, інакше можуть статися фатальні помилки (з втратою всіх не
збережених даних). Створіть LAN Game, підключіться до гри,
розташуйте точки і їх з'єднання на карті за допомогою команд,
наведених нижче. Далі збережіть файл шляхів, від'єднати від сервера,
потім знову створіть гру, на цей раз з ботами, для того, щоб
перевірити, наскільки добре (або погано) вони рухаються по щойно
створеним точкам.
2. Як точки шляхів виглядають на карті.
точки
відображаються у вигляді вертикальних ліній, які виглядають, як блискавки,
або щось типу цього. Вертикальна лінія, за допомогою якої
відображається точка, має таку ж висоту, як і гравець. різні типи
точок відображаються різними кольорами.
Waypoint'и зберігаються в файлі з таким
же ім'ям, як і у назви карти, але з розширенням ".pwf" замість
".bsp" для карт. Наприклад, для карти de_dust файл шляхів матиме ім'я
de_dust.pwf і буде зберігається в папці Half-LifecstrikePODBotWPTDefault.
файл
шляхів автоматично завантажується при відкритті карти (якщо він
існує). Якщо ж його немає, необхідно створити його, використовуючи
інструкції, зазначені нижче.
3. Коротко про консольних командах для редагування шляхів.
В наявності є таке консольні команди (ЧУТЛИВІ до регістру):
"Waypoint on" - Включає відображення Waypoint'ов
"Waypoint on noclip" - Включає редагування шляхів з читом Noclip, який дозволяє проходити крізь стіни
"Waypoint off" -Виключает відображення Waypoint'ов.
"waypoint
add "- Додає точку в місце, де в цей час розташований гравець (тобто
Ви). Після вибору команди з'являється спливаюче меню, що дозволяє
вказати різні типи точок.
"Waypoint delete" -Удаляет точку, найближчу до гравця.
"Waypoint find x" - Показує напрямок до точки номер x
"Waypoint showflags" -Показує все прапори, встановлені для точки
"Waypoint addflag" - Дозволяє вручну додати прапор до точки.
"Waypoint delflag" - Дозволяє вибрати прапор поточної точки, що підлягає видаленню.
"Waypoint setradius x" - Виставляє радіус зони для поточної точки рівним х
"Waypoint stats" - Показує статистику про кількість точок різних типів, поставлених на карті.
"Waypoint check" - Перевіряє правильність установки точок (здійснюється автоматично при збереженні)
"Wayzone calcall" - Обчислює радіус зони для всіх точок на карті (не потрібен для бота версії 1.4х і вище)
"Waypoint save" - Зберігає поточні шляху в файл (з перевіркою точок і з'єднань)
"Waypoint save nocheck" - Те ж саме, але зберігає навіть при наявності помилок.
"Waypoint load" - завантажує Waypoint'и з файлу (без збереження поточних змін)
"Autowaypoint" - Показує статус режиму autowaypoint.
"Autowaypoint on" - Включає автоматичну розстановку точок (при русі гравця по карті).
"Autowaypoint off" -Виключает режим автоматичного розміщення точок.
"Pathwaypoint" - Показує статуй режиму pathwaypoint.
"Pathwaypoint on" - Включає режим відображення з'єднань між точками.
"Pathwaypoint off" - Вимикає режим з'єднань.
"Pathwaypoint add x" - Поєднує найближчу до вас точку з тією, номер якої ви вкажете в команді
"Pathwaypoint delete x" - роз'єднувати найближчу до вас точку і ту точку, номер якої ви вкажете в команді
"Debuggoal x" - Змушує ботів використовувати точку номер х в якості Точки Призначення
для
того, щоб використовувати команди, наведені вище, необхідно
використовувати консоль. Ви повинні почати гру з включеною консоллю
(Використовуйте рядок "hl.exe -console" для запуску гри). для відкриття
консолі натисніть клавішу "
", Введіть команду і натисніть"
"для
повернення до гри.
Ви можете спростити вся справа, якщо
призначите гарячі клавіші для команд за допомогою команди bind. наприклад,
перед редагуванням введіть:
bind a "waypoint add"
bind d "waypoint delete"
bind l "waypoint load"
bind w "waypoint save"
тоді
клавіша a буде служити для додавання точки, d - для видалення, l - для
завантаження і w - для збереження файлу шляхів. Крім того, ці команди
можна зберегти у файлі скрипта, і потім тільки викликати його при
необхідності редагування командою exec.
Командою "waypoint
add "можна додати waypoint в те місце, де розташований гравець. Точки
waypoint'ов можуть бути поставлені скрізь, де може пройти гравець. при
установці точки ви почуєте звук, що підтверджує дію. після введення
команди на екран буде виведено меню, що дозволяє вибрати тип точки.
"Normal
Waypoint "(Звичайна точка) - Ставить крапку, яка використовується для
звичайного пересування по карті від однієї точки до іншої. необхідно
ставити такі окуляри всюди на карті (але дотримуючись певної
дистанції між ними), так як боти використовують їх для того, щоб
ховатися і варіювати шляху руху. Колір точок зелений.
"Terrorist
Important Waypoint "і" Counter Important Waypoint "(Точка, важлива для
терористів і Точка, важлива для контрою) Це стратегічні точки для
кожної з команд. Боти використовують їх для патрулювання по карті. як
вони це роблять, залежить від типу карти. На DE_ картах необхідно
поставити багато таких точок для контр-терористів навколо місця, де
встановлюється бомба і тільки 2-3 стратегічні точки для
терористів. Контр-терористи будуть майже завжди вибирати в якості
мети точки, важливі для CT і тільки іноді підуть до точок, важливим для
терористів. Терористам дозволено йти до точок, важливим для будь-якої з
команд. Система вибору важливих точок змінюється в залежності від типу
карти, наприклад для CS_ карт все навпаки. Точка для терористів
червона, для контрою синя.
Стратегічна точка для контр-терористів
"Ladder" ( "Сходи")
ці
точки необхідно ставити на сходах, якщо ви хочете, щоб боти її
використовували. Нижню точку поставте, коли ви вже підійшли впритул до
сходах. Нагорі сходів необхідно поставити другу точку. ставте
її коли ви вже знаходитеся над сходами. Якщо сходи дуже довга,
можна поставити кілька таких точок межу цими крайніми. В
Найчастіше цей тип точок необхідно з'єднувати вручну з
допомогою команди pathwaypoint add. Якщо між точками НЕ буде
з'єднання, боти НЕ БУДУТЬ використовувати сходи. Колір фіолетовий.
"Rescue Point" ( "Точка порятунку")
Дана
точка повинна бути встановлена тільки на cs_ картах. Це місце, куди
контр-терористи повинні вести заручників. Зазвичай ставиться тільки 1
штука (в залежності від того, скільки Зон Порятунку є на карті). колір
білий.
"Goal Point" ( "Мета карти")
поставте
її там, де розташовані цілі карти. На DE_ картах це місце установки
бомби, на cs картах - це місце, звідки треба відводити заручників. для AS
карт це точка, куди треба рухатися VIP'ам. Колір фіолетовий (як і для
сходів)
"Camp Start" ( "кемперского місце")
це
точка, де боти будуть кемпер. Для того, щоб її поставити, дивіться
туди ж, куди повинен дивитися бот, коли почне кемпер. Для того,
щоб він присів при цьому, просто тримайте кнопку присідання, коли
додаєте точку.
Також треба вказати:
"Camp End" ( "Напрям погляду")
вибравши
це ви встановите кінцеву точку, в яку буде дивитися бот під час
того, як буде кемпер. Дивіться прямо у напрямку, куди повинен
дивитися бот і додайте точку.
Зауваження: Ви не можете додати цей тип точки до того, як поставите точку типу "кемперского місце".
Звичайний колір - блакитний, якщо ви встановите прапор для точки, вона буде з червоним або синім відтінком.
"Jump" ( "Стрибок")
це
одна з перших можливостей навчання в POD (планується значне
розширення таких можливостей). Після вибору цього ваші рухи будуть
контролюватися і якщо ви стрибнете, нормальна крапка буде поставлена
в місці початку стрибка, інша - в місці приземлення. Тобто тип точок
є стандартним, але червона лінія зв'язку між точками покаже, що
це з'єднання типу "Стрибок". Також можна створити таке з'єднання
між вже існуючими точками. Для цього необхідно, щоб в місці
стрибка і приземлення вже були раніше створені точки. При цьому позиція
точок буде модифікована з урахуванням її початкового положення і місця
стрибка.
Точки, з'єднані зв'язком "Стрибок"
Для установки точки, де необхідно присісти, просто тримайте кнопку присідання під час додавання точки.
Як ви помітили, не існує окремих шляхів для різних команд. Це зменшує час створення файлу шляхів.
командою
"Waypoint delete" можна видалити точку, найближчу до гравця. точка повинна
бути на відстані максимум 40 юнітів від гравця (1/2 висоти гравця).
Вам необхідно стояти впритул до точки для її видалення. Це дозволяє
уникнути випадкового видалення точки, яка знаходиться далеко від вас.
При успішному видаленні ви почуєте підтверджуючого звук.
"waypoint
addflag / deleteflag "дає можливість додати деякі додаткові
параметри для точки. Перший, "Block with hostage" використовується рідко.
Якщо ви встановите цей параметр для точки, Бот не використовуватиме
його, якщо за ним слідують заручники. Два інших параметра необхідні для
того, щоб зробити снайперську точку специфічної для команди.
З
допомогою "waypoint save" можна зберегти інформацію про точках в файл.
Перед збереженням (якщо ви не додасте аргумент "nocheck"), точки і
шляху будуть перевірені на наявність грубих помилок і якщо що-небудь не так,
вам буде про це повідомлено і нічого не буде збережено. Під час
перевірки CS "підвисне" на деякий час, тому не хвилюйтеся, гра
не зависла, просто почекайте! Файл waypoint'ов матиме таке ж
ім'я, як і поточна карта, з розширенням "* .pwf". Файл буде збережений в
папку "cstrike / PODBot". Поточне ім'я гравця буде збережено як
ім'я творця шляхів.
Команда "waypoint load" очистить все
waypoint'и на поточному карті і завантажить їх з файлу waypoint'ов. це
хороший спосіб для того, щоб скасувати ті зміни, які ви
зробили після останнього збереження.
Зауваження: не існує
способи скасування зміни однієї останньої точки. Ви повинні використовувати
"Waypoint delete" для видалення точок по одній.
команда
"Autowaypoint" дозволяє автоматично встановлювати точки, коли ви
ходите по карті. Для включення цієї функції введіть: "autowaypoint on".
Коли ви переміщується по карті, нова точка буде встановлена
автоматично на відстані 200 юнітів від уже встановлених. якщо
інша точка встановлена в радіусі 200 юнітів, нова струму встановлена
не буде. Тому якщо ви хочете встановити кілька точок близько одна
до іншої, необхідно користуватися командою "waypoint add".
якщо
вам не подобається, як була встановлена точка автоматично, ви можете
видалити її за допомогою команди "waypoint delete", попередньо відключивши
функцію "autowaypoint".
Коли використовуєте функцію
автоматичної розстановки точок, намагайтеся тримаються центру проходів і
завжди ставити крапки по ОБИДВІ сторони дверей. Для цього вам доведеться
поставити деякі точки вручну за допомогою команди "waypoint add".
команда
"Pathwaypoint" дозволяє відобразити з'єднання між точками
(З'єднання, за якими боти будуть рухатися від однієї точки до іншої).
Увімкніть цю функцію за допомогою команди "pathwaypoint on". Коли ви
підійдете впритул до точки, ви побачите білі або жовті лінії,
з'єднують цю точку з деякими іншими, які бот буде вважати
"Досяжними" при русі з неї. Якщо з'єднання двостороннє, лінія
буде жовта, біла лінія відповідає односторонньому з'єднанню.
"Досяжними" точками вважаються місця, між якими немає перешкод.
Деякі точки не вважатимуться досяжними з різних причин.
Наприклад, точки, що висять в повітрі над ботом не вважатимуться
досяжними, так як не може підстрибнути досить високо. також
точки, що знаходяться занадто далеко від поточного місця розташування, які не будуть
досяжними.
Боти будуть рухатися від однієї точки до іншої
ТІЛЬКИ якщо межу точками існує з'єднання. Тому при створенні
шляхів до карти дуже рекомендую включати режим Pathwaypoint для того,
щоб ви могли завжди бачити з'єднання між точками. також необхідно
перевіряти, чи існують з'єднання між точками в ОБОХ НАПРЯМАХ.
Якщо існує з'єднання від точки А до точки В, це не означає що
існує з'єднання від В до А.
Команда "pathwaypoint add"
дозволяє вручну створити з'єднання між двома точками. це
необхідно в тих випадках, коли шлях між точками блокований яким
або перешкодою (наприклад, дверима) і ви хочете створити з'єднання
між цими точками. Також точки типу "сходи" в більшості випадків
повинні бути з'єднані вручну. Підійдіть близько до точки, ВІД якій
необхідно створити з'єднання і використовуйте команду "pathwaypoint add
x ", причому х повинно бути замінено на номер точки, До якої необхідно
створити з'єднання. Номер точки виводиться в лівий верхній кут екрану
коли ви знаходитесь поруч з точкою.
Наприклад, якщо ви хочете
створити з'єднання між точками номер 250 і 251, спочатку необхідно
стати поруч з точкою номер 250. Після цього ввести в консолі:
"Pathwaypoint add 251". Після цього ви повинні бачити білу лінію
з'єднання між цими точками. Зверніть увагу, що це
Одностороннє з'єднання. Їли ви хочете, щоб боти бігали і в зворотному
напрямку, необхідно стати поруч з другою точкою і додати
з'єднання до першої.
команда
"Pathwaypoint delete x" схожа на "add" команду. Тільки вона не
додає, а видаляє з'єднання від початкової точки до кінцевої. це
може знадобиться в деяких випадках, наприклад для дверей, які
відкриваються тільки з одного боку.
Після додавання точок
перевірте, використовуючи режим pathwaypoint on, реальну досяжність
точок. Іноді трапляється, що ви додаєте точку начебто близько від
інший і також начебто між цими точками немає перешкод, однак
ядро Half-Life не вважає точку досяжною. Тому необхідно
перевірити з'єднання для точок в ОБОХ напрямках. зазвичай немає
необхідності стежити за цим, проте в деяких ситуаціях необхідно
витратити деякий час з'єднуючи точки вручну (наприклад, для
сходів).
Для того, щоб поставити крапку, де бот повинен
присісти, просто сядьте самі під час додавання точки. боти будуть
автоматично присідати при наближенні до точки (якщо це не кемперского
місце).
4. Що таке WayZone?
Боти будуть вибирати
точку в межах цього радіусу, як точку куди слід йти, це просто
робить рух не таким "статичним". Точки типу "Драбина",
"Кемперского місце" і "Мета карти" завжди мають радіус 0. Не намагайтеся
змінити його. Після того, як POD-бот вирахував все Зони, необхідно
перевірити для всіх точок, чи є вони дійсно досяжними в
радіусі WayZone. Намагайтеся бути уважними при установці радіусу.
Біля кутів краще зменшити радіус. Також бажано поставити радіус 0
для деяких вузьких дверних прорізів. Для того, щоб вручну встановити
радіус зони, необхідно, знаходячись біля точки, ввести в консолі
"Waypoint setradius x", де x - значення радіуса, яке потрібно
привласнити точці. Допускаються значення від 0 до 128. Чим більше, тим
більше радіус. Також зауважте, що якщо включений режим pathwaypoints,
радіус буде показаний синіми лініями (якщо він не дорівнює 0)