Нет, небылоц и небудут - warcraft 3 использует асинхронную загрузку данных, все что впервые увидел игрок то и Загружается в память. Для вашего города юзают картинку на земле с фильтром на камере, сменять кадры показывают птичий полет над городом.
У тебя код добавляет всех подряд, темболее нафиг тебе отдельный триггер и добавление всех юнитов на карте?
Событие юнит получает урон - нужно только крипам, когда ты их создаешь, добавляешь и событие на каждого созданного юнита, это быстрее и не требует отдельного триггера + не будет проблем с повторным событием и не будет юнитов которым эти события ненужны.
Ты же хотел чтобы без утечек и максимально быстро?
Просто создаешь триггер каждую волну, на каждого созданного тобой крипа вешаешь событие что он сдох, что получил урон. Усе.
Далее добавляешь кондищены и акшены, когда волна закончится и все мобы сдохли, удаляем всех крипов действием RemoveUnit, удаляем условия и действия у триггера, паузим триггер и удаляем через минутку-другую, а затем удаляем. Так не будет утечек и минимум нагрузки.
Я выкладывал код веномансера из доты, там прилеплена наработка грамотного удаления триггеров чтобы не было коллизии хендлов триггеров.
ScopteRectuS, цель получает урон очень часто, как будем отличать урон от физ тычки от абилок башни?
Да и если ты бросаешь спелл, зачем тебе ждать удара?
Там ты возвращяешь сам боллексп, но у тебя в нем нет кода, он не выполняется, не будет завершение потока, движок должен будет обрубить поток или фатальнуть.
Похоже на ошибку пасера, который проверяет синтаксис, таких ошибок там вероятно еще полно, на подобных ошибках основана работа Return Bug и так далее.
События висят в памяти пока существует обьект на который повешено это событие, в вашем случаи это юнит, если его удалить то не будет и события, триггер тоже можно удалить с кондишинами и экшинами. В тд вовсе ненужна никакая систетема, просто триггер на каждую волну куда и записывается все события на каждого юнита в волне, после окончания все это удаляется.
GetUnitTypeId( тип даммика) или IsUnitType( UNIT_TYPE_SAPPER) , подумай сам как лучше отличать тех юнитов которые не будут получать урона и\или юнитов для которых это неважно (варды\мины) я сделал для себя проверку на мемхаке на тип вард и наличие инвула и так проверяю.
Так же нету проверки на героев, они могут войти на карту дважды, помойму после смерти герой не покидает игровой рект, но на всякий случай проверь, чтобы не наплодить 100500 ивентов на одного юнита.
Абилки вы не спрячите, некоторые абилки являются служебными и никак не подлежат смене и отображению в РО.
Сама абилка по сути триггер в движке игры, который следит за юнитом у которого эта абилка есть, какому либо изменению там это дело не особенно то поддаётся.
Не пойму зачем это вам?
Есть мнение что ApplyUnitTimedLife( u, 'BTLF', 3.00 ) будет смотреться изящнее PolledWait.
Темболее причем тут нативки, у вас онли BJ функции, CreateNUnitAtLoc, PolledWait это все бж функции, а еще вейты зло, в них нельзя обойтись только при синках или роликах, в остальных местах лучше без них.
Да и вовсе накой черт создавать локальную переменную если собрались сделать с юнитом все действия сразу?
set bj_lastCreatedUnit = CreateUnit( Player, 'UNIT ID', x,y, facing )
call UnitApplyTimedLife( bj_lastCreatedUnit, 'BTLF, 3.00 )
// далее действия вроде вручить спелл или приказать идти куда либо.
Кароче берешь декорацию и ставишь на земю и смотриш, какое пространство карты путей она блокирует, Можно взять несколько, создаешь новые декорации на основе блокираторов пути, но текстуры пути у них удаляешь, втыкаешь их на нужные места, сохраняешь карту, после берешь и редактируешь эти самые декорации устанавливая им нужную текстуру пути, как у тех декораций которые подходят по размеру чтобы заткнуть дыру.
» WarCraft 3 / Лаги.
» WarCraft 3 / Лаги.
Зачем?
» WarCraft 3 / Лаги.
Раньше говорили - "Аффтор выпей йаду" за 2000 объектов перед камерой.
» WarCraft 3 / Функция для удаления евента триггера
Событие юнит получает урон - нужно только крипам, когда ты их создаешь, добавляешь и событие на каждого созданного юнита, это быстрее и не требует отдельного триггера + не будет проблем с повторным событием и не будет юнитов которым эти события ненужны.
Ты же хотел чтобы без утечек и максимально быстро?
» WarCraft 3 / Функция для удаления евента триггера
Далее добавляешь кондищены и акшены, когда волна закончится и все мобы сдохли, удаляем всех крипов действием RemoveUnit, удаляем условия и действия у триггера, паузим триггер и удаляем через минутку-другую, а затем удаляем. Так не будет утечек и минимум нагрузки.
Я выкладывал код веномансера из доты, там прилеплена наработка грамотного удаления триггеров чтобы не было коллизии хендлов триггеров.
» WarCraft 3 / Функция для удаления евента триггера
Да и если ты бросаешь спелл, зачем тебе ждать удара?
» WarCraft 3 / Функция для удаления евента триггера
» WarCraft 3 / Функция для удаления евента триггера
Есть волны крипов, есть здания... Дальше что?
» WarCraft 3 / про boolexpr, filterfunc...
Похоже на ошибку пасера, который проверяет синтаксис, таких ошибок там вероятно еще полно, на подобных ошибках основана работа Return Bug и так далее.
» WarCraft 3 / про boolexpr, filterfunc...
» WarCraft 3 / Функция для удаления евента триггера
» WarCraft 3 / Функция для удаления евента триггера
» Dota 2 / Продление конкурса героев до 1-го июня
» WarCraft 3 / Правильно ли я написал библиотеку?
Так же нету проверки на героев, они могут войти на карту дважды, помойму после смерти герой не покидает игровой рект, но на всякий случай проверь, чтобы не наплодить 100500 ивентов на одного юнита.
» WarCraft 3 / Правильно ли я написал библиотеку?
» WarCraft 3 / Способы изменения скорости атаки не в процентах?
Так же можно капнуть в сторону пассивки вивера, но тут свои тонкости.
» WarCraft 3 / Подскажите пожалуйста мгновенно используемые способности
» WarCraft 3 / Осваиваем jass (0-1)
» WarCraft 3 / Как скрыть определенный нест.обьект в world editor?
» WarCraft 3 / Как скрыть определенный нест.обьект в world editor?
Сама абилка по сути триггер в движке игры, который следит за юнитом у которого эта абилка есть, какому либо изменению там это дело не особенно то поддаётся.
Не пойму зачем это вам?
» WarCraft 3 / Native vs Bj
Темболее причем тут нативки, у вас онли BJ функции, CreateNUnitAtLoc, PolledWait это все бж функции, а еще вейты зло, в них нельзя обойтись только при синках или роликах, в остальных местах лучше без них.
Да и вовсе накой черт создавать локальную переменную если собрались сделать с юнитом все действия сразу?
» WarCraft 3 / Называние действии в JASS (личный сценарий)
» WarCraft 3 / Называние действии в JASS (личный сценарий)
» WarCraft 3 / Виды альянсов и как их отличить друг от друга.
» WarCraft 3 / Блокированая зона