Поиск по меткам: Алгоритмalgorithm
Шум перлина на cjass
Алгоритмы, Наработки и Способности
467
Библиотека предоставляет структуру Real2D, которая предоставляет методы для работы с двумерным массивом дробных чисел.
Алгоритмы, Наработки и Способности
478
Как известно, функцию InitHashtable() можно вызывать ограниченное количество раз. Поэтому для динамического выделения нативных хеш-таблиц нужен буфер, с помощью которого можно было бы переиспользовать уже созданные хеш-таблицы. Данная библиотека предоставляет 2 метода:
Алгоритмы, Наработки и Способности
17 1 288
Использует BlzPauseUnitEx и делает ее похожей на обычный PauseUnit. Обычно, она использует внутренний счетчик использований, и приходится применять BlzPauseUnitEx обратно до тех пор, пока контроль юниту не вернется. Это исправляет данную "фичу".
Алгоритмы, Наработки и Способности
448
Старый код пролежал 2 года в моем блоге но ни кто не узнал о нем. Поэтому решил выложить в ресурс как наработка позволяет не плодить одинаковых событии игроков.
Алгоритмы, Наработки и Способности
553
Хочу поделиться функцией для проверки типа переменной.
Алгоритмы, Наработки и Способности
11 1 170
BlzFrameSetScale(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),5), 0.001)
Алгоритмы, Наработки и Способности
4 2 254
Костыль, позволяющий узнать версию графики
Алгоритмы, Наработки и Способности
13 2 664
Функции и демонстрация сглаженного движения и поворота
Алгоритмы, Наработки и Способности
21 3 293
Получаем значение зелёной Атаки на старших патчах
Алгоритмы, Наработки и Способности
14 2 317
Библиотека геометрии, реализованная на Lua в ООП формате.
Из вкусного:
  • Functions - вспомогательные функции типа обрезки и вычисления разного вида интерполяций
  • Vector3 - класс 3D вектора с перегруженными мат. операторами, поддержкой 3D конверсии из игровых структур и обратно, интерполяциями, применениями сферических оффсетов, проверок нахождения в сфере и ящике, трансформаций матриц и другое
  • Matrix3 - класс 3x3 матрицы с множеством разных конструкторов типа осей вращения и оператором перемножения
  • Matrix4 - класс 4x4 матрицы, он самый простой - с операторами сравнения и перемножения
  • Box - класс для работы с кубоидами, содержащий методы получения объёма, расширения, включения, пересечения с другими фигурами и др.
  • Sphere - класс для работы со сферами, содержащий методы получения объёма, включения, пересечения с другими фигурами и др.
  • Ray - класс для работы с лучами и получение точек пересечения с объектами
  • Camera - класс для хранения данных о камере и возможностью конвертировать оконные координаты и координаты сцены между собой
+ методы toGrid для построения фигур из сетки вершин
Алгоритмы, Наработки и Способности
35 4 584
Алгоритм получения таблицы с уникальными числами в определенном диапазоне
Алгоритмы, Наработки и Способности
13 2 478
В данный момент невозможно в одно действие проверить удерживается ли конкретная клавиша на клавиатуре или кнопка мышки, данная библиотека призвана помочь в решении проблемы.
Алгоритмы, Наработки и Способности
3 1 702

Отслеживание мышки

Статья предлагает решение старой проблемы, найти положение мышки без сторонних утилит
Алгоритмы, Наработки и Способности
33 5 388
Можно использовать в карте в качестве визуальной изюминки в своем нике, меняя цвет ника прямо во время игры…
Алгоритмы, Наработки и Способности
13 4 975
Набор функций для работы с игровой камерой.
Алгоритмы, Наработки и Способности
4 2 579
Алгоритм позволяющий отловить вход или выход из воды
Идея использовать цикл внутри каждого потока - nvc123…
Алгоритмы, Наработки и Способности
27 5 200
Алгоритм для преобразования численного равкода в строку с теми же символами.
Алгоритмы, Наработки и Способности
6 2 850
Более гибкий и удобный детект физического урона и не только, при помощи Мемхака
А так же система отображения зарядов на иконках способностей, не проходите мимо!
Алгоритмы, Наработки и Способности
33 8 717
Небольшая наработка, где представлены два, как на мой взгляд, красивых спелла, сделанные с помощью частиц-"даммиков" и колдунством математики.
Алгоритмы, Наработки и Способности
8 4 442
Функция, позволяющая задать зданию поворот во время игры. Работает за счет какой-то внутриигровой ошибки.
Алгоритмы, Наработки и Способности
1 4 196
Данные функции позволяют запускать таймер, присоединяя к нему число и брать это число в функции-обработчике.
Сразу скажу, что этому эксплоиту уже много-много лет, но я не заметил интенсивного его использования. Зачем тратить время, если есть данный хак ?
Алгоритмы, Наработки и Способности
7 8 473

