Поиск по меткам: Jass Алгоритм
Наработка для FFA-карты на новый год. К сожалению, до нового года ещё более десяти месяцев, поэтому, чтобы наработка не пустовала, выкладываю её сюда.
Компонент
1 551
Когда я стал искать людей для игры в "Разделяй и Владствуй (chaosmod)", оказалось, что набрать 12 человек для игры значительно сложнее, чем 8. Поэтому просто выкладываю сюда 6 классических карт сражений на 8 человек с тем же модом.
Компонент
2 457
радужный текст:
  • реализован в статичном виде и в движущемся виде
  • три цветовых режима - черно-белый, радуга7, радуга12
  • изменение скорости
  • изменение направления
""
команды:
-help or -h = этот список
-test = тест длинной строки
-test AAA = тест введённой…
Компонент
7 343
WarCraft каждый символ кодирует разной длиной,
поэтому при использовании SubString могут случаться ошибки для non-EN шрифтов
Компонент
3 311

О системе

Относительно краткий пример создания PopupMenu фрейма используя UjAPI и Frame API.
Главным бонусом UjAPI в данной наработке является полноценный API специально добавленный для обработки PopupMenu фреймов, который позволяет просто на просто отказаться от fdf, а так же позволяет не только добавлять…
Компонент
2 469

О системе

Относительно краткий пример системы контролей (стан/сон/сайленс/замедление), который можно легко дополнять в зависимости от нужд.
Главным бонусом UjAPI в данной наработке является Ability Instance API, который позволяет менять поля заклинаний/баффов без нужды изменений в РО.
Первая система как раз…
Компонент
2 633
[WarCraft III] Jass identifier renamer - автопереименование функций и переменных в j коде
Компонент
14 743

О системе

Относительно краткий пример создания ListBox фрейма используя UjAPI и Frame API.
Главным бонусом UjAPI в данной наработке является полноценный API специально добавленный для обработки ListBox фреймов, который позволяет просто на просто отказаться от fdf, а так же позволяет не только добавлять…
Компонент
4 814
Относительно краткий пример движения фрейма за виджетом/мировой координатой, на CSimpleFrame фрейме используя UjAPI и Frame API.
Система основывается на использовании GetWidgetScreenX/Y, есть конечно же и GetUnitScreenX/Y, всё это доступно с патча 1.0.28.102, потом советую ознакомиться с чейнджлогом.
Компонент
555
Относительно краткий пример создания кнопки с перезарядкой на CSimpleButton и CSpriteFrame фреймах используя UjAPI и Frame API.
Главным бонусом UjAPI в данной наработке является handlelist тип, который позволяет нам хранить все созданные фреймы в "листе" и не использовать тучу переменных, без какой-либо нужды. А так же возможность получать имя/контекст фрейма, что позволяет в целом и не прибегать к спискам, а банально использовать сам фрейм как "ключ" для получения дочерних фреймов.
Компонент
1 637
Относительно краткий пример создания системы магазина строго на CSimpleFrame/CSimpleRegion фреймах используя UjAPI и Frame API.
Компонент
7 999
Относительно краткий пример создания пик системы строго на CSimpleFrame/CSimpleRegion фреймах (за исключением превью героя) используя UjAPI и Frame API.
Компонент
18 1.3K
Запуск периодического таймера для конкретного игрока.
Компонент
3 912
Данный ресурс содержит API для имитации функционала групп для переменных типа item и effect. Так же содержится API для unit группы, которая является скорее "переосмыслением" существующего API.
Компонент
12 757
Старый код пролежал 2 года в моем блоге но ни кто не узнал о нем. Поэтому решил выложить в ресурс как наработка позволяет не плодить одинаковых событии игроков.
Компонент
594
В данный момент невозможно в одно действие проверить удерживается ли конкретная клавиша на клавиатуре или кнопка мышки, данная библиотека призвана помочь в решении проблемы.
Компонент
3 1.7K

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

Статья предлагает решение старой проблемы, найти положение мышки без сторонних утилит
Компонент
33 5.6K
Более гибкий и удобный детект физического урона и не только, при помощи Мемхака
А так же система отображения зарядов на иконках способностей, не проходите мимо!
Компонент
33 8.9K
Данные функции позволяют запускать таймер, присоединяя к нему число и брать это число в функции-обработчике.
Сразу скажу, что этому эксплоиту уже много-много лет, но я не заметил интенсивного его использования. Зачем тратить время, если есть данный хак ?
Компонент
7 8.5K

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

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

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

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

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

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

Ловите, наверное самая быстрая функция по касту "тригерных" магий =)
(По скорости быстрее чем 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.6K

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

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

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

Находит длину перпендикуляра от отрезка, заданного 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
`
ОЖИДАНИЕ РЕКЛАМЫ...
Scroll Lock - быстрая модерация