Что то я загрузился по поводу удаления не разрушаемых объектов ( травы, камней и прочего)
Триггерной команды для этого в 1.26 нет. То есть можно конечно дать внешность камня какому - нибудь даммику, дать ему москиты, убрать коллизию. Можно и разршаемый объект обратить в камень.
Но если у не разрушаемых объектов есть код, то может и на jass есть команда для их удаления?
Просто получается жуткий гемморой

Ну, Doodad (который не разрушаемый) не имеет API и на рефорже, в игре код на их удаление есть, но вот "добраться" до них - опять же нечем. Да и создавать их в рантайме тоже нечем, говоря проще они рассчитывались на то, что втыкаются 1 раз и не трогаются.
Краткий ответ: нет.
Полный ответ: делать велосипед и использовать либо разрушаемый объект, либо как ты уже и сказал юнита.
Конечно есть:
native SetDoodadAnimation takes real x, real y, real radius, integer doodadID, boolean nearestOnly, string animName, boolean animRandom returns nothing
native SetDoodadAnimationRect takes rect r, integer doodadID, string animName, boolean animRandom returns nothing
Погляжу в псевдокоде game.dll как оно их обрабатывает, может и осилю добавить функционала Doodad'ам в кастом патче, что я делаю ну и может даже в мемхак добавлю.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
Тоже давно задавался этим вопросом и искал ответ, пришёл к тому, что декорации, не являющиеся разрушаемыми, триггерами трогать нельзя.
20
Ну, Doodad (который не разрушаемый) не имеет API и на рефорже, в игре код на их удаление есть, но вот "добраться" до них - опять же нечем. Да и создавать их в рантайме тоже нечем, говоря проще они рассчитывались на то, что втыкаются 1 раз и не трогаются.
Краткий ответ: нет.
Полный ответ: делать велосипед и использовать либо разрушаемый объект, либо как ты уже и сказал юнита.
Конечно есть:
native SetDoodadAnimation takes real x, real y, real radius, integer doodadID, boolean nearestOnly, string animName, boolean animRandom returns nothing
native SetDoodadAnimationRect takes rect r, integer doodadID, string animName, boolean animRandom returns nothing
Погляжу в псевдокоде game.dll как оно их обрабатывает, может и осилю добавить функционала Doodad'ам в кастом патче, что я делаю ну и может даже в мемхак добавлю.
Принятый ответ
35
Есть решение. Сделать анимацию для моделек декора в которой ничего нет. Модель скрыта тоесть. И проигрывать эту анимацию, если нужно уничтожить декорацию.
38
Может есть способ заруинить показ какой-то спец анимкой?
21
Погляжу в псевдокоде game.dll как оно их обрабатывает, может и осилю добавить функционала Doodad'ам в кастом патче, что я делаю ну и может даже в мемхак добавлю.
))
С мемхаком в карту даже на иринаботе нельзя будет поиграть. Это получится варик только для себя, в который не с кем поиграть!
28
Я скрывал декорации так , но это конечно не удаление
call SetDoodadAnimationRect(gg_rct_NBTPT,'D00C',"hide",false)
Работало вроде и без специальной модели
38
16GB, SсRealm, попробуйте, хороший хак намечается)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.