function BJDebugMsg takes string msg returns nothing
local integer i = 0
loop
call DisplayTimedTextToPlayer(Player(i),0,0,60,msg)
set i = i + 1
exitwhen i == bj_MAX_PLAYERS
endloop
endfunction
EugeAl, я привел способ фикса для уже готовой модели, само собой, если есть возможность сделать все в полноценном редакторе и сконвертировать без потерь, так и нужно поступить.
Удобно разбить на геосеты можно в Mdlvis. Выделяешь все нужные точки "объекта", например колонны, и нажимаешь зелёную кнопку Вынести в отдельную поверхность, в данной модели, наверное, будет достаточно 4 штук: основание, все колонны, верхушка и скамейки. Далее в редактор анимаций (F3), включаешь отображение всех геосетов: в меню справа Поверхности->ПКМ в списке с галочками, Включить все. Выделяешь все вершины (Ctrl+A, правда это ещё и хоткей для создания рефа, его потом удалить ;), в строке меню Создать->Кость (Ctrl+B). Далее убеждаемся, что выделены абсолютно все вершины, жмём Присоединить вершины к кости (С), если всё правильно, все вершины из синего окрасятся в черный; кость можно переименовать в "Bone_Root". Сохраняем модель, проверяем, если проблемы останутся, можно сделать отдельные геосеты для каждой колонны, или скамьи, например. Mdlvis лучше использовать 1.39 версии.
Koladik, в любом случае функции вроде DestroySound или RemoveSound не существует, видимо динамическое создание/удаление не предполагалось, можно проверить поведение KillSoundWhenDone, запустив звук после вызова этой функции, и после завершения попробовать запустить ещё раз. Также можно создавать и проигрывать кучу звуков и смотреть на счётчик хендлов или потребление памяти.
Звук создавать динамически затем, что бы удобно было копировать алгоритм, создал в одной своей карте систему и легко ее перетащил в любую другую без захламления переменных в редакторе звука
Что мешает объявлять в своей библиотеке глобалки и использовать инициализатор для них? Или здесь более сложный случай?
Koladik, не через пару секунд, насколько я помню, если у модели спецэффекта присутствует только анимация birth (опционально death?), спецэффект можно удалять сразу же после создания, анимация завершится и спецэффект удалится; если модель не соответствует этим требованиям, спецэффект придется удалять после того, как пройдет анимация stand (+birth?), иначе никакого визуального эффекта не будет.
А зачем звуки динамически создавать? В редакторе звуков заранее создаются все нужные звуки и проигрываются когда нужно.
Зачем удалять единожды созданный при инициализации звук? При проигрывании никакой памяти не выделяется. Спецэффекты прекрасно удаляются функцией DestroyEffect.
Есть парные способности лучниц и гиппогрифов ночных эльфов "оседлать" и "посадить на спину", к сожалению, они поддерживают объединение только двух юнитов, но можно сделать многоступенчатое объединение. Также есть старые версии способностей, где нужно вручную указать парную цель.
Здесь подробности о параметрах: xgm.guru/p/blog-steal-nerves/ability1
Bonjouarri, события триггеров, срабатывающие на определенных стадиях применения способности юнитом. Effect - приводит способность в действие, finish - завершает применение способности. Дополнительная информация в конце статьи: warcraft3ft.clan.su/forum/29-13201-1
anton1623, погодные эффекты всё-равно проигрываются строго в определенных квадратах; включи в редакторе отображение погоды, крупную сетку, создай область с минимальным размером и погодой, скрой юнитов, декорации и рельеф полностью. При перемещении области будет отчётливо видно, что погода привязана к сетке 512х512. В любом случае, либо так, либо никак.
anton1623, тогда потребуется либо база данных, где указаны стоимости всех зданий, которые предполагается продавать, либо есть две замечательные нативки, позволяющие легко узнать стоимость любого юнита (только не героя!), подробнее здесь: xgm.guru/p/wc3/ai-natives
Если имеется ввиду перемещение области вслед за юнитом, нужен периодический триггер или таймер, который будет двигать центр области в координаты юнита.
Что значит "по умолчанию"? Есть много разных способов, от базы данных со стоимостью всех возможных зданий, до AI-функции GetUnitGoldCost. Также можно сделать продажу на основе способности рассеивания зданий нежити.
SAS_Deco, можно попробовать сделать дополнительное невидимое улучшение фортификации к уже существующему, и триггером его исследовать каждый раз, как башня завершает улучшение
» WarCraft 3 / Почему предмет не использует 2 способности одновременно
» WarCraft 3 / Не понимаю почему не работает триггер
Ред. Poma
» WarCraft 3 / Не понимаю почему не работает триггер
» WarCraft 3 / возможно ли ч/з BJDebugMsg передать разный текст разным игрокам?
» WarCraft 3 / Карты как Uther Party или Pyramid Escape
» WarCraft 3 / возможно ли ч/з BJDebugMsg передать разный текст разным игрокам?
» WarCraft 3 / возможно ли ч/з BJDebugMsg передать разный текст разным игрокам?
Выведет каждому игроку его номер
» WarCraft 3 / возможно ли ч/з BJDebugMsg передать разный текст разным игрокам?
» WarCraft 3 / Лаги полигонов при переносе в редактор
Ред. Poma
» WarCraft 3 / Лаги полигонов при переносе в редактор
» WarCraft 3 / Лаги полигонов при переносе в редактор
» WarCraft 3 / Уничтожение Handle sound'a
» WarCraft 3 / Уничтожение Handle sound'a
А зачем звуки динамически создавать? В редакторе звуков заранее создаются все нужные звуки и проигрываются когда нужно.
» WarCraft 3 / Уничтожение Handle sound'a
» WarCraft 3 / Морф нескольких юнитов в одного нового
Здесь подробности о параметрах: xgm.guru/p/blog-steal-nerves/ability1
» WarCraft 3 / Как добавить урон в способность скачка
» WarCraft 3 / Продать здание
» WarCraft 3 / Продать здание
Условие - Ability being cast == продать здание
Дальше как тебе нужно.
» WarCraft 3 / Привязка области к юниту
» WarCraft 3 / Продать здание
» WarCraft 3 / Как добавить урон в способность скачка
» WarCraft 3 / Привязка области к юниту
» WarCraft 3 / Продать здание
Ред. Poma
» WarCraft 3 / Как добавить урон в способность скачка
» WarCraft 3 / Помогите с улучшением