Хех =-)
Что ж, погуглил этот код, взгрустнул от того, что он дубово переключает цвет без полутонов, захотел написать свой.
В общем, смотрите:
function(progress, r1, g1, b1, a1, r2, g2, b2, a2)
-- Константы
local green_point = 0.9
local yellow_point = 0.7
local red_point = 0.3
-- Вспомогательная функция
function calculate_color( begin_point, end_point, current_point, pos_to_end )
local delta = begin_point - end_point
local pos
if pos_to_end then
pos = current_point - end_point
else
pos = begin_point - current_point
end
return pos / delta
end
-- Основной код
local player_health = (UnitHealth("player")/UnitHealthMax("player"))
local red, green, blue = 0,0,0
if player_health > green_point then
red, green = 0, 1
elseif player_health > yellow_point then
red, green = calculate_color(green_point, yellow_point, player_health, false), 1
elseif player_health > red_point then
red, green = 1, calculate_color(yellow_point, red_point, player_health, true)
else
red, green = 1, 0
end
return red, green, blue, 1
end
Блок констант в начале определяет границы временного градиента и его скорость - то есть, на скольких % здоровья полоска будет еще зеленой (в примере 90%), на скольких станет полностью желтой (в примере 70%), а на скольких - будет уже полностью красной (в примере 30%).
Заодно сделал отображение здоровья в процентах на этой полоске:
function ()
local player_health = (UnitHealth("player")/UnitHealthMax("player"))*100
return floor(player_health) .. "%%"
end
Код для WA-импорта:
d41RkaGifIlHi0OajNcKAvQkjVsHu1Suk3svv7srLFHiyyqYXuQwMs0Zuu10aW1GGTPe6Ba04OQ05GqZtvrX9Gi7drKdsvLwiGQhQQaDrvLkBurPpQQu1iPQkNeruRurEPQsXmvvu6MQkHDQq9taLHQQqAPkkEkftfixLQcFvvP0Ef(lvzWshMslwvLhJWKvsxw0MruFgeJwbNwvMnu3gq2nQ(nvgoOwokphjtxLRJuBxHKVtvvnELGZdP2p5bRkuEXQcXpwvIoAe16wvsTVePMWQcQzSQq1ZwveE3QIkhirs)Bvrv3RQIgwIetBvr04wvqM3QcybvvHnuvfznlKsdnOwYcP4AlKkNBvrQ9uvf1YwvKCShGcdqHznmRbOWSaWitMkVy2)i4lc7(I48aaiGlcike3rfK)daaHbnWitMkVy2fb03539fbaNFhrabC5secY)baHW8iC84xyi743SyleQWamFa6ZsYJ)UW8ZY(GoSJfGIXlJzbaHL7lxeLVOwopGiciIldY)raXy88XSiSic7ia4IOqTerabaqaqfK)JGVXfgSZUgGcdnv6XZrLS4xyolo5xakmarJVxakU4cdnv6rGTuuXVWWSezakmarJVxakU4cdzlX9C8auyaIgFVauCXfgMdNbOWq94qWzya53XFtyaIgFVauya53XFta84IlmeylfvakmupoeCgMV1VZmdjdSzcdq047fGcZ363zMHKb2mbWdZma779X3fapU4cZ6Jm5hbn(qhGcdq047fGIlU4cdlH8CCqOHZWyPz2FwwyE835r4acgNxUgJ3dZLlC0Smma7y2r9cJfdpyJXOMZ3WqqtDoGaLlCHHmnN4EoUkuqRjvvvvSJWIvHXw0jZBiT4BqfjvO8b)D(lT4BaQrGXw0jBeOjbFWFN)sl(g(c7cqncm2IozJan0F1okuAsvvvLLhnJRsg7CmOGXw0jZBiT4BaA15MtvDesKehrtjFnmw(di79C8auyaY(4bOWq4Wo2mX49WSsZS3ZXdZEySy4bli0WzyiOPohqHHWHDmGhJ3ddHd7yFFmEpmwm8GDwAoryuvvvz5rZ4QKP5e3ZXHcM5GWskQnvQZYUn11eFwO1KQQQQQklpAgxL6SStD0RcfmZbHLuuQFL6AIpl0Asvvvn5RAsvnm0uPNfdpyJFH5qdNHHGM6CafgAQ0JWHDSa4HXIHhSXyuHHIWIZfIX7HbDmgvyiCyhdeA4mme0uNdOWSqmgvyiCyhZVX49Wq4Wo2S0CIWWYJMXvjtZjUNJdfmZbHLuuBQS9nvi7BQ)23uT7BQSLBQqwUP(B5MQDj0Asvvv9)FvWJwWKgSprMur2patkG9jY(bYFenPQQQIDewSkewMCpy3JFQiPIAoe1KQQQk2ryXQOtm25Fpy3JFQiPIAoa1KQQQk2ryXQSC1d294NksQOMBEnPQQQQjvvv1))vbpAqMub)5btAWFaWKg8NamPGSFaE0b(ZH8hhSpbtki)LQi)Hr(Jb2NG)AK9tG)qi)LAsvvvLmnN4EoUkHftqJTx6r4WoguQ)sipUhS7XVn1KV6b7E8BtLGMXs(5b7E8Btf2r5DoVKVQcTMuvvvvvvvXoclwDnXNvfj1FjKh3d294N6F1KV6b7E8ttQQQQQQQQyhHfRc7O0KQQQQQQQ6JSkSJY7CEjFv9gsUMuvvvvvvvvvvvHDuQiPsqZyj)8GDp(P(xn5REWUh)0KQQQQQQQAIPsnPQQQQQQQQQQQc7Ours9xc5X9GDp(P(xLGMXs(5b7E8ttQQQQQQQQjFvtQQQQQQQQAsvvvvvvvLLhnJRc7Oujb11eFwnPQQQM8vnPQQQQjvvv1))vb7NrMub7tWKg8NcSpbtAWFAvWFnysd(tQjvvvvSJWIvHXw0jZBiT4BqfjvO8b)D(lT4BaQrGXw0jBeOjbFWFN)sl(g(c7cqncm2IozJan0Asvvvf7iSyvwUUPcHLjFt9hMovrsf1gQnuAsvvv9rwfgBrNmVH0IVbvssfcltUhS7Xp1Bi5AsvvvvvvvLLRBQqyzYvrsf1M6UMuvvvtmv(iRcJTOtM3qAX3GkjPIoXyN)9GDp(PEdjxtQQQQQQQQSCDtfcltUksQewmbn2EPhHd7yqbHLj3d2943Mk6eJD(3d2943Mkm2IozEdPfFdBQKTyQe6n1DnPQQQMyQ8rwfgBrNmVH0IVbvssLLREWUh)uVHKRjvvvvvvvvwUUPcHLjxfj19nvclMGgBV0JWHDmOqNySZ)EWUh)2uz5QhS7XVnvySfDY8gsl(g2upgDcTMuvvvtmvQjvvvvvvvvwUUPcHLjxfj19nvuAsvvvn5RAsvvvLLhnJRYY1nviSm5BQ)W05M6UMs(AyyUZEzmgvyOiS4eDmEpU4cZXEqGKSauyo0WzyOo7rtfgAQ0BiT4Bi(fg4KrK8BiT4BimiIkm0uPhn)DbWddnphvYVWyPpxyOPsp4KrK8BiT4Bi(fg4KrK8BiT4BWZbNm75yH5ZGuCH5YfU4xygYhKHlMfWfxIAraNF5(I7(cW8Oqmi)haFdZ6JcgBrdkx4M5bz4cdjseMhFujJkdGhg7667EoUf7DSheijJkafxy8)B9gIzryraqyFjIiI48icacO8fGG8FaaimV1W4VpAy40abI9GajzuX494cdvywo3(COMB33WmQy8oal3Jlca
Надеюсь, еще кому-нибудь это пригодится =-)