Что то я загрузился по поводу удаления не разрушаемых объектов ( травы, камней и прочего)
Триггерной команды для этого в 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, попробуйте, хороший хак намечается)
20
Погляжу в псевдокоде game.dll как оно их обрабатывает, может и осилю добавить функционала Doodad'ам в кастом патче, что я делаю ну и может даже в мемхак добавлю.
С мемхаком в карту даже на иринаботе нельзя будет поиграть. Это получится варик только для себя, в который не с кем поиграть!
Что за басни? Всё прекрасно работает, тот же Naruto Legend на ирине с МемХаком, он же как-то работает? Брррр.
16GB:
Я скрывал декорации так , но это конечно не удаление
call SetDoodadAnimationRect(gg_rct_NBTPT,'D00C',"hide",false)
Работало вроде и без специальной модели
Удаление ничего не сделает, я уже глянул внутрь игры, проходимость ставится через карту путей, а сама декорация - тупо моделька, то есть надо найти ещё и её карту путей, чтобы полноценно удалить, в самой игре даже функции такой нет, ибо явно не рассчитывалось на это.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.