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

Требования для способности

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

Оффлайн wetalq

  • 30
  • Мощь: 0
Добрый день
Как можно сделать требование для способности ?
Типа у героя есть способность "1" и способность"2"
Способность 1 - это бафф, скажем так
и нужно что бы только пока есть бафф от способности "1" можно было использовать способность "2".
а если бафа нету то её нельзя было использовать.

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

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Требования для способности
« Ответ #1 : 26-08-2015, 12:41:29 »
Добрый день
Как можно сделать требование для способности ?
Типа у героя есть способность "1" и способность"2"
Способность 1 - это бафф, скажем так
и нужно что бы только пока есть бафф от способности "1" можно было использовать способность "2".
а если бафа нету то её нельзя было использовать.

пока что додумался до реализации с заменой способности 2 на пустышку которая ничего не делает, но хотел бы узнать, может вариант попроще есть.
Луа?
Код
if not unit:HasModifier("ultra_megapuper_modifier") then
--прекращаем действие второй способности/не делаем то что нужно
else
--делаем вторую способность
end

Оффлайн Slavko

  • Продвинутый
  • 224
  • Мощь: 5
  • -_-
Re: Требования для способности
« Ответ #2 : 26-08-2015, 17:02:01 »
Делаешь в скилле, который юзать нужно OnAbilityPhaseStart - запуск луа скрипта. В нем делаешь проверку на наличие модификатора и вуаля короч
Ландшафтеры, мастера фотошопа и скриптеры более-менее адекватного уровня - приглашаю за заманчивым предложением в скайп: vyacheslavmikh

Оффлайн wetalq

  • 30
  • Мощь: 0
Re: Требования для способности
« Ответ #3 : 26-08-2015, 18:28:10 »
Я так понимаю описаны два метода выше запустят способность на перезарядку и отнимут MP, верно ?

OnAbilityPhaseStart событие срабатывает при клике на способность ?

Оффлайн Slavko

  • Продвинутый
  • 224
  • Мощь: 5
  • -_-
Re: Требования для способности
« Ответ #4 : 26-08-2015, 20:04:37 »
wetalq, ага
Ландшафтеры, мастера фотошопа и скриптеры более-менее адекватного уровня - приглашаю за заманчивым предложением в скайп: vyacheslavmikh

Оффлайн wetalq

  • 30
  • Мощь: 0
Re: Требования для способности
« Ответ #5 : 27-08-2015, 07:58:33 »
wetalq, ага

а есть функция отменяющая приказ ? :С
в Warcraft 3 можно было так отменять каст способности таким способом

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Требования для способности
« Ответ #6 : 27-08-2015, 08:16:27 »
а есть функция отменяющая приказ ? :С
в Warcraft 3 можно было так отменять каст способности таким способом
unit:Stop() не канает?

Оффлайн wetalq

  • 30
  • Мощь: 0
Re: Требования для способности
« Ответ #7 : 27-08-2015, 11:12:20 »
unit:Stop() не канает?

а есть список может всех подобных манипуляций над юнитами/способностями ? :С

Оффлайн doter.ua

  • Друзья CG
  • 272
  • Мощь: 1
Re: Требования для способности
« Ответ #8 : 27-08-2015, 11:29:39 »
а есть список может всех подобных манипуляций над юнитами/способностями ? :С
developer.valvesoftware.com/..._BaseNPC
гайды
сурпрайз mthfckr :D

[свернуть]

Оффлайн wetalq

  • 30
  • Мощь: 0
Re: Требования для способности
« Ответ #9 : 28-08-2015, 07:58:26 »
unit:Stop() не канает?

Спасибо, работает
если кто найдет тему в поиске вот решение:
Код в .lua
Код
function AbilityStop(keys)
local caster = keys.caster

caster:Stop()
end

код в npc_ablity_custom.txt
Код
	"OnAbilityPhaseStart"
{
"RunScript"
{
"ScriptFile" "heroes\hero_yoruichi\Ability_3.lua"
"Function" "AbilityStop"
}
}

Правда нужно еще добавить текст с ошибкой, почему спелл не сработал

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Требования для способности
« Ответ #10 : 28-08-2015, 09:27:15 »
Спасибо, работает
если кто найдет тему в поиске вот решение:
Код в .lua
Код
function AbilityStop(keys)
local caster = keys.caster

caster:Stop()
end

код в npc_ablity_custom.txt
Код
	"OnAbilityPhaseStart"
{
"RunScript"
{
"ScriptFile" "heroes\hero_yoruichi\Ability_3.lua"
"Function" "AbilityStop"
}
}

Правда нужно еще добавить текст с ошибкой, почему спелл не сработал
Пособие, как сделать любую способность не работающей xD

Оффлайн wetalq

  • 30
  • Мощь: 0
Re: Требования для способности
« Ответ #11 : 28-08-2015, 21:04:28 »
Пособие, как сделать любую способность не работающей xD

Подскажи как вывести сообщения об ошибки, красным текстом
такое которое выскакивает если например кд способности, сайленс и т.д.
делал вот так:
Код
function AbilityStop(keys)
local caster = keys.caster

caster:Stop()
FireGameEvent( 'custom_error_show', { player_ID = caster:GetPlayerID(), _error = "ДИК" } )
end

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Требования для способности
« Ответ #12 : 29-08-2015, 00:17:27 »
Подскажи как вывести сообщения об ошибки, красным текстом
такое которое выскакивает если например кд способности, сайленс и т.д.
делал вот так:
Код
function AbilityStop(keys)
local caster = keys.caster

caster:Stop()
FireGameEvent( 'custom_error_show', { player_ID = caster:GetPlayerID(), _error = "ДИК" } )
end
Юзай от баребонс библиотеку notifications если заморачиваться не хочешь.

Оффлайн wetalq

  • 30
  • Мощь: 0
Re: Требования для способности
« Ответ #13 : 29-08-2015, 19:57:43 »
Юзай от баребонс библиотеку notifications если заморачиваться не хочешь.

github.com/bmddot...notifications.lua
она ?

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12