Мне нужно на время убрать возможность делать какие либо приказы на панели у юнита. Один из вариантов был добавить классификацию юнита как Страж, но тригерно это не делается. Есть еще варианты?

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

Просто отменяем все приказы через этот код.
call PauseUnit(minion, true)
call IssueImmediateOrderById(minion, Order_stop)
call PauseUnit(minion, false)
Предварительно стоит убрать все способности у юнита.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
3 года назад
0
Похожие вопросы:

ответ
Filius Dei:
я так и не понял почему ты не можешь просто сделать как улучшение что не так с улучшением как в обычном случае.
дело в описании, вот и не могу так сделать,если сделать через улучшение здания, то при наведении на иконку вплывает подсказка, та же подсказка что будет и у самого здания в списке построек у светлячка, тоесть если делать через улучшение (по идее этот же юнит должен быть и в списке построек (а он там есть) ту подсказку которую я хочу будет лишней. вот пример: Древо жизни превращается в древо мира, при этом все союзные юниты вблизи древа получают повышеную регенерацию здоровья. (а теперь представь что эта подсказка будет в списке построек у светлячка, вообще не то)
Решил проблему путем выбора древа когда истекает однократный таймер, также подумал и решил что наверно лучше делать через способности, а не исследования. Но у меня остался один вопрос, если этот тригер отвечающий за применения этих способностей будет использовать несколько игроков, я не знаю будет ли использоватся оно коректно или нет, также и с отдельным триггером Таймер. Вот что вышло в данный момент:
ответ
у меня есть система, но она д+рьмовая.
Во-первых, для каждого нужно сохранять текущие приказы и цели. Чтобы при отдаче приказа юнит не слушался хозяина и продолжал делать свои дела. Вроде пока справляемся с идеей, можно все сохранить в переменные (правда, занудно). Но изначально, нужно сохранять приказ стоп, а то в ячейке пустует и он ничего не делает. Во-вторых, события приказов срабатывают намного раньше, чем он начинает делать. То есть, если дать сразу в этот момент еще один приказ, то ничего не будет, ибо начинает выполнять текущий. И получается, что нужно делать задержку в 0.00. То есть не получится так что сразу. Не понимаю вот, почему близзарды не сделали, чтоб сразу. И в третьих, зацикливание может привести к вылету, нужно отключать, отдавать приказ, и включать триггер. Короче это нафиг никому не нужное, он успевает сделать что-то, немножко отбежать туда - куда ему игрок указал. Делал на скорую руку.
ой немного недоработанную выложил, там вэйт включите. удалите двойной слэш
xgm.guru/forum/showthread.php?t=39525 тут скока способов. Е-мое
xgm.guru/forum/showthread.php?t=39004 тут твой ответ (см. ответ Александра).
Прошу прощения, оказалось, что вэйт лучше не использовать. Вместо него таймер используйте, так как с помощью таймера приказ отдается сразу. Скину другую наработку Block of orders Upgraid

0
32
3 года назад
0
Thednmk, мемхак - либо, костылями с отловом приказов (смотри в доте код спектры).
0
6
3 года назад
0
quq_CCCP:
Thednmk, мемхак - либо, костылями с отловом приказов (смотри в доте код спектры).
Как раз из-за доты и спрашиваю этот вопрос. Помню у пуджа когда кастует хук, то у него блокирует все приказы.
0
32
3 года назад
0
Thednmk, это свойство абилки, у канала - отключить прочие спосгобности галочка.
0
6
3 года назад
0
quq_CCCP:
Thednmk, это свойство абилки, у канала - отключить прочие спосгобности галочка.
Тогда если нормальных вариантов не найдется, то придется через канал делать
0
32
3 года назад
0
Thednmk, там 1 вариант, когда канал кастуется оно работает, и все - но можно заменить PauseUnit - почти тоже самое.Сделать чтобы под блоком канала юнит чето еще делал кроме как стоял - низя.

Если тебе надо типа дуэли легиона, но чтобы низя стопить - это только мемхак.
0
17
3 года назад
Отредактирован world_editor
0
Создать копии юнитов со страж и менять в нужное время( триггер замены).
1
27
3 года назад
Отредактирован rsfghd
1
Морф юнита на копию-стража через руну юзай, я так же делал чтобы заблочить кнопки во время рывка юнита

Нашел как раз карту, по коду конечно нечего смотреть, ибо всё говно, но хотя бы представление можно получить как через морф выглядит
справа снизу юнит, первая абилка
Загруженные файлы
0
28
3 года назад
Отредактирован PT153
0
Просто отменяем все приказы через этот код.
call PauseUnit(minion, true)
call IssueImmediateOrderById(minion, Order_stop)
call PauseUnit(minion, false)
Предварительно стоит убрать все способности у юнита.
Принятый ответ
0
27
3 года назад
0
PT153, а триггеры на отдачу приказов не сработают?
0
28
3 года назад
0
rsfghd, что не сработает? Нужно отловить приказы (кроме стопа) через событие получения приказов и отменять приказы.
0
27
3 года назад
0
PT153, то есть вышеуказанным кодом можно было пользоваться вместо локального таймера для стопа приказа?

А микроблока заметно не будет? Ну, что кнопки то исчезают, то появляются
2
28
3 года назад
2
А микроблока заметно не будет? Ну, что кнопки то исчезают, то появляются
Нет.
rsfghd:
то есть вышеуказанным кодом можно было пользоваться вместо локального таймера для стопа приказа?
Это ещё зачем.

Просто в WispTD вызовите Лорда бандита и попробуйте дать ему приказ идти.
0
9
3 года назад
0
Нашел как раз карту, по коду конечно нечего смотреть, ибо всё говно, но хотя бы представление можно получить как через морф выглядит
Вот статья, там как раз описано как это работает: xgm.guru/p/wc3/powerups
Чтобы оставить комментарий, пожалуйста, войдите на сайт.