В предыдущем вопросе была решена проблема смена цвета (понял как сделать), но всплыла другая проблема - как выбрать самого работника, который строит здание, или здание, которое создает юнита? При триггере "A unit Начинает строительство" triggering юнитом считается уже здание, а не работник. Есть варианты как выбрать рабочего?
Пробовал через область - понял, что вылезает проблема с количеством юнитов. Ведь можно случайно выбрать летающих или просто другого работника, который пробегал рядом.

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

обычного строителя выбрать нельзя
можно дать строителю способности постройки (игрушечная башня, игрушечный замок и т.д.)
и отлавливать их применение
тогда юнит применивший способность и есть строитель
либо пиши свою систему постройки с бд и проверками на возможность строительства
вот статья по бд
остальные статьи найдёшь там
думаю месяца за 2 ты сможешь выучить всё необходимое для написания системы
Mrachny, перед тем как чтото писать сначала проверь это и предоставь пруф
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
17
8 лет назад
0
Записывай юнита раньше. Юнит сооружает структуру. Или как только он начал строительство, так сразу и запиши.
при триггере "A unit Начинает строительство" triggering юнитом считается уже здание, а не работник
Разве?
0
4
8 лет назад
0
Так в том-то и дело, что раньше его не записать. Я полчаса мучался, пока случайно не ввел через строку "triggering unit + (integer A)" и он мне вывел не рабочего, а здание. Других действий с юнитом/зданием в триггере не было.
2
17
8 лет назад
Отредактирован Mrachny
2
Как это не было?
Как же "Юнит сооружает структуру" - это и будет раб.
Могу проверить.
Тебе может писать здание, если твой рабочий из нежити.
1
28
8 лет назад
Отредактирован nvc123
1
обычного строителя выбрать нельзя
можно дать строителю способности постройки (игрушечная башня, игрушечный замок и т.д.)
и отлавливать их применение
тогда юнит применивший способность и есть строитель
либо пиши свою систему постройки с бд и проверками на возможность строительства
вот статья по бд
остальные статьи найдёшь там
думаю месяца за 2 ты сможешь выучить всё необходимое для написания системы
Mrachny, перед тем как чтото писать сначала проверь это и предоставь пруф
Принятый ответ
1
13
8 лет назад
Отредактирован ENAleksey
1
Можно, используй функцию GetOrderedUnit(). При событии "Юнит отдал приказ (цель-объект)", она вернёт юнита, которому отдали приказ на строительство. Нужно будет ещё добавить проверку на id приказа, чтобы понять, что это именно приказ на строительство.
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.