сайт оптимиzирован под раzрешение: 800x600 :: добавить в иzбранное :: написать нам       на главную
Обучение
Тактика
Консоль
Игра по модему
Игра в интернет
Серверы
F.a.q.
Скрипты
Ссылки
As карты
Cs карты
De карты
Es карты
Ka карты
Другие карты
Террористы
Контер-террористы
Заложники
Ножы
Пистолеты
Дробовики
Полуавтоматы
Автоматы
Снайп. винтовки
Пулемёты
Гранаты
Бомбы
Другое
Патчи
Дэмки
Программы
Боты
Спрайты
Звук
Консоли
Картинки
Скриншоты
Логосы
Комиксы
Обои
Winamp скины
Мувики
Другое
Гостевая
Форум
О сайте
Кнопка
Связь

Соzдание waypoint'ов

* V1.2 Создатели waypoint, пожалуйста прочтите:

Если вы раньше создавали waypoint для POD-Bot вам нужно узнать несколько различий. Во-первых, вы теперь можете соединять между собой 8 waypoint (раньше было 4). К тому же, радиус wayzone вычисляется автоматически, когда вы ставите waypoint (давать команду "wayzone calcall" теперь не нужно). И даже больше, вам теперь следовало бы ставить больше waypoint, так как Боты стараются их различать. Также ставьте waypoint в тех местах, которые вы хотите чтобы были защищены (смотрите ниже для детального объяснения).


Сперва, перед тем, как начать делать waypoint для карт, в которые вы хотите поиграть, вам следовало бы проверить, может они уже кем-то сделаны: http://www.nuclearbox.com/podbot/downloads.shtml


1. Waypoints, что это такое?

Waypoints - это точки на карте, которые Боты используют для навигации. Они позволяют Ботам блуждать по карте без упираний в стенки. Waypoints - это то, что делает путь Ботов легче. Waypoints не показываются, когда идет игра. Боты "знают" каким путем пойти следуя точкам, указанным в waypoints.

Также, чтобы Боты могли блуждать по всей карте во время игры, waypoints должны быть поставлены по всей карте. Без waypoints Боты будут случайно бродить вокруг и оставаться в той же области. 
Waypoints также позволяют Ботам знать, где находятся точки назначения в игре. Вы не сможете играть с флагом, пока вы не узнаете, где находится флаг, и куда он должен быть доставлен после захвата. Waypoints - это то, что делает эти вещи возможными. Боты с хорошо поставленными waypoint и своими алгоритмами могут найти кратчайший путь между точками на карте и передвигаться из текущей позиции к точке назначения на другом конце карты.

Этот документ описывает команды необходимые для создания и редактирования файла waypoint (который будет использоваться с POD-Bot). Когда создаете или редактируете waypoint, лучше если НЕТ вокруг Ботов, блуждающих в это время.  Создайте LAN game и присоединитесь к игре, затем начинайте ставить waypoints для этой карты. Запишите waypoint , отсоединитесь от сервера, затем начните игру снова, после смотрите как хорошо (или плохо) Боты следуют waypoints, которые вы создали.


2. На что похожи waypoints на карте?

Waypoints обозначаются вертикальной линией, которая похожа на молнию или электрический разряд. Вертикальная линия, которая используется для обозначения waypoint такая же по высоте как игрок. Точка в центре этой линии и есть то, что используется как waypoint. Различные типы waypoints имеют различные цвета.

Waypoints записываются в файл с тем же названием, что и название файла карты, но с расширением ".pwf" вместо расширения ".bsp". Например, файл waypoint для карты de_dust будет иметь название de_dust.pwf. Он будет записан в папку Half-Life\cstrike\PODBot, а затем в папку, которая указана в POD-Bot (обычно "WPTDefault"). Файл waypoint автоматически загружается, когда загружается карта (если он существует). Если файл waypoint не существует, вам необходимо создать его используя команды описанные в этом документе.


3. Команды консоли waypoint

Следующие команды Waypoint доступны (обратите внимание - они чувствительны к регистру написания):

"waypoint on" - включает отображение waypoints.
"waypoint on noclip" - включает редактирование waypoint с кодом noclip. Это позволяет вам летать и проходить сквозь стены. Полезно для создания waypoint плавания.
"waypoint off" - выключает отображение всех waypoints.
"waypoint add" - добавляет waypoint в текущей позиции игрока. Появится меню, в котром вам нужно выбрать тип устанавливаемого waypoints
"waypoint delete" - удаляет waypoint находящийся ближе к игроку (см. ниже).
"waypoint find x" - показывает вам направление к Waypoint под номером x
"waypoint showflags" - показывает все флаги, которые устанавливаются вручную на waypoint
"waypoint addflag" - позволяет вам вручную добавить флаги на waypoint.
"waypoint delflag" - позволяет вам выбрать флаг waypoint на удаление
"waypoint setradius x" - вручную устанавливает радиус Wayzone для waypoint указанного под номером x
"waypoint stats" - показывает число waypoints, которые вы уже установили.
"waypoint check" - проверяет все ли Waypoints правильны (автоматически делается, когда вы их сохраняете)
"wayzone calcall" - вычисляет радиус Wayzone для всех Waypoints на карте. (не используется с V1.3, потому что wayzones автоматически вычисляются, когда вы создаете waypoint)
"waypoint save" - записывает текущий список waypoint в файл (с проверкой путей)
"waypoint save nocheck" - то же самое, но без проверки ошибок.
"waypoint load" - загружает список waypoint из файла waypoint (и инициализирует все данные).

"autowaypoint" - отображает статусную информацию об установке autowaypoint.
"autowaypoint on" - включает установку autowaypoint.
"autowaypoint off" - выключает установку autowaypoint.

"pathwaypoint" - отображает статусную информацию об установке pathwaypoint.
"pathwaypoint on" - включает установку pathwaypoint (см. ниже).
"pathwaypoint off" -  выключает установку pathwaypoint.
"pathwaypoint add x" - соединяет ближайший от вас Waypoint с waypoint  под номером x.
"pathwaypoint delete x" - отсоединяет ближайший от вас Waypoint с waypoint под номером x.

"debuggoal x" - указывает ботам использовать Waypoint № x как точку назначения


Все команды waypoint даются через консоль. Вы должны запустить игру с включенной опцией консоли (используйте "hl.exe -console" в строке путь ярлыка Counter-Strike). Используйте клавишу '~' чтобы опустить консоль. Введите команду, которую вы желаете использовать и далее нажмите клавишу '~' еще раз, чтобы вернуться в игру.

Вы можете сделать добавление команд легким путем, связывая команды консоли с клавиатурой. Просто введите "bind", далее следует клавиша, с которой вы хотите связать команду, далее следует команда консоли. Вам необходимо использовать кавычки, если в команде больше одного слова. Вот пример команд консоли, которые я использую при редактировании waypoints...

bind a "waypoint add"
bind d "waypoint delete"
bind l "waypoint load"
bind w "waypoint save"

Клавиша 'a' вручную добавляет waypoint. Клавиша 'd' удаляет waypoint.
Клавиша 'l' загружает недавно записанный файл waypoint (полезно, когда вы добавили waypoint, но не хотите их сохранять и хотите вернуться к прежде сохраненным waypoint, наподобие "undo"). Клавиша 'w' сохраняет список waypoints в файл. Я пробовал использовать 's', но иногда ошибался при добавлении или удалении waypoint.

Команда "waypoint add" помещает waypoint в позиции, в котрой находится сейчас игрок на карте. Waypoints могут быть помещены где угодно, где может ходить игрок. Когда ставится waypoint, вы услышите звук означающий, что waypoint был поставлен. Затем вам следует указать тип waypoint, который вы хотите здесь поставить.

"Normal Waypoint" устанавливает Waypoint, который используется для нормального перемещения из одной точки в другую. С версии V1.4 вам следовало бы помещать их побольше (но соблюдая дистанцию между ними), так как боты используют их для различения перемещения по карте. Цвет зеленый.


A Standard Normal Waypoint

"Terrorist Important Waypoint" и "Counter Important Waypoint"
Это стратегические waypoints для каждой команды. Боты используют эти waypoints для патрулирования карты. Как они используют их, сильно зависит от типа карты. В картах DE вам необходимо поместить много Counter Waypoints вокруг зоны установки бомбы и только 2 или 3 стратегических waypoints для Terrorists. На картах DE боты Counter большинство времени используют Counter Waypoint как путь назначения и только иногда используют Terrorist waypoint. Terrorists позволено использовать любые из них как пункты назначения. Это свойство меняется с типом карты, в картах CS, например, это абсолютно противоположно. Это помогает думать о important waypoints как о стратегических позициях в спортивной игре. Представьте команду, которая защищает пункт назначения карты как 'Home Team', а другую как 'Away Team'. Теперь вам нужно поставить больше important waypoints для Home Team, потому что Away Team будет использовать их в любом случае. На картах DE CT Team это Home Team, на картах CS & AS Terrorist Team это Home Team. Среднее количество Important Waypoints для 'Home Team' должно быть приблизительно в два раза больше, чем important waypoints для 'Away Team'. Цвет WP для Terrorists - красный, для  Counter Waypoints - синий.

A Terrorist Important Waypoint

A Counter-Terrorist Important Waypoint

"Ladder Waypoint"
Этот waypoint должен быть поставлен на лестницу, если вы хотите, чтобы боты использовали ее. Установите waypoint в нижней позиции лестницы. В верхней позиции лестницы вам тоже нужно поставить waypoint. Установите это в позиции вплотную к лестнице. Если лестница достаточно длинная, вам необходимо поставить еще ladder waypoint между ними. В большинстве случаев вам нужно соединить waypoints вручную используя команду pathwaypoint (см. ниже). Если между этими waypoints нет соединения боты не будут использовать лестницу! Цвет фиолетовый.


A ladder waypoint

"Rescue Waypoint"
Это нужно только на картах с заложниками. Это позиция, куда вы хотите, чтобы боты CT приводили заложников. Обычно необходима только 1 (в зависимости от того сколько Rescue Zones, их  может быть и больше). Цвет белый.


A Rescue Waypoint

"Goal Waypoint"
Поставьте это в позиции на карте, которая должна быть достигнута. На картах DE это место, где должна быть установлена бомба и на картах CS боты Counter используют это место для отвода заложников. На картах AS это точки спасения VIP. Цвет фиолетовый как у ladder waypoints.


A Goal Waypoint

"Campstart Waypoint"
Это позиция снайпера. Поставьте ее в позицию, откуда вы хотите, чтобы стартовал снайпер. Чтобы позволить ему присесть в этой позиции, просто нажмите клавишу приседания, когда добавляете ее. Вам также следует указать:
"Campend Waypoint"
Это ставит конечный пункт для бота-снайпера. Продвигайтесь в ту позицию, которую вы хотите, чтобы использовал бот. Примечание: вы не можете поставить campend waypoint до того, как сделаете campstart waypoint. нормальный цвет бирюзовый, если вы сделаете это специфичным для каждой команды, то для Terrorist будет с отпечатком красного и синего для CT.


Camp Waypoint - позиция, где присаживается бот, когда снайперит

"Jump Waypoint"
Это первая функция обучения в POD (Я планирую намного ее расширить). Выбрав это, ваши передвижения будут отображены, и если вы прыгаете normal waypoint будет помещен в позиции, где вы начали прыгать, а другой будет помещен там, где вы приземлитесь. Тип Waypoint (как было сказано до этого) стандартный, но красная линия соединения показывает вам, что есть прыжок между этими двумя waypoint. Вы также можете создать соединение прыжка между существующими waypoint, просто будьте уверены, что вы вблизи первого waypoint, когда прыгаете, и что вы вблизи второго waypoint, когда приземляетесь. Также это свяжет waypoints на средней позиции от предыдущей позиции к вашей позиции прыжка. Вы даже можете поставить, чтобы боты прыгали на лестницу и даже несколько прыжков друг за другом!


Waypoints соединенные с помощью Jump Connection

*ПРИМЕЧАНИЕ*
Чтобы установить crouch waypoint (приседания), просто удерживайте вашу клавишу приседания. Вы конечно заметили, что я не сделал разные пути для разных команд. Я убрал специфичные пути для каждой команды, так как боты должны быть свободно ходить где угодно и, честно говоря, я ненавижу создавать waypoints для каждой команды отдельно.

Команда "waypoint delete" удалит waypoint наиближайший к игроку. Waypoint ДОЛЖЕН быть на расстоянии 40 пунктов от игрока (около 1/2 высоты игрока), чтобы быть уничтоженным. Вы должны стоять достаточно близко к waypoint, чтобы удалить его. Это защищает вас от случайного уничтожения waypoint на другой стороне комнаты. Когда вы удаляете waypoint, вы услышите звук, означающий, что waypoint был удален.

Команда "waypoint addflag/deleteflag" дает вам некоторые дополнительные опции для waypoints. Во-первых, "blockwithhostage" часто используется. Если вы поставите этот флаг на waypoint, боты не пойдут на этот waypoint, если заложник следует за ними. И во-вторых, вы можете сделать позицию снайпера для каждой команды.

Команда "waypoint save" сохраняет все waypoint в файл. Перед сохранением (если вы не добавили параметр 'nocheck') Waypoints и Пути будут проверены на основные ошибки, и если что-то неверно вам будет сообщено и ничего не сохранится. Во время проверки игра останавливается и зависит от вашего компьютера, сколько это будет проверяться (может и за минуту). Не беспокойтесь, ваш компьютер не повис! Файл Waypoint будет иметь то же имя, что и текущая карта и расширение ".pwf". Файл будет сохранен в папку "cstrike/PODBot". Ваше имя игрока будет записано как создатель waypoint для этой карты.

Команда "waypoint load" очищает все waypoints текущей карты и загружает их из файла waypoint в папке карт. Это хороший путь, чтобы отменить waypoints, которые вы создали, но не хотите сохранять. Нет команды отмены одного waypoint. Вы должны использовать команду "waypoint delete", чтобы удалить waypoint.


Команда "autowaypoint" позволяет вам проставлять waypoint, когда вы перемещаетесь по карте. Чтобы включить эту функцию, используйте команду "autowaypoint on". Когда вы будете двигаться, waypoints будут автоматически выставляться каждые 200 пунктов. Waypoint не будет создан, если есть хотя бы еще один на расстоянии 200 пунктов от вашей текущей позиции. Так что, если вы хотите поместить много waypoints близко друг к другу, вы можете проставить некоторые waypoints используя команду "waypoint add". Autowaypoint запоминает, где находился последний поставленный waypoint (вручную или с помощью autowaypoint) и помещает другой waypoint, когда вы на расстоянии 200 пунктов от последнего waypoint. Если вам не понравилось, где autowaypointi поместил waypoint и хотите удалить его, используйте команду "waypoint delete" (но сперва выключите autowaypoint, так как она поместит новый waypoint в любом случае).

Когда вы используете autowaypoint, старайтесь оставаться в центре узких проходов и всегда ставьте waypoint на ОБЕ стороны двери. Вы можете поместить эти waypoints вручную используя команду "waypoint add", так как такие места, как узкие проходы, дверные входы и выходы, не всегда точно совпадают с расположением, которые поместил autowaypoint.
Не используйте autowaypoint для таких расположений, как лестницы и прыжки!

 

Команда "pathwaypoint" позволяет отображать вам, что боты будут использовать как правильный путь из одного waypoint к другим waypoints. Включите pathwaypoint используя команду "pathwaypoint on", и когда вы будете подходить к waypoint, желтые и белые линии будут показывать к другим waypoints, то что боты считают "достижимым". Если соединение двухпутевое линия желтая, если однопутевое - белая. Этими "достижимыми" waypoints будут те waypoints, которые напрямую видны из текущей позиции. Конечно, waypoints будут не позволены как достижимые по одной или другой причине. Например, waypoints находится в воздухе, при чем бот не может до него достать даже прыжком. Также waypoints, которые слишком далеко от текущей позиции тоже не будут считаться достижимыми. У вас могут быть waypoints, которые достаточно близко друг к другу, но через широкое препятствие, которое нельзя перепрыгнуть. Если далеко находящийся waypoint виден, он будет показан как "достижимый", так как у меня до сих пор нет метода определения, может бот попасть туда или нет.

Боты ТОЛЬКО будут передвигаться с одного waypoint на другой, если есть путь между ними. Советую включать параметр pathwaypoint, когда создаете файлы waypoint, чтобы вымогли видеть пути между ними и знать есть он вообще или нет. Всегда проверяйте waypoints на наличие пути В ОБА КОНЦА между ними. Просто потому, что если есть нарисованная линия между пунктами А и В, это не значит, что есть путь от пункта В к пункту А.

Команда "pathwaypoint add <waypointnr>" позволяет вам добавлять вручную путь между двумя waypoints. Это необходимо в некоторых случаях, когда waypoints блокированы (дверями или другими объектами) и вы желаете создать путь между этими waypoints. Также ladder waypoints должны быть вручную соединены в большинстве случаев. Продвиньтесь к waypoint, от которого вы хотите начать путь и дайте команду "pathwaypoint add x". Конечно же, "x" должен быть заменен номером waypoint. Номер Waypoint, возле которого вы стоите, будет показан в левом углу вашего HUD (если вы включили pathwaypoint). Например, чтобы вручную установить путь между Waypoint № 250 и 251, вам сперва следует встать возле Waypoint № 250. Затем ввести команду: "pathwaypoint add 251" и они будут соединены. Теперь вы увидите белую линию, соединяющую стартовый waypoint с конечным waypoint. Это называется ОДНОПУТЕВОЕ соединение. Если вы хотите создать путь обратно в другом направлении, Вам необходимо начать от второго waypoint и закончить около первого waypoint.

Однопутевое соединение

Двухпутевое соединение

Команда "pathwaypoint delete x" почти та же команда "add", но она удаляет путь (соединение) от стартовой точки к конечной. Это необходимо в некоторых случаях, когда у вас есть дверь, которая открывается с одной стороны и позволяет вам пройти, но когда дверь закрывается вы не можете выйти обратно.

Когда добавляете waypoints, используйте возможность pathwaypoint, чтобы проверить, что waypoints действительно достигаемые. Иногда вы добавляете waypoint, и он достаточно близко, и в поле зрения, но движок Half-Life не показывает, что waypoint "достижимый". Проверяйте ОБА направления соединений, когда создаете путь между waypoint. Обычно вам не нужно сильно беспокоиться о положении waypoint, но в некоторых ситуациях вам необходимо потратить достаточно времени осторожно проставляя waypoints чтобы они были "достижимыми" (лестницы хороший пример).

Чтобы установить waypoints приседания, просто присядьте, когда ставите waypoint. Вы заметите, что линия waypoint короче чем нормальная линия. Бот будет автоматически приседать, когда будет приближаться к waypoint приседания (если это не camping waypoint).

Старайтесь ставить waypoints посередине проходов (сделайте несколько "важных" waypoints на пересечениях). Старайтесь не ставить waypoints на местах, где боты будут упираться в углы стен или другие препятствия, когда будут пытаться перейти от одного waypoint к следующему. Запомните, что боты не всегда будут идти по тому пути, который вы считаете "правильным" при выборе следующего waypoint. Постарайтесь сократить количество выборов, при которых боты могут пойти в неверном направлении. Также помните, что в битве боты могут пойти обратно и не найти waypoint. В этом случае они не найдут ближайший waypoint (они ищут только на расстоянии 200 пунктов) и будут на одном месте. С V1.4 важно ставить побольше waypoints, чтобы предоставить ботам широкий выбор. Также ставьте waypoints в углах или перед стенами/дверями, так чтобы они могли взять хорошие прикрытые позиции. Боты постараются укрыться в waypoints

  • невидимыми врагом и
  • waypoint с наименьшим радиусом wayzone в округе

4. Что такое Wayzones ?

Боты берут точку внутри радиуса как пункт назначения (соновано на таких вещах, как ориентация и т.д.), просто это делает предвижение не "статическим". Ladder waypoints, camp waypoints и goal waypoints всегда имеют радиус 0. Не пытайтесь их изменять! После того, как POD-Bot вычислят все зоны, вам следовало бы пройти по всем waypoints, чтобы проверить, что они достижимы с их радиусом. Будьте осторожны с радиусом. Если ваш путь проходит около углов, лучше понизить радиус. Вам следует установить радиус в 0, если путь проходить через узкие проходы или что-либо в этом роде. Вам необходимо вручную установить значение радиуса, стоя около waypoint, и далее ввести "waypoint setradius x", где x - значение, которое вы хотите поставить. Допустимые значения - 0-128. Соответственно, чем больше, тем шире. Вы также заметите, что если включен pathwaypoint, некоторые линии будут показывать радиус этого waypoint (если он не равен 0).


