Поиск по меткам: Jass
/Дело было вечером, делать было нечего//
Описание: Юнит бежит определенное расстояние в указанном направлении, расталкивая всех наземных противников на своем пути. Учитываются клиффы и здания, от которых герой отталкивается.
Не действует на союзников. Ломает декорации, не может вылететь за границы карты.
Способность полностью MUI (может использоваться любым количеством игроков и юнитов).
Используемые глобальные переменные: 1 единственная глобалка для хэш-таблицы.
Алгоритмы, Наработки и Способности
8 5.6K
Новый Bloodrage из DotA в том виде, в котором он реализован в DotA IceFrog'ом.
Алгоритмы, Наработки и Способности
21 9K

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

Приветствую тебя, дорогой странник, сегодня я открою тебе занавес триггерных тайн, погружу тебя в глубины стека событий и пронесу до вершин лимита операций!
Так открой же глаза, оставь обыденную суету и встречай межсетевую вселенную!
Рукопись сия рассчитана как на юного странника, так и на видавшего виды путешественника.
Статья
12 7.7K
Данные функции позволяют запускать таймер, присоединяя к нему число и брать это число в функции-обработчике.
Сразу скажу, что этому эксплоиту уже много-много лет, но я не заметил интенсивного его использования. Зачем тратить время, если есть данный хак ?
Алгоритмы, Наработки и Способности
7 8.5K

SODS

Система предназначенная для выведения получаемого урона в виде одного плавающего текста, который показывает суммарный урон на юнита. В зависимости от количества урона текст увеличивается.
Алгоритмы, Наработки и Способности
9 6.3K

Генерируем функции инициализации

Небольшой пример шаблона, помогающего избежать прерывания потока из-за лимита операций при заполнении базы.
Статья
2 2.3K
Пример использования препроцессора для формирования списка рецептов на основе данных из РО.
Статья
1.5K

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

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

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

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

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.8K

Вращение юнита в 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.3K

Изменить максимальные 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.3K

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

Ловите, наверное самая быстрая функция по касту "тригерных" магий =)
(По скорости быстрее чем 20 обычных проверок GetSpellAbilityId()=='SPELL ID')
СабСтринг для того чтобы не "тригерные" магии не отлавливал (для нешаряших или недопонявщих.)
""
function SpellCast takes nothing returns boolean
local string…
Алгоритмы, Наработки и Способности
27 8.8K
Решил выложить, первая функция написана не мной, дальше мое авторство на эту же тему.
""
возвращает true если итем it есть у юнита u
function IsItemInInventory takes unit u, integer it returns boolean
local integer i = 0
loop
exitwhen i > 5 or GetItemTypeId(UnitItemInSlot(u, i)) == it
set i = i…
Алгоритмы, Наработки и Способности
3 3.5K

Умышленная десинхронизация игрока

function DesyncPlayer takes integer id returns nothing
  if GetLocalPlayer()==Player(id) then
    call Location(0,0)
  endif
endfunction
Алгоритмы, Наработки и Способности
6 5.1K

Математические функции от Warden

""
Полярное смещение
function PolarOffset takes location loc, real dist, real angle returns location
local real x = GetLocationX(loc) + dist * Cos(angle * bj_DEGTORAD)
local real y = GetLocationY(loc) + dist * Sin(angle * bj_DEGTORAD)
call MoveLocation(loc, x, y)
return loc
endfunction…
Алгоритмы, Наработки и Способности
4 4.1K

Принадлежность точки

