# Table of Contents - [🍵 Matcha LuaVM Unofficial Documentation](#-matcha-luavm-unofficial-documentation) - [Lua Environment Reference](#lua-environment-reference) - [Global Functions 🌐](#global-functions-) - [string Library 📜](#string-library-) - [math Library 🧮](#math-library-) - [table Library 📚](#table-library-) - [os Library 🖥️](#os-library-) - [coroutine Library ♻️](#coroutine-library-) - [package Library 📦](#package-library-) - [Environment Specific Globals ✨](#environment-specific-globals-) - [🚫 Blocked Functions](#-blocked-functions) - [Drawing library 🎨](#drawing-library-) - [Drawing.new(Text) 📄](#drawing-new-text-) - [Common Properties ✨](#common-properties-) - [Drawing.new(Square) 🟧](#drawing-new-square-) - [Drawing.new(Circle) ⚪](#drawing-new-circle-) - [Drawing.new(Triangle) 🔺](#drawing-new-triangle-) - [Drawing.new(Quad) ](#drawing-new-quad-) - [Drawing.new(Image) 🖼️](#drawing-new-image-) - [Drawing.new(Line) 📏](#drawing-new-line-) - [Not Found](#not-found) - [Not Found](#not-found) - [Not Found](#not-found) - [Not Found](#not-found) - [Not Found](#not-found) - [Not Found](#not-found) - [Not Found](#not-found) --- # 🍵 Matcha LuaVM Unofficial Documentation [#](https://5d79.live/#matcha-luavm-unofficial-documentation) 🍵 Matcha LuaVM Unofficial Documentation ====================================================================================================== Maintained by @5d79 This documentation is not affiliated with Matcha! * * * [#](https://5d79.live/#what-is-matcha-luavm) What is Matcha LuaVM ----------------------------------------------------------------- Matcha LuaVM is an advanced and regularly updated external Lua virtual machine for Roblox scripting It lets you run Lua scripts that interact with Roblox from outside the game process, there is no DLL injection * * * [#](https://5d79.live/#external-luavm-vs-executor) External LuaVM vs Executor ----------------------------------------------------------------------------- | Feature | External LuaVM (Matcha) | Internal Executor | | --- | --- | --- | | Inside Roblox Process | 🚫 No | ✅ Yes | | Injection Required | 🚫 No | ✅ Yes | | API Access | 🟡 Partial Simulated | 🟢 Full Roblox Engine | | Detection Risk | 🟢 Very Low (basically 0 percent ban chance) | 🔴 High | External LuaVMs like Matcha run outside of Roblox and interact with the game safely and indirectly There is a much lower detection risk (almost zero ban chance) but not all features of the Roblox engine are available * * * [#](https://5d79.live/#community) Community ------------------------------------------- Join the official Matcha Discord server for help and community scripts: [discord.gg/matchalol](https://discord.gg/matchalol) Contents * [What is Matcha LuaVM](https://5d79.live/#what-is-matcha-luavm) * [External LuaVM vs Executor](https://5d79.live/#external-luavm-vs-executor) * [Community](https://5d79.live/#community) --- # Lua Environment Reference [#](https://5d79.live/functions/#lua-environment-reference) Lua Environment Reference ===================================================================================== Welcome to the reference documentation for this specific Lua environment. This documentation details the available global functions, standard libraries (like `math`, `string`, `table`), environment-specific additions (like `Drawing`, `Vector3`), and importantly, lists functions that are **blocked** and cannot be used. Navigate through the sections using the sidebar to explore the available functionalities. * [**🌐 Global Functions**](https://5d79.live/functions/globals/) : Core functions available everywhere. * [**🧮 Math Library**](https://5d79.live/functions/math/) : Mathematical operations. * [**📜 String Library**](https://5d79.live/functions/string/) : String manipulation. * [**📚 Table Library**](https://5d79.live/functions/table/) : Table manipulation. * [**♻️ Coroutine Library**](https://5d79.live/functions/coroutine/) : Coroutine handling. * [**🖥️ OS Library**](https://5d79.live/functions/os/) : Operating system interactions (limited). * [**📦 Package Library**](https://5d79.live/functions/package/) : Module loading. * [**✨ Environment Specific**](https://5d79.live/functions/environment_specific/) : Functions/Objects unique to Matcha LuaVM. * [**🚫 Blocked Functions**](https://5d79.live/functions/blocked_functions/) : Restricted functions. --- # Global Functions 🌐 [#](https://5d79.live/functions/globals/#global-functions) Global Functions 🌐 ============================================================================== These functions are available directly in the global namespace (`_G`). | Function Signature | Description | | --- | --- | | `assert(value, [message])` | Checks if `value` is true, otherwise errors with `message`. | | `collectgarbage(...)` | Interface to the garbage collector (options depend on Lua version). | | `decompile(...)` | Attempts to decompile Lua bytecode. _Availability/success may vary._ | | `error(message [, level])` | Terminates the last protected function called, returning `message`. | | `gcinfo()` | _Deprecated._ Returns memory usage. Often alias for `collectgarbage('count')`. | | `ipairs(t)` | Returns an iterator for numerical indices (1 to n) in table `t`. | | `module(name [, ···])` | Creates a module (older Lua style). | | `newproxy([uservalue])` | Creates a userdata object with settable metatable and optional value. | | `next(table [, index])` | Allows traversal of all key-value pairs in a table. | | `pairs(t)` | Returns an iterator function to traverse all key-value pairs in table `t`. | | `pcall(f, arg1, ...)` | Calls function `f` in protected mode, catching errors. | | `print(...)` | Prints arguments to the standard output/console. | | `printidentity()` | Prints the current security identity level. _Environment Specific._ | | `printl(...)` | Similar to `print`, possibly with line/level info. _Environment Specific._ | | `rawequal(v1, v2)` | Checks equality without invoking the `__eq` metamethod. | | `rawget(table, index)` | Gets `table[index]` without invoking the `__index` metamethod. | | `rawset(table, index, value)` | Sets `table[index]` without invoking the `__newindex` metamethod. | | `require(modname)` | Loads the specified module. | | `select(index, ...)` | Returns arguments after a given index from a variable argument list. | | `setclipboard(text)` | Sets the system clipboard text. _Environment Specific._ | | `setField(instance, prop, val)` | Sets a property on an instance. _Environment Specific._ | | `spawn(f)` | Executes function `f` in a new coroutine/thread. _Environment Specific._ | | `tonumber(e [, base])` | Converts argument `e` to a number. | | `tostring(e)` | Converts argument `e` to a string, using `__tostring` if available. | | `type(v)` | Returns the type of `v` as a string (e.g., "string", "table"). | | `unpack(list [, i [, j]])` | Returns elements from the given table `list`. | | `wait([seconds])` | Pauses script execution. _Environment Specific._ | | `xpcall(f, err)` | Calls function `f` in protected mode with a custom error handler `err`. | --- # string Library 📜 [#](https://5d79.live/functions/string/#string-library) `string` Library 📜 =========================================================================== Provides functions for string manipulation. Accessed via `string.`. | Function Signature | Description | | --- | --- | | `string.byte(s [, i [, j]])` | Returns the numerical codes of characters `s[i]` to `s[j]`. | | `string.char(...)` | Returns a string formed by characters with the given numerical codes. | | `string.dump(function)` | Returns a binary representation (bytecode) of the given function. | | `string.find(s, pattern, ...)` | Looks for the first match of `pattern` in string `s`. | | `string.format(formatstr, ...)` | Returns a formatted version of its variable number of arguments. | | `string.gmatch(s, pattern)` | Returns an iterator function for matches of `pattern` over string `s`. | | `string.gsub(s, pattern, repl, ...)` | Replaces all occurrences of `pattern` in `s` with `repl`. | | `string.len(s)` | Returns the length of string `s`. | | `string.lower(s)` | Returns a copy of `s` with all uppercase letters changed to lowercase. | | `string.match(s, pattern, ...)` | Looks for the first match of `pattern` in string `s`, returns captures. | | `string.rep(s, n)` | Returns a string that is the concatenation of `n` copies of string `s`. | | `string.reverse(s)` | Returns a reversed copy of string `s`. | | `string.sub(s, i [, j])` | Returns the substring of `s` from index `i` to `j`. | | `string.upper(s)` | Returns a copy of `s` with all lowercase letters changed to uppercase. | | `string.gfind(s, pattern)` | _Deprecated alias for `string.gmatch`._ | --- # math Library 🧮 [#](https://5d79.live/functions/math/#math-library) `math` Library 🧮 ===================================================================== Provides standard mathematical functions. Accessed via `math.`. | Function Signature | Description | | --- | --- | | `math.abs(x)` | Returns the absolute value of `x`. | | `math.acos(x)` | Returns the arc cosine of `x` (in radians). | | `math.asin(x)` | Returns the arc sine of `x` (in radians). | | `math.atan(x)` | Returns the arc tangent of `x` (in radians). | | `math.atan2(y, x)` | Returns the arc tangent of `y/x` (in radians). | | `math.ceil(x)` | Returns the smallest integer greater than or equal to `x`. | | `math.cos(x)` | Returns the cosine of `x` (assumed to be in radians). | | `math.cosh(x)` | Returns the hyperbolic cosine of `x`. | | `math.deg(x)` | Converts angle `x` from radians to degrees. | | `math.exp(x)` | Returns the value ex. | | `math.floor(x)` | Returns the largest integer smaller than or equal to `x`. | | `math.fmod(x, y)` | Returns the remainder of the division of `x` by `y`. | | `math.frexp(x)` | Returns `m` and `e` such that x = m \* 2e. | | `math.ldexp(m, e)` | Returns m \* 2e. | | `math.log(x)` | Returns the natural logarithm of `x`. | | `math.log10(x)` | Returns the base-10 logarithm of `x`. | | `math.max(x, ...)` | Returns the maximum value among its arguments. | | `math.min(x, ...)` | Returns the minimum value among its arguments. | | `math.modf(x)` | Returns the integral and fractional parts of `x`. | | `math.pow(x, y)` | Returns xy. | | `math.rad(x)` | Converts angle `x` from degrees to radians. | | `math.random([m [, n]])` | Returns a pseudo-random number. | | `math.randomseed(x)` | Sets `x` as the seed for the pseudo-random generator. | | `math.sin(x)` | Returns the sine of `x` (assumed to be in radians). | | `math.sinh(x)` | Returns the hyperbolic sine of `x`. | | `math.sqrt(x)` | Returns the square root of `x`. | | `math.tan(x)` | Returns the tangent of `x` (assumed to be in radians). | | `math.tanh(x)` | Returns the hyperbolic tangent of `x`. | --- # table Library 📚 [#](https://5d79.live/functions/table/#table-library) `table` Library 📚 ======================================================================== Provides functions for manipulating tables. Accessed via `table.`. | Function Signature | Description | | --- | --- | | `table.concat(list, [sep, [i, [j]]])` | Concatenates table elements from `i` to `j` with `sep`. | | `table.foreach(table, f)` | _Deprecated._ Executes `f` for each key-value pair in `table`. | | `table.foreachi(table, f)` | _Deprecated._ Executes `f` for each numerical index in `table`. | | `table.insert(list, [pos,] value)` | Inserts `value` into `list` at `pos` (default end). | | `table.maxn(table)` | _Deprecated._ Returns the largest numerical key in `table`. | | `table.remove(list [, pos])` | Removes element at `pos` (default last) from `list`. | | `table.sort(list [, comp])` | Sorts elements of `list` in-place. | | `table.getn(table)` | _Deprecated alias for the length operator `#`._ | | `table.setn(table, n)` | _Deprecated._ (Intended for pre-sized arrays, rarely used). | --- # os Library 🖥️ [#](https://5d79.live/functions/os/#os-library) `os` Library 🖥️ ================================================================ Provides access to some operating system facilities. **Note:** Many potentially unsafe `os` functions are blocked in this environment. See the [Blocked Functions](https://5d79.live/functions/blocked_functions/) list. Accessed via `os.`. | Function Signature | Description | | --- | --- | | `os.clock()` | Returns CPU time used by the program in seconds. | | `os.date([fmt [, t]])` | Returns a string or table containing date/time, formatted by `fmt`. | | `os.difftime(t2, t1)` | Returns the difference in seconds between times `t1` and `t2`. | | `os.time([table])` | Returns the current time, or converts a time `table` to seconds. | --- # coroutine Library ♻️ [#](https://5d79.live/functions/coroutine/#coroutine-library) `coroutine` Library ♻️ ==================================================================================== Provides functions to create and manipulate coroutines (collaborative threads). Accessed via `coroutine.`. | Function Signature | Description | | --- | --- | | `coroutine.create(f)` | Creates a new coroutine with body `f`, returns the coroutine object. | | `coroutine.resume(co, ...)` | Starts or continues execution of coroutine `co`, passing arguments. | | `coroutine.running()` | Returns the currently running coroutine object. | | `coroutine.status(co)` | Returns the status of coroutine `co` ("running", "suspended", etc.). | | `coroutine.wrap(f)` | Creates a coroutine, returns a function that resumes it on each call. | | `coroutine.yield(...)` | Suspends execution of the calling coroutine, passing arguments back. | --- # package Library 📦 [#](https://5d79.live/functions/package/#package-library) `package` Library 📦 ============================================================================== Provides functions for loading Lua modules. **Note:** Functions related to loading C libraries (`loadlib`) or modifying the default loaders might be blocked. See the [Blocked Functions](https://5d79.live/functions/blocked_functions/) list. | Function / Table | Description | | --- | --- | | `package.searchpath(n, p, [s, [r]])` | Searches for file `n` within the given `path` string. | | `package.seeall(module)` | Sets metatable for `module` to make globals accessible directly. | | `package.loaders` | **(Likely Blocked)** Table holding searcher functions used by `require`. | | `package.loadlib(lib, fun)` | **(Likely Blocked)** Loads a C library. | --- # Environment Specific Globals ✨ [#](https://5d79.live/functions/environment_specific/#environment-specific-globals) Environment Specific Globals ✨ ================================================================================================================== Here’s a quick, no-nonsense rundown of global objects, functions, and properties you get in Matcha LuaVM (yeah, that’s the one with the extra restrictions, no shenanigans like getgenv or hookfunction). This is your toolbox—use it well. * * * [#](https://5d79.live/functions/environment_specific/#global-objects) Global Objects ------------------------------------------------------------------------------------ | Name | Type | Description | | --- | --- | --- | | `game` | Instance | The root of everything—think DataModel in Roblox. | | `workspace` | Instance | All visible stuff in-game lives here. | * * * [#](https://5d79.live/functions/environment_specific/#instance-methods--properties) Instance Methods & Properties ----------------------------------------------------------------------------------------------------------------- | Name / Signature | Description | | --- | --- | | `Instance.Name` | The name of this instance. | | `Instance:FindFirstChild(childName)` | Returns the first child with the name, or `nil` if not found. | | `Instance:FindFirstChildOfClass(className)` | Returns the first child of the given class, or `nil`. | | `Instance:GetService(serviceName)` | Gets a service by name (usually from `game`). | | `Instance:GetFullName()` | Full hierarchical name as a string. | | `Instance:GetChildren()` | Array with all direct children. | | `Instance:GetPlayers()` | Array with all player instances. | | `Instance:GetDescendants()` | Array with all descendants (children, grandkids, etc.). | * * * [#](https://5d79.live/functions/environment_specific/#key-global-functions) Key Global Functions ------------------------------------------------------------------------------------------------ | Signature | Description | | --- | --- | | `printl(...)` | Like print, but spicier. Dumps arguments to console. | | `wait(seconds)` | Halts script for the given time (returns actual waited). | | `setclipboard(text)` | Puts text on your clipboard. | | `messagebox(text)` | Pops up a message box. Returns user’s response. | * * * [#](https://5d79.live/functions/environment_specific/#input--automation) Input & Automation ------------------------------------------------------------------------------------------- | Signature | Description | | --- | --- | | `isrbxactive()` | True if window is focused, false if not. | | `keypress(keyCode)` | Simulates key press. | | `keyrelease(keyCode)` | Simulates key release. | | `mouse1click()` / `mouse1press()` / `mouse1release()` | Left mouse click/press/release. | | `mouse2click()` / `mouse2press()` / `mouse2release()` | Right mouse click/press/release. | | `mousescroll(delta)` | Scrolls mouse wheel by delta. | | `mousemoverel(x, y)` | Moves mouse relative to its current position. | | `mousemoveabs(x, y)` | Moves mouse to absolute screen coords. | * * * [#](https://5d79.live/functions/environment_specific/#workspace--camera) Workspace & Camera ------------------------------------------------------------------------------------------- | Property | Description | | --- | --- | | `Workspace.CurrentCamera` | The active camera instance. | | `Camera.FieldOfView` | Gets/Sets the camera’s FOV (number). | * * * [#](https://5d79.live/functions/environment_specific/#humanoid--player-stuff) Humanoid & Player Stuff ----------------------------------------------------------------------------------------------------- | Property | Description | | --- | --- | | `Humanoid.WalkSpeed` (number) | Sets how fast the humanoid walks. | | `Humanoid.JumpPower` (number) | Sets jump power. | | `Humanoid.JumpHeight` (number) | Sets jump height. | | `Humanoid.Sit` (boolean) | Makes the character sit/stand. | | `Players.LocalPlayer` | The local player instance. | | `Player.Character` | The player’s character model. | * * * [#](https://5d79.live/functions/environment_specific/#basepart-stuff) BasePart Stuff ------------------------------------------------------------------------------------ | Property | Description | | --- | --- | | `Part.Position` (Vector3) | 3D position of the part. | | `Part.CFrame` (CFrame) | 3D transformation matrix of the part. | | `Part.CanCollide` (boolean) | If true, part is solid. | * * * [#](https://5d79.live/functions/environment_specific/#userdata--types) Userdata & Types --------------------------------------------------------------------------------------- | Name | Description | | --- | --- | | `Vector2(x, y)` | 2D vectors, often for screen positions. | | `Vector3(x, y, z)` | 3D vectors, world positions and such. | | `Color3(r, g, b)` | Color values (0-1 floats). | **Metamethods** * `__index` (getter): Supports ` BasePart.Position` etc. * `__newindex` (setter): Set values for Vector3/CFrame properties. * * * [#](https://5d79.live/functions/environment_specific/#utility) Utility ---------------------------------------------------------------------- | Signature | Description | | --- | --- | | `WorldToScreen(Vector3 pos)` | Converts 3D world coordinates to 2D screen XY. | | `iskeypressed(kc)` | True if key is currently held down. | | `ismouse1pressed()` | True if left mouse button is held. | * * * Contents * [Global Objects](https://5d79.live/functions/environment_specific/#global-objects) * [Instance Methods & Properties](https://5d79.live/functions/environment_specific/#instance-methods--properties) * [Key Global Functions](https://5d79.live/functions/environment_specific/#key-global-functions) * [Input & Automation](https://5d79.live/functions/environment_specific/#input--automation) * [Workspace & Camera](https://5d79.live/functions/environment_specific/#workspace--camera) * [Humanoid & Player Stuff](https://5d79.live/functions/environment_specific/#humanoid--player-stuff) * [BasePart Stuff](https://5d79.live/functions/environment_specific/#basepart-stuff) * [Userdata & Types](https://5d79.live/functions/environment_specific/#userdata--types) * [Utility](https://5d79.live/functions/environment_specific/#utility) --- # 🚫 Blocked Functions [#](https://5d79.live/functions/blocked_functions/#blocked-functions) 🚫 Blocked Functions ========================================================================================== The following functions are **blocked** in this environment. Calling them will likely result in an error (e.g., "Vulnerable function call blocked"). [#](https://5d79.live/functions/blocked_functions/#os-library) `os` Library --------------------------------------------------------------------------- | Function Signature | Original Purpose | | --- | --- | | `os.execute([command])` | Executes a system command. | | `os.exit([code])` | Terminates the host program. | | `os.getenv(varname)` | Gets a process environment variable. | | `os.remove(filename)` | Deletes a file. | | `os.rename(old, new)` | Renames a file. | | `os.setlocale(...)` | Sets the current locale. | | `os.tmpname()` | Returns a temporary file name. | [#](https://5d79.live/functions/blocked_functions/#io-library-entire-library-blocked) `io` Library (Entire Library Blocked) --------------------------------------------------------------------------------------------------------------------------- All standard `io` functions are blocked. | Function Signature | Original Purpose | | --- | --- | | `io.close([file])` | Closes a file handle. | | `io.flush()` | Flushes the default output buffer. | | `io.input([file])` | Sets/gets the default input file handle. | | `io.lines([filename])` | Returns iterator for lines in a file. | | `io.open(filename, mode)` | Opens a file, returns a file handle. | | `io.output([file])` | Sets/gets the default output file handle. | | `io.popen(prog, mode)` | Starts a process, returns a file handle. | | `io.read(...)` | Reads from the default input file handle. | | `io.tmpfile()` | Returns a handle for a temporary file. | | `io.type(obj)` | Checks if `obj` is a valid file handle. | | `io.write(...)` | Writes to the default output file handle. | [#](https://5d79.live/functions/blocked_functions/#debug-library-entire-library-blocked) `debug` Library (Entire Library Blocked) --------------------------------------------------------------------------------------------------------------------------------- All standard `debug` functions are blocked. | Function Signature | Original Purpose | | --- | --- | | `debug.debug()` | Enters interactive debug mode. | | `debug.getfenv(o)` | Gets function/thread environment. | | `debug.gethook(...)` | Gets the current debug hook settings. | | `debug.getinfo(...)` | Returns info about a function/stack level. | | `debug.getlocal(...)` | Gets info about a local variable. | | `debug.getmetatable(o)` | Gets the metatable of an object. | | `debug.getregistry()` | Returns the registry table. | | `debug.getupvalue(f, up)` | Gets info about a function upvalue. | | `debug.setfenv(f, tbl)` | Sets function/thread environment. | | `debug.sethook(...)` | Sets the debug hook function/mask. | | `debug.setlocal(...)` | Sets the value of a local variable. | | `debug.setmetatable(o, t)` | Sets the metatable of an object. | | `debug.setupvalue(f, ...)` | Sets the value of a function upvalue. | | `debug.traceback(...)` | Generates a stack traceback string. | | `debug.upvalueid(f, n)` | Returns unique ID for an upvalue. | | `debug.upvaluejoin(...)` | Makes two upvalues share their value. | [#](https://5d79.live/functions/blocked_functions/#global-functions--dynamic-code) Global Functions / Dynamic Code ------------------------------------------------------------------------------------------------------------------ | Function Signature | Original Purpose | | --- | --- | | `dofile(filename)` | Executes a file as a Lua chunk. | | `load(func, ...)` | Loads a chunk from a reader function. | | `loadfile([filename])` | Loads a chunk from a file (doesn't run it). | | `loadstring(s, ...)` | Loads a chunk from a string (doesn't run it). | | `getfenv([f])` | Gets the environment table of a function. | | `setfenv(f, table)` | Sets the environment table of a function. | | `getmetatable(object)` | Gets the metatable of an object. | | `setmetatable(table, mt)` | Sets the metatable of a table. | [#](https://5d79.live/functions/blocked_functions/#package-library-specific-functions) `package` Library (Specific Functions) ----------------------------------------------------------------------------------------------------------------------------- | Function Signature | Original Purpose | | --- | --- | | `package.loadlib(...)` | Loads a C library dynamically. | | `package.loaders` | Table of loader functions (modifying is risky). | Contents * [os Library](https://5d79.live/functions/blocked_functions/#os-library) * [io Library (Entire Library Blocked)](https://5d79.live/functions/blocked_functions/#io-library-entire-library-blocked) * [debug Library (Entire Library Blocked)](https://5d79.live/functions/blocked_functions/#debug-library-entire-library-blocked) * [Global Functions / Dynamic Code](https://5d79.live/functions/blocked_functions/#global-functions--dynamic-code) * [package Library (Specific Functions)](https://5d79.live/functions/blocked_functions/#package-library-specific-functions) --- # Drawing library 🎨 [#](https://5d79.live/drawing/#drawing-library) Drawing library 🎨 ================================================================== The `Drawing` library allows you to create and manage 2D graphical elements directly on the screen. This is useful for creating custom UI, ESP (Extra Sensory Perception) elements, or other visual overlays. [#](https://5d79.live/drawing/#core-concept) Core Concept --------------------------------------------------------- 1. **Create:** You create a drawing object using `Drawing.new(type)`, where `type` is a string like `"Text"`, `"Line"`, `"Circle"`, etc. 2. **Configure:** You set properties on the returned object (e.g., `myLine.Visible = true`, `myText.Color = Color3(1, 0, 0)`). 3. **Manage:** The object draws automatically based on its properties. You can change properties dynamically. 4. **Remove:** When you no longer need the drawing, call the `:Remove()` method on the object to clean it up (e.g., `myCircle:Remove()`). `-- Example: Create a simple red line local line = Drawing.new("Line") line.From = Vector2(10, 10) line.To = Vector2(100, 100) line.Color = Color3(1, 0, 0) -- Red line.Thickness = 2 line.Visible = true -- line:Remove()` [#](https://5d79.live/drawing/#available-drawing-types) Available Drawing Types ------------------------------------------------------------------------------- Select a drawing type below to see its specific properties and examples: * [**Common Properties**](https://5d79.live/drawing/common-properties.md) : Properties shared by most types. * [**Text**](https://5d79.live/drawing/text/) 📄 * [**Line**](https://5d79.live/drawing/line/) 📏 * [**Square**](https://5d79.live/drawing/square/) 🟧 * [**Circle**](https://5d79.live/drawing/circle/) ⚪ * [**Quad**](https://5d79.live/drawing/quad/) * [**Triangle**](https://5d79.live/drawing/triangle/) 🔺 * [**Image**](https://5d79.live/drawing/image/) 🖼️ _Remember: You need `Color3()` and `Vector2()` constructors available in your environment._ Contents * [Core Concept](https://5d79.live/drawing/#core-concept) * [Available Drawing Types](https://5d79.live/drawing/#available-drawing-types) --- # Drawing.new(Text) 📄 [#](https://5d79.live/drawing/text/#drawing-new-text) `Drawing.new("Text")` 📄 ============================================================================== Draws text on the screen. [#](https://5d79.live/drawing/text/#key-properties) Key Properties ------------------------------------------------------------------ | Property | Type | Description | | --- | --- | --- | | `Text` | `string` | The actual text content to display. | | `Size` | `number` | Font size in pixels. (Note: Overlaps common `Size` Vector2 property). | | `Font` | `enum` | Specifies the font style (e.g., `Drawing.Font.UI`, `Drawing.Font.System`). | | `Center` | `boolean` | If true, centers the text horizontally within its bounds (`Position` becomes center). | | `Outline` | `boolean` | If true, draws a black outline around the text. | | `OutlineColor` | `Color3` | Sets the color of the outline if `Outline` is true. | | `TextBounds` | `Vector2` | **Read-Only:** The calculated width and height of the rendered text. | [#](https://5d79.live/drawing/text/#common-properties) Common Properties ------------------------------------------------------------------------ Uses common properties like `Visible`, `Color`, `Transparency`, `Position`, `ZIndex`. See [Common Properties](https://5d79.live/drawing/text/common-properties.md) . [#](https://5d79.live/drawing/text/#example) Example ---------------------------------------------------- `local myLabel = Drawing.new("Text") myLabel.Visible = true myLabel.Text = "Hello, World!" myLabel.Color = Color3(1, 1, 0) -- Yellow myLabel.Size = 18 -- Font size myLabel.Position = Vector2(200, 50) myLabel.Center = true myLabel.Outline = true myLabel.ZIndex = 5 -- myLabel:Remove()` Contents * [Key Properties](https://5d79.live/drawing/text/#key-properties) * [Common Properties](https://5d79.live/drawing/text/#common-properties) * [Example](https://5d79.live/drawing/text/#example) --- # Common Properties ✨ [#](https://5d79.live/drawing/common_properties/#common-properties) Common Properties ✨ ======================================================================================= These properties are generally available and useful for most, if not all, `Drawing` object types. | Property | Type | Description | Example Usage | | --- | --- | --- | --- | | `Visible` | `boolean` | Controls whether the drawing object is rendered on screen. | `myDrawing.Visible = true` | | `Color` | `Color3` | Sets the primary color of the drawing (fill color for shapes, text color). | `myDrawing.Color = Color3(0,1,0)` | | `Transparency` | `number` | Sets the transparency (0 = opaque, 1 = fully transparent). | `myDrawing.Transparency = 0.5` | | `ZIndex` | `number` | Controls the stacking order (higher values appear on top). | `myDrawing.ZIndex = 10` | | `Position` | `Vector2` | The top-left screen coordinate (or center for some types like Circle). | `myDrawing.Position = Vector2(50, 50)` | | `Size` | `Vector2` | The width and height of the drawing object (used by Text, Square, Image). | `myDrawing.Size = Vector2(100, 20)` | | `Remove()` | `function` | **Method:** Call this to permanently remove the drawing object and free resources. | `myDrawing:Remove()` | _Note: While properties like `Text`, `Radius`, `From`, `To`, `PointA`, etc., might technically exist on all objects due to the underlying implementation, they are only _meaningful_ for specific drawing types._ --- # Drawing.new(Square) 🟧 [#](https://5d79.live/drawing/square/#drawing-new-square) `Drawing.new("Square")` 🟧 ==================================================================================== Draws a rectangle (or square) on the screen. [#](https://5d79.live/drawing/square/#key-properties) Key Properties -------------------------------------------------------------------- | Property | Type | Description | | --- | --- | --- | | `Filled` | `boolean` | If true, fills the square with `Color`. If false, draws outline. | | `Thickness` | `number` | The thickness of the outline if `Filled` is false. | [#](https://5d79.live/drawing/square/#common-properties) Common Properties -------------------------------------------------------------------------- Uses common properties like `Visible`, `Color`, `Transparency`, `Position`, `Size`, `ZIndex`. See [Common Properties](https://5d79.live/drawing/square/common-properties.md) . [#](https://5d79.live/drawing/square/#example) Example ------------------------------------------------------ `-- Example 1: Filled Red Square local filledSquare = Drawing.new("Square") filledSquare.Visible = true filledSquare.Filled = true filledSquare.Color = Color3(1, 0, 0) -- Red filledSquare.Position = Vector2(300, 100) filledSquare.Size = Vector2(50, 50) filledSquare.ZIndex = 1 -- Example 2: Green Outline Square local outlineSquare = Drawing.new("Square") outlineSquare.Visible = true outlineSquare.Filled = false -- Draw outline outlineSquare.Color = Color3(0, 1, 0) -- Green outlineSquare.Thickness = 2 outlineSquare.Position = Vector2(400, 100) outlineSquare.Size = Vector2(60, 40) -- Rectangle outlineSquare.ZIndex = 1 -- filledSquare:Remove() -- outlineSquare:Remove()` Contents * [Key Properties](https://5d79.live/drawing/square/#key-properties) * [Common Properties](https://5d79.live/drawing/square/#common-properties) * [Example](https://5d79.live/drawing/square/#example) --- # Drawing.new(Circle) ⚪ [#](https://5d79.live/drawing/circle/#drawing-new-circle) `Drawing.new("Circle")` ⚪ =================================================================================== Draws a circle (or ellipse if stretched) on the screen. [#](https://5d79.live/drawing/circle/#key-properties) Key Properties -------------------------------------------------------------------- | Property | Type | Description | | --- | --- | --- | | `Radius` | `number` | The radius of the circle in pixels. `Position` acts as the center. | | `Filled` | `boolean` | If true, fills the circle with `Color`. If false, draws outline. | | `Thickness` | `number` | The thickness of the outline if `Filled` is false. | | `NumSides` | `number` | _(Likely)_ Controls the number of segments used to approximate the circle (higher = smoother). Defaults may vary. | [#](https://5d79.live/drawing/circle/#common-properties) Common Properties -------------------------------------------------------------------------- Uses common properties like `Visible`, `Color`, `Transparency`, `Position` (as center), `ZIndex`. See [Common Properties](https://5d79.live/drawing/circle/common-properties.md) . (`Size` is generally not used for Circles, use `Radius`). [#](https://5d79.live/drawing/circle/#example) Example ------------------------------------------------------ `-- Example 1: Filled Blue Circle local filledCircle = Drawing.new("Circle") filledCircle.Visible = true filledCircle.Filled = true filledCircle.Color = Color3(0, 0, 1) -- Blue filledCircle.Position = Vector2(100, 300) -- Center position filledCircle.Radius = 25 filledCircle.NumSides = 40 -- Make it smooth (optional, adjust as needed) filledCircle.ZIndex = 3 -- Example 2: Magenta Outline Circle local outlineCircle = Drawing.new("Circle") outlineCircle.Visible = true outlineCircle.Filled = false outlineCircle.Color = Color3(1, 0, 1) -- Magenta outlineCircle.Thickness = 1 outlineCircle.Position = Vector2(200, 300) -- Center position outlineCircle.Radius = 30 outlineCircle.NumSides = 40 -- Optional outlineCircle.ZIndex = 3 -- filledCircle:Remove() -- outlineCircle:Remove()` Contents * [Key Properties](https://5d79.live/drawing/circle/#key-properties) * [Common Properties](https://5d79.live/drawing/circle/#common-properties) * [Example](https://5d79.live/drawing/circle/#example) --- # Drawing.new(Triangle) 🔺 [#](https://5d79.live/drawing/triangle/#drawing-new-triangle) `Drawing.new("Triangle")` 🔺 ========================================================================================== Draws a triangle defined by three points. [#](https://5d79.live/drawing/triangle/#key-properties) Key Properties ---------------------------------------------------------------------- | Property | Type | Description | | --- | --- | --- | | `PointA` | `Vector2` | Screen coordinate (X, Y) of the first vertex. | | `PointB` | `Vector2` | Screen coordinate (X, Y) of the second vertex. | | `PointC` | `Vector2` | Screen coordinate (X, Y) of the third vertex. | | `Filled` | `boolean` | If true, fills the triangle with `Color`. If false, draws outline. | | `Thickness` | `number` | The thickness of the outline if `Filled` is false (connects A-B-C-A). | [#](https://5d79.live/drawing/triangle/#common-properties) Common Properties ---------------------------------------------------------------------------- Uses common properties like `Visible`, `Color`, `Transparency`, `ZIndex`. See [Common Properties](https://5d79.live/drawing/triangle/common-properties.md) . (`Position` and `Size` are generally not used for Triangles). [#](https://5d79.live/drawing/triangle/#example) Example -------------------------------------------------------- `local myTriangle = Drawing.new("Triangle") myTriangle.Visible = true myTriangle.Filled = false -- Outline myTriangle.Color = Color3(1, 0.5, 0) -- Orange myTriangle.Thickness = 2 myTriangle.PointA = Vector2(50, 400) myTriangle.PointB = Vector2(150, 400) myTriangle.PointC = Vector2(100, 480) myTriangle.ZIndex = 4 -- myTriangle:Remove()` Contents * [Key Properties](https://5d79.live/drawing/triangle/#key-properties) * [Common Properties](https://5d79.live/drawing/triangle/#common-properties) * [Example](https://5d79.live/drawing/triangle/#example) --- # Drawing.new(Quad) [#](https://5d79.live/drawing/quad/#drawing-new-quad) `Drawing.new("Quad")` =========================================================================== Draws a quadrilateral (a four-sided polygon) defined by four points. [#](https://5d79.live/drawing/quad/#key-properties) Key Properties ------------------------------------------------------------------ | Property | Type | Description | | --- | --- | --- | | `PointA` | `Vector2` | Screen coordinate (X, Y) of the first vertex. | | `PointB` | `Vector2` | Screen coordinate (X, Y) of the second vertex. | | `PointC` | `Vector2` | Screen coordinate (X, Y) of the third vertex. | | `PointD` | `Vector2` | Screen coordinate (X, Y) of the fourth vertex. | | `Filled` | `boolean` | If true, fills the quad with `Color`. If false, draws outline. | | `Thickness` | `number` | The thickness of the outline if `Filled` is false (connects A-B-C-D-A). | [#](https://5d79.live/drawing/quad/#common-properties) Common Properties ------------------------------------------------------------------------ Uses common properties like `Visible`, `Color`, `Transparency`, `ZIndex`. See [Common Properties](https://5d79.live/drawing/quad/common-properties.md) . (`Position` and `Size` are generally not used for Quads). [#](https://5d79.live/drawing/quad/#example) Example ---------------------------------------------------- `local myQuad = Drawing.new("Quad") myQuad.Visible = true myQuad.Filled = true myQuad.Color = Color3(0.5, 0, 0.5) -- Purple myQuad.PointA = Vector2(300, 250) myQuad.PointB = Vector2(400, 260) myQuad.PointC = Vector2(380, 350) myQuad.PointD = Vector2(280, 330) myQuad.ZIndex = 4 -- myQuad:Remove()` Contents * [Key Properties](https://5d79.live/drawing/quad/#key-properties) * [Common Properties](https://5d79.live/drawing/quad/#common-properties) * [Example](https://5d79.live/drawing/quad/#example) --- # Drawing.new(Image) 🖼️ [#](https://5d79.live/drawing/image/#drawing-new-image) `Drawing.new("Image")` 🖼️ ================================================================================== Draws an image on the screen. ##### "Functionality Issue" `This dosen't work for shit but it exists` [#](https://5d79.live/drawing/image/#key-properties) Key Properties ------------------------------------------------------------------- | Property | Type | Description | | --- | --- | --- | | `Data` | `string` | I don't know | [#](https://5d79.live/drawing/image/#example) Example ----------------------------------------------------- `local myImage = Drawing.new("Image") myImage.Visible = true myImage.Data = "rbxassetid://123456789" -- Dosen't work myImage.Position = Vector2(450, 300) myImage.Size = Vector2(100, 100) -- Adjust to image aspect ratio -- Color can sometimes tint the image -- myImage.Color = Color3(0.8, 0.8, 1) -- Slight blue tint myImage.Transparency = 0.1 -- Slightly transparent myImage.ZIndex = 6 -- To remove later: -- myImage:Remove()` Contents * [Key Properties](https://5d79.live/drawing/image/#key-properties) * [Example](https://5d79.live/drawing/image/#example) --- # Drawing.new(Line) 📏 [#](https://5d79.live/drawing/line/#drawing-new-line) `Drawing.new("Line")` 📏 ============================================================================== Draws a straight line between two points. [#](https://5d79.live/drawing/line/#key-properties) Key Properties ------------------------------------------------------------------ | Property | Type | Description | | --- | --- | --- | | `From` | `Vector2` | The starting screen coordinate (X, Y). | | `To` | `Vector2` | The ending screen coordinate (X, Y). | | `Thickness` | `number` | The width of the line in pixels. | [#](https://5d79.live/drawing/line/#common-properties) Common Properties ------------------------------------------------------------------------ Uses common properties like `Visible`, `Color`, `Transparency`, `ZIndex`. See [Common Properties](https://5d79.live/drawing/line/common-properties.md) . (`Position` and `Size` are generally not used for Lines). [#](https://5d79.live/drawing/line/#example) Example ---------------------------------------------------- `local myLine = Drawing.new("Line") myLine.Visible = true myLine.From = Vector2(50, 150) myLine.To = Vector2(250, 200) myLine.Color = Color3(0, 1, 1) -- Cyan myLine.Thickness = 3 myLine.ZIndex = 2 -- myLine:Remove()` Contents * [Key Properties](https://5d79.live/drawing/line/#key-properties) * [Common Properties](https://5d79.live/drawing/line/#common-properties) * [Example](https://5d79.live/drawing/line/#example) --- # Not Found Oops! The page you’re looking for doesn’t exist. ================================================ You may have mistyped the address or the page may have been moved. [Go to homepage](https://5d79.live/) --- # Not Found Oops! The page you’re looking for doesn’t exist. ================================================ You may have mistyped the address or the page may have been moved. [Go to homepage](https://5d79.live/) --- # Not Found Oops! The page you’re looking for doesn’t exist. ================================================ You may have mistyped the address or the page may have been moved. [Go to homepage](https://5d79.live/) --- # Not Found Oops! The page you’re looking for doesn’t exist. ================================================ You may have mistyped the address or the page may have been moved. [Go to homepage](https://5d79.live/) --- # Not Found Oops! The page you’re looking for doesn’t exist. ================================================ You may have mistyped the address or the page may have been moved. [Go to homepage](https://5d79.live/) --- # Not Found Oops! The page you’re looking for doesn’t exist. ================================================ You may have mistyped the address or the page may have been moved. [Go to homepage](https://5d79.live/) --- # Not Found Oops! The page you’re looking for doesn’t exist. ================================================ You may have mistyped the address or the page may have been moved. [Go to homepage](https://5d79.live/) ---