Сообщение от
Sliko
Кто-нибудь знает название аддона/имеет скрипт на динамическое изменение цвета панелей здоровья у игроков в зависимости от их хп (к примеру зелёный - полное хп, красный - почти отсутствует).
Увидел подобное в стриме Дрейнера.
цвета в rgb - красный зеленый желтый . к примеру нормальное хп это 0,1,0,1 . Так вот ты получаешь min, max = statusbar:GetMinMaxValue() и cur = statusbar:GetValue(). и так тебе нужно получать процент из этого , т.е cur/max - это и будет твой констант =)
Ну из этого следует логика:
PHP код:
local function GetPerc(self)
local const = self:GetValue()/select(2, self:GetMinMaxValue());
return const;
end
local function OnColorChange(self)
local perc = GetPerc(self);
self:SetStatusBarColor(1-perc, perc, 0, 1);
end
--ну дальше хук за нужный статус бар и готово:
statusbar:SetScript("OnValueChanged", OnColorChange);
Ну это так , типа самое примитивное что пришло в голову, но такой способ будет на 100% работать. Можно еще пару условий поставить , что бы к примеру нижний предел красного был на 20% , т.е при 20% хп красный будет 1 , а зеленый 0.
- - - Updated - - -
Сообщение от
Digislim
Подскажите аддон
Ну если не найду готовый , мб буду с нуля писькать и салью сюда код ненароком... к стати залей сюда оригинал скрина , с которого ты это вырезал.