# Table of Contents - [Functions | Wave](#functions-wave) - [Getting Started | Wave](#getting-started-wave) - [Hooking | Wave](#hooking-wave) - [Console | Wave](#console-wave) - [Input | Wave](#input-wave) - [File System | Wave](#file-system-wave) - [Environment | Wave](#environment-wave) - [Table | Wave](#table-wave) - [Signal | Wave](#signal-wave) - [Miscellaneous | Wave](#miscellaneous-wave) - [Actors | Wave](#actors-wave) - [Libraries | Wave](#libraries-wave) - [Cache | Wave](#cache-wave) - [Script | Wave](#script-wave) - [Reflection | Wave](#reflection-wave) - [Credits | Wave](#credits-wave) - [Debug | Wave](#debug-wave) - [Introduction | Wave](#introduction-wave) - [Changelogs | Wave](#changelogs-wave) - [WebSocket | Wave](#websocket-wave) - [Crypt | Wave](#crypt-wave) - [ImGui | Wave](#imgui-wave) - [Drawing | Wave](#drawing-wave) --- # Functions | Wave * * * [](#unc-sunc) UNC/sUNC --------------------------- Wave's UNC/sUNC score is 100%, which means it is capable of executing any script or function you can think of. On the next page are all of the functions that Wave supports, starting with [Console Functions](/wave/functions/console) . [PreviousGetting Started](/wave/getting-started) [NextConsole](/wave/functions/console) Last updated 3 months ago ๐Ÿ’ป --- # Getting Started | Wave [PreviousIntroduction](/wave) [NextFunctions](/wave/functions) Last updated 5 months ago * * * * Let's get you started with where to download Wave. [](#download) Download: ---------------------------- * [https://getwave.gg](https://getwave.gg) This is our one, and only official website for Wave. Anyone regarding a different site for Wave is a scam and is phishing you to download their fake software. [](#installation) Installation: ------------------------------------ You can follow the instructions below to get the best experience & installation process out of Wave! After downloading Wave from the link above, you can proceed by doing the steps below: * Click `_**Download**_` on the landing page. > You will then be prompted to download `_**WaveWindows**_`. [](#register) Register: ---------------------------- Now that you've made it this far into getting Wave, all you need to do is register an account. * Click the Sign Up button at the bottom of the Login Prompt. * Make up a username, email, and password that you can remember. * Once you're done, click the Sign Up button on the prompt. > Congratulations, you now have access to the main Wave User-Interface! [](#redeem-your-key) Redeem Your Key: ------------------------------------------ * In order to use Wave, you need a key for the software to function as it is supposed to. * For Free users, you must go through Linkvertise and grab your key from there. > [https://key.getwave.gg/](https://key.getwave.gg/) * For Premium users, you must buy a key from one of our official resellers that you can find easily on our website. > [https://getwave.gg/resellers](https://getwave.gg/resellers) * To actually redeem the key, hit the Settings logo near the bottom left of the user-interface. * From there, input your key where it says `XXXXX-XXXXX-XXXXX-XXXXX`. _Login Prompt for Wave_ _Sign Up Prompt for Wave_ _Wave User-Interface_ _Settings > Account Prompt on Wave User-Interface_ ![](https://duckys-playground.gitbook.io/~gitbook/image?url=https%3A%2F%2F1104749877-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FbMYIjZIMFAXPDosXtcgO%252Fuploads%252Ff7h43qKmISgRdQQafgE2%252Fimage.png%3Falt%3Dmedia%26token%3Db3731e2e-fd98-4086-9278-8f9936f23a17&width=768&dpr=4&quality=100&sign=50a9b56c&sv=2) ![](https://duckys-playground.gitbook.io/~gitbook/image?url=https%3A%2F%2F1104749877-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FbMYIjZIMFAXPDosXtcgO%252Fuploads%252F7Tx3HMxmKKX2HolCVs6T%252Fimage.png%3Falt%3Dmedia%26token%3D227b6da0-e3e8-40af-90d6-3890961f2620&width=768&dpr=4&quality=100&sign=a887ea2b&sv=2) ![](https://duckys-playground.gitbook.io/~gitbook/image?url=https%3A%2F%2F1104749877-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FbMYIjZIMFAXPDosXtcgO%252Fuploads%252FStcEr8wDSyaGhcOS1cre%252Fimage.png%3Falt%3Dmedia%26token%3D70fda4f2-eaa3-4896-ac92-4abfb6484261&width=768&dpr=4&quality=100&sign=eb95dd01&sv=2) ![](https://duckys-playground.gitbook.io/~gitbook/image?url=https%3A%2F%2F1104749877-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FbMYIjZIMFAXPDosXtcgO%252Fuploads%252FArt6E0hnsigj5p83uLVK%252Fimage.png%3Falt%3Dmedia%26token%3D6bee39ff-8e37-4ab5-a25f-e335be8eda9c&width=768&dpr=4&quality=100&sign=fbe536ac&sv=2) --- # Hooking | Wave ### [](#clone-function) Clone Function Copy clonefunction( a1) * Clones function `a1`. * * * ### [](#hook-function) Hook Function Copy hookfunction( old, new) * Hooks function `old`, replacing it with the function `new`. The `old` function is returned, you _must_ use this function in order to call the original function. * * * ### [](#hook-metamethod) Hook Metamethod Copy hookmetamethod( object, metamethod, a1) * Hooks the `metamethod` passed in `object`'s metatable with `a1`. * * * ### [](#new-c-closure) New C Closure Copy newcclosure( a1) * Pushes a new C Closure that invokes the function `a1` upon call. * * * [PreviousFile System](/wave/functions/file-system) [NextInput](/wave/functions/input) Last updated 3 months ago * * * --- # Console | Wave * * * ### [](#clear) Clear Copy rconsoleclear() * Clears all text from the console. * * * ### [](#close) Close Copy rconsoleclose() * Closes the console. * * * ### [](#error) Error Copy rconsoleerr( text) * Prints `text` into the console, with `[ERROR]` written before it. * * * ### [](#info) Info Copy rconsoleinfo( text) * Prints `text` into the console, with `[INFO]` written before it. * * * ### [](#input) Input Copy rconsoleinput() * Yields the current thread until the user inputs text and presses `Enter`. Returns the input they put in. * * * ### [](#name) Name Copy rconsolename( title) * Sets the console's title to `title`. * * * ### [](#print) Print Copy rconsoleprint( text) * Prints `text` into the console. * * * ### [](#print-console) Print Console Copy printconsole( message, red, green, blue) * Prints `message` into the internal and integrated console with RGB value. * * * #### [](#console-colors) Console Colors: Name Type Black @@BLACK@@ Blue @@BLUE@@ Green @@GREEN@@ Cyan @@CYAN@@ Red @@RED@@ Magenta @@MAGENTA@@ Light Gray @@LIGHT\_GRAY@@ Dark Gray @@DARK\_GRAY@@ Light Blue @@LIGHT\_BLUE@@ Light Green @@LIGHT\_GREEN@@ Light Cyan @@LIGHT\_CYAN@@ Light Red @@LIGHT\_RED@@ Light Magenta @@LIGHT\_MAGENTA@@ Yellow @@YELLOW@@ White @@WHITE@@ Example: Copy rconsolename("console") -- Sets the name of the console to 'console' rconsoleprint("gamer\n") rconsoleprint("@@YELLOW@@") -- Changes the text color to Yellow rconsoleprint("gamer but yellow\n") rconsoleerr("omg error!") rconsolewarn("omg warning!") wait(3) rconsoleclear() -- Clears all text wait(1) rconsoleclose() -- Closes the console You must use `\n` at the end of `rconsoleprint` to make a new line. `rconsoleinfo`, `rconsolewarn`, and `rconsoleerr` do this automatically. * * * [PreviousFunctions](/wave/functions) [NextEnvironment](/wave/functions/environment) Last updated 3 months ago ๐Ÿ’ป ๐ŸŽฎ --- # Input | Wave * * * ### [](#is-roblox-active) Is Roblox Active Copy isrbxactive() * Returns `true` if the game window is in focus. * * * ### [](#keyboard) Keyboard Copy keypress( keycode) * Simulates a key press for the specified keycode. You can find a list of codes [here](https://docs.microsoft.com/en-us/windows/desktop/inputdev/virtual-key-codes) . Copy keyrelease( key) * Releases `key` on the keyboard. * * * ### [](#left-click) Left Click Copy mouse1click() * Simulates a full left mouse button press. Copy mouse1press() * Simulates a left mouse button press without releasing it. Copy mouse1release() * Simulates a left mouse button release. * * * ### [](#mouse-movement) Mouse Movement Copy mousescroll( number) * Scrolls the mouse wheel virtually by `number` pixels. Copy mousemoverel( a1, a2) * Moves the mouse cursor relatively to the current mouse position by coordinates `a1` and `a2`. Copy mousemoveabs( a1, a2) * Move's your mouse to the `a1` and `a2` coordinates in pixels from top left of the window. * * * ### [](#right-click) Right Click Copy mouse2click() * Simulates a full right mouse button press. Copy mouse2press() * Clicks down on the right mouse button. Copy mouse2release() * Simulates a right mouse button release. * * * [PreviousHooking](/wave/functions/hooking) [NextMiscellaneous](/wave/functions/miscellaneous) Last updated 3 months ago ๐Ÿ’ป ๐Ÿ–ฑ๏ธ --- # File System | Wave * * * ### [](#append-file) Append File Copy appendfile( path, content) Appends `content` to the file contents at `path`. * * * ### [](#delete-file) Delete File Copy delfile( path) * Deletes the file located at `path`. * * * ### [](#delete-folder) Delete Folder Copy delfolder( path) * Deletes the folder located at `path`. * * * ### [](#get-custom-asset) Get Custom Asset Copy getcustomasset( path) * Provides a content string suitable for use with GUI elements, sounds, meshes, and other assets to reference an item in the workspace folder. * * * ### [](#is-file) Is File Copy isfile( path) * Returns `true` if `path` is a file. * * * ### [](#is-folder) Is Folder Copy isfolder( path) * Returns `true` if `path` is a folder. * * * ### [](#list-files) List Files Copy listfiles( folder) * Returns a table of all files in `folder`. * * * ### [](#load-file) Load File Copy loadfile( path) * Loads the contents of the file located at `path` as a Lua function and returns it. * * * ### [](#make-folder) Make Folder Copy makefolder( path) * Creates a new folder at `path`. * * * ### [](#read-file) Read File Copy readfile( path) * Returns the contents of the file located at `path`. * * * ### [](#write-file) Write File Copy writefile( path, content) * Writes `content` to the supplied `path`. * * * [PreviousEnvironment](/wave/functions/environment) [NextHooking](/wave/functions/hooking) Last updated 3 months ago ๐Ÿ’ป ๐Ÿ“‚ --- # Environment | Wave * * * ### [](#create-secure-folder) Create Secure Folder Copy create_secure_folder( path) * Creates a new secure folder to `path`. > Note: The folder itself won't be able to be found by the game. This means you don't need to set the security of the instances within it. ### [](#fire-click-detector) Fire Click Detector Copy fireclickdetector( ClickDetector, Distance = 0, ) * Fires the `ClickDetector`. If no distance supplied, it will default to `0`. * * * ### [](#fire-proximity-prompt) Fire Proximity Prompt Copy fireproximityprompt( Prompt) * Fires the `ProximityPrompt` trigger. * * * ### [](#fire-touch-interest) Fire Touch Interest Copy firetouchinterest( totouch, Part, toggle) * Touches part with `totouch`. #### [](#actions) Actions: Action Toggle Begins the touch. 0 Ends the touch. 1 * * * ### [](#get-garbage-collection) Get Garbage Collection Copy
getgc( IncludeTables = false) * Returns a `table` with all `gc` objects. Use `getgc(true)` to include tables. * * * ### [](#get-global-environment) Get Global Environment Copy
getgenv() * Returns the `environment` that will be applied to each script ran by Wave. * * * ### [](#get-instances) Get Instances Copy
getinstances() * Returns a `table` with instances. * * * ### [](#get-nil-instances) Get Nil Instances Copy
getnilinstances() * Returns a `table` with instances parented to `nil`. * * * ### [](#get-roblox-environment) Get Roblox Environment Copy
getrenv() * Returns the Roblox `environment`. * * * ### [](#is-secured-instance) Is Secured Instance Copy is_secured_instance( Instance) * Returns `true`/`false` if `Instance` is secured/not secured. * * * ### [](#set-normal-instance) Set Normal Instance Copy
set_normal_instance( Instance) * Sets `Instance` back to its normal state. Returns `false` if `Instance` is back to normal. * * * ### [](#set-secure-instance) Set Secure Instance Copy
set_secure_instance( Instance) * Secures `Instance`. Returns `false` if `Instance` is secured. [PreviousConsole](/wave/functions/console) [NextFile System](/wave/functions/file-system) Last updated 3 months ago ๐Ÿ’ป ๐ŸŒŽ --- # Table | Wave * * * ### [](#get-raw-metatable) Get Raw Metatable Copy
getrawmetatable(
a1) * Returns the `__metatable` of `a1`. * * * ### [](#is-read-only) Is Read Only Copy isreadonly(
a1) * Returns if `a1` is read-only. * * * ### [](#set-raw-metatable) Set Raw Metatable Copy setrawmetatable(
a1,
a2) * Sets the `__metatable` of `a1` to `a2`. * * * ### [](#set-read-only) Set Read Only Copy setreadonly(
a1, a2) * Sets the read-only value of `a1` to `a2`. * * * [PreviousScript](/wave/functions/script) [NextSignal](/wave/functions/signal) Last updated 3 months ago ๐Ÿ’ป ๐Ÿ“Š --- # Signal | Wave * * * ### [](#disable-connection) Disable Connection Copy disableconnection( Connection) * Disables `Connection`. * * * ### [](#enable-connection) Enable Connection Copy enableconnection( Connection) * Enables `Connection`. * * * ### [](#fire-signal) Fire Signal Copy firesignal( Signal, Args...) * Fires all signals connected to the `signal`. If given, the arguments will be used to call the function. * * * ### [](#get-connections) Get Connections Copy
getconnections( Signal) * Returns a `table` with all connections to the given `signal`. #### [](#connections) Connections: Connection Description .Function The function connected to the connection. :Enable Enables the connection. :Disable Disables the connection. :Fire Fires the connection. * * * ### [](#hook-signal) Hook Signal Copy hooksignal( Signal, callback) * Intercepts signal invocations. When the `Signal` is fired, the `callback` is called for each Lua connection with an info table and arguments. Returning `true` from the callback triggers the original connection. > Note: `hooksignal` cannot intercept C connections or CoreScript Lua connections. * * * ### [](#is-connection-enabled) Is Connection Enabled Copy isconnectionenabled( Connection) * Returns `true` if a connection is enabled. * * * ### [](#is-signal-hooked) Is Signal Hooked Copy issignalhooked( Signal) * Returns `true` if `Signal` is hooked. * * * ### [](#unhook-signal) Unhook Signal Copy unhooksignal( Signal) * Unhooks a signal hooked with `hooksignal`. * * * [PreviousTable](/wave/functions/table) [NextLibraries](/wave/libraries) Last updated 3 months ago ๐Ÿ’ป ๐Ÿ“ถ --- # Miscellaneous | Wave * * * WARNING: `decompile()` is a Premium only function. ### [](#decompile) Decompile Copy decompile( Script) * Decompiles `Script` and returns the decompiled output. #### [](#example) Example: Copy local LocalPlayer = game:GetService("Players").LocalPlayer local PlayerModule = LocalPlayer.PlayerScripts.PlayerModule local Decompiled = decompile(PlayerModule) -- Decompiles PlayerModule setclipboard(Decompiled) -- Copies the decompiled output to your clipboard * * * ### [](#get-hidden-ui) Get Hidden UI Copy gethui() * Returns the `CoreGui` service, allowing GUI's being hidden from detection in-game. * * * ### [](#get-namecall-method) Get Namecall Method Copy getnamecallmethod() * Returns the namecall method if the function is called in an `__namecall` metatable hook. * * * ### [](#get-thread-identity) Get Thread Identity Copy getthreadidentity( number) * Returns the current thread's identification number. * * * ### [](#identify-executor) Identify Executor Copy identifyexecutor() * Returns `Wave` and the version if the current executor is Wave. * * * ### [](#is-scriptable) Is Scriptable Copy isscriptable( object) * Checks if `object` can be scripted or modified by a script. * * * WARNING: `saveinstance()` is a Premium only function. ### [](#save-instance) Save Instance Copy saveinstance( Object, FilePath, Options) * Saves the current game into your workspace folder as a `.RBXL` file. > If `Object` is specified, it will save that object and its descendants as a `.RBXM` file. > If `Object` is `game`, it will be saved as a `.RBXL` file. > If `FilePath` is specified, it will write the file to the specified path. > `FilePath` does not need to contain a file extension, only the name of the file. #### [](#options) Options: Name Type Default Description Decompile Boolean false If enabled, `LocalScripts` and `ModuleScripts` will be decompiled. DecompileTimeout Number 10 If the decompilation run time exceeds this value, it will be canceled. This value is in seconds. DecompileIgnore Table {"Chat", "CoreGui", "CorePackages"} Scripts that are a descendant of the specified services will be saved but not decompiled. NilInstances Boolean false If enabled, instances parented to `nil` will be saved. RemovePlayerCharacters Boolean true If enabled, player characters will not be saved. SavePlayers Boolean false If enabled, Player objects and their descendants will be saved. MaxThreads Number 3 The number of decompilation threads that can run at once. More threads allow for more scripts to be decompiled at the same time. ShowStatus Boolean true If enabled, Save Instance progress will be displayed. IgnoreDefaultProps Boolean true If enabled, default properties will not be saved. IsolateStarterPlayer Boolean true If enabled, `StarterPlayer` will be cleared and the saved starter player will be placed into folders. #### [](#example-saving-the-game-to-a-custom-folder) Example - Saving the game to a custom folder: Copy makefolder("MySaves") saveinstance(game, "MySaves/Cool Game") #### [](#example-saving-a-specific-object-with-decompiled-scripts) Example - Saving a specific object with decompiled scripts: Copy saveinstance(workspace.CoolModel, "Cool Model", { Decompile = true }) * * * ### [](#set-clipboard) Set Clipboard Copy setclipboard( content) * Sets `content` to the clipboard. * * * ### [](#set-fast-flag) Set Fast Flag Copy setfflag( flag, value) * Sets `flag`'s value to `value`. > You can find a list of all Fast Flags here: [FFlag Tracker](https://raw.githubusercontent.com/MaximumADHD/Roblox-FFlag-Tracker/main/PCDesktopClient.json) * * * ### [](#set-fps-cap) Set FPS Cap Copy setfpscap( cap) * Sets the fps cap to `cap`. * * * ### [](#set-namecall-method) Set Namecall Method Copy setnamecallmethod( method) * Sets the current namecall method to the new namecall method. Must be called in a `__namecall` metatable hook. * * * ### [](#set-thread-identity) Set Thread Identity Copy setthreadidentity( number) * Sets the current thread's identification `number`. * * * ### [](#message-box) Message Box Copy messagebox( text, title, flag) * Creates a message box. * * * #### [](#flags) Flags: Flag Value OK 0 OK / Cancel 1 Abort / Retry / Ignore 2 Yes / No / Cancel 3 Yes / No 4 Retry / Cancel 5 Cancel / Try Again / Continue 6 #### [](#return-values) Return Values: Value Description 1 OK was clicked. 2 Cancel was clicked. 3 Abort was clicked. 4 Retry was clicked. 5 Ignore was clicked 6 Yes was clicked. 7 No was clicked. 10 Try Again was clicked. 11 Continue was clicked. * * * ### [](#queue-on-teleport) Queue On Teleport Copy queue_on_teleport( script) * Queues `script` to be executed after the next teleport. * * * ### [](#request) Request Copy
request(
a1, Async) * Creates an http request with `a1`. > Aliases: `http_request` * * * [PreviousInput](/wave/functions/input) [NextReflection](/wave/functions/reflection) Last updated 22 days ago ๐Ÿ’ป ๐Ÿ’ก --- # Actors | Wave * * * This library is Wave Premium only! ### [](#get-actors) Get Actors Copy get_actors() * Returns all the actors in the game, example above will return `0` if there are no actors in the game. * * * ### [](#get-current-actor) Get Current Actor Copy get_current_actor() * Returns the actor instance of the current running thread. * * * ### [](#get-deleted-actors) Get Deleted Actors Copy get_deleted_actors() * Checks actor threads specifically connected to an expired actor instance. > Note: This function does not return the actor instance directly. Instead, it returns a lightuserdata that can be passed to `run_on_actor`. * * * ### [](#is-parallel) Is Parallel Copy is_parallel() * Returns if the thread is parallel or not. * * * ### [](#run-on-actor) Run On Actor Copy run_on_actor(,