Поиск по меткам: vJass

ScSortedSelector - перебор юнитов по удаленности

Ничего необычного, но раз требуется - почему бы и не сделать.
Наработка позволяет делать перебор всех юнитов в заданной области от центральных к крайним и наоборот.
Возможности:
  • собственно, перебирать юнитов, для чего используются операторы квадратных скобок [], как у простого массива;
  • каждый новый ScSortedSelector полностью независим от остальных;
  • сортировка_выбором - это реально быстрее, чем производить GroupEnumUnitsInRange рекурсивно;
Алгоритмы, Наработки и Способности
14 8 461

Выполнение кода и обращение к данным

Приветствую тебя, дорогой странник, сегодня я открою тебе занавес триггерных тайн, погружу тебя в глубины стека событий и пронесу до вершин лимита операций!
Так открой же глаза, оставь обыденную суету и встречай межсетевую вселенную!
Рукопись сия рассчитана как на юного странника, так и на видавшего виды путешественника.
Статья
12 7 600

Пересечение двух отрезков

Функия проверяет отрезки на пересечения, если они пересекаются, то функция возвращяет true и устанавливает в глобалке точку пересечения.
""
globals
real x
real y
endglobals
function linecrossline takes real x1, real y1, real x2, real y2, real x3, real y3, real x4, real y4 returns boolean
local…
Алгоритмы, Наработки и Способности
15 3 305

Генератор случайных чисел без повторений

Инициализация:
Задать private constant integer RandMemMax на нужное количество запоминаемых чисел. Максимум: 8191
Использование:
Функция GetRandomIntMem принимает 2 integer: нижняя граница и верхняя граница, включительно. Возвращает случайный integer (между ними). Сгенерированные ранее числа…
Алгоритмы, Наработки и Способности
5 6 900

HEX to DEC to ASCII (конвертация равкодов)

""
globals
integer array Pow16x
integer array Pow256x
string array CharMap16
string array CharMap256
integer array CharInx16
integer array CharInx256
endglobals
function S2Ix takes string s returns integer
return GetHandleId(s) changed, 20.03.2012
return…
Алгоритмы, Наработки и Способности
2 3 055

Определение высоты рельефа

Определяет высоту рельефа в заданных координатах точки. Полезно для реализации "правильного" движения снарядов.
""
library TerrainHeight
globals
private location loc = Location(0, 0)
endglobals
function GetTerrainZ takes real x, real y returns real
call MoveLocation(loc, x, y)
return…
Алгоритмы, Наработки и Способности
5 2 438
Моя попытка сделать разрушаемые физические тела в Warcraft 3. Суть карты - всякими способами разрушить старый каменный мост (если его можно назвать мостом).
Для обсуждения могу сказать, что здесь используется почти максимум всей возможной оптимизации, и круче этого делать что-то в варкрафте практически невозможно. =)
Количество кубиков на весь мост - 40.
Алгоритмы, Наработки и Способности
73 34 923
В статье рассмотрены вопросы, связанные с передачей данных между разного рода функциями и переменными в Jass. Про это уже много всего написано, но большая часть из написанного либо не содержит однозначных ответов, либо содержит неверную информацию.
Я решил написать статью, которая предоставит читателю исчерпывающую информацию о передаче и хранении значений и ссылок на языке Jass.
Статья
30 26 027

Повседневные приёмы в программировании варкрафта

Статья расскажет об интересных повседневных приемах программирования на варкрафте, о которых некоторые уже достаточно наслышаны, но их тема раскрыта не окончательно.
Статья
17 17 827
`
ОЖИДАНИЕ РЕКЛАМЫ...