Возможно ли отследить нажатие игроком кнопки "Строительство", которая открывает список зданий, доступных для постройки?

Yury13, вроде должно нормально работать в мультиплеере. Но возможны подводные камни.
Вот отредактировал, откомментировал каждую строчку. Красиво и норм. Теперь можно отследить открытие меню или закрытие (сворачивание). Если переделать хэш-таблицу и на хэндл записывать данные.
Есть недостаток с отрядами: когда выделяешь несколько юнитов, и переключаешь на раба. То рабом можно вызвать меню. А затем если взять и кнопкой Tab переключить например на след выделенного в отряде, то система до сих пор будет считать, что меню остается открытой (система: юнит то выделен, все впорядке). Тогда у вас работник будет подсвечиваться радиус, в то же время вы переключены на другого юнита в отряде - что есть не очень хорошо. Я не смог ничего такого найти с переключениями, даже не знаю как это исправить (возможно придется отказаться работать в группе во время стройки). Вроде драколич в мемхаке давно скидывал код на выделенного юнита, могу скинуть? но мемхаком больше не хочу заниматься
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
22
Steal nerves, ослеживает юнит триггер если что от него и узнаеш чей игрок юнита
20
Steal nerves, это нужно, чтобы подсвечивать радиус, в пределах которого возможно строительство всякий раз, когда на кнопку жмакают. Для красоты и удобства игроков, так что это не обязательная вещь.

Загруженные файлы
32
Кстати есть интересный баг, если открыть руками меню прокачки способностей и реплейснуть (создать заного другого, выбрав триггерно заново) героя, меню прокачки останется открытым =)
27
pro100master, я пробовал дебагом выводить GetTriggerUnit GetTriggerPlayer. И ничего не отображает. Видимо это нельзя сделать

Yury13, можно было бы пустышку сделать. И при нажатии на кнопку, вызвать меню строительства. Это в теории.

теория №1
знаю, что на рефордже завезли нативки, чтобы прятать икону AHbu (хуман). А при активации пустышки, убираем пустышку, и показываем иконку AHbu ( скрытую абилу посредством forcekey не открыть, иконка не отбражается, и, следовательно, горячие клавиши тоже не работают. поэтому надо каким-то способом временно показать.поэтому показываем ), открываем через forcekey на букву B.
Обычно приказами можно открыть (даже скрытое меню пример ), но это сбивает приказы, а forcekey не сбивает. Вторая проблема - надо вернуть все на место, когда меню закрываем. проблема вот в чем: трудно отследить, когда менюшку строительства закрывают. Частичное решение здесь

Можно еще удалить абилу AHbu, и меню пропадает из панели строителя, но потом это не вернуть никак. Не добавляется обратно

Это такое решение, возможно в рефордже есть и получше инструменты

теория 2 -метод ~~quq_CCCP~~ с переключениями
Этот метод не сбивает текущий приказ (если в качестве активируемой кнопки берем не сбивающий приказ - абилу "безумие"). И еще возможно может открывать скрытые менюшки рабочего.
  1. рабочим активируем пустышку
  2. можно создать где-нибудь в углу точно какого-нибудь даймика с возможностью строить (не обязательно одинакового, главное, чтобы у него было меню строить)
  3. выбор переключения кидаем на нашего даймика
  4. заставляем даймика - открыть меню. Можно открыть через forcekey, но че-то тупит. Лучше вызывать меню через приказ.
  5. И тут же выбор переключаем обратно на нашего рабочего ( или на выделенную группу юнитов, если ранее у вас была выделена группа. тогда надо сохранить. Тут и проблема: если кинуть выделение на группу, то переключение может сбиться. У вас может быть отображена панель не раба, а например панель героя. А как нормально сделать переключение я не знаю ). То все происходит как и сказал quq_CCCP

вот карта теории 2 теория 1 не получилась из-за многих проблем. Но вот теория 2 норм работает, решил проблему с выделением группы, когда панель может переключить не на кастера, и еще данный метод не сбивает ордер раба. вам еще надо таймером проверять закрыта ли меню, чтобы закрыть. пример //если будет не понятно, подскажу и доработаю наработку.
Загруженные файлы
20
Steal nerves, классно, но мне нужно время, чтобы это понять. И еще хотелось бы знать, как такая система поведет себя в мультиплеере? Я уже говорил, что это необязательная опция, поэтому стоит подумать, делать ли ради нее столько усилий!
27
Yury13, вроде должно нормально работать в мультиплеере. Но возможны подводные камни.
Вот отредактировал, откомментировал каждую строчку. Красиво и норм. Теперь можно отследить открытие меню или закрытие (сворачивание). Если переделать хэш-таблицу и на хэндл записывать данные.
Есть недостаток с отрядами: когда выделяешь несколько юнитов, и переключаешь на раба. То рабом можно вызвать меню. А затем если взять и кнопкой Tab переключить например на след выделенного в отряде, то система до сих пор будет считать, что меню остается открытой (система: юнит то выделен, все впорядке). Тогда у вас работник будет подсвечиваться радиус, в то же время вы переключены на другого юнита в отряде - что есть не очень хорошо. Я не смог ничего такого найти с переключениями, даже не знаю как это исправить (возможно придется отказаться работать в группе во время стройки). Вроде драколич в мемхаке давно скидывал код на выделенного юнита, могу скинуть? но мемхаком больше не хочу заниматься
Загруженные файлы
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.