Здания по метке
Искать здание по типу нельзя, зато можно по роли: ядро, турель, склад, генератор
ulocate building turret true @copper врагX врагY естьВраг вражьяulocate building turret false @copper свояX свояY естьСвоя свояДве строки, отличающиеся одним словом: первая находит вражескую турель на клетке 18, вторая — свою на шестой. Третье поле и решает, чьё здание искать.
| Поле | Что в нём при поиске здания |
|---|---|
| первое | building |
| второе | метка: что это за здание по роли |
| третье | true — чужое, false — своё |
| четвёртое | предмет — этому виду поиска не нужен |
| пятое и шестое | координаты найденного |
| седьмое | нашлось или нет |
| восьмое | само здание объектом |
Метки: роль вместо названия
Заголовок раздела «Метки: роль вместо названия»Искать «двойную турель» или «контейнер» нельзя — можно искать здание с нужной меткой. Метки расставлены заранее, в самой игре, и их десять:
| Метка | Кто ею помечен |
|---|---|
core |
ядро |
storage |
контейнер, хранилище |
generator |
всё, что вырабатывает энергию |
turret |
любая турель |
factory |
фабрики: плавильни, прессы, смесители |
repair |
ремонтная точка |
battery |
батарея |
reactor |
реактор |
drill |
любой бур |
shield |
проектор поля |
Метка у здания может быть не одна: ториевый реактор помечен и как generator,
и как reactor — искать его можно и так, и так.
Восьмое поле: само здание
Заголовок раздела «Восьмое поле: само здание»ulocate отдаёт не только координаты, но и здание объектом — и это самое ценное. Дальше
с ним работают как с любым зданием:
ulocate building core false @copper x y нашлось ядроsensor меди ядро @coppersensor цело ядро @healthСвязь с этим зданием не нужна: sensor читает и не связанные блоки. А вот control —
нет, ему связь обязательна.
Координата здания — не всегда целая
Заголовок раздела «Координата здания — не всегда целая»Посмотрите на складX в примере: 10.5, хотя контейнер стоит на десятой клетке.
Так и должно быть. У блока с чётной стороной — 2×2, 4×4 — центр приходится не на середину
клетки, а на её угол, и координаты у него получаются с половинкой. ulocate отдаёт именно
центр здания, как и sensor @x.
Для ucontrol move это даже удобнее: юнит подлетит к середине склада, а не к его углу.
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.