Очень трудно разъяснять, зачем это надо и всю систему, и никто до конца не дочитает, поэтому формулирую только сам вопрос и кратко, как могу.
Короче. В некой точке триггерно создаётся герой. Ему выучиваются скиллы. Сразу после этого хотелось бы сделать следующее:
  • или как-то удалить с него классификацию героя;
  • или просто как-то сделать, чтобы его иконка сверху не показывалась (но это должно влиять только на такого новосозданного героя, у всех остальных героев с таким типом иконка должна изначально, в момент происходящего и в дальнейшем отображаться нормально).
Это возможно? Мемхак есть.
PS в крайнем случае создам локальный разрушаемый потом триггер с автосбрасыванием с него выделения при событии на юнит селектед, благо этот дамми-герой будет существовать 1 секунду и его моделька сразу будет уменьшена до невидимого состояния и почти сразу он станет неуязвимым. Но это немного тупо.

Принятый ответ

ну попробуй так
перед созданием сбрось флаг
set a=GetUnitUIDefByIdCaching(unitid)
if a>0 then
call WMem(a+0xB8,0)
endif
после создания единицу обратно пишешь, должно сработать
0
16
7 лет назад
Отредактирован Naadir
0
А) Классификацию героя удалить нельзя, т.к. это скорее класс, тип объекта, чем свойство.
Б) Удаление иконки сверху возможно из РО, там есть какая-то графа в разделе "Графика", насколько я помню.
В) Мемхак тут не нужен.

Сейчас посмотрю насчёт (Б) точно.
0
16
7 лет назад
0
у героя в настройках есть флаг "отображать в списке героев"
через мх не особо выйдет, ибо проверок миллион по всему коду
4
16
7 лет назад
Отредактирован Naadir
4
А, ну вот.
Характеристики => Герой => скрыть пиктограмму на панели.
И там же можно скрыть сообщение о гибели (ну мало ли?) и ромбик на миникарте.
0
21
7 лет назад
Отредактирован ClotPh
0
Naadir, пригодится в любом случае, спс, даже если не для этого вопроса, то другие идеи есть.
Но в идеале, еще раз, хотелось бы, чтобы вот у новосозданного, например, "зевса" иконка НЕ показывалась, а у всех остальных "зевсов" показывать.
Через мемхак точно нельзя поменять этот параметр конкретному юниту?
3
16
7 лет назад
Отредактирован DracoL1ch
3
ну попробуй так
перед созданием сбрось флаг
set a=GetUnitUIDefByIdCaching(unitid)
if a>0 then
call WMem(a+0xB8,0)
endif
после создания единицу обратно пишешь, должно сработать
Принятый ответ
0
21
7 лет назад
0
Спс, потом проверю
Можно, думаю, закрыть, ответ лучше вряд ли будет
3
29
7 лет назад
3
ClotPh, Вот такая функция есть, только она распространяется на все иконки героев, подконтрольных игроку.
Хотя на вряд ли это будет вам полезно.
// Совместимо с GetLocalPlayer(), вне его скроются у всех игроков иконки своих героев.
call SetReservedLocalHeroButtons(1) = показать
call SetReservedLocalHeroButtons(-1) = скрыть
0
20
7 лет назад
0
ты при инициализации хочешь создавать героев?
Чтобы оставить комментарий, пожалуйста, войдите на сайт.