draw
2D rendering API для cheat-overlay. 18 канонических функций: 13 drawing-примитивов и 5 утилит.
| Функций | 18 (46 с алиасами) |
| Проверено вживую | 18 из 18 |
| Требуемый event | onPaint для drawing-примитивов. Утилиты (GetScreenSize, GetTextSize, ComputeConvexHull, GetPartCorners, GetMesh) работают везде. |
| Сайд-эффекты | оверлей графики поверх Roblox-окна на один кадр |
Алиасы. Two-form (PascalCase + lowercase) для однословных глаголов (
Line/line,Rect/rect,Text/textи т.д.). Three-form (PascalCase / camelCase / snake_case) для multi-word имён (RectFilled/rectFilled/rect_filled,GetTextSize/getTextSize/get_text_size). Алиасы это разные Lua callable, см. Обзор / Конвенция именования.
Drawing-примитивы вне
onPaintмолча no-op. Проверено:draw.Lineи др. вызванные внеonPaintcallback возвращаютnilбез raise и без рендера. Не полагайся, всегда рендерь изonPaint.
Краткий справочник
Drawing-примитивы (только в onPaint)
| Функция | Сигнатура | Статус |
|---|---|---|
Line | (x1, y1, x2, y2, color: Color3, thickness?: number, alpha?: number) | проверено |
Rect | (x, y, w, h, color: Color3, thickness?, rounding?, alpha?) | проверено |
RectFilled | (x, y, w, h, color: Color3, rounding?, alpha?) | проверено |
Circle | (x, y, r, color: Color3, thickness?, segments?, alpha?) | проверено |
CircleFilled | (x, y, r, color: Color3, segments?, alpha?) | проверено |
Triangle | (x1, y1, x2, y2, x3, y3, color: Color3, thickness?, alpha?) | проверено |
TriangleFilled | (x1, y1, x2, y2, x3, y3, color: Color3, alpha?) | проверено |
Polyline | (points: table, color: Color3, closed: bool, thickness: number, alpha?) | проверено |
ConvexPolyFilled | (points: table, color: Color3, alpha?) | проверено |
Gradient | (x, y, w, h, c1: Color3, c2: Color3, isHorizontal: bool, alpha1?, alpha2?) | проверено |
Text | (text: string, x, y, color: Color3, font?: string, alpha?: number) | проверено |
TextOutlined | (text: string, x, y, color: Color3, font?: string, alpha?: number, size?: number) | проверено |
Image | (texId: number, x, y, w, h, color?: Color3, alpha?: number) | проверено |
Утилиты (работают везде)
| Функция | Сигнатура | Статус |
|---|---|---|
GetScreenSize | () → w: number, h: number | проверено |
GetTextSize | (text: string, font?: string) → w: number, h: number | проверено |
ComputeConvexHull | (points: table) → table | проверено |
GetPartCorners | (part: Instance) → table | проверено |
GetMesh | (part: Instance) → ? | проверено |
Координатная система
(0, 0) это верхний-левый угол Roblox-окна. x растёт вправо, y растёт вниз. Пиксельные единицы. Размер экрана (w, h) через GetScreenSize.
Color и alpha
Все drawing-примитивы ожидают Color3 userdata для color-аргумента, не packed RGBA ints. Используй Color3.fromRGB(r, g, b) или Color3.new(r, g, b). Alpha (где поддерживается) это отдельный trailing 0..1 аргумен т.
Шрифты
Проверено вживую через draw.GetTextSize("Hello, World!", font):
| Имя шрифта (case-sensitive) | Width × Height для "Hello, World!" |
|---|---|
"ConsolasBold" | 104 × 15 |
"SmallestPixel" | 61 × 10 |
"Verdana" | 80 × 15 |
"Tahoma" | 71 × 15 |
| omit / ничего не передавать | 71 × 15 (совпадает с Tahoma, default-шрифт) |
любое неизвестное имя ("garbage_font") | 71 × 15 (silent fallback на default) |
Передай любое другое имя и чит молча использует default-шрифт.
Line
draw.Line(x1: number, y1: number, x2: number, y2: number,
color: Color3, thickness?: number, alpha?: number)
Рисует линию на 1 кадр от (x1, y1) до (x2, y2). thickness default 1, alpha default 1.
cheat.Register("onPaint", function()
draw.Line(100, 100, 200, 100, Color3.fromRGB(255, 255, 255), 1, 1)
end)