Мой опыт показывает, что GroupEnumUnitsInRange() показывает себя лучше, меньше лагов.
Это логично хотя бы по той причине, что скорее всего жар и GroupEnumUnitsInRange() ищут юнитов вокруг одинаковым способом, но жар ещё и урон наносит.
Для оптимизации, кол-во юнитов вокруг можно считать в фильтре GroupEnumUnitsInRange(), а в группу ничего не добавлять.
Мой опыт показывает, что GroupEnumUnitsInRange() показывает себя лучше, меньше лагов. А также, насколько мне изветстно, жары от одинаковых способностей не складываются.
C остальным согласен.
Медленные волны силы/ тёмные стаи
Не используй это, из-за скорости снаряда урон иногда может вообще не проходить или наноситься там, где его раньше не было. Поставь скорость на 2048, длину на 448, пусти сначала одну волну, через 0.4 секунды вторую - вторая не нанесёт урона. Снизь скорость до 1050 - вторая волна нанесёт урон.
PrincePhoenix, Bubble Sort, Selection Sort, Insertion Sort - сортировки порядка O(n^2). Асимптотически Bubble Sort, Selection Sort всегда выполняются за O(n^2) (то есть во всех случаях), потому вся их разница только в реализации. Insertion Sort же в лучшем случае работает за O(n), потому что делается n сравнений. Лучший случай - массив уже отсортирован. Insertion Sort также лучше показывает себя на почти отсортированном массиве. Потому Insertion Sort объективно лучшая сортировка из всех простых сортировок.
// Сортируем от меньшего к большему
функция сортировка_вставкой(массив) {
для i с 0 по n-1 делаем
для j с i-1 по 0 делаем // если j = -1, то цикл не стартует
если массив[j] > массив[j+1], то меняем местами массив[j] и массив[j+1],
иначе выходим из этого цикла
}
Bergi_Bear, уметь играть в WarCraft 3, значит уметь играть в стандартный режим WarCraft 3, как и в любой игре. Я так понял твои слова. А в стандартный режим он, по крайней мере, умел играть. Понятное дело, что он не про, просто обычный игрок, который умеет в экономику и +- контроль. И он больше "зажравшийся" ютубер, чем стример. Pavell, чего ты хочешь добиться своими минусами? PrincePhoenix, я так понимаю, что после выхода стабильного патча конкурс будет продлён?
БезликийСектант, убедись, что разрешены отрицательные значения в настройках редактора. Выделяешь поле для бонуса брони, жмёшь Shift+Enter, ставишь нужное значение.
Играть-то он умеет в WC3 получше меня и многих дургих, просто в некоторые кастомки он играет не разобравшись, а тут она ещё и на ENG.
Вадим снял ролик, так как карта принимает участие в его Гран-При 2, скоро ещё ролик будет, но уже по новой версии. Bergi_Bear:
уж лучше сам бы записал ролик
Можно, но будет без комментариев. А также так как я всё знаю, то задерживаться на описаниях способностей не буду. Таким образом, зрителю будет не очень понятно, почему всё так происходит.
Pascal и C++ конвертируются в набор процессорных команд, где тоже нет никакого ООП. Выходит в этих языках не может существовать полиморфизма?
Одно дело, когда из ЯП в ассемблер, другое, когда из препроцессора в недоЯП. Ведь речь шла про "настоящий" полиморфизм, то есть из коробки ЯП, а не из его препроцессора.
А он и не мог, ведь c\vJass конвертируются в JASS2, у которого нет даже ООП.
Но в vJass есть эмуляция полиморфизма через массивы и триггеры.
Например, то, что мы не можем использовать экземпляр структуры B в структуре A, т.к. та объявлена ниже, и интерпретатор еще не знает о ее существовании.
А как ты адекватно вызовешь такую функцию и передашь аргументы?
В vJass есть hook, который можно назвать переопределением, что не затрагивает blizzard.j.
Прощай vJass, ты был мне другом, хоть и багованным)
После повторного запуска карты, без выхода из варкрафта
Если так делать, то свой шрифт остаётся, и заменённые звуки и музыка.
У меня тоже разок вылет был при выделении юнита, когда я скрывал меню строительства нежити через (0, -11), а вместо него подсовывал спелбук. Но такое у меня было лишь раз.
prog, это лишь мои догадки, скорее всего ты прав. Но глобалки точно инициализируются при клике на карту, потому что если дать неверное значение глобалке, то при клике на карту игра крашнется. NazarPunk, это не костыли, а весьма удобный способ править функции config и main. Без инжекта тебе после каждого нового сохранения придётся править war3map.lua или war3map.j заново, потому что редактор эти файлы перезаписывает.
Не надо эту функцию использовать, внутри её цикл, есть куда более эффективная функция, которая асинхронна.
function DebugMsg takes string s returns nothing
debug call DisplayTimedTextToPlayer(GetLocalPlayer(), 0., 0., 5., s)
endfunction
ScopteRectuS, если так написать, то карта вылетит ещё при нажатии на неё, как мне кажется. NazarPunk:
Только это jass триггер, луа раньше срабатывает.
Там нет триггера, там просто вызов функции из main.
Я верно понял, что союзная нежить будет получать урон?
Я думаю, что блок do...end выполняется во время клика на карту карты (создания лобби для неё), вот и всё. Если это так, то тогда не стоит использовать GetLocalPlayer(), карта вылетит ещё при клике на неё.
Во время создания карты используется функция config, которая также есть и в Lua, насколько помню. Также создаются все глобалки.
Ред. PT153
» WarCraft 3 / Самый производительный Bullet Hell
Для оптимизации, кол-во юнитов вокруг можно считать в фильтре GroupEnumUnitsInRange(), а в группу ничего не добавлять.
Ред. PT153
» WarCraft 3 / Свойства декорации
» WarCraft 3 / Самый производительный Bullet Hell
Ред. PT153
» WarCraft 3 / Самый производительный Bullet Hell
C остальным согласен. Не используй это, из-за скорости снаряда урон иногда может вообще не проходить или наноситься там, где его раньше не было. Поставь скорость на 2048, длину на 448, пусти сначала одну волну, через 0.4 секунды вторую - вторая не нанесёт урона. Снизь скорость до 1050 - вторая волна нанесёт урон.
Ред. PT153
» WarCraft 3 / Как найти наибольшее из нескольких чисел?
Ред. PT153
» XGM Конкурсы / Warcraft 3 Custom Maps Contest 2019
Pavell, чего ты хочешь добиться своими минусами?
PrincePhoenix, я так понимаю, что после выхода стабильного патча конкурс будет продлён?
Ред. PT153
» WarCraft 3 / Как найти наибольшее из нескольких чисел?
» WarCraft 3 / Способности в редакторе
Ред. PT153
» XGM Конкурсы / Warcraft 3 Custom Maps Contest 2019
Вадим снял ролик, так как карта принимает участие в его Гран-При 2, скоро ещё ролик будет, но уже по новой версии.
Bergi_Bear:
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Возможности Lua относительно JASS\vJASS
Ред. PT153
» WarCraft 3 / Возможности Lua относительно JASS\vJASS
Но в vJass есть эмуляция полиморфизма через массивы и триггеры.
Extremator:
В vJass есть hook, который можно назвать переопределением, что не затрагивает blizzard.j.
» JackCraft / ShiftDetect и Cкрытие приказов v 0.09
Ред. PT153
» WarCraft 3 / Баг при скрытии приказов 1.26
Иначе никак, либо переходи на лицензию, там всё скрывается как надо через максимальный отрицательный инт.
Ред. PT153
» WarCraft 3 / Баг при скрытии приказов 1.26
» WarCraft 3 / Баг при скрытии приказов 1.26
У меня тоже разок вылет был при выделении юнита, когда я скрывал меню строительства нежити через (0, -11), а вместо него подсовывал спелбук. Но такое у меня было лишь раз.
» WarCraft 3 / Заклинание: Длань Господня
Ред. PT153
» WarCraft 3 / Заклинание: Длань Господня
NazarPunk, это не костыли, а весьма удобный способ править функции config и main. Без инжекта тебе после каждого нового сохранения придётся править war3map.lua или war3map.j заново, потому что редактор эти файлы перезаписывает.
» WarCraft 3 / Заклинание: Длань Господня
NazarPunk:
Ред. PT153
» WarCraft 3 / Заклинание: Длань Господня
NazarPunk:
» Мир безумного / World of Warcraft: «Новый дом»
» Мир безумного / World of Warcraft: «Новый дом»
» WarCraft 3 / На какой основе способность мили-"Автокаст" лучше делать?