CS2 Lua API

color

Цвет RGBA: поля r, g, b, a, целые 0–255.

color(r?: number, g?: number, b?: number, a?: number)#

Создаёт цвет. Незаданные компоненты равны 0.

Параметр Тип Описание
r, g, b number красный, зелёный, синий, 0–255
a number непрозрачность, 0–255; по умолчанию 0

Возвращает: color.

color(255, 0, 0) даёт альфу 0 — цвет полностью прозрачный, и рисование «пропадает». Всегда передавайте альфу: color(255, 0, 0, 255).

local red  = color(255, 0, 0, 255)
local half = color(255, 255, 255, 128)
print(red.r, " ", half.a)   --> 255 128

c:unpack()#

Возвращает: number, number, number, number — r, g, b, a.

local r, g, b, a = color(10, 20, 30, 255):unpack()

a:lerp(b: color, t: number)#

Плавный переход между цветами. Каждая компонента округляется и обрезается до 0–255.

Параметр Тип Описание
b color второй цвет
t number доля, 0–1

Возвращает: color.

-- Цвет по здоровью: зелёный -> красный
local function hp_color(hp)
    return color(255, 0, 0, 255):lerp(color(0, 255, 0, 255), math.max(0, math.min(hp / 100, 1)))
end

print(hp_color(25))

c:hex()#

Возвращает: string — цвет в виде "RRGGBBAA" (заглавные буквы).

local c = color(255, 128, 0, 255)
print(c:hex())   --> FF8000FF

-- цветной текст в имени элемента меню
ui.tab("Main"):group("Info"):label("\x07" .. c:hex() .. "Оранжевая строка")

У color нет арифметических операторов; == сравнивает покомпонентно.