7

История одного заклинания: От GUI к препроцессорам.

» WarCraft 3
В связи с анонсом Reforge решил я вспомнить редактор и наконец-то сделать что-то полезное. А как известно, что-бы самому понять, нужно попытаться это кому-то объяснить.
Так что впечатлившись статьёй Remake: Создание простого stomp спелла, я тоже решил пойти по протореной дорожке и написать заклинание. Исходя из того, что профессионалы и так всё знают, а новички любят GUI, то начнём с чего-то простого, а дальше видно будет.

Читать далее...
71

Векторы

» Clamp'ова кухня WarCraft 3
Структуры с реализацией 2D и 3D векторов. Ready to use.

Читать далее...
4 ,

Система рынка (продажа и покупка итемов)

» WarCraft 3
В этой наработке представлена возможность использовать полноценный магазин. Изначально магазин пустой, но вы можете заложить вещичку в магазин, и она тут же появится на полке. Или наоборот, купив артефакт, он тут же пропадает с магазина.

Читать далее...
7

Способность Earthbind героя Meepo из DotA

» WarCraft 3
Способность которую я вытащил из доты, перевёл код в читабельный вид и т.д
Для переноса нужно будет перенести 4 переменные из редактора переменных, 3 нестандартные способности, 1 заклинание и двух юнитов.
Карта сохраняется в ОБЫЧНОМ WorldEditor (т.е JNGP не нужен)

Читать далее...
1

Наработка спавна крипов как в доте

» WarCraft 3
Здравствуйте, создал код на спавн мобов как в доте. Прошу заценить и высказать свое мнение об оптимизации. Интересует максимальная оптимизация, что бы не было утечек. Все ли я правильно сделал?
23 ,

Новый детект физического урона на мемхаке

» WarCraft 3
Более гибкий и удобный детект физического урона и не только, при помощи Мемхака

Читать далее...
158

Система отлова нанесённого урона

» WarCraft 3
Пожалуй, одна из самых изящных реализации широко востребованного общего события "юнит получает урон".
Написано на: vjass, cjass.

Читать далее...
237

Новые нативные функции в 1.29

» WarCraft 3
Полный список новых нативных функций, появившихся в Warcraft III версии 1.29, почти сто штук.

Читать далее...
1

Управляемый критический урон

» WarCraft 3
Система ручного критического урона - удачный удар
Автор: Nargore
Версия: 0.01**

Читать далее...
3

Brave Souls

» WarCraft 3
Полностью открытая версия моего незавершённого проекта.Планировалось сделать ремейк стандартной карты "Охотники"...

Читать далее...

WurstScript

» WarCraft 3
WurstScript - компилируемый в Jass язык программирования для создания карт Warcraft 3.

Читать далее...
43

Ловим урон с Мемхаком

» WarCraft 3
Обновленная версия детекта урона с помощью хака на память.
Теперь мы можем отследить все параметры урона, такие как атака ближнего или дальнего боя, изначальный урон без учета резистов, тип атаки, тип урона.
Больше не требуется чтобы событие триггера было первым на юните. Но зато необходим новый мемхак.

Читать далее...
22

JASS: Курс молодого бойца

» WarCraft 3
Приветствую на страницах первой из серии статей, посвящённых JASS - языку программирования, созданному студией Blizzard Entertainment для своих игр. Здесь речь пойдёт о JASS, используемом в WarCraft III: The Frozen Throne. Собранные в этой статье знания пригодятся как новичку, который делает свои первые шаги в увлекательный мир программирования, так и более искушённому в нём профессионалу.

Читать далее...
2 Steal nerves, PUVer

Автоподбор / Автопродажа предметов

» WarCraft 3
Эта системы осуществляющие автоматическую подбор ближайших предметов и их продажу.

Читать далее...
8

Система погодных эффектов и тумана

» WarCraft 3
Система пассивных погодных эффектов и система тумана с настраиваемыми параметрами, и несколькими полезными функциями.

Читать далее...
43

[Мемхак] Функции для способностей.

» WarCraft 3
Функции для мемхака, для работы со скилами.

Читать далее...
3

Dummy Sphere System

» WarCraft 3
Небольшая наработка, позволяющая максимально просто связывать юнита с дамми-сферами от JesusHipster, изменяя эффекты без создания лишних моделей
При помощи наработки также можно связывать юнита с любым даммиком.

Читать далее...
8

Чарж (Charge)

» WarCraft 3
/Дело было вечером, делать было нечего//
Описание: Юнит бежит определенное расстояние в указанном направлении, расталкивая всех наземных противников на своем пути. Учитываются клиффы и здания, от которых герой отталкивается.
Не действует на союзников. Ломает декорации, не может вылететь за границы карты.
Способность полностью MUI (может использоваться любым количеством игроков и юнитов).
Используемые глобальные переменные: 1 единственная глобалка для хэш-таблицы.

Читать далее...
15

Оптимизация

» WarCraft 3
Варик не любит когда всяких циклов много или они долго длятся, но без них никак, так как же быть? ExecuteFunc поможет?
19

Уровень баффа не считается

» WarCraft 3
Имеется такой фрагмент кода:
""
lvl = GetUnitAbilityLevel(target,'BHad');
if (lvl>0)

Читать далее...
15

Перестали работать все таймеры.

» WarCraft 3
Добрый день.
Я, к сожалению, не смог задать свой вопрос на форуме, поэтому задам тут.
Пишу карту в jass new gen pack. Вчера неожиданно в карте перестали работать абсолютно все таймеры. Таймеры локальные. Я даже понятия не имею от чего это может быть. Весь остальной код работает прекрасно.
15

Помощь по исправлению кода Jass

» WarCraft 3
Прошу прощения если написал не в тот раздел. Вопрос вот в чём, давненько создал карту... но никак не могу исправить вылеты. Т.е игра идёт нормально если играть скажем 2 на 2 или даже 3 на 3 но при игре 6 на 6 (с ботами) игра вроде не тормозит, но с примерно в 50% случаев заканчивается банальным вылетом без ошибок. Большая часть кода написана на jass (использую jngp). Я не силён в jass, поэтому может что-то не так в коде. Очень хотелось бы понять ошибку и исправить. Грешу на функцию (смысл её в том чтобы боты кастовали заклинания на ближайших вражеских героев в радиусе 1000 ед.) так как вылеты происходят во время боя между героями (как я замечал). Вот код функции которую использую с промежутком в 1 секунду.

Читать далее...
4

Игнорирование приказов юнитом.

» WarCraft 3
Добрый вечер!
Подскажите, как заставить юнита игнорировать все приказы игрока, которому он принадлежит, но в то же время не менять его владельца на нейтрально-пассивного?
Конкретно, в одном из заклинаний юнит должен приблизиться к цели со своей стандартной скоростью. Если юнит не игнорирует приказы, то его можно тут же перенаправить в другую сторону - и триггерная часть способности все равно исполняется. Если вызвать
call PauseUnitBJ( true, unit )
, то юнит не сможет передвигаться, и, хотя способность сработает корректно, визуально это выглядит плохо.

Почему-то вопрос закрыли, хотя ответ так и не был получен...
55

Угол поворота декорации.

» WarCraft 3
Добрый вечер!
Как узнать угол направления разрушаемого объекта?
Для боевой единицы есть специальная функция "Боевая единица - угол поворота". А как поступить с декорацией?
Допустим, ситуация. У меня есть декорация, после разрушения которой на ее месте создается другая декорация с похожей, но измененной моделью. Соответственно, нужно сделать так, чтобы направление созданной декорации совпадало с направлением уничтоженной декорации.
14

Как выбрать ближайшую декорацию.

» WarCraft 3
Доброго времени суток!
Полазив по различным сайтам нашел способ выбора ближайшего юнита к цели-инициатору - заносить в новую группу всех юнитов в нужном мне радиусе от инициатора и выбрать первого юнита из этой группы.
Возник вопрос - а как выбрать ближайшую разрушаемую декорацию к юниту? Например, приказать юниту двигаться к ближайшему разрушаемому объекту типа "бочонок"?
24

Новый Bloodrage из DotA

» WarCraft 3
Новый Bloodrage из DotA в том виде, в котором он реализован в DotA IceFrog'ом.

Читать далее...
5

Не могу создать мультибоард

» WarCraft 3
Уже очень давно не создавал бордов на ГУИ, а на JASS и вовсе не пробовал. Нужно каждому из 4 игроков создать свою таблицу.
int i = 0
    while (i<4)
    {
        MB[i] = new multiboard
        MultiboardSetColumnCount(MB[i],2)
        MultiboardSetRowCount(MB[i],7)
        MultiboardSetTitleText(MB[i],"hello")
        if (GetLocalPlayer() == Player(i) )
        {
            MultiboardDisplay(MB[i],true)
            MultiboardMinimize(MB[i],true)
        } else
        {
            MultiboardDisplay(MB[i],false)
        }
        ++i
    }
Где MB[] - массив бордов (глобалка).
Подправил код