13

» WarCraft 3 / Работа с нативными функциями

IceFog, Пожалуйста выложи свой JassApi,dll, а то твоя библиотека RedirectCalls.dll требует функции AddEventHandler у библиотеки JassApi.dll. Вот скриншот.
Загруженные файлы
13

» WarCraft 3 / Пути

Я ещё подумаю пока. Может быть, через 4 массива сделать ту же самую систему.
13

» WarCraft 3 / Пути

Есть у меня одна идейка, как можно реализовать поиск путей между двумя точками. Нужно создать 4 переменных стоковых (String). Занести в первую переменную уже заранее подготовленную и записанную в текстовом виде карту путей. Карта путей будет иметь разрешение 128*128 (большие клетки на карте)*4(маленькие клетки в одной большой клетке) = 65 536 маленьких клеток на карте путей. 1 маленькая клетка 1 символ в стоке. Символ "1" или "0". Можно пройти в этой клетке или нет. 1 - можно, 0 - нет. 1 стока будет отвечать за рельеф на игровой карте. 2 стока будет отвечать за разрушаемые объекты деревья на игровой карте. 3 стока будет отвечать за расположения любых юнитов на игровой карте. 4 стока необходима для расчёта оптимального пути между клетками. С начало в 4 стоку заносятся все данные из первых 3 сток. А потом уже идёт аналитический процесс для определения оптимального пути между клетками на карте путей, по тем или иным условиями. Например наш юнит занимает на карте путей 2*2 маленькие клетки. И нужно будет определить оптимальный путь на карте путей именно для этого юнита, у которого такой размер на карте путей. Это мы будем делать следующим образом. Проверять сразу 2 соседнии клетки с любой стороны, а именно сверху, снизу, слева и справа. И условие будет такое, если хоть одна маленькая клетка свободная, то меняем числовое значение удаленности от первой точки на карте в переменной, а если 2 клетки заняты, то не меняем никакие числовые значения в переменной. А если мы не доберемся до этой клетки на карте и все остальные клетки на карте уже заняты, то пройти в эту точку нельзя.
Да, кстати, забыл добавить, что придётся создавать массив из 65 536 числовых элементов. Это можно реализовать следующим образом. Создать несколько однотипных массивов по 8192 числовых элементов. Данный огромный массив будет состоять из 8 таких массивов. В который мы с помощью отдельных функций и будем записывать и забирать наши числовые значения. А именно числовые значения удалённости от первой точки на карте. До следующей точки на карте.
13

» WarCraft 3 / Пути

Я тоже это только что проверил. Нет, надо искать другой выход. Из этой ситуации.
13

» WarCraft 3 / Аналог способности канал

quq_CCCP, а скажи, пожалуйста, заклинание "Цепь молний" AI сможет использовать сам по своему усмотрению?
13

» WarCraft 3 / Аналог способности канал

Нет не баф. Мне надо применить заклинание "Целительная волна", через какую-нибудь другую способность, аналогичную способности канал. Так как в списке заклинаний у способности канал нету этого заклинания.
13

» WarCraft 3 / Как отключить героям в AI скрипте автоприменение способностей

Принятый ответ
Ответ на мой вопрос: используйте способность "Канал", как основу для ваших способностей. Потому что AI никогда не использует способности, которые основаны на способности "Канал" сам.
13

» WarCraft 3 / Как отключить героям в AI скрипте автоприменение способностей

Meddin, стандартный ии не изучает этот скил у героя. Но когда юнит стоит на месте. Он использует эту способность, если у него уже изучен этот скил. Создал новую карту, добавил туда 3 юнитов, за ту и за другую расу для проверки использования скила у противника. Создал юнитов героев Келя, Блейд мастера, и обычного юнита бугая за обе стороны. Себе что бы убедиться, что скилы работают. Противнику, что бы проверить, как он их будет использовать. Поставил союз на нет между игроками. Экспортировал из архива War3x.mpq файл UnitAbilities.slk который находился в папке Units. Изменил там 1 спел у героя Келя (равкод героя 'Hblm') огненный столб (равкод способности 'AHfs') на стремительность (равкод способности 'AOwk'). Импортировал этот файл в карту. Указал путь к файлу Units\UnitAbilities.slk. Добавил в карту триггер: через секунду после начала игры, изучить 4 героям Блейд мастерам и Келям за обе стороны способность стремительность (равкод способности 'AOwk'). Сохранил карту. Загрузил карту в варкрафте. Поставил 2 расы ночные эльфы за того и за другого игрока. И компьютер в игре использует способность стремительность обоими героями, играя за ночных эльфов. Но компьютер сам не двигается этими героями по своему усмотрению. Герои просто стоят на месте. И двигаются, когда на них нападают, или на них наступают вражеские войска.

Если и в мейне и в аи герои используют способности сами, то как же быть? В какую сторону капать? Надо искать правила для применения способностей, но где они? В каком они файле находятся?
13

» WarCraft 3 / Как отключить героям в AI скрипте автоприменение способностей

Я вот сделал такую карту. У меня там герой за альянс Кель бегает в стремительности, а играет за ночных эльфов. Как это понимать, то что вы написали? И это играет компьютер. Использует спел стремительность, играя за ночных эльфов, у героя которого даже нет у этой расы.
13

» WarCraft 3 / Как отключить героям в AI скрипте автоприменение способностей

С этим я разобрался. Меня интересует другое. Как герои применяют способности сами? Не зависимо от того, что написано в ai скрипте любой расы?
13

» WarCraft 3 / Как отключить героям в AI скрипте автоприменение способностей

Карта Vampirism fire, я пишу бота за вампа. Он применяет способность лечение вне зависимости от аи скрипта который я пишу. Как только отнимутся жизни он сразу применяет эту способность. Также и боты за человека, тоже используют манаберн, как только увидят вампа сами. Вне зависимости от того, что написано в скрипте. Мне надо, сделать так, что бы герои и юниты не применяли, способности сами.
13

» WarCraft 3 / Как отключить героям в AI скрипте автоприменение способностей

А в каких файлах смотреть? Сommon.ai и Blizzard.j в этих файлах находятся функции по применению спелов у героев?