Как сделать свою способность в дота 2

Обновлено: 05.07.2024

Начнём с того что вводим название и нажимаем кнопку Создать способность.
Перед нами появляется таблица с параметрами.

Галочка отвечает за то будет ли параметр в нашей способности.
Для некоторых параметров можно выбрать значения.
Выставляем нужные значения.

Добавляю OnSpellStart, AbilitySpecial, Modifiers.

Создаю модифаер modifier_silenced.
В AbilitySpecial добавляю два значения radius и silence_duration.

Настраиваю modifier_silenced.

Создаю и настраиваю States в modifier_silenced.

Последний шаг, настройка OnSpellStart.
Добавляю ActOnTargets. Настраиваю Target.

В Action добавляю Damage и ApplyModifier.
Настраиваю ApplyModifier.
Настраиваю Damage.

Готово. Нажимаем на кнопку Создать и получаем готовую способность, вот что вышло у меня:

Как сделать свою способность в дота 2

В данном руководстве я расскажу вам что такое очки Steam, как за них вы можете получать значки, опыт, поднимать себе уровень или оформить профиль. Буду рад вашему лайку, "Избранному", а также, если вы поделитесь этим руководством или подарите награду;).


Инструкция как повысить свой фактор доверия aka Trust factor .



That's what you wanted all your life here is the secret.


Скрины и видео того, что выставить в компедиуме, чтобы чилить. ОЧЕНЬ УДОБНО ЗА 1 МИНУТУ.


Easiest ways to score Fantasy Points in TI 10 . Cleanest Sheets of Fantasy Dota available. Will upload the last year and this years comparison sheets and data collected via the top Fantasy points scorers from last 3 TI. Thank you,keep watching this space .


This guide is here to give you an easy explaination of how Fantasy Cards work in Dota2. This is a Part 1 with basic questions answered. Feel free to ask me more :) And I will be updating my own predictions for each day to help you score in the top 0.1.

Кастомные абилки. Структура и пример модификатора атаки.

Начать нужно с того, что всё, что я опишу ниже, было получено мною только из иностранных туториалов и путём реверс инженеринга. Я не имею ни малейшего понятия о луа, не смотря на то, что затрагиваю его при создании способностей - это всё познания из области реверс инженеринга, не языка программирования.
С горем пополам я понял структуру абилок в DotA 2 и попытаюсь сейчас вам всё объяснить во всех известных подробностях.

Форма создания способности и путь к файлам.

Стандартные способности в DotA 2 находятся в файле /scripts/npc/npc_abilities.txt
D2WT, при создании мода, предлагает нам не создавать новые абилки, а поверхностно переписывать стандартные через /scripts/npc/npc_abilities_custom.txt. Я выбрал файл npc_abilities.txt. Создал в нужной папке файл с таким именем и провёл начальную разметку.
Почему именно этот путь действий? Мне не нужны были лишние абилки в моём моде. Я просто удалил все стандартные и начал писать свои собственные новые. Если бы я пошёл по другому пути - у меня были бы стандартные абилки + мои. Не критично, но я захотел по-своему.

Начальная разметка npc_abilities.txt

Всё. Больше там ничего не нужно. Абилки будем записывать внутри фигурных скобочек (надеюсь вы понимаете, что они делают в коде)

Структура способности

Это основа. Внутри будем писать код способности.


Какую способность я делал, и что писал в коде:

У меня, с самого начала, была задумка сделать комплексную способность.
1. Это была бы автокаст-абилка с манакостом (как фрост арровс у траксы)
2. У неё был бы кулдаун после применения (как у ликвид файр жакиро)
3. Она применялась бы на врагов и была бы модификатором автоатаки (как всё вышесказанное)
4. При применении, она давала бы стан/министан, и не наносила урона цели
5. После попадания по цели, она отскакивала бы в другого врага и наносила урон уже ему, но другой (я не решил какой - пониженный или повышенный)

Я начал писать код.
Первым делом идут обязательные переменные (они находятся слева) и их значения (они находятся справа):

Весь код, отныне и далее, будет содержать переменные и их значения и ничего больше.

Дальше, так-как это модификатор атаки, мы создаём область, где будут отмечаться все последствия применения на разных временных отрезках.

Вот тут уже и проявляется структура действия абилок.
Сначала мы пишем в какой момент проявляется нужный эффект. Потом сами эффекты и нужные параметры.
Дадим название модификатору

Разберёмся с переменными модификатора. Для начала я нашёл похожую способность по действию - это фрост арровс траксы из Ночи Призраков.

Дальше я использовал событие "во каста орба", которое тоже одолжил у траксы. Сначала идёт название события, потом мы открываем скобку, задаём то, что произойдет в этот момент и закрываем скобки.

Полдела - сделано. Теперь следующее событие. Теперь мы решаем, что произойдет в момент, когда наша стрела попадёт по врагу. Я использовал всё ту же абилку траксы из Ночи Призраков и смешал её с ультой ВР из той же Ночи Призраков

Мы закончили с модификаторами. Абилка сделана. Но у нас есть ещё парочка несуществующих переменных, на которые мы сослались. Определим их для игры.

Начинаем перечислять их после списка модификаторов.

В итоге, полученный код сохраняем, ищем нужного героя и меняем его, допустим "Ability 1" на нашу "название_способности"

В игре всё, теоретически, должно работать.

Весь код абилки:

Что же я получил на выходе:
1. Автокастовый модификатор автоатаки.
2. С манакостом.
3. Но без кд.
4. Станит врага при попадании, но наносит урон. :
5. При попадании создаёт новую автотатаку, которая вылетает из моего героя и попадает в рандомную цель в радиусе.

2.5 пункта из пяти. Почему? Потому что я не знаю всех перменных кода, который написаль в Valve.
Вы скажете: так возьми событие "OnOrbImpact" и напиши в коде, чтобы заместо "CreateBonusAttack" выполнялось действие типа "Rikoshet In Other Enemy Without Damage". Я отвечу: не могу, я не знаю какая переменная даёт такой эффект. Бонусную атаку даёт "CreateBonusAttack", стан - "Stun", а нужный мне эффект - не знаю. Где же твой реверс инженеринг? - спросите вы. "Подсмотри как делать рикошет у, например, Луны."
А вот тут и главная загвоздка - там, в коде абилки рикошета Луны, ничего об этом нету. Информация о стандартных абилках DotA 2 хранится где-то глубоко в ядре, и я туда не смог добраться. А в тхт-файлах представлены просто поверхностные сведения. Из них полезной информации не извлечёшь.

И так - со всеми переменными. Единственный источник примеров - другие, более пытливые моддеры и npc_custom_abilities.txt в папке режимы Ночи Прзраков, который содержит изменённые абилки героев с этого режима. Там-то сведения относительно полные, и можно подчерпнуть переменных, чем я и воспользовался.

Поэтому, если вы хотите сделать свою способность - либо учите ЛУА и пишите код с нуля, либо ищите список всех переменных. Иначе у вас вряд ли получится то, что вы хотели сначала.

Русское комьюнити D2WT сильно страдает от недостатка информации по скриптингу. В то время, как иноязычные моддеры собираются в довольно крупные сообщества в России D2WT, видимо, мало кого интересует.
Этот туториал содержит ОЧЕНЬ базовые знания о создании абилок в DotA 2, но, на безрыбье и этот, сделанный на коленке, туториал может быть полезным. Именно поэтому я его выложил, не обессудьте.
Никогда не бойтесь спрашивать, я всегда поделюсь крохами знаний. И сами делитесь, потому что у меня ещё куча всего, чему я хотел бы научиться.

Как сделать свою способность в дота 2


Создаём полный билд (сборку, гайд) на персонажа в Dota2 (RUS)


7,277 уникальных посетителей
31 добавили в избранное





И так первым делом нам нужно зайти в саму доту 2.

Сверху мы видим панель с основными разделами меню, из всех пунктов выбираем ОБУЧЕНИЕ.

В подразделах выбираем РУКОВОДСТВА О ГЕРОЯХ.

В открывшемся окне выбираем героя, на которого хотим сделать билд и нажимаем ОК.

Всё основное мы сделали! В открывшемся окне в подписанных строках пишем название гайда, роль в которую собираем героя. В левую часть к каждой соответствующей группе подбираем предметы, перетаскивая их и уже нажимая на них в левой части добавляем описание. Во вкладке способности выбираем последовательность прокачки и нажимаем СОХРАНИТЬ ВСЁ.

Чтобы выложить гайд выделяем его в окне, в котором были ранее и тыкаем ОПУБЛИКОВАТЬ.

Читайте также: