Вертаюсь к старому стилю вопросов. Как говорится, вопрос уже в названии. Пытаюсь замутить такую штуку - Древо Войны выращивает энтов и прочих прямо из рядом стоящих деревьев. А так же обладает способностью оные самые затраченные деревья выращивать по новой. Ради удобство игрока, хочу автоматизировать эту систему - чтобы выращивал случайное дерево из уже использованных. Добавлю в задачу того, что древ войны может быть много и построено оно может где угодно рядом с деревьями. В редакторе триггеров нашел только возможность выбрать случайное разрушаемое из региона :/
Принятый ответ
Тебе нужно выбрать дерево из ближайшего окружения?
Ты можешь выбрать все декорации используя эту же функцию. Только в фильтре сравнивай расстояние между древом войны и выбранным деревом, если расстояние между ними меньше радиуса (сам укажешь).
есть функция выбора в круге EnumDestructablesInCircleBJ
есть функция рандома в регионе RandomDestructableInRectBJ
есть функция выбора в круге EnumDestructablesInCircleBJ
есть функция рандома в регионе RandomDestructableInRectBJ
r - реальное число, радиус обхвата деревьев
count - целое число, счетчик деревьев, показывает кол-во выбранных деревьев вокруг древа войны в радиусе r. Необходимое для рандома, функции рандома необходимо указать пределы от и до. А так ты не знаешь сколько будет, поэтому счетчик введен
d [...] - декорация, массив декорации. Сюда можно запихивать подходящие по условию декорации.
u - юнит, древо войны
Можно использовать EnumDestructablesInRect как и в функции EnumDestructablesInCircleBJ, по сути описываю принцип ее действия. В функции выбираем все декорации на карте, то есть в игровой области карты bj_mapInitialPlayableArea. Но используйте фильтр, функцию. Там сравниваете (расстояние между u и GetFilterDestructable() ) <= r. И добавляете подходящую выбранную декорацию в массив d и прибавляете единичку к счетчику, можно прям фильтре. А потом рандомите число, и выбираете подходящую декорацию. все. можно переменных этих не вводить, а сразу рандомить как в RandomDestructableInRectBJ немного переделать на круг
count - целое число, счетчик деревьев, показывает кол-во выбранных деревьев вокруг древа войны в радиусе r. Необходимое для рандома, функции рандома необходимо указать пределы от и до. А так ты не знаешь сколько будет, поэтому счетчик введен
d [...] - декорация, массив декорации. Сюда можно запихивать подходящие по условию декорации.
u - юнит, древо войны
Можно использовать EnumDestructablesInRect как и в функции EnumDestructablesInCircleBJ, по сути описываю принцип ее действия. В функции выбираем все декорации на карте, то есть в игровой области карты bj_mapInitialPlayableArea. Но используйте фильтр, функцию. Там сравниваете (расстояние между u и GetFilterDestructable() ) <= r. И добавляете подходящую выбранную декорацию в массив d и прибавляете единичку к счетчику, можно прям фильтре. А потом рандомите число, и выбираете подходящую декорацию. все. можно переменных этих не вводить, а сразу рандомить как в RandomDestructableInRectBJ немного переделать на круг
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW
есть функция выбора в круге EnumDestructablesInCircleBJ
есть функция рандома в регионе RandomDestructableInRectBJ
count - целое число, счетчик деревьев, показывает кол-во выбранных деревьев вокруг древа войны в радиусе r. Необходимое для рандома, функции рандома необходимо указать пределы от и до. А так ты не знаешь сколько будет, поэтому счетчик введен
d [...] - декорация, массив декорации. Сюда можно запихивать подходящие по условию декорации.
u - юнит, древо войны
Можно использовать EnumDestructablesInRect как и в функции EnumDestructablesInCircleBJ, по сути описываю принцип ее действия. В функции выбираем все декорации на карте, то есть в игровой области карты bj_mapInitialPlayableArea. Но используйте фильтр, функцию. Там сравниваете (расстояние между u и GetFilterDestructable() ) <= r. И добавляете подходящую выбранную декорацию в массив d и прибавляете единичку к счетчику, можно прям фильтре. А потом рандомите число, и выбираете подходящую декорацию. все. можно переменных этих не вводить, а сразу рандомить как в RandomDestructableInRectBJ немного переделать на круг