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

  • Автор темы Автор темы wetalq
  • Дата начала Дата начала

wetalq

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

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

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

OnAbilityPhaseStart событие срабатывает при клике на способность ?
 
[quote author=Slavko link=topic=263.msg1423#msg1423 date=1440619477]
wetalq, ага
[/quote]

а есть функция отменяющая приказ ? :С
в Warcraft 3 можно было так отменять каст способности таким способом
 
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"
		}
	}

Правда нужно еще добавить текст с ошибкой, почему спелл не сработал
 
Последнее редактирование модератором:
[quote author=wetalq link=topic=263.msg1446#msg1446 date=1440748706]
Спасибо, работает
если кто найдет тему в поиске вот решение:
Код в .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"
		}
	}

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

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

	caster:Stop()
	FireGameEvent( 'custom_error_show', { player_ID = caster:GetPlayerID(), _error = "ДИК" } )
end
 
Последнее редактирование модератором:
[quote author=wetalq link=topic=263.msg1453#msg1453 date=1440795868]
Подскажи как вывести сообщения об ошибки, красным текстом
такое которое выскакивает если например кд способности, сайленс и т.д.
делал вот так:
Код:
function AbilityStop(keys)
	local caster = keys.caster

	caster:Stop()
	FireGameEvent( 'custom_error_show', { player_ID = caster:GetPlayerID(), _error = "ДИК" } )
end
[/quote]
Юзай от баребонс библиотеку notifications если заморачиваться не хочешь.
 
Последнее редактирование модератором:
Код:
SetAnimation	void SetAnimation(string string_1)	Pass string for the animation to play on this model
Нашел единственное подходящее в API, но смущают аргументы, две строчки
 
[quote author=wetalq link=topic=263.msg1473#msg1473 date=1441126851]
Код:
SetAnimation	void SetAnimation(string string_1)	Pass string for the animation to play on this model
Нашел единственное подходящее в API, но смущают аргументы, две строчки
[/quote]
Одна строка. Первый string это указатель типа, второй имя аргумента
Код:
SetAnimation("jump");
 
Последнее редактирование модератором:
Реклама: