Скорее всего это oUF + smooth. К примеру значения здоровья и ресурса выводятся так (не буду писать для всех юнитов):
PHP код:
local units = {
'player',
'target',
'focus',
'party1',
'arena1'
};
local function Health_OnUpdate(unit)
local health = UnitHealth(unit);
local local max_health = UnitHealthMax(unit);
--[[// потом создают рамки, цепляют на них статусбары (то что ты называешь полоски хп)
и выводят текст health\max_health на эти статусбары\\]]--
end
Потом это дело паирсят при обновлении кадров или делают таймер обновления , что бы снизить нагрузку на пеку.
PHP код:
CreateFrame('frame'):SetScript('OnUpdate', function()
for _, unit in pairs(units) do Health_OnUpdate(unit) end)
Примерно по такой схеме и работают стандартные рамки хп. Но получать значение хп не обязательно таким образом. Значение можно получить и из уже известного статус бара , а после отфарматировать текст
PHP код:
tex = string.format('%.1f', health)
И уже эти значения выводить в качестве значения хп. Так вот , изобретать велосипед думаю незачем , по этому что бы получить такие плавные переходы текста можно получать значения из статусбаров.
PHP код:
Min, Max = StatusBar:GetMinMaxValues()
Min будет минимальным значением , Макс будет максимальным значения . Текущее же значение будем получать как:
PHP код:
healht = StatusBar:GetValue()
После это все выводим на статус бар в виде форматированной строки и получаем плавный переход текста.