Простые вопросы #2

danilkoo832832

Пользователь
5 Фев 2016
40
3
Узнать тип урона можно через фильтры, а вот критический или нет хз.
 
20 Дек 2016
704
97
Проект
DI:LS
Как определить, какой тип и сколько урона наноситься (чистый, магический, критический)? И как посмотреть сколько времени весит на врага дебафф (замедление, оглушение)?
MODIFIER_EVENT_ON_TAKEDAMAGE модификатор отслеживает любой урон, даже если перент не имеет к нему отношения. Распринтуй таблицу, которая передаётся в эвент. Там много несодержательных полей, но тип урона там точно есть (на счёт крита не уверен, если в этой таблице о нем инфы нет, то для отслеживания своя система критов необходима)
====================================
modifier:GetDuraton() - modifier:GetRemainingTime()
 

xDes

Активный
8 Ноя 2018
86
6
есть ли предел по юнитам на карте? сейчас втыкаю на карту крипа и все становятся невидимыми, если вместо кого-то втыкаю то же кол-во то все норм
 

Pancer

Активный
30 Мар 2017
93
3
steamcommunity.com
Проект
MARVEL Heroes
есть ли предел по юнитам на карте? сейчас втыкаю на карту крипа и все становятся невидимыми, если вместо кого-то втыкаю то же кол-во то все норм
Предел только в размерах карты, если не будет свододного места, им некуда будет спавниться.
 

Chaiok

Новичок
3 Май 2017
9
0
есть ли стандартное событие для модификатора когда цель теряет хп
нашел ток OnTakeDamage но не подходит ибо цель может получить урон но не потерять хп
 

Tekerey

Пользователь
15 Июл 2016
11
0
Как в панораме управлять порядком отображения элементов? а то при открытии таблицы счета она оказывается под моими элементами
 
20 Дек 2016
704
97
Проект
DI:LS
Мне надо именно узнать сам дебафф (замедление, стан, маг иммун и т.д), а не модификатор.
Ну определи перебором модификатор, который дает дебафф. Приведенный ниже код работает для луа-модификаторов.
Код:
local stun_duration = 0
for _, modifier in pairs( unit:FindAllModifiers() ) do
    if modifier:CheckState()[MODIFIER_STATE_STUNNED] then
        local duration = modifier:GetDuration()
        if duration > stun_duration then
            stun_duration = duration
        end
    end
end
 

Pancer

Активный
30 Мар 2017
93
3
steamcommunity.com
Проект
MARVEL Heroes
Ну определи перебором модификатор, который дает дебафф. Приведенный ниже код работает для луа-модификаторов.
Код:
local stun_duration = 0
for _, modifier in pairs( unit:FindAllModifiers() ) do
    if modifier:CheckState()[MODIFIER_STATE_STUNNED] then
        local duration = modifier:GetDuration()
        if duration > stun_duration then
            stun_duration = duration
        end
    end
end
А как это определять без конкретного модификатора? То есть любой дебафф.
 
20 Дек 2016
704
97
Проект
DI:LS
А как это определять без конкретного модификатора? То есть любой дебафф.
Никак. Только перебором модификаторов, которые имеют нужный стейт/проперти (в примере я сделал со станом, но можно и с любым другим эффектом) с выбором самого долгого. Причем работать это будет, очевидно, только с кастомными модификаторами.
 
20 Дек 2016
704
97
Проект
DI:LS
А как это определять без конкретного модификатора? То есть любой дебафф.
Кажется, я не так тебя понял. Вот так проверяется явятся ли модификатор дебафом.
modifier:IsDebuff()
Но тут тоже могут быть подводные камни, т.к. не все дебафы дают явный эффект.
 

xDes

Активный
8 Ноя 2018
86
6
мамин программист, подскажи плз, у меня есть код который определяет стим айди, и выдает по нему герою предмет, как мне выдать дисконект этому герою по этому айди)
 

.фи

Пользователь
21 Мар 2018
64
2
Как определить, какой тип и сколько урона наноситься (чистый, магический, критический)? И как посмотреть сколько времени весит на врага дебафф (замедление, оглушение)?
1. GetAbilityDamageType()
2. GetDuration()

А дальше сам.
https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/API
 
20 Дек 2016
704
97
Проект
DI:LS

ZLOY

Администратор
Команда форума
27 Июн 2016
676
75
Просто удалить хендл игрока не пробовал?
 
Реклама: