32

» WarCraft 3 / Как эффективно реализовать полиморфизм? (мемхак+)

Принятый ответ
Что делать то собрался? fast_call и std_call это жутко медленные костыли чтобы вызывать внутренние функции игры из жасса, к примеру функции оглушения юнита (которая находятся внутри game.dll), и использовать их бездумно = увидеть фпс в 6 кадров.
функция это code, указатель на функцию, она не может быть обьявлена массивом, но через C2I функцию мемхака можно получить целочисленный указатель на эту функцию, и записать его в массив целочисленных, после вернуть обратно и вызвать через ForGroup или ForForce, execute func не очень по производительности по сравнению с калбеками. ExecuteTrigger еще хуже в этом плане, скидывали же мемхак с тестом скорости.
В целом можно сделать массив групп\триггеров \таймеров и добавлять каждому по фунцкции, и вызывать.

Так же стоит сразу задуматься о том как передать в калбеки данные...
32

» WarCraft 3 / бесконечная молния

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

» WarCraft 3 / Что делать если Fatal Error при запуске карты? Warcraft 3.

Ну очевидно смотреть что за абилка и делать на 1.26 а, потому что там новые поля полюбому появились которых нет в 1.26.
32

» WarCraft 3 / Сломать карту

Эльрат, увы но обычно весь софт для депротекта делает ошибки, поэтому то импорт пропадёт то описание способности, то еще что нибудь.
Поэтому если правим чужую карту, по которой уже прошлись оптимизаторами - то работаем с кодом отдельно, с объектными данными отдельно, и все тщательно проверяем чтобы не было багов. Ну jass код (карта там изначально писалась на jass, правим в JASS craft'e)
32

» WarCraft 3 / Будущая точка

На самом деле где будет через сек вряд ли (юнит в любое мгновение может повернутся, остановится, получить условную сетку), но чуть пораньше можно, просто записывать текущие и прошлые координаты раз 50 в секунду, если координаты изменились построить вектор, в направлении которого и идет движение, далее можно по этому вектору чуть чуть пододвинуть юнита, используется чтобы без багов сделать юниту скорость бега выше 522.
Хз зачем.
ScorpioT1000, face юнита не совсем то куда он щяс собрался, ибо есть prop window, т.е юнит не устанавливает четко face на цель при касте спеллов, беге и атаке, для начала\окончания этих действий достаточно чтобы угол попал в prop window, а у большинства юнитов это 60 градусов. Можно очень удивится сделав дебаг каста волны силы таурена, какой угол между кастером и точкой каста и угол взгляда таурена.
32

» WarCraft 3 / Включить/отключить регенерацию

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

» WarCraft 3 / jass

nazarpunk, ага, автор давно пропал, исходы вроде выложены, там мпк редактор вшитый есть, но не закончен, чтобы в карту сохранять код. Увы никто не заморочился.
32

» WarCraft 3 / Система Linken's Sphere [Lua]

Ептить, ну нахера луа, нахера костыли. Руна защиты и проверка на бафф, ну а уж в кд запустить предмет думаю осилит каждый...
32

» WarCraft 3 / Использование кнопок

Принятый ответ
Кнопка создается только для конкретного диалога, на неё же и вешается событие. Поэтому не выйдет, хз зачем это нужно?
Если один и тот же текст, ептить переменную для него.
32

» WarCraft 3 / Есть ли условие или событие по типу: боевая еденица промахнулась = да или любая еденица промахнулась.

SсRealm, я для доты делал, но там хрень сложна и громоздкая, и еще как следует не тестировалась, айсфогу нужно писать на эту тему.
32

» WarCraft 3 / Есть ли условие или событие по типу: боевая еденица промахнулась = да или любая еденица промахнулась.

Принятый ответ
Нет нету, промахи дело сложное. Их ваще не отследить, т.к в игре несколько механизмов промахов, один это способность которая проверяется при атаке, вторая это хайграуны, третья это расстояние или какие либо манипуляции с целью, вроде блинка.
Свои промахи можно на мемхаке реализовать, но там очень сложный код, не для гуишников + разработан только на 1.26а.
32

» WarCraft 3 / Приказы

Нырнуть и вынырнуть - это тупо морф, как и закопка но проверяется местность при касте и всё.
Так что приказом можно кастануть и превращение в сфинкса и закопку могильщика.
32

» WarCraft 3 / [MemHack] Загрузка .mix файла с модельками прямо в игре

Можно, но там нужно длл прям спецом разрабатывать чтоюы она могла работать в момент загрузки карты, ах да нужно распокавать длл в папку с игрой и потом загружать. через LoadLibraryA.
32

» WarCraft 3 / Заморозка юнитов

Как насчет использовать дамми каст дыхения ледяных змеев, чем подобное. Пауза хреновый вариант.
В целом jass учите, если хотите делать подобные триггеры.
32

» WarCraft 3 / Заклинание дух воды

Никогда, разве что в каких то кастомках.
Сделать кастом не проблема.
32

» WarCraft 3 / Через триггер добавить время призыва

Свой таймер жизни призыванных делать, стандартный таймер жизни ты не удалишь и не изменишь, юнит мгновенно умрет если удалить бафф таймера жизни или еще добавить.
На мемхаке был способ удаления таймера жизни, но он сложный...
32

» WarCraft 3 / Одновременный краш у всех игроков

Принятый ответ
Ну фатал, вероятно обращение к какому то несуществующему обьекту, проверить на баги код.