Introduction

Welcome to the Oxygen-U Documentation!

  • This documentation was written by bruvzz (Ducky).

                ~~ Change your theme by pressing the paintbrush above! ~~

Getting Started

Hey there! Welcome to Oxygen-U!

Let's get you started with checking or installing some dependencies Oxygen-U requires to run properly:

Requirements:

  1. x64 Bit Installation of Windows 10 / 11:

  2. VC_Redist x64:

  3. VC_Redist x86:

  4. .NET Framework 4.7.2 or above:

  5. WebView2:

Downloading Oxygen-U

There are 2 official sources to download Oxygen-U from.


Downloading from oxygenu.xyz:

  1. Go to oxygenu.xyz (if you aren't already).

  2. Click Download on the top right of the front page.

    • If your browser is preventing from downloading Oxygen-U, press Ctrl + J and click Keep Dangerous File.
  3. Create a new folder on your Desktop.

    • Right Click > New > New Folder.
  4. Drag and extract Oxygen-U into the folder you just created.


Downloading from WeAreDevs:

  1. Go to https://wearedevs.net/d/Oxygen%20U.

  2. Click the button that says "For Microsoft Store edition".

  3. The process should now download.

    • If your browser is preventing from downloading Oxygen-U, press Ctrl + J and click Keep Dangerous File.
  4. Create a new folder on your Desktop.

    • Right Click > New > New Folder.
  5. Drag and extract Oxygen-U into the folder you just created.

Getting a Key

  • Here is how to get a key with Oxygen-U:

How to Get A Key:

When you first open Oxygen-U, you will be brought up with a small box.

  • Inside of the box, you should have these 3 things:

    • The TextBox ("Key Here")

    • Continue Button

    • Get Key Button

  • Click the Get Key button.

  • Once you have clicked the Get Key button, you will then go through a couple of Linkvertises.

    • This is to help monitize Oxygen-U.

    • Make sure you are going through Free Access when doing this process.

  • Once you have finished, you will then be brought to the key screen.

    • Copy your key, then do Ctrl + A in the textbox inside Oxygen-U.

    • Delete the text that's already inside of the textbox.

    • Paste your key then click Continue.

Congratulations! You should now be authenticated and the user-interface should now be in front of you.

User Interface

  • This is the current user-interface of Oxygen-U.


Labeling the User Interface:

  1. Search

    • This is where you put your own scripts. Basically, your script box.
  2. Home

    • The Home button is where you can see everything like you are now.
  3. Script Hub

    • This is the Script Hub button. You can find scripts here by searching for the title!
    • Integrated with scriptblox.com API.
  4. Settings

    • This is where you can control your Oxygen-U with some very simple settings.
  5. Script Editor

    • This is where you can place your code to execute in-game after your injection process.
  6. Tab

    • Tabs are used to have many other script editors inside your user interface. More coding!
  7. Execute

    • This is the button you press to execute your scripts.
  8. Inject

    • This is the button to begin the injection process into the game.
  9. Clear Editor

    • This is the button that will clear any text that is inside the designated tab you are in.
  10. Open File

    • This is the button to open any .txt and/or .lua format files.
  11. Save File

    • This is the button to save any code that is inside your script editor.
  12. Console

    • This is the console! This is where you can all the action happen. Downloading the dll, injection finishing, and more!
  13. Power Button

    • This is the button to close Oxygen-U.

API Reference

Welcome to the reference page for Oxygen-U.

  • Here, you will be able to see all of the supported functions Oxygen-U has in store.

  • Before we start, here are some generics you should probably know when reading a function:

    • union<T, X> refers to functions that can return more then 1 type for that specific argument/return value.

    • ? refers to optional parameters. Example: <bool?>

    • <void> refers to functions with no return results (as in other languages)

    • variant refers to parameters/return values that could be any type.

    • ... refers to variable amounts of parameters/return values.

Environment Functions

Get Global Environment:

<table> getgenv(<void>)
  • Returns the environment that will be applied to each script ran by Oxygen-U.

Get Roblox Environment:

<table> getrenv(<void>)
  • Returns the Roblox environment.

Get Registry:

<table> getreg(<void>)
  • Returns the Lua registry.

Get Garbage Collection:

<table> getgc(<bool?>)
  • Returns a table with all gc objects. Use getgc(true) to include tables.

Get Instances:

<table> getinstances(<void>)
  • Returns a table with instances.

Get Nil Instances:

<table> getnilinstances(<void>)
  • Returns a table with instances parented to nil.

Get Loaded Modules:

<table> getloadedmodules(<void>)
  • Returns a table with all loaded modules currently in game.

Get Connections:

<table> getconnections(<RBXScriptSignal> Signal)
  • Returns a table with all connections to the given signal.

Connections:

ConnectionDescription
.FunctionThe function connected to the connection.
:EnableEnables the connection.
:DisableDisables the connection.
:FireFires the connection.

Fire Signal:

<void> firesignal(<RBXScriptSignal> Signal, <variant?> Args...)
  • Fires all signals connected to the signal. If given, the arguments will be used to call the function.

Fire Click Detector:

<void> fireclickdetector(<Instance> ClickDetector, <number?> Distance = 0, <string?>)
  • Fires the clickdetector. If no distance supplied, it will default to 0.

Fire Proximity Prompt:

<void> fireproximityprompt(<ProximityPrompt> Prompt)
  • Fires the proximityprompt trigger.

Fire Touch Interest:

<void> firetouchinterest(<BasePart> totouch, <BasePart> Part, <uint?> toggle)
  • Touches part with totouch.

Actions:

ActionToggle
Begins the touch.0
Ends the touch.1

Set Scriptable:

<void> setscriptable(<Instance> Object, <string> Property, <bool> toggle)
  • Sets the property's scriptable state to toggle.

Get Hidden Property:

<variant> gethiddenproperty(<Instance> Object, <string> Property)
  • Returns the value of the property that cannot be accessed through Lua.

Set Hidden Property:

<void> sethiddenproperty(<Instance> Object, <string> Property, <variant> Value)
  • Sets the given property to new value.

Set Simulation Radius:

<void> setsimulationradius(<int> Radius)
  • Sets the LocalPlayer's simulation radius to given arg.

Script Functions

Get Script Environment:

<table> getsenv(<LocalScript, ModuleScript> Script)
  • Returns the global environment of the given script.

Get Calling Script:

<Instance> getcallingscript(<void>)
  • Gets the script that is calling this function.

Get Script Closure:

<function> getscriptclosure(<Instance> Script)
  • Returns the closure from the given script, can be used to gather upvalues or constants.

Get Script Hash:

<string> getscripthash(<Instance> Script)
  • Returns a SHA384 hash of the scripts bytecode. You can use this to detect changes of a script.

Get Script Bytecode:

<string> getscriptbytecode(<Instance> Script)
  • Returns the bytecode of the given script. This can be used in a dissassembler.

Table Functions

Get Raw Metatable:

<table> getrawmetatable(<table> a1)  
  • Returns the __metatable of a1.

Set Raw Metatable:

<bool> setrawmetatable(<table> a1, <table> a2)
  • Sets the __metatable of a1 to a2.

Set Read Only:

<void> setreadonly(<table> a1, <bool> a2)  
  • Sets the read-only value of a1 to a2.

Is Read Only:

<bool> isreadonly(<table> a1)  
  • Returns if a1 is read-only.

Input Functions

Is Active:

<bool> iswindowactive(<void>)  
  • Returns if the window is focused.

Keyboard:

<void> keypress(<uint> keycode)  
  • Simulates a key press for the specified keycode. You can find a list of codes here.
<void> keyrelease(<uint> key)  
  • Releases key on the keyboard.

Left Click:

<void> mouse1click(<void>)  
  • Simulates a full left mouse button press.
<void> mouse1press(<void>)  
  • Simulates a left mouse button press without releasing it.
<void> mouse1release(<void>)  
  • Simulates a left mouse button release.

Right Click:

<void> mouse2click(<void>)
  • Simulates a full right mouse button press.
<void> mouse2press(<void>)  
  • Clicks down on the right mouse button.
<void> mouse2release(<void>)  
  • Simulates a right mouse button release.

Mouse Movement:

<void> mousescroll(<number> number)  
  • Scrolls the mouse wheel virtually by number pixels.
<void> mousemoverel(<number> a1, <number> a2)  
  • Moves the mouse cursor relatively to the current mouse position by coordinates a1 and a2.
<void> mousemoveabs(<number> a1, <number> a2)  
  • Move's your mouse to the a1 and a2 coordinates in pixels from top left of the window.

Hooking Functions

Hook Function:

<function> hookfunction(<function> old, <function> 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:

<function> hookmetamethod(<Object> object, <string> metamethod, <function> a1)  
  • Hooks the metamethod passed in object's metatable with a1.

New C Closure:

<function> newcclosure(<function> a1)  
  • Pushes a new CClosure that invokes the function a1 upon call.

Reflection Functions

Loadstring:

<function> loadstring(<string> chunk, <string?> chunkName)
  • Loads chunk as a Lua function with optional chunkName and returns it.

Check Caller:

<bool> checkcaller(<void>)  
  • Returns true if the current thread was created by Oxygen-U.

Is Lua Closure:

<bool> islclosure(<function> a1)  
  • Returns true if a1 is an LClosure.

Dump String:

<string> dumpstring(<string> script)  
  • Returns the Oxygen-U formatted bytecode for source string script.

Decompile:

<string> decompile(<Instance> script)
  • Decompiles script and returns the decompiled output.

Console Functions

Console Print:

<void> rconsoleprint(<string> text)
  • Prints text into the console.

Console Info:

<void> rconsoleinfo(<string> text)
  • Prints text into the console, with [INFO] written before it.

Console Error:

<void> rconsoleerr(<string> text)
  • Prints text into the console, with [ERROR] written before it.

Console Clear:

<void> rconsoleclear(<void>)
  • Clears all text from the console.

Console Name:

<void> rconsolename(<string> title)
  • Sets the console's title to title.

Console Input:

<string> rconsoleinput(<void>)
  • Yields the current thread until the user inputs text and presses Enter. Returns the input they put in.

Console Close:

<void> rconsoleclose(<void>)
  • Closes the console.
<void> printconsole(<string> message, <byte> red, <byte> green, <byte> blue)
  • Prints message into the internal and integrated console with RGB value.

Console Colors:

NameType
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:

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.

Filesystem Functions

Read File:

<string> readfile(<string> path)
  • Returns the contents of the file located at path.

Write File:

<void> writefile(<string> path, <string> content)
  • Writes content to the supplied path.

Append File:

<void> appendfile(<string> path, <string> content)

Appends content to the file contents at path.

Load File:

<function> loadfile(<string> path)
  • Loads the contents of the file located at path as a Lua function and returns it.

List Files:

<table> listfiles(<string> folder)
  • Returns a table of all files in folder.

Is File:

<bool> isfile(<string> path)
  • Returns true if path is a file.

Is Folder:

<bool> isfolder(<string> path)
  • Returns true if path is a folder.

Make Folder:

<void> makefolder(<string> path)
  • Creates a new folder at path.

Delete Folder:

<void> delfolder(<string> path)
  • Deletes the folder located at path.

Delete File:

<void> delfile(<string> path)
  • Deletes the file located at path.

Miscellaneous Functions

Set Clipboard:

<void> setclipboard(<string> content)
  • Sets content to the clipboard.

Set Fast Flag:

<void> setfflag(<string> flag, <string> value)
  • Sets flag's value to value.

You can find a list of all Fast Flags here: FFlag Watcher | FFlag Tracker

Get Namecall Method:

<string> getnamecallmethod(<void>)
  • Returns the namecall method if the function is called in an __namecall metatable hook.

Set Namecall Method:

<void> setnamecallmethod(<string> method)
  • Sets the current namecall method to the new namecall method. Must be called in a __namecall metatable hook.

Identify Executor:

<string> identifyexecutor(<void>)
  • Returns Oxygen-U if the current executor is Oxygen-U.

Set FPS Cap:

<void> setfpscap(<uint> cap)
  • Sets the fps cap to cap.

Save Instance:

<void> saveinstance(<table> a1)  
  • Saves the current game into your workspace folder. You can use table a1 to customize options for this.
OptionValue
modeoptikmized / full / scripts
noscriptstrue / false
scriptcachetrue / false
timeoutany number

Message Box:

<uint> messagebox(<string> text, <string> title, <uint> flag)
  • Creates a message box.

Flags:

FlagValue
OK0
OK / Cancel1
Abort / Retry / Ignore2
Yes / No / Cancel3
Yes / No4
Retry / Cancel5
Cancel / Try Again / Continue6

Return Values:

ValueDescription
1OK was clicked.
2Cancel was clicked.
3Abort was clicked.
4Retry was clicked.
5Ignore was clicked
6Yes was clicked.
7No was clicked.
10Try Again was clicked.
11Continue was clicked.

Libraries

Oxygen-U has a wide variety of libraries to choose from!

Bit32 Library

Bit Divide:

<int> bit.bdiv(<uint> dividend, <uint> divisor)  
  • Divides dividend by divisor, remainder is not returned.

Bit Add:

<int> bit.badd(<uint> a, <uint> b)  
  • Adds a with b, allows overflows.

Bit Subtract:

<int> bit.bsub(<uint> a, <uint> b)  
  • Subtracts a with b, allows overflows.

Bit Multiply:

<int> bit.bmul(<uint> a, <uint> b)  
  • Multiplies a using b, allows overflows.

Bit And:

<int> bit.band(<uint> x, <uint> disp)
  • Returns the bitwise and of its operands.

Bit Or:

<int> bit.bor(<uint> x, <uint> disp)
  • Returns the bitwise or of its operands.

Bit Xor:

<int> bit.bxor(<uint> x, <uint> disp)
  • Returns the bitwise exclusive or of its operands.

Bit Not:

<int> bit.bnot(<uint> x)
  • Returns the bitwise negation of x.

To Hex:

<string> bit.tohex(<uint> val)  
  • Returns val to a hex string.

To Bit:

<int> bit.tobit(<uint> val)  
  • Returns val into proper form for bitwise operations.

Left Shift:

<int> bit.lshift(<uint> x, <uint> disp)
  • Returns the number x shifted disp bits to the left.

Right Shift:

<int> bit.rshift(<uint> x, <uint> disp)
  • Returns the number x shifted disp bits to the left.

Arithmetic Shift:

<int> bit.arshift(<int> x, <int> disp)
  • Returns the number x shifted disp bits to the right. The number disp may be any representable integer. Negative displacements shift to the left.

    • This shift operation is what is called an arithmetic shift. Vacant bits on the left are filled with copies of the higher bit of x; vacant bits on the right are filled with zeros. In particular, displacements with absolute values higher than 31 result in zero or 0xFFFFFFFF (all original bits are shifted out).

Crypt Library

Encrypt:

<string> crypt.encrypt(<string> data, <string> key)  
  • Encrypts data with key.

Decrypt:

<string> crypt.decrypt(<string> data, <string> key)  
  • Decrypts data with key.

Base64 Encode:

<string> crypt.base64.encode(<string> data)  
  • Encodes data with base64.

Base64 Decode:

<string> crypt.base64.decode(<string> data)  
  • Decodes data with base64.

Hash:

<string> crypt.hash(<string> data)
  • Hashes data with SHA-384.

Derive:

<string> crypt.derive(<string> value, <uint> length)
  • Derives a secret key from value with the length of length.

Random:

<string> crypt.random(<uint> size)
  • Generates a random string with size (cannot be negative or exceed 1024).

Debug Library

Get Constants:

<table> debug.getconstants(<function> f)
  • Returns the constants in function f or at level f.

Get Constant:

<variant> debug.getconstant(<function> f, <int> idx)
  • Returns the constant at index idx in function f or level f.

Set Constant:

<void> debug.setconstant(<function> f, <int> idx, union<number, bool, string> value)
  • Set constant idx to tuple value at level or function f.

Get Upvalues:

<table> debug.getupvalues(<function> f)
  • Retrieve the upvalues in function f or at level f.

Get Upvalue:

<variant> debug.getupvalue(union<function, number> f, <number> idx)
  • Returns the upvalue with name idx in function or level f.

Set Upvalue:

<void> debug.setupvalue(<function> f, <int> idx, <table> value)
  • Set upvalue idx to value at level or function f.

Get Proto:

<table, function> debug.getproto(<function> f, <int> idx, <bool?> activated)
  • Gets the inner function of f at index.

Set Proto:

<void> debug.setproto(<function> fi, <number> index, <function> replacement)
  • Replaces fi at index with function replacement at level or function fi.

Get Stack:

<table> debug.getstack(<function> f, <int> idx)
  • Gets the method stack at level or function f.

Set Stack:

<void> debug.setstack(<function> f, <int> idx, <table> value)
  • Sets the stack indice at indice to value at level or function f.

Set Metatable:

<table> debug.setmetatable(<table> o, <table> mt)  
  • Set the metatable of o to mt.

Get Registry:

<table> debug.getregistry(<void>)
  • Returns the Lua registry.

Get Info:

<table> debug.getinfo(<function> f)
  • Returns a table of information about function f.

Info:

NameTypeDescription
nameStringThe name of the function.
short_srcStringA shorter version of source.
whatStringWhat the function is: Lua = Lua function - C = C function
currentlineIntegerThe line that is currently active.
nupsIntegerThe number of upvalues that the function has.
funcFunctionThe function that is active.
sourceStringWhere the function was defined.

Drawing Library

Drawing.New:

<object> Drawing.new(<string> type)
  • Creates a new drawing object with type. Returns the object.

Credentials

bruvzz - Oxygen-U Documentation

Oxygen-U Team - Making Oxygen-U possible! :D