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

Уменьшение кд скиллов

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

Оффлайн Adam Smith

  • Друзья CG
  • 468
  • Мощь: 6
  • жрять жри его
Уменьшение кд скиллов
« : 29-09-2015, 16:26:16 »
Может кто знает, как уменьшить кд скиллов в процентах, как октарин.
Решил сделать так, но не знаю как дальше, валвы дауны не сделали команду SetCooldown.

  for ability_id = 0, 5 do
      local ability = caster:GetAbilityByIndex(ability_id)
      if ability then
         ability:GetCooldown()
                       
      end
   end
end
By PG.Freeman

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Уменьшение кд скиллов
« Ответ #1 : 29-09-2015, 16:30:34 »
Может кто знает, как уменьшить кд скиллов в процентах, как октарин.
Решил сделать так, но не знаю как дальше, валвы дауны не сделали команду SetCooldown.

  for ability_id = 0, 5 do
      local ability = caster:GetAbilityByIndex(ability_id)
      if ability then
         ability:GetCooldown()
                       
      end
   end
end
Валве сделали такую команду
Код
unit:GetAbilityByIndex(i):StartCooldown(<время>)

Оффлайн Adam Smith

  • Друзья CG
  • 468
  • Мощь: 6
  • жрять жри его
Re: Уменьшение кд скиллов
« Ответ #2 : 29-09-2015, 16:35:40 »
Валве сделали такую команду
Код
unit:GetAbilityByIndex(i):StartCooldown(<время>)
Это неудобно, мне надо тогда как то отлавливать каст каждой абилки, как мне тогда это сделать?
If ability == ability and ability:CooldownTimeRemaining() == обычный then
так для каждой абилки?
« Последнее редактирование: 29-09-2015, 16:39:18 от Adam Smith »
By PG.Freeman

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Уменьшение кд скиллов
« Ответ #3 : 29-09-2015, 17:01:36 »
Это неудобно, мне надо тогда как то отлавливать каст каждой абилки, как мне тогда это сделать?
If ability == ability and ability:CooldownTimeRemaining() == обычный then
так для каждой абилки?
Смотря что делаешь. Можно сделать проверку на наличие предмета как с октарином, если есть то кд делать 0.75 от стандарта. Если со скилом, так же. Если с модификатором то HasModifier. И ты сейчас меня натолкнул на неплохую идею :)

Оффлайн Adam Smith

  • Друзья CG
  • 468
  • Мощь: 6
  • жрять жри его
Re: Уменьшение кд скиллов
« Ответ #4 : 29-09-2015, 17:18:26 »
Смотря что делаешь. Можно сделать проверку на наличие предмета как с октарином, если есть то кд делать 0.75 от стандарта. Если со скилом, так же. Если с модификатором то HasModifier. И ты сейчас меня натолкнул на неплохую идею :)
Надо, что бы если у игрока есть предмет то все кд скиллов уменьшаются на 30 процентов.
By PG.Freeman

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Уменьшение кд скиллов
« Ответ #5 : 30-09-2015, 08:28:29 »
Надо, что бы если у игрока есть предмет то все кд скиллов уменьшаются на 30 процентов.
Даешь предмету пустой модификатор не снимаем пурджем, потом в слушателе каста проверяешь есть ли у игрока модификатор через caster:HasModifier("modifier_name") , если да то следующий кулдаун меньшаешь. Пороюсь еще в api, может валве добавили что то вроде уменьшения кд как у октарина.
Вот что нарыл, попробуй.
Код
MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT
« Последнее редактирование: 30-09-2015, 08:30:28 от CryDeS »