[Гайд] Создаем кастомную (свою) башню

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
497
56
customgames.ru
Я видел много вопросов о создании своей башни (тавера), но им почти никто не отвечает.

Во-первых
Создайте npc_units_custom.txt в \dota 2 beta\dota_ugc\game\dota_addons\your_addon_name\scripts\npc. Это позволит вам создавать и настраивать новых юнитов для использования в вашем аддоне.

Во-вторых
Вам нужен шаблон для ваших модификаций. Легкий способ найти шаблон - это смотреть оригинальные файлы игры (в дальнейшем можно использовать программу GCFScape), здесь лежит шаблон для вашей башни.

Скопируйте содержимое шаблона и вставьте в ваш npc_units_custom.txt. Теперь у вас есть своя башня, которую можно использовать в игре.

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

[list type=decimal]
[li]
Откройте ваш npc_units_custom.txt и посмотрите в верхней части на "npc_dota_tower_basedef". Вы можете изменить эту строку на что угодно, но для простоты мы изменим на "npc_dota_custom_tower". Это будет использоваться в Hammer'e позже. Сохраните файл и выйдите.
[/li]
[li]
Теперь запустите ваш Dota 2 аддон (ПРИМЕЧАНИЕ: аддон должен быть такой же, который вы указали в ​​npc_units_custom.txt файле) и откройте вашу карту.
[/li]
[li]
Выберите Entity Tool (Shift+E) и измените Entity Class на ваш класс "npc_dota_tower". Этот класс говорит игре, что ваш юнит это башня (тавер).
[/li]
[li]
Разместите ваш объект (Entity) где нибудь, где вы сможете легко увидеть его в игре, выделите его и нажмите (ALT+ ENTER), чтобы открыть его свойства (Object Properties).
[/li]
[li]
Чтобы получить этот объект для загрузки настроек вашей кастомной башни вам необходимо заполнить поле "Unit Name" так как вы указали в npc_units_custom.txt. Прокрутите вниз до Unit Name и напишите "npc_dota_custom_tower" (без кавычек). После этого найдите пункт Team Number и поставьте на "Bad Guys" - это будет вражеская башня, т.к. по умолчанию вы играете за Radiant (Good Guys) :)
[/li]
[/list]

Все!
Сохраните карту и нажмите [F9], чтобы открыть окно компиляции карты (Build Map). Убедитесь что стоит галочка напротив "Build entities".

Когда игра загрузится и вы выберете героя, прежде всего убедитесь, что модель башни отображается правильно, а затем подойти к ней близко, чтобы убедиться, что она атакует и показывая соответствующие частицы и т.д.

Чтобы разобраться со всем этим, автор так же советует посмотреть исходники Invoker Wars от Cyborgmatt: https://github.com/Cyborgmatt/Invoker-Wars

Перевод: http://removie.ru/d2wt/
Источник: http://www.reddit.com/r/Dota2Modding/comments/2dg6cs/tutorial_creating_a_custom_tower_for_noobs/
 
Последнее редактирование:

alfon_so

Новичок
2 Дек 2019
4
0
Проект
moo moo generation X
Я видел много вопросов о создании своей башни (тавера), но им почти никто не отвечает.

Во-первых
Создайте npc_units_custom.txt в \dota 2 beta\dota_ugc\game\dota_addons\your_addon_name\scripts\npc. Это позволит вам создавать и настраивать новых юнитов для использования в вашем аддоне.

Во-вторых
Вам нужен шаблон для ваших модификаций. Легкий способ найти шаблон - это смотреть оригинальные файлы игры (в дальнейшем можно использовать программу GCFScape), здесь лежит шаблон для вашей башни.

Скопируйте содержимое шаблона и вставьте в ваш npc_units_custom.txt. Теперь у вас есть своя башня, которую можно использовать в игре.

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

[list type=decimal]
[li]
Откройте ваш npc_units_custom.txt и посмотрите в верхней части на "npc_dota_tower_basedef". Вы можете изменить эту строку на что угодно, но для простоты мы изменим на "npc_dota_custom_tower". Это будет использоваться в Hammer'e позже. Сохраните файл и выйдите.
[/li]
[li]
Теперь запустите ваш Dota 2 аддон (ПРИМЕЧАНИЕ: аддон должен быть такой же, который вы указали в npc_units_custom.txt файле) и откройте вашу карту.
[/li]
[li]
Выберите Entity Tool (Shift+E) и измените Entity Class на ваш класс "npc_dota_tower". Этот класс говорит игре, что ваш юнит это башня (тавер).
[/li]
[li]
Разместите ваш объект (Entity) где нибудь, где вы сможете легко увидеть его в игре, выделите его и нажмите (ALT+ ENTER), чтобы открыть его свойства (Object Properties).
[/li]
[li]
Чтобы получить этот объект для загрузки настроек вашей кастомной башни вам необходимо заполнить поле "Unit Name" так как вы указали в npc_units_custom.txt. Прокрутите вниз до Unit Name и напишите "npc_dota_custom_tower" (без кавычек). После этого найдите пункт Team Number и поставьте на "Bad Guys" - это будет вражеская башня, т.к. по умолчанию вы играете за Radiant (Good Guys) :)
[/li]
[/list]

Все!
Сохраните карту и нажмите [F9], чтобы открыть окно компиляции карты (Build Map). Убедитесь что стоит галочка напротив "Build entities".

Когда игра загрузится и вы выберете героя, прежде всего убедитесь, что модель башни отображается правильно, а затем подойти к ней близко, чтобы убедиться, что она атакует и показывая соответствующие частицы и т.д.

Чтобы разобраться со всем этим, автор так же советует посмотреть исходники Invoker Wars от Cyborgmatt: https://github.com/Cyborgmatt/Invoker-Wars

Перевод: http://removie.ru/d2wt/
Источник:

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

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
873
148
www.dotabuff.com
Проект
Roshan defense

Скорее всего мне вряд ли ответят, но все же. Все замечательно и все работает, сделал постройку башен на скилл у героя.который юзается за голду. Но возник один нюанс, если ты пытаешься поставить здание в здание, а по коду идет проверка,он естественно не ставит его, но голду забирает, как сделать чтоы не забирал? или как сделать чтобы скил в таком случае не юзался??
Добавить ModifyGold() в юзе скрипта !
 
  • Нравится
Реакции: alfon_so

SniperX

Друзья CG
26 Фев 2018
534
92
steamcommunity.com
Проект
Dota 2 Classic 6.84

Вложения

  • discord.PNG
    discord.PNG
    16.7 KB · Просмотры: 115
Последнее редактирование:

Terrorbetch

Новичок
24 Ноя 2021
4
0
Проект
Кастомные карты
Салам всем,у меня вылетает дота при создании башни,скажите что я сделал не так???
1637764651992.png1637764680953.png1637764827624.png1637764798635.png
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
873
148
www.dotabuff.com
Проект
Roshan defense
Салам всем,у меня вылетает дота при создании башни,скажите что я сделал не так???
Посмотреть вложение 1447Посмотреть вложение 1448Посмотреть вложение 1450Посмотреть вложение 1449
Я более чем уверен, что ты где-то кавычки лишние поставил...
Скопируй башню из основного файла измени её параметры и проверь.
 
Реклама: