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

Вот немного переделанный твой триггер. Меняем реген в зависимости от кол-ва деревьев. Каждое дерево = 0.25 хп/сек (можешь менять этот коэффициент как угодно).
Вот карта тебе для тестов или как пример.
Я добавил проверку на то, что герой жив, чтобы не проводить вычисления когда он мертв.
+ Тут так-же можно поработать над утечками для оптимизации, но мне было лень этим заниматься.
+ Советую проверять деревья через ИЛИ построчно а не в одну строку. Так тебе будет проще в будущем модифицировать условия, добавлять новые деревья или удалять старые.
А и время на каждые 1 секунд поменять, а то 5 осталось с тестов
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
25
Вот немного переделанный твой триггер. Меняем реген в зависимости от кол-ва деревьев. Каждое дерево = 0.25 хп/сек (можешь менять этот коэффициент как угодно).
Вот карта тебе для тестов или как пример.
Я добавил проверку на то, что герой жив, чтобы не проводить вычисления когда он мертв.
+ Тут так-же можно поработать над утечками для оптимизации, но мне было лень этим заниматься.
+ Советую проверять деревья через ИЛИ построчно а не в одну строку. Так тебе будет проще в будущем модифицировать условия, добавлять новые деревья или удалять старые.
А и время на каждые 1 секунд поменять, а то 5 осталось с тестов
Загруженные файлы
Принятый ответ
Ответы (1)
1
Вот немного переделанный твой триггер. Меняем реген в зависимости от кол-ва деревьев. Каждое дерево = 0.25 хп/сек (можешь менять этот коэффициент как угодно).
Вот карта тебе для тестов или как пример.
Я добавил проверку на то, что герой жив, чтобы не проводить вычисления когда он мертв.
+ Тут так-же можно поработать над утечками для оптимизации, но мне было лень этим заниматься.
+ Советую проверять деревья через ИЛИ построчно а не в одну строку. Так тебе будет проще в будущем модифицировать условия, добавлять новые деревья или удалять старые.
А и время на каждые 1 секунд поменять, а то 5 осталось с тестов
Спасибо! Пойду разбираться в чём была у меня ошибка, триггер из того, что Вы выложили, работает именно так, как я задумывал.
замечание от EugeAl: 1.5 Злоупотребление форматированием. Не нужно весь текст цитировать, это нечитаемо нормально другим людям.
23
Похожие вопросы:

ответ
Событие Event Units in range ( какое там нужно аое, ставишь)
Условие ( Enterning unit is - ну не здание, живое и так далее, критерии отбора по вкусу)
Действие (твои действия)
ответ
необязательно делать два триггера, можно сделать 1 с этим событием с условием (Владелец (Переключающий юнит)) равно Нейтрально-враждебный а остальные условия поместить в отдельный if/then/else multiple conditions, хз как называется этот пункт в русском редакторе, но он где-то в первых 15 строчках.
Хотя знаешь мне лень писать, вот так можно сделать в твоём случае

Если ты хочешь посылать куда-то юниты, то лучше давай их другому игроку, не нейтрально-враждебному
ответ
триггерно даём и удаляем спел превратится в ворона после чего можно менять высоту юнита
ответ
есть готовая наработка
ответ
А почему бы при поднятии предмета не запускать периодический таймер который будет проверять в каком слоте предмет, а при выбрасывании убирать эффект и останавливать таймер

16
Тебе нужны функции, начинающиеся на EnumDestructables, чтобы перебирать деревья в ректе\радиусе от нужной точки. Увеличивай счетчик, потом устанавливай уровень способности или триггерного лечения на значение счетчика.
UPD. Обязательно посмотри тут
1
После долгих мучений создал вот такой триггер. Начало у него вроде рабочее, но почему-то он срабатывает только один раз со старта карты, хотя задумка в том, чтобы каждую секунду игра проверяла сколько деревьев вокруг юнита и корректировала значение его восстановления здоровья в зависимости от этого числа.
Загруженные файлы
Ответы (1)
Ответы (2)
16
Magnisphyricon, цикл точно лишний. Устанавливай значение регена не в переборе, а в самом конце (перед count = 2)
Ответы (3)
16
Magnisphyricon, ты не перенес изменение регенерации. Добавь еще вывод текста какой-то, если условие верно, чтобы понять, когда оно работает вообще. Возможно, в фильтре ошибка.
Загруженные файлы
1
Ydav, Не понимаю.
Действие "Установить Destructibles_count[0] = 2" у меня стоит вне цикла вообще, это чтобы по окончанию триггера реген возвращался к исходному значению и цикл запускался заново, а не с уже существовавшего в предыдущем цикле значения.
16
Magnisphyricon, перебор деревьев нужен только, чтобы увеличить значение счетчика. После перебора уже за этим блоком нужно установить значение регена на текущее значение счетчика. А обнулять счетчик лучше в начале, до перебора деревьев
Чтобы оставить комментарий, пожалуйста, войдите на сайт.