Некоторые нюансы и подсказки, когда создаете waypoints:
Я начинаю с ввода "waypoint on". После этого я ввожу "autowaypoint on" и "pathwaypoint on". Потом я стараюсь покрыть карту waypoints везде, где я хочу, чтобы блуждали боты (исключая ladder waypoints) и вручную устанавливаю радиус wayzone, если он не подходящий. После этого я стараюсь думать о важных точках для каждой команды. Я передвигаюсь в позицию, удаляю "нормальный" waypoint и вместо него ставлю стратегический waypoint. Затем я помещаю goal waypoints, rescue waypoints (если необходимо) и ladder waypoints. Затем я много тестирую играя и проверяю с 'debuggoal' до тех пор, пока я не буду полностью удовлетворен всеми передвижениями. Если есть ошибки, когда вы записываете waypoints, номер waypoint с ошибкой будет показан вам. Используйте команду 'waypoint find x', где x - номер waypoint, который необходимо найти. Зеленая линия затем вам покажет направление к waypoint, если вы до этого включили pathwaypoints. Введите 'waypoint find -1', чтобы это отключить. Еще одна полезная команда для тестирования waypoints  - это команда debuggoal. Если вы хотите проверить, пройдут ли боты до определенного waypoint без проблем, сохраните waypoints, затем загрузите их снова и введите debuggoal x, где x - номер waypoint, который вы хотите чтобы бот достиг. После этого добавьте одного бота в вашу команду и смотрите за его перемещением к этому waypoint. Не забудьте выключить это в реальной игре, потому что все боты будут принимать этот waypoint за точку назначения. Waypoint для стрельбы в препятствия не существует. Боты автоматически стреляют, если они блокируют их путь, просто будьте уверены, что путь идет через препятствие, которое можно разбить. Также нет waypoint для кнопки. Если бот видит кнопку, то он ее старается нажать. Если вы хотите, чтобы бот точно нажал на кнопку, вы можете сделать соединения waypoint, которые идут прямо к кнопке .

 

Некоторые наиболее распространенные ошибки:

Рисунок 1 - Установка ненужных waypoints

Waypoint в середине окна был вполне возможно поставлен, чтобы помочь ботам с прохождением через него. Однако, это дает абсолютно противоположный результат. Если у ботов есть линия прямого обзора на другой waypoint, то подразумевается, что у них не будет никакого препятствия на пути. Будет лучше, если удалить waypoint в окне и просто соединить waypoint перед окном и позади него.

Рисунок 2 - неверный радиус Wayzones


Посмотрите на радиус wayzone связанный с этим waypoint. Если бот попытается пройти через этот мост, то почти 100% что он упадет и разобьется, потому что он подумает, что есть место для передвижения за мостом. Для нормального передвижения радиус wayzone должен быть установлен в 0.

Рисунок 3 - Нет соединения между Waypoints, плохие ladder waypoints

Во-первых, соединение от нормального waypoint не лучший вариант. Лучше, чтобы угол приближения был установлен в больший угол. Но реальная ошибка, то, что возможно выше нет соединения от ladder waypoint к normal waypoint. Давайте посмотри вниз от верхнего waypoint:

Да. Это даже хуже. Это однопутевое соединение от верхнего waypoint к ladder waypoint (с углом, из-за которого боты не будут использовать лестницу, чтобы не сломать ноги), и нет соединения от ladder waypoint к верхнему, и хуже всего то, что эту позицию могут достигнуть только, те боты, которые идут по путям. Играя с такими waypoints результат будет таков, что боты будут бегать вокруг одного waypoint просто потому, что создатель waypoint забыл о соединении между ними. Простое ручное соединение ladder waypoint с верхним waypoint снимет всю проблему.

Рисунок 4 - Неправильное расположение Important Waypoints

