Смотрите, как сделаны орудийные башни у альянса.
Можно сделать кость face (или head, не помню уже) и поворачивать её в нужном направлении триггерно, функции для этого в редакторе есть.
8gabriel8, довольно много. Разбиение на отдельные триггеры может помочь от проблем с лимитом операций, но если в этом коде нет циклов, то оно практически бессмысленно. Ради интереса можешь попробовать сохранить карту с конвертированными триггерами, вдруг причина в модуле редактора, который за отрисовку GUI отвечает.
от структур и методов лутше отказаться так как создаются триггеры и функции к ним
Эти триггеры на практике не используются и влияют на производительность кода только тем, что они объявляются как переменные, не более. Не надо распространять дезинформацию.
Мы живём не в том веке, чтобы считать такты процессора. Можно ради своеобразного удовольствия вообще весь код развернуть в пару функций, но хоть как-нибудь заметного прироста производительности это не даст.
ledoed, описанный тобой способ становится тяжёлым в использовании, если в структуре есть хотя бы пять мемберов, и практически нереальным, если хотя бы один из них является массивом.
на самом деле без статических переменных массив на полную нельзя будет использовать тоесть
С чего бы это? На каждого мембера структуры в vJASS выделяется один массив, то есть если в структуре используется массив размером [5], то суммарное количество активных экземпляров структуры не должно превышать 8190/5, что, в принципе, всё равно более, чем достаточно.
Превышение лимита операций на поток отражается только на работоспособности кода в игре, но никак не влияет на возможность сохранить этот код в редакторе, насколько мне известно.
Практически наверняка проблема в чём-то другом. Просто ради интереса хотел бы попросить 8gabriel8 конвертировать триггер в текст и сказать, сколько в нём окажется строк (строки нумеруются только при наличии TESH, т.е. удобнее будет воспользоваться JNGP).
А, и ещё: отсутствие или наличие JNGP не может влиять на работоспособность редактора, если используется стабильная сборка.
Юнит выбран можно также заменить периодической проверкой таймером, есть условием - юнит выбран игроком, то есть вами, через GetLocalPlayer(), не знаю дисихрон будет.
Не будет, выделенные игроком юниты синхронизируются только через SyncSelections().
Через использование полярных координат находятся координаты точки, лежащей на прямой, вдоль которой смотрит юнит таким образом, чтобы эта точка находилась за его спиной. Используя полученную пару координат и координаты юнита, можно найти численные коэффициенты функции прямой (y = kx + b; x = (y-b)/k, где k, b - численные коэффициенты). После этого остаётся только подставить min/max X/Y в полученные фунции и определить точки пересечения, лежащие в пределах карты (через сравнение координат).
8gabriel8, я привёл базовую функцию редактора для того, чтобы показать, что молнии прекрасно создаются по трём координатам.
А JASS для нормального использования редактора учить придётся, хотя бы немного.
Поскольку копаться в TcX особого желания не появилось, реализовал так, как описывал в вопросе, вроде как работает достаточно шустро. Также ради развлечения попробовал сферические и цилиндрические коллижнбоксы (благо алгоритмы получились очень схожие между собой), капсулы проверять не стал, но по моим прикидкам они будут примерно в полтора-два раза более тяжелыми для обработки.
Можно ещё подумать, как сохранить в декорации побольше значений (inb4: перехватом создания декораций и записью параметров в структуру), чтобы сделать коллижнбоксы не кубами, а параллелограммами с поворотами.
» WarCraft 3 / 9. Расширяющие функции
» WarCraft 3 / Об утечках для человека который в этом нечего не понимает
» WarCraft 3 / Система боевого ресурса??
» WarCraft 3 / Об утечках для человека который в этом нечего не понимает
» WarCraft 3 / Хак на память Warcraft3
Ред. Clamp
» WarCraft 3 / Система боевого ресурса??
» WarCraft 3 / Как сделать частично поворачивающегося юнита
Можно сделать кость face (или head, не помню уже) и поворачивать её в нужном направлении триггерно, функции для этого в редакторе есть.
» WarCraft 3 / Точка у границы карты по прямой линии со спины кастера.
» WarCraft 3 / тип ability
» WarCraft 3 / Фатал после увеличения и без того большого триггера
» WarCraft 3 / Фатал после увеличения и без того большого триггера
Ред. Clamp
» WarCraft 3 / Экономия cjass и vjass триггера функций в редакторе NewGen?
Ред. Clamp
» WarCraft 3 / тип ability
» WarCraft 3 / Фатал после увеличения и без того большого триггера
» WarCraft 3 / Переключающий юнит - Triggering Unit
Ред. Clamp
» WarCraft 3 / Точка у границы карты по прямой линии со спины кастера.
» WarCraft 3 / Как в TcX у разрушаемых объектов реализован collision box?
» WarCraft 3 / 15...
» WarCraft 3 / Как в TcX у разрушаемых объектов реализован collision box?
» WarCraft 3 / Можно ли увеличить длительность эффекта молнии manaburn?
» WarCraft 3 / Можно ли увеличить длительность эффекта молнии manaburn?
А JASS для нормального использования редактора учить придётся, хотя бы немного.
» WarCraft 3 / Можно ли увеличить длительность эффекта молнии manaburn?
Ред. Clamp
» WarCraft 3 / Как в TcX у разрушаемых объектов реализован collision box?