30

» WarCraft 3 / 9. Расширяющие функции

Расширяющие функции, это собой вид статических функций
Полагаю, тут должно быть "особый"
30

» WarCraft 3 / Об утечках для человека который в этом нечего не понимает

DestroyEffect(AddSpecialEffect(modelName, GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit())))
Никаких утечек, работает идеально.
30

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

ClotPh, после моего коммента был ещё один, где сказали об огромной задержке.
30

» WarCraft 3 / Система боевого ресурса??

Не помню точно, сработает ли, но можешь попробовать задать отрицательное значение манакоста.
30

» WarCraft 3 / Как сделать частично поворачивающегося юнита

Смотрите, как сделаны орудийные башни у альянса.
Можно сделать кость face (или head, не помню уже) и поворачивать её в нужном направлении триггерно, функции для этого в редакторе есть.
30

» WarCraft 3 / Точка у границы карты по прямой линии со спины кастера.

боюсь, мне будет трудно самостоятельно определить формулу
Школьного уровня тригонометрии и базового уровня векторов для этого будет более, чем достаточно.
30

» WarCraft 3 / тип ability

мемхак
Как и говорилось, в редакторе этот тип никак не используется. \о/
30

» WarCraft 3 / Фатал после увеличения и без того большого триггера

Принятый ответ
8gabriel8, довольно много. Разбиение на отдельные триггеры может помочь от проблем с лимитом операций, но если в этом коде нет циклов, то оно практически бессмысленно. Ради интереса можешь попробовать сохранить карту с конвертированными триггерами, вдруг причина в модуле редактора, который за отрисовку GUI отвечает.
30

» WarCraft 3 / Экономия cjass и vjass триггера функций в редакторе NewGen?

от структур и методов лутше отказаться так как создаются триггеры и функции к ним
Эти триггеры на практике не используются и влияют на производительность кода только тем, что они объявляются как переменные, не более. Не надо распространять дезинформацию.

передача к функциям занимает время
Мы живём не в том веке, чтобы считать такты процессора. Можно ради своеобразного удовольствия вообще весь код развернуть в пару функций, но хоть как-нибудь заметного прироста производительности это не даст.

ledoed, описанный тобой способ становится тяжёлым в использовании, если в структуре есть хотя бы пять мемберов, и практически нереальным, если хотя бы один из них является массивом.

на самом деле без статических переменных массив на полную нельзя будет использовать тоесть
С чего бы это? На каждого мембера структуры в vJASS выделяется один массив, то есть если в структуре используется массив размером [5], то суммарное количество активных экземпляров структуры не должно превышать 8190/5, что, в принципе, всё равно более, чем достаточно.
30

» WarCraft 3 / тип ability

Там где нужен хендл абилки, а не её ID.
То есть нигде, единственные три функции в common.j, хотя бы как-нибудь затрагивающие этот тип:
bool SaveAbilityHandle(hashtable table, integer parentKey, integer childKey, ability whichAbility)
ability LoadAbilityHandle(hashtable table, integer parentKey, integer childKey)
ability GetSpellAbility()

На sourceforge в JASS API есть забавный комментарий насчёт этого типа:
This type was deprecated by blizzard and you should let it rest in peace, use integers for representing abilityids instead.
30

» WarCraft 3 / Фатал после увеличения и без того большого триггера

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

Практически наверняка проблема в чём-то другом. Просто ради интереса хотел бы попросить 8gabriel8 конвертировать триггер в текст и сказать, сколько в нём окажется строк (строки нумеруются только при наличии TESH, т.е. удобнее будет воспользоваться JNGP).

А, и ещё: отсутствие или наличие JNGP не может влиять на работоспособность редактора, если используется стабильная сборка.
30

» WarCraft 3 / Переключающий юнит - Triggering Unit

Юнит выбран можно также заменить периодической проверкой таймером, есть условием - юнит выбран игроком, то есть вами, через GetLocalPlayer(), не знаю дисихрон будет.
Не будет, выделенные игроком юниты синхронизируются только через SyncSelections().
30

» WarCraft 3 / Точка у границы карты по прямой линии со спины кастера.

Через использование полярных координат находятся координаты точки, лежащей на прямой, вдоль которой смотрит юнит таким образом, чтобы эта точка находилась за его спиной. Используя полученную пару координат и координаты юнита, можно найти численные коэффициенты функции прямой (y = kx + b; x = (y-b)/k, где k, b - численные коэффициенты). После этого остаётся только подставить min/max X/Y в полученные фунции и определить точки пересечения, лежащие в пределах карты (через сравнение координат).
30

» WarCraft 3 / 15...

прикольно было бы сделать отдельный сервер для последнего патча
Ммм... Battle.net?
30

» WarCraft 3 / Как в TcX у разрушаемых объектов реализован collision box?

ZlaYa1000, открыл ресурс, было бы интересно его комментарии увековечить на сайте, а не в личке =)
30

» WarCraft 3 / Можно ли увеличить длительность эффекта молнии manaburn?

8gabriel8, я привёл базовую функцию редактора для того, чтобы показать, что молнии прекрасно создаются по трём координатам.
А JASS для нормального использования редактора учить придётся, хотя бы немного.
30

» WarCraft 3 / Можно ли увеличить длительность эффекта молнии manaburn?

native AddLightningEx takes string codeName, boolean checkVisibility, real x1, real y1, real z1, real x2, real y2, real z2 returns lightning
30

» WarCraft 3 / Как в TcX у разрушаемых объектов реализован collision box?

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

Можно ещё подумать, как сохранить в декорации побольше значений (inb4: перехватом создания декораций и записью параметров в структуру), чтобы сделать коллижнбоксы не кубами, а параллелограммами с поворотами.