Easily customizable, 100% free and keyless ESP script template.
Supports 99% of executors.
Comes with pre-programmed functions to save time while making an ESP script.
-- Removes any existing ESP folders (if you are re-executing the script)
for
in
pairs
getChildren
"ESP Folder"
"Folder"
do
Destroy
end
local
create
"Folder"
"ESP Folder"
local
function
espObject
if
then
-- This removes any existing folders linked to the object Instance, preventing any unneccessary stacking
for
in
pairs
getChildren
"Folder"
do
if
FindFirstChild
"ESP Highlight"
then
if
"ESP Highlight"
then
Destroy
end
end
end
-- The actual ESP creation
local
create
"Folder"
local
create
"Highlight"
"ESP Highlight"
Enum
or
Color3
new
0
1
0
or
Color3
new
0
1
0
if
then
true
else
false
end
if
then
local
create
"BillboardGui"
"ESP Gui"
UDim2
fromOffset
125
35
true
local
create
"TextLabel"
"Main Text"
true
or
1
UDim2
fromScale
1
1
or
Color3
new
0
1
0
local
create
"UIStroke"
"Text Outline"
Enum
Enum
0.05
Color3
new
0
0
0
end
end
end
-- By this point, the script (should have) done the following:
-- ► Created an "ESP Folder" directory inside game/CoreGui
-- ► Defined all required functions to create ESP elements
-- ► Have predefined functions: create, getChildren, getDescendants and espObject
-- If one or more of those functions are not working, or the entire script itself is broken, check the Roblox console
-- You can do this by pressing F9 (PC) or by typing /console into the Roblox chat
-- Look for any yellow or red text seemingly related to the script, such as something like "LocalScript:38::Failed to index nil with Name"
-- The getChildren and getDescendants functions are essentially better versions of Instance:GetChildren() and Instance:GetDescendants()
-- The difference being they can be more precise, returning only instances matching the given parameters, rather than every instance in the library
-- An example of getChildren:
-- local allChildren = getChildren(directory, nil, "Folder")
-- Say there were 5 folders inside the directory Instance.
-- As the specificName parameter is nil (does not exist / undefined) and the specificClass is "Folder", the function returns a table of every child Instance that is a folder
-- So the returned table would look something like this:
-- allChildren = {
-- Instance_1,
-- Instance_2,
-- Instance_3,
-- Instance_4,
-- Instance_5
--}
-- To get one of the instances in the table, you simply type the table name, followed by the position of where the desired Instance is in the table
-- So if I wanted Instance_3, I would type allChildren[3]
-- This gets the third Instance in the table
-- Most programming languages start table positions at 0, but Luau starts at 1
-- It's the same with getDescendants, but that get all instances that can be found inside the ancestor, including nested ones (an instance inside another instance)
-- getDescendants can cause performance drops due to it essentially being a deep search, so it advised you do not loop it too much
-- If you need a looping search, I recommend using getChildren, setting the parent parameter to the specific Instance you want to search inside
-- An example of espObject:
-- local object = game.Workspace.Part
-- local espColor = Color3.fromRGB(255, 255, 255)
-- espObject(object, espColor, true, true, "Just a part")
-- This adds a highlight and text to the main directory folder and links them to the object Instance, both of which take on the given color parameter (in this case, white)
-- If no color parameter is provided, the highlight and the text colors will default to green.
-- The given color parameters must be in Color3 format for the function to work
-- To load colors from RGB, Hex or HSV, use Color3.fromRGB(red, green, blue), Color3.fromHex(hexColorCode) or Color3.fromHSV(hue, saturation, volume)
-- Color3.new is basically rgb but on a scale of 0 to 1 for each, 0 being the lowest and 1 being the highest
-- So to get red you'd use Color3.new(1, 0, 0), green you'd use Color3.new(0, 1, 0) and blue you'd use Color3.new(0, 0, 1)
-- To get colors in between, you use decimals
-- Like if I wanted to get dark blue I'd use Color3.new(0, 0, 0.5) or if I wanted pastel pink I'd use Color3.new(1, 0.7, 1)
-- Every line with -- before them are comments, they do not change how the script works (so you do not have to delete these comments if you do not want to)
-- That is all I have to say regarding this script. Have fun making your own ESP scripts using this template.
-- Credit is appreciated, but I'm not going to force it
-- This is just text on a screen, after all
-- Created with care by XT44_Scripts (@XT4472 on Roblox) and AFriendlyExploiter (@AFriendlyExploiter_1 on Discord) ♥