CustomGames.ru - Dota 2 пользовательские игры

юниты на карте

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн VurdalakOMG

  • 11
  • Мощь: 0
юниты на карте
« : 20-04-2017, 12:19:40 »
у меня такая проблема,я сделал юнита в npc_units_custom.txt и хочу узнать,как перенести этого юнита на карту.

Оффлайн KEKMAN

  • 168
  • Мощь: 2
  • Dota forever <3
Re: юниты на карте
« Ответ #1 : 20-04-2017, 12:36:42 »
у меня такая проблема,я сделал юнита в npc_units_custom.txt и хочу узнать,как перенести этого юнита на карту.
Создать Entity (иконка лампочки в хаммере) target_point, потом в скрипте каком нибудь добавить:
Код
 local point = Entities:FindByName( nil, "название_ентити"):GetAbsOrigin() 
 local unit = CreateUnitByName( "название_твоегое_юнита", point, true, nil, nil, DOTA_TEAM_BADGUYS )

Оффлайн VurdalakOMG

  • 11
  • Мощь: 0
Re: юниты на карте
« Ответ #2 : 20-04-2017, 13:18:56 »
Создать Entity (иконка лампочки в хаммере) target_point, потом в скрипте каком нибудь добавить:
Код
 local point = Entities:FindByName( nil, "название_ентити"):GetAbsOrigin() 
 local unit = CreateUnitByName( "название_твоегое_юнита", point, true, nil, nil, DOTA_TEAM_BADGUYS )
вот я поставил target_point, а он как нибудь в редакторе обозначается?А то у меня его тупо нету.

Оффлайн I_Explorer

  • 171
  • Мощь: 2
Re: юниты на карте
« Ответ #3 : 20-04-2017, 13:50:31 »
Создать Entity (иконка лампочки в хаммере) target_point, потом в скрипте каком нибудь добавить:
Код
 local point = Entities:FindByName( nil, "название_ентити"):GetAbsOrigin() 
 local unit = CreateUnitByName( "название_твоегое_юнита", point, true, nil, nil, DOTA_TEAM_BADGUYS )
Почему нельзя вместо target_point использовать npc_dota_base, выбрать имя юнита и не заморачиваться со скриптами?
Мой недо-мод для ДотА2 - steamcommunity.com/...ils/?id=765024602

Оффлайн VurdalakOMG

  • 11
  • Мощь: 0
Re: юниты на карте
« Ответ #4 : 20-04-2017, 13:54:21 »
Почему нельзя вместо target_point использовать npc_dota_base, выбрать имя юнита и не заморачиваться со скриптами?
потому что там нельзя выбирать своего юнита,там можно только из самой доты

Оффлайн I_Explorer

  • 171
  • Мощь: 2
Re: юниты на карте
« Ответ #5 : 20-04-2017, 13:56:36 »
потому что там нельзя выбирать своего юнита,там можно только из самой доты
внимательно пролистай и найди своего юнита, они обычно выше героев расположены.
Мой недо-мод для ДотА2 - steamcommunity.com/...ils/?id=765024602

Оффлайн VurdalakOMG

  • 11
  • Мощь: 0
Re: юниты на карте
« Ответ #6 : 20-04-2017, 14:03:08 »
внимательно пролистай и найди своего юнита, они обычно выше героев расположены.
ну не знаю,посмотрю короче

Оффлайн KEKMAN

  • 168
  • Мощь: 2
  • Dota forever <3
Re: юниты на карте
« Ответ #7 : 20-04-2017, 14:10:15 »
Почему нельзя вместо target_point использовать npc_dota_base, выбрать имя юнита и не заморачиваться со скриптами?
Может он не нужен изначально? Этот скрипт универсален

Оффлайн I_Explorer

  • 171
  • Мощь: 2
Re: юниты на карте
« Ответ #8 : 20-04-2017, 14:15:39 »
Может он не нужен изначально? Этот скрипт универсален
С этим я не спорю, но ведь ты не будешь спавнить каждого юнита таким способом?
Мой недо-мод для ДотА2 - steamcommunity.com/...ils/?id=765024602

Оффлайн KEKMAN

  • 168
  • Мощь: 2
  • Dota forever <3
Re: юниты на карте
« Ответ #9 : 20-04-2017, 14:17:55 »
С этим я не спорю, но ведь ты не будешь спавнить каждого юнита таким способом?
Буду))
Там можно сделать цикл и спавнить хоть 10, только дополнительно место надо будет находить

Оффлайн Илья

  • Супермодератор
  • 1904
  • Мощь: 16
Re: юниты на карте
« Ответ #10 : 20-04-2017, 18:22:57 »
В зависимости от потребностей, люди по разному спавнят крипов.
Единицы конечно удобнее через dota base, а если кучу, то естественно проще в скрипте.
Однако для скрипта не обязательно нужен какой-либо блок на карте:
Код
 local point = Entities:FindByName( nil, "название_ентити"):GetAbsOrigin()

Эта строчка дает вам вектор - координаты блока. Можно и без блока глянуть координаты на карте и в переменную записать что-то вроде

Код
local point = Vector(576,-1024,156)

Оффлайн VurdalakOMG

  • 11
  • Мощь: 0
Re: юниты на карте
« Ответ #11 : 21-04-2017, 12:34:30 »
В зависимости от потребностей, люди по разному спавнят крипов.
Единицы конечно удобнее через dota base, а если кучу, то естественно проще в скрипте.
Однако для скрипта не обязательно нужен какой-либо блок на карте:
Код
 local point = Entities:FindByName( nil, "название_ентити"):GetAbsOrigin()

Эта строчка дает вам вектор - координаты блока. Можно и без блока глянуть координаты на карте и в переменную записать что-то вроде

Код
local point = Vector(576,-1024,156)
то есть надо всего лишь то закинуть в vscrips и указать координаты?

Оффлайн Илья

  • Супермодератор
  • 1904
  • Мощь: 16
Re: юниты на карте
« Ответ #12 : 21-04-2017, 16:53:19 »
Да.

Блоки и всякие метки (info target) используют когда постоянно меняют ландшафт карты, чтобы не заморачиваться с переписыванием координат, а просто передвинуть метку.