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

CreateUnitByName

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

Оффлайн TIMMY

  • 45
  • Мощь: 0
CreateUnitByName
« : 22-08-2016, 19:02:31 »
Подскажите пожалуйста, как в этой функции "CreateUnitByName" сделать так, чтобы юнит создавался не в определённой точке, а куда укажет мышка?

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: CreateUnitByName
« Ответ #1 : 22-08-2016, 20:01:45 »
Подскажите пожалуйста, как в этой функции "CreateUnitByName" сделать так, чтобы юнит создавался не в определённой точке, а куда укажет мышка?
developer.valvesoftware.com/...Position

Оффлайн TIMMY

  • 45
  • Мощь: 0
Re: CreateUnitByName
« Ответ #2 : 23-08-2016, 12:53:58 »
developer.valvesoftware.com/...Position
пишу
Код
local hero = PlayerResource:GetPlayer(0):GetAssignedHero() 
hero:GetCursorPosition()
создаётся в центре карты  ???

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: CreateUnitByName
« Ответ #3 : 23-08-2016, 13:12:22 »
пишу
Код
local hero = PlayerResource:GetPlayer(0):GetAssignedHero() 
hero:GetCursorPosition()
создаётся в центре карты  ???
Это команда узнает координату курсора, а не устанавливает ее.

Оффлайн TIMMY

  • 45
  • Мощь: 0
Re: CreateUnitByName
« Ответ #4 : 24-08-2016, 19:04:54 »
Это команда узнает координату курсора, а не устанавливает ее.
Цитировать
ability:GetCursorPosition() does not return the cursor position as you would expect.
Цитировать
GetCursorPosition doesn't return the position of the mouse it returns the position that the triggering ability was casted at. There's no way to get the cursor position in server side LUA without broadcasting it.
Цитировать
local myHero = PlayerResource:GetSelectedHeroEntity( 0 )
if myHero ~= nil then
print( myHero:GetCursorPosition())
end
Все время возвращает вектор(0 0 0) Кароче эта функция никак не связана с курсором мыши, а с его позицией - тем более.
Вот погуглил оказывается эта фунции совсем не та за которую себя выдаёт.

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: CreateUnitByName
« Ответ #5 : 24-08-2016, 20:23:54 »
Вот погуглил оказывается эта фунции совсем не та за которую себя выдаёт.
А есть две функции для двух разных классов.
Для абилок(CDOTA BaseAbility)
Для юнитов(CDOTA BaseNPC)

Оффлайн TIMMY

  • 45
  • Мощь: 0
Re: CreateUnitByName
« Ответ #6 : 24-08-2016, 20:42:17 »
А есть две функции для двух разных классов.
Для абилок(CDOTA BaseAbility)
Для юнитов(CDOTA BaseNPC)
Это как то дополнительно нужно указать какую из 2 функции lua использовать? Потому что я использовать её здесь "CreateUnitByName" не работало.

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: CreateUnitByName
« Ответ #7 : 24-08-2016, 21:09:26 »
Это как то дополнительно нужно указать какую из 2 функции lua использовать? Потому что я использовать её здесь "CreateUnitByName" не работало.
Это указывается при ее вызове, первый аргумент т.е в строке unit:GetCursorPosition(), unit - 1 аргумент, и если его класс = абилке то вызовется соответствующая функция для абилок, а если его класс = юнит, то вызовется фунция для юнита.