Здравствуйте, нужен совет как сделать правильно и оптимизировано респаун мобов в заданной их точке.
Какой был вариант у меня:
Создавать переменную точек, устанавливать значение каждого моба по массивам.
Но теперь проблема, мне нужно отслеживать убийство каждого моба дабы возрождать его в указанной ему точке.
Если у меня лес из 50 мобов, то оптимизация тут отдыхает.. Хочу поинтересоваться как сделать правильно.

подобных систем 100500 же
да и делается изи
атачим к юниту его точку респавна (для тех у кого боязнь джасса можно юзать кастом вэлью)
когда юнит умирает то извлекаем приатаченную точку и запускаем вейт
по окончанию вейта создаём юнита в точке и атачим к нему эту точку
на гуи это 2 триггера
если хочется оптимально то стоит перейти на джасс и не насиловать себе мозги этими окошками
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
использовать local unit u = getDyingUnit()
потом триггерно по прошествию времени (вейта какого либо) - воскрешать и очищать локалку.
Но для этого нужны минимальные знания джасса.
Можно геммороиться с группами, занося юнита в группу для воскрешения, и периодически по таймеру воскрешая всех юнитов в группе.
26
Можно и без JASS, значение (Diyng unit) для триггера не будет меняться.
6
8gabriel8:
Можно и без JASS, значение (Diyng unit) для триггера не будет меняться.
По подробнее можно?
Fakov:
использовать local unit u = getDyingUnit()
потом триггерно по прошествию времени (вейта какого либо) - воскрешать и очищать локалку.
Но для этого нужны минимальные знания джасса.
Можно геммороиться с группами, занося юнита в группу для воскрешения, и периодически по таймеру воскрешая всех юнитов в группе.
Мне нужно каждого моба спавнить в стартовой его точке, причём на каждого своя точка. И не нужно чтобы в одной точке было 2 и больше мобов.
Насколько я понял без регистрации каждого моба не обойтись?..
  1. Резервировать массив для каждого юнита.
  2. Устанавливать переменную макс. кол-ва юнитов
  3. По циклу записывать позицию в отдельные масивы.
  4. Раз в 60с прогонять цикл и проверять умер юнит или нет, с каждым созданием присваивать переменной отвечающую за юнита последнего создавшегося.
Это единственный вариант?
17
qzGoon:
8gabriel8:
Можно и без JASS, значение (Diyng unit) для триггера не будет меняться.
По подробнее можно?
Fakov:
использовать local unit u = getDyingUnit()
потом триггерно по прошествию времени (вейта какого либо) - воскрешать и очищать локалку.
Но для этого нужны минимальные знания джасса.
Можно геммороиться с группами, занося юнита в группу для воскрешения, и периодически по таймеру воскрешая всех юнитов в группе.
Мне нужно каждого моба спавнить в стартовой его точке, причём на каждого своя точка. И не нужно чтобы в одной точке было 2 и больше мобов.
Насколько я понял без регистрации каждого моба не обойтись?..
  1. Резервировать массив для каждого юнита.
  2. Устанавливать переменную макс. кол-ва юнитов
  3. По циклу записывать позицию в отдельные масивы.
  4. Раз в 60с прогонять цикл и проверять умер юнит или нет, с каждым созданием присваивать переменной отвечающую за юнита последнего создавшегося.
Это единственный вариант?
Если я правильно понял, тебе нужно сделать так, чтобы умершие юниты возрождались в определенной точке? Тогда вот карта, в ней нужный триггер.
Если потом нужно чтобы он автоматически бежал куда-то, просто добавить триггер -перейти к точке нападая на противника- в адрес замененному юниту.
Загруженные файлы
28
подобных систем 100500 же
да и делается изи
атачим к юниту его точку респавна (для тех у кого боязнь джасса можно юзать кастом вэлью)
когда юнит умирает то извлекаем приатаченную точку и запускаем вейт
по окончанию вейта создаём юнита в точке и атачим к нему эту точку
на гуи это 2 триггера
если хочется оптимально то стоит перейти на джасс и не насиловать себе мозги этими окошками
Принятый ответ
26
qzGoon:
По подробнее можно?

nvc123 вкратце изложил самую суть. У меня ещё добавлена проверка невидимости точки респавна юнита для игрока, удаление группы при создании юнита и удаление убитых юнитов, чтобы не плодить утечек.
P. S. Нужно открывать карту в редакторе JNGP, обычный не содержит некоторых функций.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.