Почему в первом условии (Атакованный юнит), а не (Атакующий юнит)? Имеет ли Олох этот специальный бафф? Или это не бафф?
Должно быть событие, что не просто какой-то там юнит атакован, а именно Олаф атакован.
Вырвать дерево меняет тип атаки с 1 на 2, но для героев это вроде некорректно будет работать, так как у них второй тип атаки заточен под использование дальней атаки сферой.
С исследованием Авиабомбы теоретически должно быть аналогично.
Сначала обнаружил, что в JNGP отображаются не все возможные шрифты игрового интерфейса, только эти:
Потом карта вылетала с фаталом при загрузке, а потом обнаружил, что указан шрифт Text.ttf, а импортирован war3mapImported\Text.ttf. Убрал путь, загрузил карту и сделал скрин.
Так что, если у тебя путь импорта удалён, проблема скорее всего в английской локали. У других игроков будет нормально, а тебе можно пользоваться WarRun'ом.
P. S. Если, конечно, карта не рассчитана на западных игроков, а ты не вводишь в игру тексты на кириллице.
Uint32, случайность положения разрывов всякий раз принципиально важна? Так как триггерно это выполнить просто, а для моделей снарядов разрыв является анимацией Death, теоретически можно попробовать сделать анимации Death - 1, Death - 2, Death - 3,.. с разным положением разрывов, чтобы был какой-то элемент случайности в этом, но нигде не припомню несколько таких анимаций смерти, может быть несколько случайных таких анимаций не может быть. И по времени они должны немного в разное время разрываться, либо все одновременно?
Замени шрифты в другой карте, если в ней интерфейс нормально будет отображаться, значит проблемы именно в твоей карте, если и в другой нет, то попробуй файл шрифта поменять, вдруг в нём проблема, а если и с другими шрифтами так, то скинь карту посмотреть.
Если брать разные китайские/корейские/тайские карты, то там тоже шрифт не виден, даже если установлен в игру сторонний шрифт юникод, до тех пор, когда что-то в игре (типа локали) не будет переключено на нужный язык. С кириллицей может быть аналогичная история. Вроде бы утилита WarRun позволяет переключать языки, а может быть иначе называется. Просто попалась куча таких утилит в своё время, которые решил опробовать, а потом удалил.
Понятно. Просто DracoL1ch много занимался DotA в плане кода, как и True.Rus MyDotA, а Cacodemon известен множеством статей по устройству варика/jass и ником Alexey B.H., а у Алексей тоже много статей. Вот и подумал
С подсчётом утечек от точек ошибку допустил, ведь надо было ещё на 30 умножить. 30х196.384=5891.52 kb=5.753 mb, а это уже довольно много, хоть всё ещё и не представляет критичной опасности, если так не будут утекать все триггеры.
На примере одного юнита такой принцип: Вращение будет одновременно по орбите и вокруг своей оси.
Первый триггер будет срабатывать по использованию способности, он будет давать цели классификацию Страж, назначать реальной переменной для измерения времени значение 0.00, заносить в переменные цель и позицию цели, запускать таймер на 0.03 секунды;
У второго триггера событие на истечение таймера. Первым действием идёт проверка, Если реальная переменная больше или равна длительности торнадо, То выключить триггер и убрать у цели классификацию Страж, Иначе прибавить к реальной переменной 0.03, запустить заново таймер на 0.03 секунды, переместить мгновенно юнита от его позиции в переменной, например, на смещение 128.00 и ((реальная переменная)х20), повернуть юнита на угол поворота ((реальная переменная)х50) за 0.03 секунды.
Как это реализовать сразу на нескольких юнитов, наверняка, догадаешься.
Ой, у тебя же вопрос, как сделать торнадо сразу на нескольких)
Тут есть несколько вариантов, но раз у тебя используются массивы, то объясню на них.
Как понимаю, у тебя выделяются юниты в радиусе 800, на них действует способность, а на новых юнитов, которые заходят в область, торнадо не распространяется. Тем проще, переменные реальная, юнит и позиция должны быть массивами, таймер нет, ещё понадобится ввести переменные группы и целочисленную. Поправка, реальную переменную для измерения времени не надо делать массивом, нужно создать массив реальных переменных, которые будут делать торнадо у юнитов чуть разными по скорости.
Первый триггер будет срабатывать по использованию способности, он будет назначать реальной переменной для измерения времени значение 0.00, запускать таймер на 0.03 секунды, назначать переменную группы из живых вражеских юнитов, не являющимися зданиями в радиусе 800 от цели использования способности. Целочисленной переменной будет назначаться количество юнитов в группе, потом в группе все юниты выбираются и идут действия: дать выбранному классификацию Страж, назначать реальной переменной[целочисленная] для разной скорости торнадо случайное значение от 0.90 до 1.10, заносить в переменные цель[целочисленная] и позицию цели[целочисленная], задавать значение целочисленной на 1 меньше, после действий в группе опять целочисленной задать количество юнитов в группе;
У второго триггера событие на истечение таймера. Первым действием идёт проверка, Если реальная переменная больше или равна длительности торнадо, То выбрать группу и убрать у выбранных классификацию Страж, Иначе прибавить к реальной переменной 0.03, запустить заново таймер на 0.03 секунды, по циклу от 1 до целочисленной провести действия: переместить мгновенно выбранного от его позиции[целочисленная] на смещение (реальная[целочисленная]х128.00) и ((реальная[целочисленная]х(реальная переменная)х20), повернуть юнита на угол поворота ((реальная[целочисленная]х(реальная переменная)х50) за 0.03 секунды.
Такой триггер страшно утечный. Чтобы устранить проблемы, вооружись примерами из этой карты и должным образом всё поправь (надо будет создавать ещё переменные), только сперва проверь до устранения утечек, что всё нормально работает.
Интересно стало, как много памяти может утечь от этого триггера. За средние значения принимаю, что способность воздействует 2 секунды на 8 юнитов и используется за игру 30 раз. Вес утечек:
// Location: 0.361 kb
// Group: 0.62 kb + 0.040 kb for each unit in the group.
// Effect: 11.631 kb
Группа: 30(0.62 + 8х0.04)=28.2 kb Вряд ли эффекты будут созданы и не удалены, но на всякий случай посчитаю их. Эффекты: 30х8х11.631=2791.44 kb=2.726 mb Так как торнадо длится 2 секунды, то это 67 тиков таймера на 0.03 секунды. Точки: 0.361х(1+67)х8=196.384 kb Даже если время действия увеличить до 10 секунд, то это большой роли не сыграет, общий вес утечек от этого страшного триггера к концу игры будет не более 4 мб, если не удалять спецэффекты, а если утекать будут лишь группы с точками, то не более 1 мб. Иными словами по отдельности потери так незначительны, что даже не верится, лишь большими объёмами таких утечных триггеров получится перегруз памяти произвести.
Ясно. Если не найдёшь нужных статей, попробуй просто развернуть модель задом-наперёд в анимации Stand, указав 180 вращение по оси Х в первом и последнем кадре анимации.
Так должен уловить смысл.
» Наследие Альянса / Промо-ролик: Руины Стратхольма
» WarCraft 3 / Скилл на неуязвимость
Должно быть событие, что не просто какой-то там юнит атакован, а именно Олаф атакован.
» WarCraft 3 / Изменение типа атаки героя при получении уровня.
С исследованием Авиабомбы теоретически должно быть аналогично.
» WarCraft 3 / Новый шрифт обнуляет игровой интерфейс
» WarCraft 3 / Как вращать юнитов по кругу на GUI или через Jass скрипт
Короче, вот так надо:
Ред. 8gabriel8
» WarCraft 3 / Новый шрифт обнуляет игровой интерфейс
Так что, если у тебя путь импорта удалён, проблема скорее всего в английской локали. У других игроков будет нормально, а тебе можно пользоваться WarRun'ом.
P. S. Если, конечно, карта не рассчитана на западных игроков, а ты не вводишь в игру тексты на кириллице.
» WarCraft 3 / Нужна модель? - Вам сюда!
» WarCraft 3 / Новый шрифт обнуляет игровой интерфейс
» WarCraft 3 / Новый шрифт обнуляет игровой интерфейс
» WarCraft 3 / Новый шрифт обнуляет игровой интерфейс
» Battle for Azeroth / Battle for Azeroth
» WarCraft 3 / Как спрятать интерфейс?
» Администрация XGM / История XGM
» WarCraft 3 / Новый шрифт обнуляет игровой интерфейс
» WarCraft 3 / Как вращать юнитов по кругу на GUI или через Jass скрипт
» Администрация XGM / Добавьте возможность менять оценку
Ред. 8gabriel8
» WarCraft 3 / Как вращать юнитов по кругу на GUI или через Jass скрипт
Вращение будет одновременно по орбите и вокруг своей оси.
Тут есть несколько вариантов, но раз у тебя используются массивы, то объясню на них.
Как понимаю, у тебя выделяются юниты в радиусе 800, на них действует способность, а на новых юнитов, которые заходят в область, торнадо не распространяется. Тем проще, переменные реальная, юнит и позиция должны быть массивами, таймер нет, ещё понадобится ввести переменные группы и целочисленную.
Поправка, реальную переменную для измерения времени не надо делать массивом, нужно создать массив реальных переменных, которые будут делать торнадо у юнитов чуть разными по скорости.
Вряд ли эффекты будут созданы и не удалены, но на всякий случай посчитаю их.
Эффекты: 30х8х11.631=2791.44 kb=2.726 mb
Так как торнадо длится 2 секунды, то это 67 тиков таймера на 0.03 секунды.
Точки: 0.361х(1+67)х8=196.384 kb
Даже если время действия увеличить до 10 секунд, то это большой роли не сыграет, общий вес утечек от этого страшного триггера к концу игры будет не более 4 мб, если не удалять спецэффекты, а если утекать будут лишь группы с точками, то не более 1 мб. Иными словами по отдельности потери так незначительны, что даже не верится, лишь большими объёмами таких утечных триггеров получится перегруз памяти произвести.
» WarCraft 3 / Перестали запускаться все карты, кроме стандартных
» WarCraft 3 / Сломалась карта при переносе на другой комп
» Администрация XGM / История XGM
» WarCraft 3 / Сломалась карта при переносе на другой комп
» WarCraft 3 / Модель дамми
Так должен уловить смысл.
» WarCraft 3 / Модель дамми
» WarCraft 3 / Модель дамми
В карте это видно отчётливо.
» WarCraft 3 / Модель дамми
OVOgenez: