Обычно герои в сениматиках способности вовсе не применяют, просто им приказывают проиграть Spell анимацию, ну а дальше создают в нужной точке красивый эффект, это позволяет настроить сцену как следует по по вкусу и продолжительности. Но можно изначально выучить водного элементаля и приказать герою выполнить приказ "Архимаг - Вызов духа воды", разумеется способность должна быть изучена и быть достаточно маны.
Ну а можно просто проиграть анимацию заклинания герою, и в нужной точке через N сек создать водного элементаля и проиграть ему birth анимацию, в таком случае дух воды появится в нужной точке а не где то рядом с героем + можно сразу ему настроить угол взгляда и прочие параметры, вплоть до скорости анимаций.
Ну а в отдельных случаях вовсе используют "Дамми юнитов", скажем во время синиматика рыцарь смерти на коне не останавливаясь бросает Лик смерти в Убегащего крестьянина, в этом случаи рыцарь смерти - не герой а не способный ходить дамми юнит с дальней атакой, в виде Лика смерти, а двигают по сцене его кодом, приказывая атаковать 1 раз в нужный момент, ну и создают отдельный триггер который срабатывает в момент получения урона крестьянином чтобы прорграть на нем нужную анимацию и создать скелета...
А скрипт не стартанет пока все не загрузятся, т.е пока вы ждете пока другие игроки еще загружаются и не отвалились, ну а в игре сразу делаем событие - игрок ливнул на всех присутствующих игроков.
Поэтому вместо цикла юзайте ForGroup, особенно если работайте с уже созданными группами в которых может удалились юниты каким то другим куском кода, цикл + FirstOfGroup хороши лишь для мгновенный действий к примеру в спеллах, всем в аое сразу дмг нанесли. А вот если вы храните в группе допустим всех кого задел спелл и повесил дебафф, то определенно ForGroup, так же проверяем чему равен GetEnumUnit(), в целом не было бы лишним в таких спеллах где вы храните всех юнитов под его действием добавляеть и событие триггера на диспел или смерть юнита, чтобы удалять таких юнитов из группы.
Без использования мемхака - косвенно, смотреть изменения юнитов или еще чего которые соответсвовали конкретной версии и делать выводы.
Ну а так абсолютно все версии мемхака умеют определять версию игры.
(есть рефаундовские версии без записи в память, на хайве лежат)
host_pi, ну так тебе нужна сохраняймая карта? А мусорые файлы которые в карте ненужны не большая потеря, в крайнем случае если чето где то пропадет - ручками подправишь. Темболее я в отличии от тебя подобные вопросы не задаю, у меня с этим никогда проблем не было, так что выводы делай сам.
Включить сканирование имен, после если не нашлись имена, удалить все неизвестные файлы и нажать перепаковку архива, он сохранится и в нем уже будет листфайл
Ничего страшного не произойдет, дота тому пример. Вот у триггеров действия trigger action не удаляются, если их отдельно не сохранить и удалить. Строки тоже не удаляются если чо, ну с этим все живут и никто не умер)
Смотри триггеры, там загрузка героя целиком со статами, насколько помню бонусы от книжек в кампаниях сохраняются, поэтому может быть бага если герой подохший сохранился. Т.к бонусы высчитываются а не хранятся в явном виде, может быть такая хрень.
WilliamBz, ну как рект создаешь размером чтобы лесопилка влазила, и все переносишь рект по точкам, и проверяешь можно ли в нем строить или нет, ну и так в цикле штук 20 точек вокруг дерева проверяешь с рандомным смещением, в первое свободное приказываешь строить.Если в области есть криттеры - приказываешь сперва работника атаковать их, потом строить как сдохнут.
Отдать приказ добывать древесину, он пойдет к ближайшему дереву, найти вблизи этого дерева свободное для строительсва место, и приказать строить там лесопилку.
LastUchiha, ну само собой, то все ваши упрощенные варианты выглядят криво, особенно когда юниты разные, и одному бьет в голову, а второму в ноги, третьему посредине модели, хотя стандартные молнии четко вылетают из руки кастера и летят четко в цент модели цели, именно туда где крепится на модели эффект попадания.
LastUchiha, точка начала атаки юнита, в редакторе у юнита есть 3 координаты, это смещение от центра модели для места откуда вылетает дальний снаряд, или спелл, в том числе молния, ну а молния бьет юнитов не в ноги а в этот самый ImpactZ.
function GetUnitZ takes unit u returns real
call MoveLocation( TempLoc, GetUnitX( u ), GetUnitY( u ) )
return ( GetUnitImpactZ( u ) + GetLocationZ( TempLoc ) + GetUnitFlyHeight( u ) ) * 1.00
endfunction
Если мемхак не юзать, то импакт координаты просто базой данных делаются.
» WarCraft 3 / как мне тригерно опустить юнита ниже 0 я пробывал написать -…
» WarCraft 3 / как мне тригерно опустить юнита ниже 0 я пробывал написать -…
» WarCraft 3 / Что быстрее?
» WarCraft 3 / О причинах фризов из-за ИИ, сделанного через редактор ИИКак…
» WarCraft 3 / Как заставить юнита использовать свою способность в синематике!
Ну а можно просто проиграть анимацию заклинания герою, и в нужной точке через N сек создать водного элементаля и проиграть ему birth анимацию, в таком случае дух воды появится в нужной точке а не где то рядом с героем + можно сразу ему настроить угол взгляда и прочие параметры, вплоть до скорости анимаций.
Ну а в отдельных случаях вовсе используют "Дамми юнитов", скажем во время синиматика рыцарь смерти на коне не останавливаясь бросает Лик смерти в Убегащего крестьянина, в этом случаи рыцарь смерти - не герой а не способный ходить дамми юнит с дальней атакой, в виде Лика смерти, а двигают по сцене его кодом, приказывая атаковать 1 раз в нужный момент, ну и создают отдельный триггер который срабатывает в момент получения урона крестьянином чтобы прорграть на нем нужную анимацию и создать скелета...
» WarCraft 3 / Replace
» WarCraft 3 / Как проверить что все игроки загрузились в игру
» WarCraft 3 / Неправильное срабатывание групп. Столкнулся с такой…
» WarCraft 3 / [MemoryHack] Damage Handler
» WarCraft 3 / [MemoryHack] Damage Handler
» WarCraft 3 / [MemoryHack] Damage Handler
» WarCraft 3 / [MemoryHack] Damage Handler
» WarCraft 3 / какими способами лечить карты для заливки на epicwar?
» WarCraft 3 / Можно ли как-то узнать версию игры через триггеры? Там же в…
Ну а так абсолютно все версии мемхака умеют определять версию игры.
» WarCraft 3 / Как добавить listfile в карту? [депротект]
» WarCraft 3 / Как добавить listfile в карту? [депротект]
» WarCraft 3 / Есть ли способ удалить событие из триггера? Если в триггере…
» WarCraft 3 / При заходе или выходе из подземелья в кампании Рексара, всем…
» WarCraft 3 / Есть ли какие-то хитрые способы приказать юниту строить…
» WarCraft 3 / Как разрешить несколько орб-эффектов?
По этой причине, делаем их кастомные аналоги с помощью jass.
» WarCraft 3 / как достичь этого плюса в эффектах
» WarCraft 3 / Есть ли какие-то хитрые способы приказать юниту строить…
» WarCraft 3 / [JASS] - Цепная Молния
» WarCraft 3 / [JASS] - Цепная Молния
function GetUnitZ takes unit u returns real
call MoveLocation( TempLoc, GetUnitX( u ), GetUnitY( u ) )
return ( GetUnitImpactZ( u ) + GetLocationZ( TempLoc ) + GetUnitFlyHeight( u ) ) * 1.00
endfunction
Если мемхак не юзать, то импакт координаты просто базой данных делаются.
Ред. quq_CCCP
» WarCraft 3 / [JASS] - Цепная Молния