WarCraft III Reforged - WE (что хотите увидеть?)

» опубликован
Опубликовано из Мир безумного » WarCraft III Reforged - WE (что хотите увидеть?)

Всем привет, появился контакт с Blizzard на тему: Что вы хотите увидеть в новом редакторе карт. Связной, наш друг 2kxaoc.
Будем отправлять не все, а только самое интересное и популярное. Под комментарием с предложение ставьте "+" в голос, если вы поддерживаете данное предложение, и "-" что это не нужно (желательно прокомментировать почему).
» Пример подачи предложения:

Предлагаю:

  • предлагаю ввести консоль, так как нужна



Просмотров: 13 666



» Лучшие комментарии


PT153 #51 - 11 месяцев назад (отредактировано ) 15
Добавить спеллу Channel настройку для того, чтобы его можно было применять на бегу
Канал -- это поддерживаемая способность, даже если его длительность 0. Его по определению нельзя применять на бегу.
Лучше сделать новый универсальный спелл, в котором можно указать снаряды, баффы, поддерживаемый или нет и пр.
konvan5:
При скорости передвижения 0 юнит не мог медленно перемещаться, а только вращаться.
При скорости 1 так и происходит. вроде бы

Предлагаю

  1. Исправить злостные баги с таймерами.
  2. Исправить чтение написанных real во время выполнения кода.
  3. Добавить нативное примитивное ООП (структуры (классы), наследование и полиморфизм).
  4. Исправить работу функций SetImageRender() и SetUbersplatRender().
  5. Исправить баг при вызове DestroyImage(null). Полагаю, что такая же проблема и с DestroyUbersplat().
  6. Также нужно исправить баг с событиями кастера, если он ещё не исправлен.
bifurcated #52 - 11 месяцев назад 2
Хотелось бы чтобы они нам предоставили свои программы для конвертирования моделей или как они там модели свои делают на каких программах? 3ds max, maya? Надоело искать подходящую модель.
Hodor #53 - 11 месяцев назад 0

Предлагаю

  1. Убрать location
  2. Вместо GetLocationZ сделать GetPointZ
