Привет всем участникам сообщества XGM! У меня следующая проблема и вопрос по ней.
В карте используется стандартный UI. Нужно заменить кнопку "Патрулирование" на панели приказов на свою способность из РО. Стандартный способ с импортом кастомного CommandFunc.txt мне не понравился. Как я понял, он имеет следующие недостатки:
  • Не совместим при игре на Mac OS
  • Вызывает фатал или не работает на некоторых промежуточных патчах между 1.26-1.36.
Если эти проблемы нереальные или их можно обойти, то было бы также замечательно об этом узнать. Так как есть возможность отследить версию Warcraft, на котором запускается карта, то хотелось бы найти способ который бы гарантировано работал по крайней мере для Reforged.
Я думал в двух направлениях:
  • Использование новых нативок (BlzUnitHideAbility , BlzUnitDisableAbility). Но вроде как Patrol это только часть способности Move, которую мне хотелось оставить (но положение поменять можно).
  • Непосредственное редактирование фрейма. Но тут у меня не хватает опыта + нужно избежать проблем с дессинхроном и прочее.
Вопрос. Что посоветуете по итогу?
`
ОЖИДАНИЕ РЕКЛАМЫ...
33
Можно кнопку скрыть через BlzGetFrameByName("CommandButton_" .. i, 0) , где i - кнопка в панели приказов начиная от верхнего угла, то есть 0.
Но это всё не будет работать, если игрок включит не сетку, а например кастомкеи, в настройках горячих клавишу. Патруль будет в этом случает кнопкой 2 на стандартной раскладке.
Эти фремы непосредственно редактировать нельзя, можно их скрыть, уменьшить, передвинуть, то что внутри них, текст или иконка, это не поддаётся редактированию.
Если так, то посоветую полностью отрисовать свой интерфейс в рефордж версии.
Но я бы посоветовал перейти на нормальные движки типа Unreal/unity/godot, пора перерасти уже эту 12 слотовую панель приказов
2
Не совместим при игре на Mac OS
Вызывает фатал или не работает на некоторых промежуточных патчах между 1.26-1.36.
Ты так громко заявил об этих недостатках, будто ты часто меняешь версии на промежуточные для своей карты, или как будто кого то волнует Мак ОС лол

Можно кнопку скрыть через BlzGetFrameByName("CommandButton_" .. i, 0) , где i - кнопка в панели приказов начиная от верхнего угла, то есть 0.
Но это всё не будет работать, если игрок включит не сетку, а например кастомкеи, в настройках горячих клавишу. Патруль будет в этом случает кнопкой 2 на стандартной раскладке.
Эти фремы непосредственно редактировать нельзя, можно их скрыть, уменьшить, передвинуть, то что внутри них, текст или иконка, это не поддаётся редактированию.
Если так, то посоветую полностью отрисовать свой интерфейс в рефордж версии.
Но я бы посоветовал перейти на нормальные движки типа Unreal/unity/godot, пора перерасти уже эту 12 слотовую панель приказов
Любые стандартные приказы редачатся во вкладке "игровой интерфейс" - там меняется текст, иконки и прочее. Все стандартные приказы можно отредактировать.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.