Есть задача: у меня несколько юнитов выделенных. Один выделенный юнит выбирает прицелом строить (прицел искуственный). если нажимаю Tab, то переключаюсь на другого, и прицел должен исчезнуть, вернув все на круги. Но он у меня прицел остается, и выглядит так будто строит другой.
ps хочу просто предусмотреть все отмены (Esc, ПКМ, отмена выделения и пр. и еще и это).
что-то похожее было здесь
Думаю, что достаточно отследить клавишу Tab, и значит, что юнит переключен!? Или дать какую-нибудь пустышку, и через force hot key чекать
`
ОЖИДАНИЕ РЕКЛАМЫ...
27
Пока это невозможно для меня, но где-то читал в чатике что кто-то нашел в фреймах адрес в рефордже. Ну и ладно, пока это совсем не нужно.
Все отмены нашел, главное завести булеан, где будет показано что маркер включен пример:
  1. скипнуть через отмену можно нажатием клавиши ESC или навести курсор мыши и по кнопке "отмена"
call TriggerRegisterPlayerEventEndCinematic( gg_trg_RegisterCancel, Player(0) )
  1. скипнуть прицел можно нажатием на кнопку мыши. Правая кнопка или левая не важно.
call TriggerRegisterPlayerMouseEventBJ( gg_trg_RegisterCancel, Player(0), bj_MOUSEEVENTTYPE_DOWN )
  1. скипнуть можно прицел select-переключением, когда выделяем другого. Казалось, а что сложного то тут? И вообще, когда у вас в качестве прицела точка выбрана, то вы никак не можете выделить юнита, тк прицел только точку выделяет. Кажется бесполезным этот триггер. Оказалось, что есть быстрые клавиши переключения вроде Ctrl+1, Ctrl+2, F1, иконка раба F8. Вы можете переключиться и никак не скипнете. Поэтому эта проверка полезна
    call TriggerRegisterPlayerSelectionEventBJ( gg_trg_SingleSelection, Player(0), true )
    call TriggerRegisterPlayerSelectionEventBJ( gg_trg_SingleSelection, Player(0), false )
  1. и последнее - скипнуть можно переключением через клавишу Tab. То о чем я говорю. Хоть я и не нашел способа определить юнита интерфейса. Мб попозже разберусь и добавлю. Но сейчас это не главное.
call BlzTriggerRegisterPlayerKeyEvent(gg_trg_group_Tab_switching,Player(0),OSKEY_TAB,0,false)
Мы проверяем число выделенных игроком пример. Обычно мы можем выделить несколько юнитов, только подконтрольным нам. По условию число выделенных > 0
Возможно еще какие нибудь подводные камни есть. И надо еще правок на отмену делать. Это все? есть ли еще какие нибудь моменты по вашему?
Чтобы оставить комментарий, пожалуйста, войдите на сайт.