JMCode #54 - 11 месяцев назад 0
UrsaBoss, тогда ты и указывать бужеш длину ширину и высоту? если это позиция точка..
Предлагаю
=
Возможность создать шаблоны структур базы-данных визуальные UI. (Указываете тип и переменые, а потом создаете базу), при компиляции он генерирует в код.
Пример: указал ид и выбрал тип поле как "Тип предмета" и сохраняю шаблон при создание базы указываю поле тип предмета, так как оно имеет и расширяет базы-данных.
Hodor #55 - 11 месяцев назад 0
JMCode:
UrsaBoss, тогда ты и указывать бужеш длину ширину и высоту? если это позиция точка..
?
Boyazitov #56 - 11 месяцев назад 7
предлагаю ввести отлов нажатия клавиш ( как со стрелками ) чтобы можно было сделать управление на W/A/S/D
Tamplier777 #57 - 11 месяцев назад 4
Триггерно менять тип перемещения юнита (floating, fly, foot, horse)
ClotPh #58 - 11 месяцев назад 0
Boyazitov, такое можно сделать через 4 не сбивающие ордер способности (виндволк, иммолейшен, берсерк и т. п.) и хоткеи
ScorpioT1000 #59 - 11 месяцев назад 2
PT153, таймер позволяет хранить инт прямо внутри, вот зря вы вскрыли эту тему((
PhysCraft #60 - 11 месяцев назад (отредактировано ) 0
ClotPh, а теперь скрой эти способности, чтобы не маячили вместо спеллов, и получиться nothing.
ClotPh #61 - 11 месяцев назад 0
PT153, у меня 99% уверенности, что при скорости 1 юнит все же перемещается соответственно этой скорости. Но это дико медленно, да. Но если подождать... Мне просто перепроверять влом, но у меня есть мины и бочки, у которых по дефолту скорость 1 и только с улучшением апаются, так вот, как помню, они все же и так двигаются, просто безумно медленно и это практически бесполезно
PhysCraft, ну это да.
Hodor #62 - 11 месяцев назад (отредактировано ) 2
А кому не понравилась идея с точками (location)? Там 3 дизлайка
Ведь они реально не нужны, а работа с координатами лучше во всех смыслах.
Или это уже личная неприязнь?
Прикольно у вас тут
Я тут доброжелательным стараюсь быть
А оффтоп он на то и оффтоп, и не стоит воспринимать оффтоп всерьёз
Araders #63 - 11 месяцев назад 14

Предлагаю

Если что-то из этого уже было звиняйте
1. Возможность нормально увеличивать скорость передвижения юнита свыше того лимита что есть сейчас в варике, вплоть до того что: юнит будет практически мгновенно преодолевать нужное расстояние.
2. Возможность во время игры сделать юнита летающим или наоборот.
3. Хотелось бы чтоб при копировании декорации которая поднята при помощи PgUp ее высота сохранялась.
4. Самая бесящая и желанная вещь из моих хотелок это возможность проигрывать кастомные анимации у портретов юнитов. Реализовал как-то эту систему но она роботала очень топорно. Да и это открыло бы невероятные возможности в создании синематиков.
Дальше хотелка - "лопнула" и я забыл что еще хотел написать.
prog #64 - 11 месяцев назад 0
UrsaBoss, дизлайк в этой теме не ставил, хотя и не согласен с необходимостью убрать локейшн как тип. Его надо улучшать, а не убирать. Векторную математику там к нему добавить, например, а может и квартернионы. Что нужно, так это устранить утечки на локальных переменных, но близы это и так сделают по идее.
Hodor #65 - 11 месяцев назад (отредактировано ) 0
prog, ну или так
Я имел в виду убрать работу с точками там, где она не нужна или излишняя.
А векторная математика это только плюс
Jack-of-shadow #66 - 11 месяцев назад (отредактировано ) 8

Предлогаю

1.Шейдер (для неба) принимающий значения цвета тумана.
2.Свободный ротейт юнитов и декораций. (Со спецэффектами вроде как все хорошо должно быть)
3.Отлов окончания анимации.
4.Проверка на номер проигрывающейся анимации.
5.Трансформ декораций.
6.Группы декораций. Аля групп у юнитов. (Для возможности перебора в той же функции лупом, а не в отдельной)
7.Корректный наклон юнитов на "мостах".
8.Получение значений наклона юнита, а лучше нормали поверхности в указанных координатах.
N7 Molot #67 - 11 месяцев назад 0
Думаю все понимают, что из многого выше перечисленного, не все близы реализуют, что то может уже реализовано, а на что то просто скажут нет. В основном интересна тема монетизации:
Опрос: Хотел бы монетизировать свои карты?

Всего проголосовали: 37
А ну и скажи почему.
Jack-of-shadow #68 - 11 месяцев назад (отредактировано ) 0
8.Получение значений наклона юнита, а лучше нормали поверхности в указанных координатах
(Сейчас приходиться сравнивать высоты нескольких точек: спереди, сзади, слева, справа. Это куча лишних действий и сомнительная точность)
NekoriDes #69 - 11 месяцев назад 0
N7 Molot, интересно узнать кто бы НЕ хотел монетизировать свою деятельность любого рода. Деньги любят все, получать их очень приятно в кач-ве поощрения. И пусть там даже будут совсем медяки, мотивация работать дальше сильно возрастает.
Araders #70 - 11 месяцев назад (отредактировано ) 0
N7 Molot, в моей голове это выглядит как огромное количество маленьких DLC. Если и случится монитизация проектов то прибыль будет ну очень небольшой, разве что будет большой спрос. Хотелось бы но нет, думаю не надо говорить почему это гиблое дело.
NekoriDes:
И пусть там даже будут совсем медяки, мотивация работать дальше сильно возрастает.
Ну за медяки наврятли кто-то захочет пилить что-то годное - если будет такая система. Ну, а желание платно преобрести карту для стратегии будет равносильно желаюнию купить в какой-то мобильной игре пак со скинами на персонажей ну и тд.
Clamp #71 - 11 месяцев назад 0
(Сейчас приходиться сравнивать высоты нескольких точек: спереди, сзади, слева, справа. Это куча лишних действий и сомнительная точность)
Ты думаешь, что под капотом это будет как-то принципиально иначе работать? Будет так же браться три координаты вокруг целевой и смотреться нормаль к образованной поверхности.
Hodor #72 - 11 месяцев назад (отредактировано ) 0
Clamp:
(Сейчас приходиться сравнивать высоты нескольких точек: спереди, сзади, слева, справа. Это куча лишних действий и сомнительная точность)
Ты думаешь, что под капотом это будет как-то принципиально иначе работать? Будет так же браться три координаты вокруг целевой и смотреться нормаль к образованной поверхности.
А можно вбивать координаты вместо точки?
К примеру:
location p = null
float GetPointZ(float x, float y)
{
	RemoveLocation(p)
	p = Location(x, y)
	return GetLocationZ(p)
}
Но чтобы это было "под капотом"
PT153 #73 - 11 месяцев назад (отредактировано ) 4
таймер позволяет хранить инт прямо внутри, вот зря вы вскрыли эту тему((
Нет, это баг, который чуть не сломал мне карту, прочитай тот топик. Кроме него там ещё несколько.
И этот баг не работает на периодические таймеры, которые я активно использую.
Пусть лучше добавят SetTimerUserData() как легальную альтернативу.
Jack-of-shadow #74 - 11 месяцев назад (отредактировано ) 0
UrsaBoss:
Ну это само собой разумеющееся, правда я предпочитаю иметь одну глобалку взамен объявления
и удаления каждый раз.
Clamp
Ну нативно то явно быстрее, чем двигать точку оффсетом 4 раза. Тем более что нормали у мешей итак есть, нужно только получить среднее знач для треугольника. (Или не среднее, но что то вроде того) как минимум они это используют для наклона юнитов.
AlakFrost #75 - 11 месяцев назад 0
bifurcated:
Хотелось бы чтобы они нам предоставили свои программы для конвертирования моделей или как они там модели свои делают на каких программах? 3ds max, maya? Надоело искать подходящую модель.
Весь софт на чем работаю близзы есть в инете, за исключением скриптов под конверт в движек.
Да у них есть волшебная программа которой говоришь сделай мне бугая и хоп он вылезает такой.
Clamp #76 - 11 месяцев назад 0
Ну нативно то явно быстрее, чем двигать точку оффсетом 4 раза.
три раза
Ну в этом ты прав, однако, ей-богу, это всё равно такой мизер вычислительной нагрузки в рантайме, что просто того не стоит.

Тем более что нормали у мешей итак есть, нужно только получить среднее знач для треугольника. (Или не среднее, но что то вроде того) как минимум они это используют для наклона юнитов.
Думаю, что там всё-таки динамично считают нормали , потому что во-первых, террейн может меняться в рантайме, а во-вторых, это жрало бы ощутимо оперативы и увеличивало бы время загрузки карты. А так да, террейн состоит из трианглов с заведомо известными вершинами и нужно просто брать вершины нужного.

А можно вбивать координаты вместо точки?
Не вполне понял, к чему ты это. Сейчас вершины треугольника на террейне находят через передвижение одной локации и вызова для неё GetLocationZ(), разницы между этим подходом и передачей координат напрямую абсолютно несущественна, всё равно работу с локейшном по дефолту скрывают и пользуются чем-то вроде такого:
» раскрыть
    private location tempLocation;

    private void init() {
        tempLocation = Location(0.0, 0.0);
    };

    float GetTerrainZ(float x, float y) {
        MoveLocation(tempLocation, x, y);
        return GetLocationZ(tempLocation);
    }
Vadik29 #77 - 11 месяцев назад 9
Предлагаю:
  1. возможность сбрасывать кулдаун у конкретной способности, уменьшать ее кулдаун на определенное число, получать оставшееся время кулдауна и изменять базовый кулдаун.
  2. возможность нормально получать и изменять все характеристики юнита: хп, мп, атаку, броню, мс, ас, ренж атаки, маджик резист и т.д
  3. нормальную настройку получаемого урона, т.е возвращать тип урона (огонь, вода, физика, магия и т.д.
  4. создание нормального (триггерного дамми) без кастов, манакостов, поворотов, меньших затрат памяти
  5. возможность нормально взаимодействовать с моделью юнита: изменять ее, делать невыделяемой (желательно через гетлокал плеер), поворачивать мгновенно, возможность убирать передвижение (оставляя только поворот)
GrYLLL #78 - 11 месяцев назад (отредактировано ) -2

Предлагаю

  1. Возможность смены текстуры и модели юнита триггером во время игры.
  2. Создавать кастомные типы целей.
  3. Возможность во время игры менять юниту тип атаки и тип брони(без морфа).
  4. Создавать кастомные типы ресурсов (По умолчанию: Золото, Древесина, Пища)
  5. Мелочь, но, Возможность изменять дальность атаки юнита во время игры (увеличивать и уменьшать).
  6. Открытие карт только в редакторе автора карты (карты под паролем или проверка аккаунта редактора карты)
  7. Новые и Кастомные типы атаки и защиты, настройка параметров типов атаки и защиты
  8. Кастомизация инвентаря (больше 6) и инвентаря магазинов
  9. Развитие идеи спелбуков(спелбук-магазин и т.д.).
  10. Мультиязычность карт - возможность указывать имена и описания юнитов и предметов в двух языках
  11. Триггерно изменять Имя героя во время игры.
Maniac_91 #79 - 11 месяцев назад 0
UrsaBoss, поддерживаю идею с удалением точек. С тех пор, как я открыл для себя использование координат вместо точек, я вообще перестал использовать точки. Кроме тех функций, где нет аналогов на координатах (например, создать плавающий текст).
Да, для новичков, конечно, немного усложнится обучение. Но зато потом не придётся переучиваться, чтобы делать без утечек.
AMark #80 - 11 месяцев назад 3
тема монетизации
Только не платные карты, а банальные донатики автору на добровольных началах. А то вангую, что каждый Вася Пупкин установит цену за своё "произведение искусства" в 1000 руб (и более).
Гораздо важнее ввести систему обзоров и рейтингов (как в SC2)
Atesla #81 - 11 месяцев назад 0
Триггерно изменять Имя героя во время игры.
Уже есть.
PT153 #82 - 11 месяцев назад 3
Кроме тех функций, где нет аналогов на координатах (например, создать плавающий текст).
Вообще-то, у плавающего текста нет функции с локацией.
native CreateTextTag                takes nothing returns texttag
native DestroyTextTag               takes texttag t returns nothing
native SetTextTagText               takes texttag t, string s, real height returns nothing
native SetTextTagPos                takes texttag t, real x, real y, real heightOffset returns nothing
native SetTextTagPosUnit            takes texttag t, unit whichUnit, real heightOffset returns nothing
native SetTextTagColor              takes texttag t, integer red, integer green, integer blue, integer alpha returns nothing
native SetTextTagVelocity           takes texttag t, real xvel, real yvel returns nothing
native SetTextTagVisibility         takes texttag t, boolean flag returns nothing
native SetTextTagSuspended          takes texttag t, boolean flag returns nothing
native SetTextTagPermanent          takes texttag t, boolean flag returns nothing
native SetTextTagAge                takes texttag t, real age returns nothing
native SetTextTagLifespan           takes texttag t, real lifespan returns nothing
native SetTextTagFadepoint          takes texttag t, real fadepoint returns nothing
GrYLLL #83 - 11 месяцев назад (отредактировано ) -2
Atesla, Найс, с какой версии? Я от 1.26 отталкиваюсь
AMark,
Гораздо важнее ввести систему обзоров и рейтингов (как в SC2)
Хейтеры из зависти заминусуют толпой, мб там должно будет учитываться время проведенное в карте, как в стиме
Lp666 #84 - 11 месяцев назад 0
Хотелось бы увидеть совместимость со старыми картами 3-го Варкрафта или какую либо возможность перевода старых карт, что бы не писать с нуля. Также бы хотелось выделить такое понятие как отрицательный урон.
Насчёт темы монетизации Варкрафта, то выступаю против, т.к платные карты никто покупать не будет и это загубит игру. Максимум что можно сделать это добровольные пожертвования создателю карты.
GrYLLL #85 - 11 месяцев назад (отредактировано ) -2
N7 Molot,
монетизация
Я за, если будет адекватной.
Какие-нибудь платные подписки на карты - заплатил один раз и получаешь обновы всегда, без лазания по парашным сайтам с картами(типа моего).
так же было бы интересно продавать косметику в картах.
Ну думаю, что все будут завышать цены - конкуренция огромнейшая.
Из минусов: Могут появиться дешевые аналоги дорогих карт.
Еще хотелось бы иметь возможность дарить подписку на карты друзьям или победителям конкурсов.
Maniac_91 #86 - 11 месяцев назад (отредактировано ) 5

Предлагаю

  • При изменении типа ландшафта перерисовывать мини-карту.
  • При снятии порчи с земли возвращать старую текстуру, а не почву.

PT153, я не нашёл такой функции в JASS API, только "CreateTextTagLocBJ - string s, location loc, real zOffset, real size, real red, real green, real blue, real transparency". Спасибо!
Doc #87 - 11 месяцев назад 0
А кому не понравилась идея с точками (location)? Там 3 дизлайка
Да, у меня личная неприязнь к идее, которая сломает 100% карт. GetPointZ - окей идея, остальное, что ты написал - бред.
PhysCraft #88 - 11 месяцев назад 0
При снятии порчи с земли возвращать старую текстуру, а не почву.
Правдоподобнее возвращать почву, ибо если была трава, то порча уничтожила траву, новая еще не успела вырасти, получается просто почва. Но если там был песок, а вернулась почва, то уже не ок. Я бы проверял, трава или не трава.
Hodor #89 - 11 месяцев назад 0
Doc:
А кому не понравилась идея с точками (location)? Там 3 дизлайка
Да, у меня личная неприязнь к идее, которая сломает 100% карт. GetPointZ - окей идея, остальное, что ты написал - бред.
а ну да, обратная совместимость. Даже не подумал
Araders #90 - 11 месяцев назад 0
Бордер, Ну так для примера если рейтингом карт будет заправляють какая-нибуть администрация которая будет давать развернутую критику карты и выставлять ее на подходящее место в рейтинге. Ещё можно ввести систему что при попытке поставить минус или плюс тебя бы заставляли написать комментарий с характеристикой твоего выбора, а отговорки по типу "карта не понравилась" - будут удаляться. И вот тогда заживём. По поводу дешёвых аналогов карт это должно заставлять разработчиков оригинала добавлять новые фишки или что-то типа того что бы справиться с конкуренцией. Но тогда встаёт другой вопрос вот ты например купил карту, что тебе запрещает ее скопировать другу или выложить где-то? Да и карту в карту одновременно играют от 2 до 24 игроков а покупает карту только один.
Hodor #91 - 11 месяцев назад (отредактировано ) 7
Я не пользуюсь GUI, но думаю будет полезно

Предлагаю

  1. Переделать конвертер GUI в JASS (к примеру чтобы if не делались отдельными функциями и т.д)
  2. Переделка и удаление ненужных BJ функций
  3. Добавить возможность писать действия в условиях/событиях триггера (GUI)
  4. Добавить GUI-функционал, который есть в JNGP (кастом скрипт, новые действия, добавление событий и т.д)
  5. Добавить поддержку локальных переменных в GUI
  1. Добавить возможность биндить выбор действий/событий/условий и т.д
  2. Добавить окно для написания кастом скрипта над триггером
Araders #92 - 11 месяцев назад 0
UrsaBoss, надеюсь если рефордж будет успешен то хоть кто-то напишет обновленный курс по JASS и других библиотеках для полных чайников как я?
Hodor #93 - 11 месяцев назад 0
Araders:
UrsaBoss, надеюсь если рефордж будет успешен то хоть кто-то напишет обновленный курс по JASS и других библиотеках для полных чайников как я?
думаю да
GrYLLL #94 - 11 месяцев назад -2
Araders,
какая-нибуть администрация
Вахтеры так же плохое решение, как и полная демократия.
Ещё можно ввести систему что при попытке поставить минус или плюс тебя бы заставляли написать комментарий с характеристикой твоего выбора, а отговорки по типу "карта не понравилась" - будут удаляться. И вот тогда заживём.
Соглы
что тебе запрещает ее скопировать другу или выложить где-то
Мои хотелки выглядят именно как подписка на обновления, что по сути включает в себя не просто покупку карты, но и автоматическое её обновление. Я думаю тут все точно так же, как модификации к rimworld - Стимобояре автоматически получают обновления, пиратобояре тратят вечер на сбор обновлений.
Да и карту в карту одновременно играют от 2 до 24 игроков а покупает карту только один.
Конфочка в дсикорде может скинуться на покупку подписки :ъ
По поводу дешёвых аналогов карт это должно заставлять разработчиков оригинала добавлять новые фишки или что-то типа того что бы справиться с конкуренцией.
По моим наблюдениям, популярными становятся только те карты, которые активно-пассивно пиарят (стрмеры и ютруперы), а не которые лучше.
Araders #95 - 11 месяцев назад 0
Бордер, для автоматического обновления карт рефордж должен иметь ещё и свой встроенный в Battle net магазин как что-то типа как Стим. Но наврятли кто-то будет это делать. Без этого всего карты будут автоматом пиратить. По поводу администрации, если это буду работники Blizzard то я не против.
GrYLLL #96 - 11 месяцев назад -2
Araders, в старкрафте игротека есть
если это буду работники Blizzard
А чем они отличаются от рандомных васянов? Твитч тоже нанял ру администрацию из рандом васянов украинских, которые доту2 стримят, например. Это просто наемные рабочие, обычные люди.
quq_CCCP #97 - 11 месяцев назад 21
Предлагаю:
  1. Нативки для работы с событием урона, GetEventDamageType(), GetEventAttackType(), GetEventWeaponType(), GetEventFlags() чтобы наконец то мы могли делать пассивки срабатывающие на урон или физический удар нормально, без гемороя, в движке игры все необходимые данные есть, в мемхаке небольшой асм код поволяет получить из структуры события урона получать все эти данные.
  2. Нативки для работы с стандартными дизейблами - такие как оглушение и безмолвие, очень часто нехватает как раз эти эффектов для триггерных заклинаний, если замедления и ускорения еще реализуются аурами, то стун и сайленс реализовать в обход не получится.
  3. Доделать таки все события на юнита какие есть в движке, но отсутствуют в JASS.
  4. Добавить способности с изменением типа прицела или сделать такую триггерную возможность, увы но сейчас мы не можем сделать способность с нестандартным типом прицела - ни каких тебе счетчиком на иконке, нельзя сделать дабл клик способности, а это очень удобно. Нельзя по человечески сделать мульиклик, чтобы одной способности можно было указать N целей.
  5. Сделать нативки для полной регулировки полей способностей, то мы ни кулдауны сменить не можем не запустить их, не узнать какой сейчас бонус дает способность.
  6. Сделать новых нейтральных героев с уникальными способностями, как панда пивовар или механик, у них по 3 способности которые уникальны, и до их выхода в определенных патчах они нигде более не встречались, а вот и игрокам и картоделам стоило бы получить разнообразие.
  7. Пофиксит баги и недоработки многих способностей, уже ни для кого не секрет что многие способности работают очень криво - циклон нельзя применить на летающих или опутаных юнитов, что бред, пронзающие шипы неруба - делают юнитов неуязвимыми в полете, тоже прихеали - с какой стати, этим можно спасти врага по собственному недоконтролю, а фатальные ошибки от 'Apos' -одержимость у банши, если цель заклинания и маг который его кастовал умрут и разложатся игра вылетает с фатальной ошибкой. Не настраиваются баффы у аватара, техники и еще горсти способностей.
  8. Сделать работающие проверки на все типы целей существуюущие в игре, то проверка на оглушения у нас неработает а проверки на то что юнит вард вовсе нет, так же добавить возможность добавлять допустимые цели для аур труесайта и порошка прозрения (его способность прозрение не настраивается вовсе, как есть такая и остается что бы вы не меняли в редакторе).
Steal nerves #98 - 11 месяцев назад (отредактировано ) 9
канал - идеальная абилка. Но бывают случаи когда нужен особый скилл (то что дальше пойдет это мечты):
  1. авто-каст (еще нужны настройки: когда, и на кого работает автокаст.
» Работают автокасты в основном когда:
  • кто-то агрессивный атакует ваш отряд или отряды союзников. (большая часть, либо укрепляют союзников или ослабляют врагов)
  • кто-то атакует носителя авто-каста (пример бегство в астрал)
  • когда ранен или истрачена мана у носителя или соратника (лечение)
  • Или работают всегда: т.е. когда замечаю кидаю в него (замедление с вкл галочкой)
  • просто дамаг (стрелы)
  1. мгновенный (кастуется без задержек, юнит не останавливается для произношения заклинания и абила не сбивает приказ. Пример безумие, стремительность. Ранее часто нужны кнопки-пустышки, проблема в том, что 1к безумии не наделаешь ибо на всю игру найти можно несколько кнопок-абилок (безумие, windwalk). Знаю, что есть это зависит от анимации юнита. Но хочется универсальные кнопочки-пустышки с разными id-приказами. Выше это пользователи подметили уже. Или мгновенно-целевая абилка, мгновенных целевых абил практически не припомнить. Скажу так прицельные абилы все равно получаются не мгновенными, тк в последствии им надо поближе к цели подбежать.
  1. вызывать прицелы других абил. Хотел бы универсальный skill. Есть у тебя 2 абилы - одна пустышка, другая это с прицелом. При нажатии на пустышку вызывается прицел другой абилки. Так не хватает возможностей вызывать прицел. Не каст и не приказ, заметьте!!! Обычно у целевых абил происходит в 2 клика: 1 клик по кнопке - вызов прицела, 2 - на цель.
3.1 Дать возможность активировать действия других абил. Можно похожее сделать. только не прицелы, а активацию. Можно в пустышке задать ту, которую хотели бы активировать (скорость инвиз). Это будет обход на ограничения из-за id-приказа второй абилы. это если близзарды не смогут дать возможность задавать свой ид
  1. заряды (возможность манипулировать ими, желательно триггерно, а то бесполезны так)
  1. переключаемый (возможность изменять форму или часть, или добавлять атаку). Часто мне не нужен морф, а нужно изменить тип атаки или брони. Хотя наверное, это уже не нужно с появлением триггерных аналогов
  1. требование маны и возможность нацепить баффы (при чем разные баффы). И еще хотелось бы отлавливать получения баффов. знаете пассивкам иногда не задашь значение маны. а у большинства абил не предусмотрено вешать баффы на цели
  1. возможность дать ресурсы (абилка типа "поставка ресурсов", например за определенную сумму можно сделать триггерный каст). Есть конечно поставка ресурсов, но вот например, хочу такую, но целевую абилку.
  1. возможность запускать снаряды (у канала данная возможность отключена или не предусмотрена) или молнии
  1. какой-нибудь спелл-пустышку, на который можно аттачить эффекты (часто ребята задают вопросы по нему).
  1. можно ли сделать какой-нибудь стэк баффов. Ну подобие буфферизации у отравленных стрел
  1. что касается аур. У них проблема в том, что: "Бонусы от одинаковых баффов аур не стакаются друг с другом." Еще хотелось бы отойти от аур, часто чтобы добавить бафф используют ауру. и как подметил Doc лучше создавать баффы. Давать управлять ими. Дать задавать таймер жизни и таймер мигания (через мем хак делал этот, но там проблема еще с определением настоящего времени).
  1. пассажирские абилы. можно ли как-то узнать сколько юнитов сидит в транспорте. Раньше приходилось счетчиком подсчитывать.
  1. способность "техника"/"темный". Она бывает багнутой
  1. можно ли сделать несколько меню, не прибегая к spellbook. Можно ли создать какой-то контейнер для абил (отдельный тип данных), триггерно добавляя или убавляя. и показывать его GetLocalPlayer(). Хотя мне spellbook нравится, но есть недостаток. Я не могу вызвать/показать триггерно это меню.
  1. можно ли сделать несколько buider-menu (второе меню строительства).
  1. Инвиз. Можно ли расширить виды инвиза (не только обычный инвиз и закопаться, но и 2-ой инвиз или 3-ий инвиз) и прилагающие обнаружения войск
  1. Хотелось абилки и нативки с проходимостью. Настраивать тип движения, изменять карту путей, виды столкновения.
» код из мем хака
//Установить тип движения юнита
//movetp - тип движения, selfcollision - могут ли другие юниты пройти через unit u (через себя), integer outhercollision - unit u может ли через других пройти
function SetUnitMovementType takes unit u, integer movetp, integer selfcollision, integer outhercollision returns nothing
	local integer data= GetUnitDataDefByIdCaching(GetUnitTypeId(u)) + 0x1A8
	local integer p1=RMem(data)
	local integer p2=RMem(data + 4)
	local integer p3=RMem(data + 8)
	if movetp!=-1 then
		call WMem(data,movetp)
	endif
	//0 = "none", 1 = "foot", 2 = "fly", 4 = "horse", 8 = "hover", 16 = "water"?, 32 = "amph"
    //-1 = оставить без изменений
    //0 = нет (отсутствует ограничения)
    //1 = пеший, 4 = конный, 8 = парящий (ограничение: вода, всякие преграды: здания, деревья, ландшафт, юниты)
    //2 = летающий (отсутствуют ограничения, кроме блокираторов воздуха (здания и декор). На воздух влияет с нужным цветом текстура пути, которая, собственно, и крепится к зданию или декору)
    //16 = плавающий (ограничение: суша, ландшафт, юниты) 
    //32 = земноводный (ограничивает только деревья и здания, ландшафт, юниты)
    //Примечание: ограничение в смысле что-то блокирует, препятствует движению. И юнит может обойти эту преграду
	if selfcollision!=-1 then
		call WMem(data + 4,selfcollision)
	endif
	//0xCA by default
	//seems to be TexturePlacement analogue (кажется является аналогом TexturePlacement. наверное аналогия https://xgm.guru/p/wc3/pathing-alternate ?? Не совсем понятно, что имел в виду автор)
	//0 = pathable for others
    //only 2+8 (A) makes unit non-pathable 
    //-1 - оставляет без изменений
    //0 - если ввожу ноль или любую другую цифру, то через этого юнита "u" проходят
    //10 - если десять, то через юнита "u" не могут проходить, обходят стороной
    //0xCA - по умолчанию. возвращает к исходному значению, которое было задано.
    //пробовал ввести 0xFF летун не мог через здание пролетать, облетает. Как-то влияет значит текстура. Ну вообще большинство чисел (0xFFF) не дают такое сделать. Не все числа, конечно. 
    //Конечно пытался попробовал изменить текстуру на стройку и ходьбу наземных = не получается.
    
	if outhercollision!=-1 then
		call WMem(data + 8,outhercollision)
	endif
    //-1 = оставить без изменений
    //0 = pass through anything (unit u проходит через что-либо. Короче не имеет преград)
    //1 = cannot move (unit u не может двигаться, неподвижен. Может только совершать повороты на месте)
	//2 = default, 2 by default for ground (настройка по умолчанию для наземных)
	//4 = flying default (настройка по умолчанию для летающих)
	//8 = stuck at items, can't go thtough units/buildings, pathable for others (unit u не может проходить через предметы. Остальное почти тоже самое, преграды: юниты/здания/декор. Если у здания/декора убрать текстуру пути, то проходит без преград)
	    
    //0x10 = can go through units but not items/buildings (Юнит проходит через юнитов. Через итемы/здания/декор не может. Если у здания/декора убрать текстуру пути, то проходит без преград)
	//0x20 = free (свободен. без ограничении)
    //0x40 = cant move (не может двигаться. почти тоже самое что и "1") 
    //0x80 == 2 ? , above == 0
	call SetUnitPathing(u, true)
	call WMem(data,p1)
	call WMem(data + 4,p2)
	call WMem(data + 8,p3)
    
endfunction
//===========
//устанавливает особую проходимость (как у wind walk: ходят через юнитов, кроме здании и деревьев).
    //у здании и деревьев текстуры пути со цветом 0xff00ff
    //особая фишка в том. что перед SetUnitPathing вводят настройки, и они тут же применится Phased
    function SetUnitPhased takes unit u returns nothing
        local integer data = GetObjectDataCaching( pUnitData , GetUnitTypeId( u ) ) + 0x1AC
        local integer p1 = RMem( data )
        local integer p2 = RMem( data + 4 )
        //	call BJDebugMsg(Int2Hex((data-107)*4))
        call WMem( data, 8 )
        call WMem( data + 4, 16 )
        call SetUnitPathing( u, true )
        call WMem( data, p1 )
        call WMem( data + 4, p2 )
    endfunction
    
    //вкл-выкл настройку Phased
    function TurnUnitPhased takes unit u, boolean b returns nothing
        if b then
            call SetUnitPhased(u)
        else
            call SetUnitPathing( u, not b ) //повторный ввод отключает настройку Phased
        endif
    endfunction
//===================
  1. Можно ли двойные абилки-пустышки? Желательно возможность переключаться. Есть аналоги пустышки (укрыться за щитом, но бывает случаи когда 2-3 мало).
  1. Можно ли получить переменную выделенного юнита, панель интерфейса, которая отображена на экране у локального игрока
» раскрыть
  • допустим выделив рамкой 2 юнитов: героя и раба, у вас будет отображаться в окне посерединке 2 иконки выделенных юнитов. Но сбоку меню будет переключено на героя (механика вара). Часто не хватает манипуляции
  1. Является ли юнит неактивным (находится ли он в состоянии покоя или нет). В некоторых случаях полезна знать стоит ли юнит, т.к. ловить приказ не надежно. Не знаю есть ли это в новых патчах.
PhysCraft #99 - 11 месяцев назад 0
Steal nerves, Для аур еще есть баги при уменьшении уровня способности, когда бафф ауры перенакладывается на юнита с относительно большой задержкой. Твое предложение с баффами должно с этим помочь, так как бафф не меняется при изменении уровня ауры, он лишь отображает, что на юнита аура действует.
JMCode #100 - 11 месяцев назад 0
есть самый известный баг во многих карт который не могут пофиксить это ауры стак. например у мя было 15% аур а другая аура в другой герой имеет 25% не важно при стаки увеличивает аж бешеный урон если правильно стаковать