# Getting Started

## Definitions

The term `Type` refers to settings that are a table with options. On Universal Esp, an example of a type would be `Boxes`, because it's a table with options. On Universal Aimbot, an example of a type would be `Aimbot`, for the same reason.

The term `Option` refers to settings within a `Type`. On Universal Esp, an example of an option would be `Enabled`. The same would apply to Universal Aimbot.

The term `Esp Type` refers to Types that relate to Esp Objects. An example of an esp type would be `Boxes`.

### Visual Example

![The things highlighted in red are Options.
The things highlighted in blue are Types.](https://i.imgur.com/MmdV1vW.png)

## Loading Universal Script

```lua
local esp = loadstring(game:HttpGet("https://raw.githubusercontent.com/zzerexx/scripts/main/UniversalEsp.lua", "UniversalEsp"))()
-- You can also access the esp table with getgenv().UESP

local aimbot = loadstring(game:HttpGet("https://raw.githubusercontent.com/zzerexx/scripts/main/UniversalAimbot.lua", "UniversalAimbot"))()
-- You can also access the aimbot table with getgenv().UAIM
```

## (known) Supported Exploits

* [Synapse X](https://x.synapse.to)
* [Script-Ware v2](https://script-ware.com)
* [Krnl](https://krnl.ca) | [Alt Download](https://wearedevs.net/d/Krnl)
* [Fluxus v7](https://fluxteam.xyz) | [Alt Download](https://wearedevs.net/d/Fluxus)
* [Furk Ultra v2](https://v3rmillion.net/showthread.php?tid=1171153)

## Exploit Requirements

Your exploit must have the following:

* For Universal Esp and Aimbot:
  * A Drawing Library
    * `Drawing.new` function with classes: (ESP: Quad, Line, Text, Circle), (AIMBOT: Circle, Text)
    * `Drawing.Fonts` table
  * Custom Functions
    * `getgenv`
    * `getgc` (for some games)
    * `hookfunction` (for some games)
    * `mousemoverel` (aimbot)
* For the UI Version:
  * Custom Functions
    * `writefile`
    * `readfile`
    * `listfiles`
    * `isfile`
    * `makefolder`
    * `isfolder`
