16

» WarCraft 3 / Фатал после игры. Часть 3

похоже более всего на мусор, попадающий в память откуда-то извне. Обычно пропущенная строка автокаста такой фигней страдает. Нельзя точно сказать, нужно менять поля и смотреть. К счастью, описания можно менять и локально, не перепаковывая карту
16

» WarCraft 3 / КАК защитить карту от Ladik's MPQ Editor ?

Невозможно, пока варкрафт может открыть карту - её может открыть любой, кому реально надо.
16

» WarCraft 3 / Фатал после игры. Часть 3

а у тебя тексты "правый клик для включения-отключения автокаста" там на месте все? никакие строки не стерты?
Я не думаю, что есть лимит на кол-во использованных абилок, скорее эту как=-то настроил не так
16

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

давно в прошлом один раз у меня была проблема, что конкртеный ID в игре ну никак не хотел работать. Смена ид помогла, ничего другого нет.
16

» WarCraft 3 / Очередные вопросы по оптимизации

Смотря что достичь хочешь, если два и более вызова одной и той же функции - уже можно задуматься о локалке. По скорости вычислений локалка всегда в приоритете, если используется более одного раза в функции.
16

» WarCraft 3 / Продолжение: фатал из-за переполнения памяти

Не надо насиловать стюардессу.
jASS медленнее любой нативной реализации (внутренних систем). 10 таймеров тиком по 0.02 будут эффективнее, чем один с тем же тиком и 10 if-else ветками, просто потому что таймер вызывается на пару микросекунд, а каждая строка жасса превращается в пару десятков микросекунд, в зависимости от сложности условий. Очень узкий спектр задач можно реализовать универсальным таймером так, чтобы оно работало быстрее, и пока у вас менее сотни подобных таймеров - всё норм.
Триггер тяжелее таймера по существу и по свойствам, где можно - пихай таймеры, просто без фанатизма, нужен именно триггер - ничего страшного, юзай триггер. Экономия в 0.0005 секунды может легко превратиться в часы дебага, которые нахер никому не сдались.
Из того, что там есть, битая модель больше прочих подходит
16

» WarCraft 3 / Хак на память Warcraft3

ну если найдете, как задавать анимацию эффекту, то говно вопрос. Пока что близзы сами не нашли такой функции
16

» WarCraft 3 / Фикс сломанной анимации "Пронзающей смерти"

В константах, может, поменял, чтобы ветра юнитов скрывали, не в воздух поднимали? Механика там та же
16

» WarCraft 3 / Способности, не прерывающие текущий приказ

Не прерывают выполнение ходьбы, отданной до этого приказа*
Reveal не прерывает приказ вообще, а эти - так, развлечься
16

» WarCraft 3 / Фатал после выхода из игры (мемхак добавляет атаку)

да, строковые параметры
походу, не используешь, тогда не знаю. От изменения чисел такого быть не может, от переполнения хештаблиц тоже не встречал такого эффекта.
16

» WarCraft 3 / Фатал при массовом уничтожении

фатал на GetTrigger* че-то там
ааа, это у тебя в Player() попало что-то отличное от 0-15, потому и вылет
16

» WarCraft 3 / Фатал после выхода из игры (мемхак добавляет атаку)

падает при чистке памяти, строки нигде не перезаписываешь из мемхака? Это точно не с цифрами работа
16

» WarCraft 3 / Хак на память Warcraft3

морф типа атаки простейшее, не думаю, что там есть подводные камни. Допустим, класс сплеша создается при инициализации юнита, на лету его создавать не умею сейчас, поэтому сплеша на лету никак не могу дать - только выдать изначально, а потом снимать. пока не нужен. Героем же сделать почти нереально на данном этапе, там огроменная функция создания юнита и обработки его геройских корней в т.ч. Естественно, это возможно, код-то рабочий, но практически даже не пытался.
16

» WarCraft 3 / Как сделать стандартного воина героем?

В большинстве случаев достаточно простой подмены юнита другим без создания костылей
AHer и есть то самое хранилище многочисленных классов и свойств героя, а во множестве условий проверяется, что айди с большой буквы начинается как проверка на героя. Поэтому сбоев можно огрести немало.
16

» WarCraft 3 / Хак на память Warcraft3

можешь ренж редактировать, морф - это морф, у него свои особенности, в т.ч. смена ида
нет, герой - это огромный блок классов, на лету их не создать
16

» WarCraft 3 / Как пользоваться нативкой UnitHasBuffsEx?

ну так и пользоваться, передаешь, какого типа бафы интересуют, она возвращает тру, если таких не ноль
16

» WarCraft 3 / Хак на память Warcraft3

ты не можешь превращать один тип в другой, это очевидно, по множеству причин
16

» WarCraft 3 / Немного про return

нет, после ретурна выполнение функции прекращается
заводишь глобальную переменную и в неё всё складываешь
globals
group TempGroup=CreateGroup()
endglobals

function GetUnitsInRectMatching takes rect r, boolexpr filter returns group
    call GroupEnumUnitsInRect(TempGroup, r, filter)
    call DestroyBoolExpr(filter)
    return TempGroup
endfunction
ни чистить, ни разрушать эту группу в ходе игры не надо вообще