У меня тут баг какой то, или я понять не могу: Я создал триггер, в котором юнита двигает в центр региона при попытке его покинуть. Способность может поместить юнитов туда, а потом должна достать, но она не может, потому что их возвращает даже если я выключаю триггер возврата перед возвратом, а включаю после.
Не знаю, нет смысла в скринах, на деле все так же поверхностно как я описал, это наверное какой то баг или корявая механика триггеров, и мне интересно, может кто то знает что это за хрень.
(Все проверил, сомневаюсь что моя ошибка)
Помогло то, что я включил триггер возврата в регион с задержкой 0.01, через доп. триггер с периодиком, выключающий сам себя, но это не то чтобы гуманное решение и мне интересно в чем проблема...

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

экстрасенсы в отпуске, где код?
`
ОЖИДАНИЕ РЕКЛАМЫ...
5
16
7 лет назад
5
экстрасенсы в отпуске, где код?
Принятый ответ
2
19
7 лет назад
2
DracoL1ch:
экстрасенсы в отпуске, где код?
Хватит коверкать избитую шутку про экстрасенсов. Ты что не знаешь как выглядит функция Move unit или ивент Leaves the region?
Загруженные файлы
0
32
7 лет назад
0
Darknessay, Нельзя по человечески написать?
	local unit enemy = GetEnterningUnit()
	call SetUnitX( enemy, 0.802 )
	call SetUnitY( enemy, -104.22 )
	set enemy = null
Вычисли координаты центра ректа, определись на чем ты пишешь на гуи или на jass?
В триггер нужно бы добавить условие, что юнит не скрыт, не находится под эффектом способностей.
Ибо неудивительно что тебе не удаётся перемещать юнитов, при попытке выхода из ректа его возвращает назад.
0
19
7 лет назад
0
quq_CCCP:
Darknessay, Нельзя по человечески написать?
	local unit enemy = GetEnterningUnit()
	call SetUnitX( enemy, 0.802 )
	call SetUnitY( enemy, -104.22 )
	set enemy = null
Вычисли координаты центра ректа, определись на чем ты пишешь на гуи или на jass?
В триггер нужно бы добавить условие, что юнит не скрыт, не находится под эффектом способностей.
Ибо неудивительно что тебе не удаётся перемещать юнитов, при попытке выхода из ректа его возвращает назад.
Я выключаю триггер возврата из ректа перед попыткой достать юнитов. Баг в том, что он все равно срабатывает. Я включаю его обратно с задержкой в 0.01 и это срабатывает, но я не понимаю как это работает.
0
32
7 лет назад
0
Нужно сначала выключить, сделать все действия с перемещением а затем включить, а так же не юзать setunitposition, его может сместить в сторону при приземлении в непроходимые места.
0
2
7 лет назад
0
А какая способность?
Я уже делал что-то подобное с помощью триггеров.
0
10
7 лет назад
Отредактирован Lotus101
0
Сделай лучше просто периодом: выбрать всех юнитов в радиусе точки, если расстояние между выбранный юнит и точкой больше, то двигать юнита в точку. Точнее лучше таймером и выбирать EnumGroupInRect.
0
19
7 лет назад
0
quq_CCCP:
Нужно сначала выключить, сделать все действия с перемещением а затем включить, а так же не юзать setunitposition, его может сместить в сторону при приземлении в непроходимые места.
Я так и делаю. На скринах же видно. Мне плевать на позиционирование, юнита просто возвращает если сразу включить, как будто он не успевает полностью покинуть область.
0
21
7 лет назад
Отредактирован Raised
0
Darknessay, попробуй создать скилл на Jass: ни придется возится с массивами и любая корявость логики будет сразу заметна.
Не понятно что делает триггер KamuiAct, который ты отключаешь. Все можно сделать достаточно просто с помощью структуры/Хеш-таблицы, таймера и локального триггера.
0
19
7 лет назад
Отредактирован Darknessay
0
Тут ничего не связано с камуи актом, там просто юнитов двигает. К точке каста.
0
21
7 лет назад
0
Попробуй таймер в 0 секунд.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.