Msey, в игровых константах настраивается увеличение запаса маны и её восстановление. Если установить нулевое значение, то интеллект не будет влиять на восстановление.
Есть один способ, но он не идеален, не проверен, и скорее всего даже бредовый :)
Когда на юнита применяют заклинание, нужно дать ему способность-пустышку (я их маркерами называю), чтобы отметить его. Затем триггер на получение урона. Вроде бы есть проверка на тип урона (физический/магический). Но тогда по логике если юнит с магической атакой, то будет неправильно работать. Тогда заменим тип атаки в редакторе объектов. Если полученный урон больше, чем (здоровье цели минус 0.405), то ничего не делаем. Иначе - удаляем маркер, так как цель выживет. Ну и третий триггер. Юнит умирает - если уровень способности-маркера у умирающего юнита > 0, то он убит заклинанием.
Способ, предложенный DracoL1ch, конечно, лучше. Но как его реализовать - я не знаю.
LongbowMan, не, такой тоже нет ) Кет, спасибо за информацию, я не знал. Насчёт мака - вроде бы в анонсе одного из патчей было написано, что исправили баг, связанный с этой ОС. В таком случае, если делать функции для кнопок F13/14/15, то пользователям Windows будет немного обидно, что их такой возможностью обделили. Но можно на другие кнопки их навесить.
Ну не знаю, у меня в карте, по которой я вопрос тогда задал, больше тысячи юнитов спокойно генерировались. Правда, большинство из них - здания с парой-тройкой анимаций. Карта могла тормозить из-за их количества, но вопрос с вылетом был решён.
Не уверен что на счет триггеров поможет исправить ошибку
Если триггеры работали без ошибок, а потом отказали по непонятной причине. То есть если не трогали эти триггеры и переменные, используемые в них, а просто добавили новые триггеры.
Как уже сказали выше, вероятная причина - принудительное завершение потока. На эту тему тоже есть статьи: про поток выполнения и лимит операций.
Предлагаю сделать две способности, действие которых соответствует уровням данной способности. Дать юниту первую способность (с возможностью прокачки до 2 уровня, но 2-й уровень - пустышка). При смене уровня первой способности удалить первую способность и добавить вторую.
Taurenus, надеюсь, осталась копия карты ДО этих косяков? Тогда можно будет с ней поработать - сократить количество триггеров, удалить утечки памяти. Если не осталась, то придётся работать с такой версией.
Нужно объединить триггеры с одинаковыми событиями. Например, "Юнит атакован". Собрать все события атаки юнита, скопировать их в новый триггер, а в нём уже делать проверку: если атакованный юнит равен такому-то, то делать одни действия, иначе проверить, равен ли атакованный юнит другому. Периодические триггеры ("Каждые 1.0 секунд) объединить, убрав из условий триггера (Bloodkei = 1 или 2 или 3 и т. д .) в условия в действиях (If/Then/Else). Ещё можно (даже нужно) объединить триггеры с событием "Инициализация карты" и заменить это событие на "Время - прошло 0.01 с.", потому что не все действия возможно выполнить при инициализации карты. Чтобы не запутаться, можно оставлять комментарии (есть такое действие).
Насчёт утечек памяти - советую прочитать про это статью, да и вообще весь сборник статей про освоение JASS и дополнение к нему. После чего с новыми полученными знаниями оптимизировать карту.
В группу g добавляются герои всех уровней (причём даже вражеские, нейтралы, живые и мёртвые, т. к. нет фильтра). Кстати, не удаляется утечка "юниты в условии сопоставления" (проще говоря "Matching Unit"). Лучше вообще создать эту группу при запуске карты, а добавлять и убирать героев уже во время игры при необходимости.
Вот эта статья.Кстати, есть способности с "хардкодными" целями. Их как ни меняй в редакторе, они всё равно будут действовать так, как запрограмированно создателями.
Игровые константы - там поставить дополнительную атаку за единицу основной характеристики = 5, ну и в редакторе объектов основная характеристика - сила.
Может, у альтернативного юнита способность "Предметы" отличается от способности основного? В смысле геройская/не-геройская, уровни разные или у одного стандартная, а у другого - копия.
При изменении типа ландшафта перерисовывать мини-карту.
При снятии порчи с земли возвращать старую текстуру, а не почву.
PT153, я не нашёл такой функции в JASS API, только "CreateTextTagLocBJ - string s, location loc, real zOffset, real size, real red, real green, real blue, real transparency". Спасибо!
» WarCraft 3 / Триггерное увеличение запаса маны.
» WarCraft 3 / Триггерное увеличение запаса маны.
» WarCraft 3 / День/ночь
» WarCraft 3 / Неправильный рельеф в карте
» WarCraft 3 / Определение скилла, которым убили юнита
Когда на юнита применяют заклинание, нужно дать ему способность-пустышку (я их маркерами называю), чтобы отметить его. Затем триггер на получение урона. Вроде бы есть проверка на тип урона (физический/магический). Но тогда по логике если юнит с магической атакой, то будет неправильно работать. Тогда заменим тип атаки в редакторе объектов. Если полученный урон больше, чем (здоровье цели минус 0.405), то ничего не делаем. Иначе - удаляем маркер, так как цель выживет. Ну и третий триггер. Юнит умирает - если уровень способности-маркера у умирающего юнита > 0, то он убит заклинанием.
Способ, предложенный DracoL1ch, конечно, лучше. Но как его реализовать - я не знаю.
Отредактирован Maniac_91
» Мир безумного / WarCraft III Reforged - WE (что хотите увидеть?)
Кет, спасибо за информацию, я не знал. Насчёт мака - вроде бы в анонсе одного из патчей было написано, что исправили баг, связанный с этой ОС.
В таком случае, если делать функции для кнопок F13/14/15, то пользователям Windows будет немного обидно, что их такой возможностью обделили. Но можно на другие кнопки их навесить.
» Мир безумного / WarCraft III Reforged - WE (что хотите увидеть?)
Отредактирован Maniac_91
» WarCraft 3 / Смена предметов в магазинах и конвектор текста
» WarCraft 3 / Выключение триггера на большом цикле
» WarCraft 3 / Выключение триггера на большом цикле
Отредактирован Maniac_91
» WarCraft 3 / Что то пошло не так
Как уже сказали выше, вероятная причина - принудительное завершение потока. На эту тему тоже есть статьи: про поток выполнения и лимит операций.
Отредактирован Maniac_91
» WarCraft 3 / Очередная проблема со строкой приказа и ИИ
Отредактирован Maniac_91
» WarCraft 3 / Что то пошло не так
Нужно объединить триггеры с одинаковыми событиями. Например, "Юнит атакован". Собрать все события атаки юнита, скопировать их в новый триггер, а в нём уже делать проверку: если атакованный юнит равен такому-то, то делать одни действия, иначе проверить, равен ли атакованный юнит другому. Периодические триггеры ("Каждые 1.0 секунд) объединить, убрав из условий триггера (Bloodkei = 1 или 2 или 3 и т. д .) в условия в действиях (If/Then/Else). Ещё можно (даже нужно) объединить триггеры с событием "Инициализация карты" и заменить это событие на "Время - прошло 0.01 с.", потому что не все действия возможно выполнить при инициализации карты. Чтобы не запутаться, можно оставлять комментарии (есть такое действие).
Насчёт утечек памяти - советую прочитать про это статью, да и вообще весь сборник статей про освоение JASS и дополнение к нему. После чего с новыми полученными знаниями оптимизировать карту.
» WarCraft 3 / Видимая невидимость
» WarCraft 3 / Удалилась кампания
» WarCraft 3 / Удалилась кампания
Не создавай 2 одинаковых вопроса, пожалуйста. Можно отредактировать текст вопроса, если ошибся.
» WarCraft 3 / World Editor, MDLvis не отображают кириллицу
» WarCraft 3 / Опыт за задание
Отредактирован Maniac_91
» WarCraft 3 / Предмет проклятие
» WarCraft 3 / Почему аура действует на своих?
» WarCraft 3 / Урон зависящий от характеристик героя.
» WarCraft 3 / Нужна наработка триггерного морфа (GUI)
» WarCraft 3 / Нужна наработка триггерного морфа (GUI)
» WarCraft 3 / Нужна наработка триггерного морфа (GUI)
Отредактирован Maniac_91
» Мир безумного / WarCraft III Reforged - WE (что хотите увидеть?)
Предлагаю