Функции принадлежности точки треугольнику и произвольному четырёхугольнику.
""
Площадь треугольника по координатам
function TriS takes real x1, real y1, real x2, real y2, real x3, real y3 returns real
return RAbsBJ(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2
endfunction
Принадлежность точки (x;y)…
1.4K

Перпендикуляр от отрезка к точке

Находит длину перпендикуляра от отрезка, заданного Xa, Ya, Xb, Yb к точке, заданной Xc, Yc. Полезно при реализации заклинаний типа "Огненная стена", во избежание последовательных пиков юнитов по прямой.
Автор - silumin
""
function Perpendicular takes real Xa,real Ya,real Xb,real Yb,real Xc,real Yc returns real…
Алгоритмы, Наработки и Способности
4 2.1K

Определение неуязвимости юнита

Расширенная функция определения, уязвим ли юнит или нет. Позволяет определять специфические неуязвимости (например, неуязвимость феникса при морфе и неуязвимость мастера клинка при создании иллюзий).
""
function IsUnitInvulnerable takes unit Unit returns boolean

local real Health_Current =…
Алгоритмы, Наработки и Способности
2K

Формула параболы

Вычисляет значение, обычно применяемое для задания высоты снаряда, который летит по параболической траектории.
function ParabolaZ takes real h, real d, real x returns real
  return (4 * h / d) * (d - x) * (x / d)
endfunction
Формула параболы (учитывающая начальную и конечную высоту)
Автор оригинала - …
Алгоритмы, Наработки и Способности
6 5.5K

Скрещивание однотипных предметов

При вызове пробует собрать из <count> предметов типа <oldItemType> новый предмет типа <newItemType>
В случае успеха возвращает true.
Автор - Shadow Daemon
""
function UnitUpgradeItem takes unit u, integer oldItemType, integer count, integer newItemType returns boolean
local integer i = 0
local integer j =…
Алгоритмы, Наработки и Способности
2.9K

Покупка предмета юнита

Заставляет юнита купить предмет из указанного магазина.
В случае успеха возвращает true.
Автор - Warden
""
function BuyItem takes unit FromShop,integer ItemID,unit ToUnit returns boolean
if IssueNeutralTargetOrder(GetOwningPlayer(ToUnit), FromShop, "smart", ToUnit) or IssueTargetOrder(FromShop, "smart",…
Алгоритмы, Наработки и Способности
2 1.8K

Набор функций для работы с Hex-записями

Преобразует строку с Hex числом (допустимые значения "00" до "ff") в десятичное целое число:
""
function H2D takes string hex returns integer
local string abc = "0123456789abcdef"
local integer i = 0
local integer dec
loop
set i = i + 1
exitwhen( SubString(abc, (i-1), i)==SubString(hex, 0, 1)…
Алгоритмы, Наработки и Способности
886

Вычисление опыта за убийство юнита

Вычисляет приблизительное значение опыта за убийство указанного юнита. Применение - триггерный подсчет/добавление экспы с применением всякого рода скиллов/эффектов модификаторов.
Автор - NETRAT
""
function aow_GetApxExpBounty takes unit u returns real
return SquareRoot((GetUnitState(u, UNIT_STATE_MAX_LIFE) +…
Алгоритмы, Наработки и Способности
1.4K

Эмуляция ошибки в Warcraft

Sim Error из Caster System, позволяет вам сэмитировать ошибку наподобие той, что выводиться движком вара. Незаменима при создании каких-либо довесков к интерфейсу пользователя.
Автор - Vexorian
Требует глобальную переменную типа звук (udg_SimError). Не создаёт утечек.
""
function SimError takes player ForPlayer,…
Алгоритмы, Наработки и Способности
3 3K
Спелл Тоадкопа, который занял первое место на конкурсе Spell Making Session в 2006 году.
Скачать
Алгоритмы, Наработки и Способности
48 15.8K

Базы данных

По скольку в коде карты нельзя получить доступ к полям объекта, таких как защита юнита, класификация предмета, стоимость предметов и т.д., что создает некоторые не удобства, а иногда рушаться гениальные идеи. Один из самых простых способ добраться к нужной нам информации, это создание базы данных.
В этой статье я рассмотрю несколько примеров баз данных. Раскрою пожалуй важные аспекты и проблемы с которыми можно столкнуться.
Статья
21 14.8K
Руководство, посвященное использованию утилиты Fly data processor, начиная с установки и заканчивая написанием шаблона для генерации простейшей базы данных.
Статья
5 3.8K

Движение камеры мышкой v.1.03

В данной наработке реализуется движение камеры мышкой без посторонних программ. Просчитывается в зависимости от положения курсора относительно центра экрана.
Алгоритмы, Наработки и Способности
23 17K
Чат тоадкопа, переделанный под версию 1.24. Чат-box находится в мультиборде.
обсуждаем здесь
Алгоритмы, Наработки и Способности
8 7.9K
Наработка по созданию custom тексттагов. (плавающего текста)
Алгоритмы, Наработки и Способности
5 4.9K
`
ОЖИДАНИЕ РЕКЛАМЫ...