Query
Радар отдаёт одного. Query отдаёт всех, кто попал в круг или прямоугольник
query circle unit null 9 6 3 0sensor всего @queries @sizeВ круге радиусом три клетки вокруг точки 9 6 оказалось три юнита: два кинжала
и вспышка. Их список лежит в @queries.
| Поле | Что в нём |
|---|---|
| первое | форма: circle или rect |
| второе | что искать: unit, building, bullet |
| третье | команда или null — «чья угодно» |
| четвёртое и пятое | центр области в клетках |
| шестое | радиус у круга, ширина у прямоугольника |
| седьмое | высота у прямоугольника; кругу не нужна |
Прямоугольник считается от центра: query rect unit null 9 6 4 4 — это квадрат
четыре на четыре клетки с серединой в 9 6, а не угол в этой точке.
Список читается как ячейка памяти
Заголовок раздела «Список читается как ячейка памяти»@queries — не число и не объект, а список. Работают с ним двумя инструкциями:
sensor сколько @queries @sizeread кто @queries 0sensor @size отдаёт длину, read — элемент по номеру, считая с нуля. Дальше каждый
элемент — обычный юнит или здание, у которого всё читается sensor.
Вот и весь перебор:
set номер 0read кто @queries номерsensor здоровье кто @healthop add номер номер 1jump 1 lessThan номер сколькоОтбор по команде
Заголовок раздела «Отбор по команде»Третье поле — команда, и оно решает, кого считать:
query circle unit null 9 6 3 0 # всех: троеquery circle unit @sharded 9 6 3 0 # только своих: двоеПустота (null) означает «любая команда». Конкретная команда — только её юниты. Условия
«все, кроме моих» тут нет: если нужны именно враги, берут всех и отсеивают по @team сами.
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.