Расчет числа однотипных предметов в инвентаре

Самая быстрая функция расчета числа однотипных предметов в шестислотном инвентаре.
работа через (GetItemTypeId(UnitItemInSlot(u, slot ))== typeId))
Ошибок нет, написано под перенасыщением мозга кровью для толстых алгоритмов дабы снизить затраты ресурсов машины.
Слабым не изучать
Возможен всплеск…
Алгоритмы, Наработки и Способности
4 3 430

Проверка координат в окружности

Функции для проверки принадлежности координат к кругу.

function IsCoordsInCircle takes real x,real y,real rad,real cx,real cy returns boolean
   return (SquareRoot((cx-x)*(cy-y)) < rad)
endfunction
Алгоритмы, Наработки и Способности
4 2 829

Вращение юнита в 3D от Doc

Вращение юнита в 3D.
A,B,C - углы на которые будет поворачиваться юнит в пространстве вокруг точки X1, Y1, Z1
""
void RotateUnit(unit u, float X1, float Y1, float Z1, float A, float B, float C){
float a1, b1, a2, b2, a3, b3, X2, Y2, Z2

X2 = GetUnitX(u)
Y2 = GetUnitY(u)
Z2 =…
Алгоритмы, Наработки и Способности
8 4 128

Вращение юнита в 3D

Вращение юнита в 3D.
A,B,C - углы на которые будет поворачиваться юнит в пространстве вокруг точки X1, Y1, Z1
A, B, C, X1, Y1, Z1 - глобалки.
""
function Actions2 takes nothing returns nothing
local unit u=GetEnumUnit()
local real a1
local real b1
local real a2
local real b2
local real a3
local real b3…
Алгоритмы, Наработки и Способности
1 2 273

Изменить максимальные HP юниту

""
function SetUnitMaxLife takes unit u, real life returns nothing
local real r = life - GetUnitState(u, UNIT_STATE_MAX_LIFE)
if r > 0. then
if r > 1000. then
loop
call UnitAddAbility(u, 'A005')
call SetUnitAbilityLevel(u, 'A005', 0x05)
call UnitRemoveAbility(u, 'A005')…
Алгоритмы, Наработки и Способности
11 8 330

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

Функия проверяет отрезки на пересечения, если они пересекаются, то функция возвращяет 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 364

Делим integer на три байта

Делим integer на три байта ! тоесть каждый от 0 до 255 с четвертым там могут быть проблемы со знаком, такчто пока лень проверять
cJass:
#define IntGetByte1(src) = (src / (256*256))
#define IntGetByte2(src) = (ModuloInteger(src, (256*256)) / 256)
#define IntGetByte3(src) = (ModuloInteger(src,256))
#define IntSetByte1(src,val) = { src = (ModuloInteger(src,(256*256)) + val*256*256 ) }
#define IntSetByte2(src,val) = { src = (ModuloInteger(src,256) + (src / (256*256))*256*256 + val*256) }
#define IntSetByte3(src,val) = { src = ((src / 256)*256 +val)}
позволяет хранить в 1 инте 3 коротких числа напр. цвет
P.S. спасибо Нетрату за это :) вобще тут не особо чего сложного на самом деле, но я забыл всю теорию)
Алгоритмы, Наработки и Способности
3 2 980

Наверное самая быстрая функция по касту "тригерных" магий

Ловите, наверное самая быстрая функция по касту "тригерных" магий =)
(По скорости быстрее чем 20 обычных проверок GetSpellAbilityId()=='SPELL ID')
СабСтринг для того чтобы не "тригерные" магии не отлавливал (для нешаряших или недопонявщих.)
""
function SpellCast takes nothing returns boolean
local string…
Алгоритмы, Наработки и Способности
27 8 759
`
ОЖИДАНИЕ РЕКЛАМЫ...