Теперь посмотрите на это. Не смешно ли это, что Terrorist Important Waypoint, CT Important Waypoint и Normal Waypoint находятся в одном и том же месте? НЕТ, не смешно!
Эта карта - cs_galleon - карта с заложниками, где команда террористов стартует на корабле, а команда спецназа появляется где-то там за кораблем. Так как обе важные точки стоят в одном и том же месте, теряется смысл игры для ботов и это превратится просто в Deathmatch (если это вообще будет игрой). Поэтому CT Important Waypoint должна быть удалена и создана заново в той области, где появляются CT или вблизи нее. Ну и еще здесь ошибка, что CT Waypoint и нормальный waypoint расположены очень близко друг к другу. Подробнее об этом смотрите ниже...

Рисунок 5 - Неверные углы приближения для Ladder Waypoints

Нормальный waypoint спереди соединен с ladder waypoint сзади под таким углом, что боты почти все время будут подбегать сзади к лестнице или упираться в ее бок. Для того, чтобы было еще хуже нормальный waypoint справа также соединен с ladder waypoint (это не видно на рисунке), так что боты будут постоянно стукаться, когда захотят использовать лестницу (они не знают как маневрировать вокруг сторон лестницы)... К счастью есть кнопка слева на рисунке, так что если боты ее нажмут, есть шанс, что они приблизятся к лестнице с лучшей стороны. Проблема хорошо снимается удалением соединения от waypoint с правой стороны к лестнице и перемещением переднего waypoint на маленькое расстояние левее.

Рисунок 6 - Waypoints находятся слишком близко друг к другу

Эти два waypoints на таком близком расстоянии абсолютно необязательны, это будет затормаживать ботов (от большого количества waypoints) и ничего не прибавит хорошего к перемещению ботов и повреждением. Я постараюсь объяснить:

У ботов тяжело закодированный радиус внутри моей DLL, когда бот думает, что достиг этих waypoints. Это зависит от типа waypoints, в соответствии с примерным рисунком нормальные waypoints считаются достигнутыми, когда бот находится в радиусе 50 пунктов от центра waypoint. Чтобы посмотреть что я имею ввиду под 50 пунктами, вы можете установить радиус waypoint в 50 пунктов введя команду 'wayzone setradius 50'. Ну и на примере растояние между 2 waypoints на порядок ниже этого, я бы сказал16 пунктов. Ну и что? Если бот достигнет Waypoint № 1, он автоматически подумает (в тоже время), что он достиг Waypoint № 2 без каких-либо повреждений, что естественное хуже для правильного перемещения. Кроме того, я сделал пути 2 ботов, так что, когда 2 бота на ходятся на одном и том же waypoint как точке назначения, я пытаюсь находить альтернативные waypoints. Так что, если бот #1 хочет достигнуть Waypoint № 1, Waypoint № 2 будет связан с ботом #2, что приведет к тому, что боты будут постоянно задевать друг друга.

Рисунок 7 - Вообще нет Waypoints!


Я могу представить себе глядя на этот сценарий, что создатель waypoint думает так: "Хорошо, этим ботам поставлены waypoints и я не хочу, чтобы они ходили здесь, поэтому я просто не поставил здесь waypoints и все хорошо". Неверно! Это правда, что POD-Bot используют waypoints для основных перемещений, так что в нормальных навигациях боты никогда не достигнут этих позиций. Но это большая разница, когда идет битва! Если бот атакует/атакован врагом, он не использует waypoints, а двигается без waypoints,  например как Realbot. Так что вполне возможен случай, когда бот во время боя придет в позицию, где нет waypoints, на рисунке он двигался назад, когда дрался с врагом, затем убил врага и встал на позиции, где я взял screenshot. Теперь бот хочет переключиться назад на перемещение по waypoints, но не может найти ни одного вокруг и будет стоять на одном месте постоянно. Так что основное правило - помещать waypoints даже в тех областях, куда вы думаете боты никогда не придут, вы никогда не знаете, что может случиться в битве!

Фууу ! Я надеюсь, что ничего не пропустил. Запомните: чем лучше файл waypoint, тем веселее играть с ботами! Если они где-то застряли на карте, то это вина создателя файла waypoint...
Опубликовано на tch-cheats.narod.ru

 


Счётчики
TopCTO Игры Enter The Counter-Strike TOP 100 sites | www.CSTop100.com and Vote for this Site!!! Игры
 

 cs-cof.narod.ru © 2003
вся информация этого сайта вzята c других сайтов. все
ссылки имеются. особая благодарность сайту cscentral.ru