Message

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 135

--[[

██╗░░░░░██╗░░░██╗███╗░░██╗░█████╗░██████╗░░░░██╗░░░██╗██╗██████╗░
██║░░░░░██║░░░██║████╗░██║██╔══██╗██╔══██╗░░░██║░░░██║██║██╔══██╗
██║░░░░░██║░░░██║██╔██╗██║███████║██████╔╝░░░╚██╗░██╔╝██║██████╔╝
██║░░░░░██║░░░██║██║╚████║██╔══██║██╔══██╗░░░░╚████╔╝░██║██╔═══╝░
███████╗╚██████╔╝██║░╚███║██║░░██║██║░░██║██╗░░╚██╔╝░░██║██║░░░░░
╚══════╝░╚═════╝░╚═╝░░╚══╝╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░░╚═╝░░░╚═╝╚═╝░░░░░

Last updated 18/03/24


]]

if isfile("menu_plex.font") then
delfile("menu_plex.font")
end

writefile("ProggyClean.ttf",
game:HttpGet("https://github.com/f1nobe7650/other/raw/main/ProggyClean.ttf"))

-- // Custom Font
do
getsynasset = getcustomasset or getsynasset
Font = setreadonly(Font, false);
function Font:Register(Name, Weight, Style, Asset)
if not isfile(Name .. ".font") then
if not isfile(Asset.Id) then
writefile(Asset.Id, Asset.Font);
end;
--
local Data = {
name = Name,
faces = {{
name = "Regular",
weight = Weight,
style = Style,
assetId = getsynasset(Asset.Id);
}}
};
--
writefile(Name .. ".font",
game:GetService("HttpService"):JSONEncode(Data));
return getsynasset(Name .. ".font");
else
warn("Font already registered");
end;
end;
--
function Font:GetRegistry(Name)
if isfile(Name .. ".font") then
return getsynasset(Name .. ".font");
end;
end;

Font:Register("menu_plex", 400, "normal", {Id = "ProggyClean.ttf", Font =


""});
end

if not LPH_OBFUSCATED then


getfenv().LPH_NO_VIRTUALIZE = function(...) return (...) end;
end

local font = Enum.Font.Ubuntu;


local Library = {};
local Library = {
Open = true;
Folders = {
main = "test";
configs = "test/Configs";
};
Accent = Color3.fromRGB(132,108,188);
Pages = {};
Sections = {};
Flags = {};
UnNamedFlags = 0;
ThemeObjects = {};
Instances = {};
Holder = nil;
PageHolder = nil;
Gradient = nil;
UIGradient = nil;
CopiedColor = Color3.new(1,1,1);
CopiedAlpha = 0;
AllowedCharacters = {
[1] = ' ',
[2] = '!',
[3] = '"',
[4] = '#',
[5] = '$',
[6] = '%',
[7] = '&',
[8] = "'",
[9] = '(',
[10] = ')',
[11] = '*',
[12] = '+',
[13] = ',',
[14] = '-',
[15] = '.',
[16] = '/',
[17] = '0',
[18] = '1',
[19] = '2',
[20] = '3',
[21] = '4',
[22] = '5',
[23] = '6',
[24] = '7',
[25] = '8',
[26] = '9',
[27] = ':',
[28] = ';',
[29] = '<',
[30] = '=',
[31] = '>',
[32] = '?',
[33] = '@',
[34] = 'A',
[35] = 'B',
[36] = 'C',
[37] = 'D',
[38] = 'E',
[39] = 'F',
[40] = 'G',
[41] = 'H',
[42] = 'I',
[43] = 'J',
[44] = 'K',
[45] = 'L',
[46] = 'M',
[47] = 'N',
[48] = 'O',
[49] = 'P',
[50] = 'Q',
[51] = 'R',
[52] = 'S',
[53] = 'T',
[54] = 'U',
[55] = 'V',
[56] = 'W',
[57] = 'X',
[58] = 'Y',
[59] = 'Z',
[60] = '[',
[61] = "\\",
[62] = ']',
[63] = '^',
[64] = '_',
[65] = '`',
[66] = 'a',
[67] = 'b',
[68] = 'c',
[69] = 'd',
[70] = 'e',
[71] = 'f',
[72] = 'g',
[73] = 'h',
[74] = 'i',
[75] = 'j',
[76] = 'k',
[77] = 'l',
[78] = 'm',
[79] = 'n',
[80] = 'o',
[81] = 'p',
[82] = 'q',
[83] = 'r',
[84] = 's',
[85] = 't',
[86] = 'u',
[87] = 'v',
[88] = 'w',
[89] = 'x',
[90] = 'y',
[91] = 'z',
[92] = '{',
[93] = '|',
[94] = '}',
[95] = '~'
};
ShiftCharacters = {
["1"] = "!",
["2"] = "@",
["3"] = "#",
["4"] = "$",
["5"] = "%",
["6"] = "^",
["7"] = "&",
["8"] = "*",
["9"] = "(",
["0"] = ")",
["-"] = "_",
["="] = "+",
["["] = "{",
["\\"] = "|",
[";"] = ":",
["'"] = "\"",
[","] = "<",
["."] = ">",
["/"] = "?",
["`"] = "~"
};
Keys = {
[Enum.KeyCode.LeftShift] = "LShift",
[Enum.KeyCode.RightShift] = "RShift",
[Enum.KeyCode.LeftControl] = "LCtrl",
[Enum.KeyCode.RightControl] = "RCtrl",
[Enum.KeyCode.LeftAlt] = "LAlt",
[Enum.KeyCode.RightAlt] = "RAlt",
[Enum.KeyCode.CapsLock] = "Caps",
[Enum.KeyCode.One] = "1",
[Enum.KeyCode.Two] = "2",
[Enum.KeyCode.Three] = "3",
[Enum.KeyCode.Four] = "4",
[Enum.KeyCode.Five] = "5",
[Enum.KeyCode.Six] = "6",
[Enum.KeyCode.Seven] = "7",
[Enum.KeyCode.Eight] = "8",
[Enum.KeyCode.Nine] = "9",
[Enum.KeyCode.Zero] = "0",
[Enum.KeyCode.KeypadOne] = "Num1",
[Enum.KeyCode.KeypadTwo] = "Num2",
[Enum.KeyCode.KeypadThree] = "Num3",
[Enum.KeyCode.KeypadFour] = "Num4",
[Enum.KeyCode.KeypadFive] = "Num5",
[Enum.KeyCode.KeypadSix] = "Num6",
[Enum.KeyCode.KeypadSeven] = "Num7",
[Enum.KeyCode.KeypadEight] = "Num8",
[Enum.KeyCode.KeypadNine] = "Num9",
[Enum.KeyCode.KeypadZero] = "Num0",
[Enum.KeyCode.Minus] = "-",
[Enum.KeyCode.Equals] = "=",
[Enum.KeyCode.Tilde] = "~",
[Enum.KeyCode.LeftBracket] = "[",
[Enum.KeyCode.RightBracket] = "]",
[Enum.KeyCode.RightParenthesis] = ")",
[Enum.KeyCode.LeftParenthesis] = "(",
[Enum.KeyCode.Semicolon] = ",",
[Enum.KeyCode.Quote] = "'",
[Enum.KeyCode.BackSlash] = "\\",
[Enum.KeyCode.Comma] = ",",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Slash] = "/",
[Enum.KeyCode.Asterisk] = "*",
[Enum.KeyCode.Plus] = "+",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Backquote] = "`",
[Enum.UserInputType.MouseButton1] = "MB1",
[Enum.UserInputType.MouseButton2] = "MB2",
[Enum.UserInputType.MouseButton3] = "MB3"
};
Connections = {};
Font = Enum.Font.Ubuntu;
FontSize = 12;
Notifs = {};
KeyList = nil;
UIKey = Enum.KeyCode.End;
ScreenGUI = nil;
}

local InputService = game:GetService("UserInputService");


local TeleportService = game:GetService("TeleportService");
local RunService = game:GetService("RunService");
local Workspace = game:GetService("Workspace");
local Lighting = game:GetService("Lighting");
local Players = game:GetService("Players");
local HttpService = game:GetService("HttpService");
local StarterGui = game:GetService("StarterGui");
local ReplicatedStorage = game:GetService("ReplicatedStorage");
local TweenService = game:GetService("TweenService");
local VirtualUser = game:GetService("VirtualUser");
local PathFindingService = game:GetService("PathfindingService");

local utility = {
Circle = nil,
bodyParts = {},
target = nil,
angle = 0,
drawings = {},
folders = {}
};
local framework = {connections = {}};
local Flags = {};
local flags = Library.Flags;
local ESP = {};
local IgnoreList = {};
local HitReg = {};
local loadingTime = tick()
local Visuals = {
["Drawings"] = {},
["Bases"] = {},
["Base"] = {},
["Settings"] = {
["Line"] = {
Thickness = 1,
Color = Color3.fromRGB(0, 255, 0)
},
["Text"] = {
Size = 13,
Center = true,
Outline = true,
Font = Drawing.Fonts.Plex,
Color = Color3.fromRGB(255, 255, 255)
},
["Square"] = {
Thickness = 1,
Color = Color3.fromRGB(255, 255, 255),
Filled = false,
},
["Triangle"] = {
Color = Color3.fromRGB(255, 255, 255),
Filled = true,
Visible = false,
Thickness = 1,
},
["Image"] = {
Transparency = 1,
Data =
game:HttpGet("https://raw.githubusercontent.com/portallol/luna/main/Gradient.png")
}
},
}
local NovaPart = game:GetObjects("rbxassetid://14745759584")[1]; NovaPart.Parent =
ReplicatedStorage;
local Nova = NovaPart.Attachment;
local Sparkles = game:GetObjects("rbxassetid://16883621036")[1]; Sparkles.Parent =
ReplicatedStorage;
local SparklesEffect = Sparkles.LevelParticle;
local sfx = {["Bameware"] = "16910460773",["Skeet"] = "4753603610",["Bonk"] =
"3765689841",["Lazer Beam"] = "130791043",["Windows XP Error"] = "160715357",["TF2
Hitsound"] = "3455144981",["TF2 Critical"] = "296102734",["TF2 Bat"] =
"3333907347",['Bow Hit'] = "1053296915",['Bow'] = "3442683707",['OSU'] =
"7147454322",['Minecraft Hit'] = "4018616850",['Steve'] = "5869422451",['1nn'] =
"7349055654",['Rust'] = "3744371091",["TF2 Pan"] = "3431749479",["Neverlose"] =
"8679627751",["Mario"] = "5709456554",};
local sfx_names = {"Bameware", "Skeet", "Bonk", "Lazer Beam", "Windows XP Error",
"TF2 Hitsound", "TF2 Critical", "TF2 Bat", "Bow Hit", "Bow", "OSU", "Minecraft
Hit", "Steve", "1nn", "Rust", "TF2 Pan", "Neverlose", "Mario"};
local LocalPlayer = Players.LocalPlayer;
local Mouse = LocalPlayer:GetMouse();
local Camera = Workspace.Camera;
local viewportSize = game.Workspace.Camera.ViewportSize;
local hitmodule = game:GetObjects("rbxassetid://7255773215")[1]; hitmodule.Parent =
ReplicatedStorage;
local Offset = game:GetService("GuiService"):GetGuiInset().Y;
local Math =
loadstring(game:HttpGet("https://raw.githubusercontent.com/f1nobe7650/Lynx/main/
Math.lua"))();
local NotifiactionSGui = Instance.new("ScreenGui", game.CoreGui);
NotifiactionSGui.Enabled = true
local Remote = ReplicatedStorage.MainEvent
local NewVector2 = Vector2.new;
local NewVector3 = Vector3.new;
local NewCFrame = CFrame.new;
local Angle = CFrame.Angles;
local NewHex = Color3.fromHex;
local Floor = math.floor;
local Random = math.random;
local Find = table.find;
local Round = math.round;
local Cos = math.cos;
local Sin = math.sin;
local Rad = math.rad;
local Clamp = math.clamp;
local Ceil = math.ceil;
local Pi = math.pi;
local Sqrt = math.sqrt;
local Lighting_Save = {["ColorShift_Bottom"] = Lighting.ColorShift_Bottom,
["Ambient"]=Lighting.Ambient, ["OutdoorAmbient"]=Lighting.OutdoorAmbient,
["ColorShift_Top"]=Lighting.ColorShift_Top, ["FogColor"]=Lighting.FogColor,
["FogEnd"]=Lighting.FogEnd, ["FogStart"]=Lighting.FogStart,
["ClockTime"]=Lighting.ClockTime, ["Brightness"]=Lighting.Brightness}
local bodyClone = game:GetObjects("rbxassetid://8246626421")[1];
bodyClone.Humanoid:Destroy(); bodyClone.Head.Face:Destroy(); bodyClone.Parent =
game.Workspace; bodyClone.HumanoidRootPart.Velocity = Vector3.new();
bodyClone.HumanoidRootPart.CFrame = NewCFrame(9999,9999,9999);
bodyClone.HumanoidRootPart.Transparency = 1; bodyClone.HumanoidRootPart.CanCollide
= false
local visualizeChams = Instance.new("Highlight"); visualizeChams.Enabled = true;
visualizeChams.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop;
visualizeChams.FillColor = Color3.fromRGB(102, 60, 153);
visualizeChams.OutlineColor = Color3.fromRGB(0, 0, 0); visualizeChams.Adornee =
bodyClone; visualizeChams.OutlineTransparency = 0.2;
visualizeChams.FillTransparency = 0.5; visualizeChams.Parent = game.CoreGui
local targetHighlight = Instance.new("Highlight", game.CoreGui);
targetHighlight.Enabled = true; targetHighlight.DepthMode =
Enum.HighlightDepthMode.AlwaysOnTop; targetHighlight.FillColor =
Color3.fromRGB(0,0,0); targetHighlight.OutlineColor = Color3.fromRGB(255,255,255);
targetHighlight.OutlineTransparency = 0.5; targetHighlight.FillTransparency = 0;
local IgnoreList = {};
local Tween = {};
local crosshair_Lines = {};
local crosshair_Outlines = {};
local C_Desync = {Enabled = false, OldPosition = nil, PredictedPosition = nil};
local connections = {};
local highlights = {};
local Dropdowns = {};
local Pickers = {};
local VisValues = {};
local Typing = false;
local aimAssistTarget;
local checks;
local prediction;
local partClosest;
local antiCheattick = 0;
local CursorSize = 0;
local statsTick = 0;
local crosshair_LineAmount = 4;
local crosshair_SpinAngle = 0;
local crosshair_tick = 0;
local buying = false;
local PlaceHolderUI = Instance.new("ScreenGui", game.CoreGui);
PlaceHolderUI.Enabled = false
local Path =
"https://raw.githubusercontent.com/fortniteisveryepic/assets/main/"
local images = {
["[AK47]"] = game:HttpGet(Path.. "ak.png"),
["[AR]"] = game:HttpGet(Path.. "ar.png"),
["[AUG]"] = game:HttpGet(Path.. "aug.png"),
["[Double-Barrel SG]"] = game:HttpGet(Path.. "db.png"),
["[DrumGun]"] = game:HttpGet(Path.. "drumgun.png"),
["[Flamethrower]"] = game:HttpGet(Path.. "flame.png"),
["[Glock]"] = game:HttpGet(Path.. "glock.png"),
["[LMG]"] = game:HttpGet(Path.. "lmg.png"),
["[P90]"]= game:HttpGet(Path.. "p90.png"),
["[Revolver]"] = game:HttpGet(Path.. "rev.png"),
["[SMG]"] = game:HttpGet(Path.. "smg.png"),
["[Shotgun]"] = game:HttpGet(Path.. "shotgun.png"),
["[SilencerAR]"] = game:HttpGet(Path.. "ar.png"),
["[TacticalShotgun]"] = game:HttpGet(Path.. "tac.png"),
["[Knife]"] = game:HttpGet(Path.. "knife.png"),
["[Rifle]"] = game:HttpGet(Path.. "rifle.png")
}
local Languages = {
A = {English = "A", Arabic = "‫"أ‬, Albanian = "A", Japanese = "あ", Spanish =
"A", Russian = "А", Chinese = "阿", Urdu = "‫"ا‬, French = "A", Portuguese = "A",
Hindi = "अ"},
B = {English = "B", Arabic = "‫"ب‬, Albanian = "B", Japanese = "い", Spanish =
"B", Russian = "Б", Chinese = "波", Urdu = "‫"ب‬, French = "B", Portuguese = "B",
Hindi = "ब"},
C = {English = "C", Arabic = "‫"ت‬, Albanian = "C", Japanese = "う", Spanish =
"C", Russian = "Ц", Chinese = "西", Urdu = "‫"س‬, French = "C", Portuguese = "C",
Hindi = "स"},
D = {English = "D", Arabic = "‫"د‬, Albanian = "D", Japanese = "え", Spanish =
"D", Russian = "Д", Chinese = "德", Urdu = "‫"ڈ‬, French = "D", Portuguese = "D",
Hindi = "ड"},
E = {English = "E", Arabic = "‫"إ‬, Albanian = "E", Japanese = "お", Spanish =
"E", Russian = "Е", Chinese = "俄", Urdu = "‫"اے‬, French = "E", Portuguese = "E",
Hindi = "ए"},
F = {English = "F", Arabic = "‫"ف‬, Albanian = "F", Japanese = "か", Spanish =
"F", Russian = "Ф", Chinese = "夫", Urdu = "‫"ف‬, French = "F", Portuguese = "F",
Hindi = "फ"},
G = {English = "G", Arabic = "‫"ج‬, Albanian = "G", Japanese = "き", Spanish =
"G", Russian = "Г", Chinese = "吉", Urdu = "‫"ج‬, French = "G", Portuguese = "G",
Hindi = "ग"},
H = {English = "H", Arabic = "‫"ح‬, Albanian = "H", Japanese = "く", Spanish =
"H", Russian = "Х", Chinese = "艾尺", Urdu = "‫"ح‬, French = "H", Portuguese = "H",
Hindi = "ह"},
I = {English = "I", Arabic = "‫"ي‬, Albanian = "I", Japanese = "け", Spanish =
"I", Russian = "И", Chinese = "伊", Urdu = "‫"آئی‬, French = "I", Portuguese = "I",
Hindi = "इ"},
J = {English = "J", Arabic = "‫"ج‬, Albanian = "J", Japanese = "こ", Spanish =
"J", Russian = "Й", Chinese = "杰", Urdu = "‫"جے‬, French = "J", Portuguese = "J",
Hindi = "ज"},
K = {English = "K", Arabic = "‫"ك‬, Albanian = "K", Japanese = "さ", Spanish =
"K", Russian = "К", Chinese = "开", Urdu = "‫"کے‬, French = "K", Portuguese = "K",
Hindi = "क"},
L = {English = "L", Arabic = "‫"ل‬, Albanian = "L", Japanese = "し", Spanish =
"L", Russian = "Л", Chinese = "艾勒", Urdu = "‫"ل‬, French = "L", Portuguese = "L",
Hindi = "ल"},
M = {English = "M", Arabic = "‫"م‬, Albanian = "M", Japanese = "す", Spanish =
"M", Russian = "М", Chinese = "艾马", Urdu = "‫"م‬, French = "M", Portuguese = "M",
Hindi = "म"},
N = {English = "N", Arabic = "‫"ن‬, Albanian = "N", Japanese = "せ", Spanish =
"N", Russian = "Н", Chinese = "艾娜", Urdu = "‫"ن‬, French = "N", Portuguese = "N",
Hindi = "न"},
O = {English = "O", Arabic = "‫"أو‬, Albanian = "O", Japanese = "そ", Spanish =
"O", Russian = "О", Chinese = "哦", Urdu = "‫"او‬, French = "O", Portuguese = "O",
Hindi = "ओ"},
P = {English = "P", Arabic = "‫"ب‬, Albanian = "P", Japanese = "た", Spanish =
"P", Russian = "П", Chinese = "屁", Urdu = "‫"پ‬, French = "P", Portuguese = "P",
Hindi = "प"},
Q = {English = "Q", Arabic = "‫"ق‬, Albanian = "Q", Japanese = "ち", Spanish =
"Q", Russian = "К", Chinese = "丘", Urdu = "‫"ق‬, French = "Q", Portuguese = "Q",
Hindi = "क्यू"},
R = {English = "R", Arabic = "‫"ر‬, Albanian = "R", Japanese = "つ", Spanish =
"R", Russian = "Р", Chinese = "艾儿", Urdu = "‫"ر‬, French = "R", Portuguese = "R",
Hindi = "र"},
S = {English = "S", Arabic = "‫"س‬, Albanian = "S", Japanese = "て", Spanish =
"S", Russian = "С", Chinese = "艾丝", Urdu = "‫"س‬, French = "S", Portuguese = "S",
Hindi = "एस"},
T = {English = "T", Arabic = "‫"ت‬, Albanian = "T", Japanese = "と", Spanish =
"T", Russian = "Т", Chinese = "提", Urdu = "‫"ٹ‬, French = "T", Portuguese = "T",
Hindi = "ट"},
U = {English = "U", Arabic = "‫"أو‬, Albanian = "U", Japanese = "な", Spanish =
"U", Russian = "У", Chinese = "优", Urdu = "‫"یو‬, French = "U", Portuguese = "U",
Hindi = "यू"},
V = {English = "V", Arabic = "‫"ف‬, Albanian = "V", Japanese = "に", Spanish =
"V", Russian = "В", Chinese = "维", Urdu = "‫"وی‬, French = "V", Portuguese = "V",
Hindi = "व"},
W = {English = "W", Arabic = "‫"و‬, Albanian = "W", Japanese = "ぬ", Spanish =
"W", Russian = "В", Chinese = "豆贝尔维", Urdu = "‫"ڈبلیو‬, French = "W", Portuguese =
"W", Hindi = "डब्ल्यू"},
X = {English = "X", Arabic = "‫"إكس‬, Albanian = "X", Japanese = "ね", Spanish =
"X", Russian = "Х", Chinese = "艾克斯", Urdu = "‫"اکس‬, French = "X", Portuguese =
"X", Hindi = "एक्स"},
Y = {English = "Y", Arabic = "‫"ي‬, Albanian = "Y", Japanese = "の", Spanish =
"Y", Russian = "У", Chinese = "伊儿", Urdu = "‫"وائی‬, French = "Y", Portuguese = "Y",
Hindi = "वाई"},
Z = {English = "Z", Arabic = "‫"ز‬, Albanian = "Z", Japanese = "は", Spanish =
"Z", Russian = "З", Chinese = "贼德", Urdu = "‫"زیڈ‬, French = "Z", Portuguese = "Z",
Hindi = "जेड"}
}
local utx = {}
local Messages = {}
local drawingCache = {}

utility.folders["Part Chams"] = Instance.new("Folder", Workspace);


utility.folders["Hit Chams"] = Instance.new("Folder", Workspace);
Library.__index = Library;
Library.Pages.__index = Library.Pages;
Library.Sections.__index = Library.Sections;

-- // Functions
do
-- // Library Functions
do
function Library:Connection(Signal, Callback)
local Con = Signal:Connect(Callback)
return Con
end
--
function Library:updateNotifsPositions(position)
for i, v in pairs(Library.Notifs) do
local Position = position == "Middle" and
NewVector2(viewportSize.X/2 - (v["Objects"][3].TextBounds.X + 4)/2,600) or
NewVector2(20, 20)
game:GetService("TweenService"):Create(v.Container,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,Position.X,0,Position.Y + (i * 25))}):Play()
end
end
--
function Library:Notification(message, duration, color, position)
local notification = {Container = nil, Objects = {}}
--
local NotifContainer = Instance.new('Frame', NotifiactionSGui)
local Background = Instance.new('Frame', NotifContainer)
local Outline = Instance.new('Frame', Background)
local UIStroke = Instance.new('UIStroke', Outline)
local TextLabel = Instance.new('TextLabel', Background)
local Accemt = Instance.new('Frame', Background)
local Progress = Instance.new('Frame', Background)
--
local Position = position == "Middle" and
NewVector2(viewportSize.X/2 - (TextLabel.TextBounds.X + 4)/2, 600) or
NewVector2(20, 20)
--
NotifContainer.Name = "NotifContainer"
NotifContainer.Position = UDim2.new(0,Position.X, 0, Position.Y)
NotifContainer.Size = UDim2.new(0,TextLabel.TextBounds.X +
4,0,20)
NotifContainer.BackgroundColor3 = Color3.new(1,1,1)
NotifContainer.BackgroundTransparency = 1
NotifContainer.BorderSizePixel = 0
NotifContainer.BorderColor3 = Color3.new(0,0,0)
NotifContainer.ZIndex = 99999999
notification.Container = NotifContainer
--
Background.Name = "Background"
Background.Size = UDim2.new(1,0,1,0)
Background.BackgroundColor3 = Color3.new(0.0588,0.0588,0.0784)
Background.BorderColor3 = Color3.new(0.1373,0.1373,0.1569)
table.insert(notification.Objects, Background)
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(0,-1,0,-1)
Outline.Size = UDim2.new(1,2,1,2)
Outline.BackgroundColor3 = Color3.new(1,1,1)
Outline.BackgroundTransparency = 1
Outline.BorderSizePixel = 0
Outline.BorderColor3 = Color3.new(0,0,0)
table.insert(notification.Objects, Outline)
--
TextLabel.Name = "TextLabel"
TextLabel.Position = UDim2.new(0,1,0,0)
TextLabel.Size = UDim2.new(1,0,1,0)
TextLabel.BackgroundColor3 = Color3.new(1,1,1)
TextLabel.BackgroundTransparency = 1
TextLabel.BorderSizePixel = 0
TextLabel.BorderColor3 = Color3.new(0,0,0)
TextLabel.Text = message
TextLabel.TextColor3 = Color3.new(0.9216,0.9216,0.9216)
TextLabel.FontFace = Font.new(Font:GetRegistry("menu_plex"))
TextLabel.TextSize = Library.FontSize
TextLabel.AutomaticSize = Enum.AutomaticSize.X
TextLabel.TextXAlignment = Enum.TextXAlignment.Left
table.insert(notification.Objects, TextLabel)
--
Accemt.Name = "Accemt"
Accemt.Size = UDim2.new(1,0,0,1)
Accemt.BackgroundColor3 = Library.Accent
Accemt.BorderSizePixel = 0
Accemt.BorderColor3 = Color3.new(0,0,0)
table.insert(notification.Objects, Accemt)
--
Progress.Name = "Progress"
Progress.Position = UDim2.new(0,0,1,-1)
Progress.Size = UDim2.new(0,0,0,1)
Progress.BackgroundColor3 = Color3.new(1,0,0)
Progress.BorderSizePixel = 0
Progress.BorderColor3 = Color3.new(0,0,0)
table.insert(notification.Objects, Progress)

if color ~= nil then


Progress.BackgroundColor3 = color
Accemt.BackgroundColor3 = color
end

function notification:remove()
table.remove(Library.Notifs, table.find(Library.Notifs,
notification))
Library:updateNotifsPositions(position)
notification.Container:Destroy()
end

task.spawn(function()
Background.AnchorPoint = NewVector2(1,0)
local Tween1 =
game:GetService("TweenService"):Create(Background, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {AnchorPoint =
NewVector2(0,0)}):Play()
local Tween2 =
game:GetService("TweenService"):Create(Progress, TweenInfo.new(duration or 5,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size =
UDim2.new(1,0,0,1)}):Play()
game:GetService("TweenService"):Create(Progress,
TweenInfo.new(duration or 5, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{BackgroundColor3 = Color3.new(0,1,0)}):Play()
task.wait(duration)
game:GetService("TweenService"):Create(Background,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {AnchorPoint
= NewVector2(1,0)}):Play()
for i,v in next, notification.Objects do
game:GetService("TweenService"):Create(v,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 1}):Play()
end
game:GetService("TweenService"):Create(TextLabel,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{TextTransparency = 1}):Play()
game:GetService("TweenService"):Create(UIStroke,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Transparency
= 1}):Play()
end)

task.delay(0.25 + duration + 0.25, function()


notification:remove()
end)

table.insert(Library.Notifs, notification)
NotifContainer.Position = UDim2.new(0,Position.X,0,Position.Y +
(table.find(Library.Notifs, notification) * 25))
NotifContainer.Size = UDim2.new(0,TextLabel.TextBounds.X +
4,0,18)
Library:updateNotifsPositions(position)

return notification
end
--
function Library:Disconnect(Connection)
Connection:Disconnect()
end
--
function Library:Round(Number, Float)
return Float * math.floor(Number / Float)
end
--
function Library.NextFlag()
Library.UnNamedFlags = Library.UnNamedFlags + 1
return string.format("%.14g", Library.UnNamedFlags)
end
--
function Library:GetConfig()
local Config = ""
for Index, Value in pairs(self.Flags) do
if
Index ~= "ConfigConfig_List"
and Index ~= "ConfigConfig_Load"
and Index ~= "ConfigConfig_Save"
then
local Value2 = Value
local Final = ""
--
if typeof(Value2) == "Color3" then
local hue, sat, val = Value2:ToHSV()
--
Final = ("rgb(%s,%s,%s,%s)"):format(hue, sat,
val, 1)
elseif typeof(Value2) == "table" and Value2.Color and
Value2.Transparency then
local hue, sat, val = Value2.Color:ToHSV()
--
Final = ("rgb(%s,%s,%s,%s)"):format(hue, sat,
val, Value2.Transparency)
elseif typeof(Value2) == "table" and Value.Mode then
local Values = Value.current
--
Final = ("key(%s,%s,%s)"):format(Values[1] or
"nil", Values[2] or "nil", Value.Mode)
elseif Value2 ~= nil then
if typeof(Value2) == "boolean" then
Value2 =
("bool(%s)"):format(tostring(Value2))
elseif typeof(Value2) == "table" then
local New = "table("
--
for Index2, Value3 in pairs(Value2) do
New = New .. Value3 .. ","
end
--
if New:sub(#New) == "," then
New = New:sub(0, #New - 1)
end
--
Value2 = New .. ")"
elseif typeof(Value2) == "string" then
Value2 = ("string(%s)"):format(Value2)
elseif typeof(Value2) == "number" then
Value2 = ("number(%s)"):format(Value2)
end
--
Final = Value2
end
--
Config = Config .. Index .. ": " ..
tostring(Final) .. "\n"
end
end
--
return Config
end
--
function Library:LoadConfig(Config)
for i = 1, 10 do
local Table = string.split(Config, "\n")
local Table2 = {}
for Index, Value in pairs(Table) do
local Table3 = string.split(Value, ":")
--
if Table3[1] ~= "ConfigConfig_List" and #Table3 >= 2
then
local Value = Table3[2]:sub(2, #Table3[2])
--
if Value:sub(1, 3) == "rgb" then
local Table4 = string.split(Value:sub(5,
#Value - 1), ",")
--
Value = Table4
elseif Value:sub(1, 3) == "key" then
local Table4 = string.split(Value:sub(5,
#Value - 1), ",")
--
if Table4[1] == "nil" and Table4[2] ==
"nil" then
Table4[1] = nil
Table4[2] = nil
end
--
Value = Table4
elseif Value:sub(1, 4) == "bool" then
local Bool = Value:sub(6, #Value - 1)
--
Value = Bool == "true"
elseif Value:sub(1, 5) == "table" then
local Table4 = string.split(Value:sub(7,
#Value - 1), ",")
--
Value = Table4
elseif Value:sub(1, 6) == "string" then
local String = Value:sub(8, #Value - 1)
--
Value = String
elseif Value:sub(1, 6) == "number" then
local Number = tonumber(Value:sub(8,
#Value - 1))
--
Value = Number
end
--
Table2[Table3[1]] = Value
end
end
--
for i, v in pairs(Table2) do
if Flags[i] then
if typeof(Flags[i]) == "table" then
Flags[i]:Set(v)
else
Flags[i](v)
end
end
end
end
end
--
function Library:SetOpen(bool)
if typeof(bool) == 'boolean' then
Library.Open = bool;
Library.Holder.Visible = bool;
end
end;
--
function Library:ChangeAccent(Color)
Library.Accent = Color

for obj, theme in next, Library.ThemeObjects do


if theme:IsA("Frame") or theme:IsA("TextButton") then
theme.BackgroundColor3 = Color
elseif theme:IsA("TextLabel") then
theme.TextColor3 = Color
elseif theme:IsA("TextButton") and
theme.BackgroundTransparency == 1 then
theme.TextColor3 = Color
end
end
end
--
function Library:IsMouseOverFrame(Frame)
local AbsPos, AbsSize = Frame.AbsolutePosition,
Frame.AbsoluteSize;

if Mouse.X >= AbsPos.X and Mouse.X <= AbsPos.X + AbsSize.X


and Mouse.Y >= AbsPos.Y and Mouse.Y <= AbsPos.Y + AbsSize.Y
then

return true;
end;
end;
--
function Library:KeybindList()
local KeyList = {Keybinds = {}};
Library.KeyList = KeyList
--
local KeyOutline = Instance.new('Frame', PlaceHolderUI)
local KeyInline = Instance.new('Frame', KeyOutline)
local KeyAccent = Instance.new('Frame', KeyInline)
local KeyHolder = Instance.new('Frame', KeyInline)
local UIListLayout = Instance.new('UIListLayout', KeyHolder)
local KeyTitle = Instance.new('TextLabel', KeyInline)
local LineThing = Instance.new('Frame', KeyInline)
--
KeyOutline.Name = "KeyOutline"
KeyOutline.Position = UDim2.new(0.01,0,0.5,0)
KeyOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
KeyOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
KeyOutline.AnchorPoint = NewVector2(0.009999999776482582,0.5)
KeyOutline.AutomaticSize = Enum.AutomaticSize.XY
--
KeyInline.Name = "KeyInline"
KeyInline.Position = UDim2.new(0,1,0,1)
KeyInline.Size = UDim2.new(0,-2,0,-2)
KeyInline.BackgroundColor3 = Color3.new(0.0745,0.0745,0.0745)
KeyInline.BorderSizePixel = 0
KeyInline.BorderColor3 = Color3.new(0,0,0)
KeyInline.AutomaticSize = Enum.AutomaticSize.XY
--
KeyAccent.Name = "KeyAccent"
KeyAccent.Size = UDim2.new(1,0,0,1)
KeyAccent.BackgroundColor3 = Library.Accent
KeyAccent.BorderSizePixel = 0
KeyAccent.BorderColor3 = Color3.new(0,0,0)
--
KeyHolder.Name = "KeyHolder"
KeyHolder.Position = UDim2.new(0,0,0,22)
KeyHolder.BackgroundColor3 = Color3.new(1,1,1)
KeyHolder.BackgroundTransparency = 1
KeyHolder.BorderSizePixel = 0
KeyHolder.BorderColor3 = Color3.new(0,0,0)
KeyHolder.AutomaticSize = Enum.AutomaticSize.XY
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
--
KeyTitle.Name = "KeyTitle"
KeyTitle.Size = UDim2.new(1,0,0,20)
KeyTitle.BackgroundColor3 = Color3.new(1,1,1)
KeyTitle.BackgroundTransparency = 1
KeyTitle.BorderSizePixel = 0
KeyTitle.BorderColor3 = Color3.new(0,0,0)
KeyTitle.Text = "Keybinds"
KeyTitle.TextColor3 = Color3.new(1,1,1)
KeyTitle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
KeyTitle.TextSize = 12
KeyTitle.TextStrokeTransparency = 0
--
LineThing.Name = "LineThing"
LineThing.Position = UDim2.new(0,0,0,20)
LineThing.Size = UDim2.new(1,0,0,1)
LineThing.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
LineThing.BorderSizePixel = 0
LineThing.BorderColor3 = Color3.new(0,0,0)
-- Functions
function KeyList:SetVisible(State)
KeyOutline.Visible = State;
end;
--
function KeyList:NewKey(Name, Key, Mode)
local KeyValue = {}
--
local NewValue = Instance.new('TextLabel', KeyHolder)
--
NewValue.Name = "NewValue"
NewValue.Size = UDim2.new(0,0,0,15)
NewValue.BackgroundColor3 = Color3.new(1,1,1)
NewValue.BackgroundTransparency = 1
NewValue.BorderSizePixel = 0
NewValue.BorderColor3 = Color3.new(0,0,0)
NewValue.Text = tostring(" ["..Key.."] " .. Name .. " (" ..
Mode ..") ")
NewValue.TextColor3 = Color3.new(1,1,1)
NewValue.FontFace = Font.new(Font:GetRegistry("menu_plex"))
NewValue.TextSize = 12
NewValue.AutomaticSize = Enum.AutomaticSize.X
NewValue.TextXAlignment = Enum.TextXAlignment.Left
NewValue.Visible = false
--
function KeyValue:SetVisible(State)
NewValue.Visible = State;
end;
--
function KeyValue:Update(NewName, NewKey, NewMode)
NewValue.Text = tostring(" ["..NewName.."] " ..
NewKey .. " (" .. NewMode ..") ")
end;
return KeyValue
end;
return KeyList
end
end
-- // Color Picker Functions
do
function Library:NewPicker(name, default, defaultalpha, parent, count,
flag, callback)
-- // Instances
local Icon = Instance.new('TextButton', parent)
local IconInline = Instance.new('Frame', Icon)
local ColorWindow = Instance.new('Frame', parent)
local WindowInline = Instance.new('Frame', ColorWindow)
local Color = Instance.new('TextButton', WindowInline)
local Sat = Instance.new('ImageLabel', Color)
local Val = Instance.new('ImageLabel', Color)
local Pointer = Instance.new('Frame', Color)
local Container = Instance.new('Frame', Color)
local ColorOutline = Instance.new('Frame', Color)
local UIStroke = Instance.new('UIStroke', ColorOutline)
local Hue = Instance.new('ImageButton', Color)
local HueOutline = Instance.new('Frame', Hue)
local UIStroke2 = Instance.new('UIStroke', HueOutline)
local Alpha = Instance.new('ImageButton', Color)
local AlphaOutline = Instance.new('Frame', Alpha)
local UIStroke3 = Instance.new('UIStroke', AlphaOutline)
local HueSlide = Instance.new('Frame', Hue)
local AlphaSlide = Instance.new('Frame', Alpha)
local ModeOutline = Instance.new('Frame', parent)
local ModeInline = Instance.new('Frame', ModeOutline)
local UIListLayout = Instance.new('UIListLayout', ModeInline)
local Hold = Instance.new('TextButton', ModeInline)
local Toggle = Instance.new('TextButton', ModeInline)
--
Icon.Name = "Icon"
Icon.Position = UDim2.new(1, - (count * 20) - (count * 6),0.5,0)
Icon.Size = UDim2.new(0,20,0,10)
Icon.BackgroundColor3 = Color3.fromRGB(45,45,45)
Icon.BorderColor3 = Color3.fromRGB(10,10,10)
Icon.AnchorPoint = NewVector2(1,0.5)
Icon.AutoButtonColor = false
Icon.Text = ""
--
IconInline.Name = "IconInline"
IconInline.Position = UDim2.new(0,1,0,1)
IconInline.Size = UDim2.new(1,-2,1,-2)
IconInline.BackgroundColor3 = default
IconInline.BorderSizePixel = 0
--
ColorWindow.Name = "ColorWindow"
ColorWindow.Position = UDim2.new(1,-2,1,2)
ColorWindow.Size = UDim2.new(0,206,0,170)
ColorWindow.BackgroundColor3 = Color3.fromRGB(45,45,45)
ColorWindow.BorderColor3 = Color3.fromRGB(10,10,10)
ColorWindow.AnchorPoint = NewVector2(1,0)
ColorWindow.ZIndex = 100
ColorWindow.Visible = false
--
WindowInline.Name = "WindowInline"
WindowInline.Position = UDim2.new(0,1,0,1)
WindowInline.Size = UDim2.new(1,-2,1,-2)
WindowInline.BackgroundColor3 = Color3.fromRGB(20,20,20)
WindowInline.BorderSizePixel = 0;
WindowInline.ZIndex = 100
--
Color.Name = "Color"
Color.Position = UDim2.new(0,8,0,10)
Color.Size = UDim2.new(0,150,0,150)
Color.BackgroundColor3 = default
Color.BorderColor3 = Color3.new(0,0,0)
Color.Text = ""
Color.TextColor3 = Color3.new(0,0,0)
Color.AutoButtonColor = false
Color.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Color.TextSize = 14
Color.ZIndex = 100
--
Sat.Name = "Sat"
Sat.Size = UDim2.new(1,0,1,0)
Sat.BackgroundColor3 = Color3.new(1,1,1)
Sat.BackgroundTransparency = 1
Sat.BorderSizePixel = 0
Sat.BorderColor3 = Color3.new(0,0,0)
Sat.Image = "http://www.roblox.com/asset/?id=14684562507"
Sat.ZIndex = 100
--
Val.Name = "Val"
Val.Size = UDim2.new(1,0,1,0)
Val.BackgroundColor3 = Color3.new(1,1,1)
Val.BackgroundTransparency = 1
Val.BorderSizePixel = 0
Val.BorderColor3 = Color3.new(0,0,0)
Val.Image = "http://www.roblox.com/asset/?id=14684563800"
Val.ZIndex = 100
--
Pointer.Name = "Pointer"
Pointer.Position = UDim2.new(1,0,1,0)
Pointer.Size = UDim2.new(0,1,0,1)
Pointer.BackgroundColor3 = Color3.new(1,1,1)
Pointer.BorderColor3 = Color3.new(0,0,0)
Pointer.ZIndex = 100
--
Container.Name = "Container"
Container.Position = UDim2.new(0,-2,1,5)
Container.Size = UDim2.new(0,189,0,55)
Container.BackgroundColor3 = Color3.new(1,1,1)
Container.BackgroundTransparency = 1
Container.BorderColor3 = Color3.new(0,0,0)
Container.ZIndex = 100
--
ColorOutline.Name = "ColorOutline"
ColorOutline.Position = UDim2.new(0,-1,0,-1)
ColorOutline.Size = UDim2.new(1,2,1,2)
ColorOutline.BackgroundColor3 = Color3.new(1,1,1)
ColorOutline.BackgroundTransparency = 1
ColorOutline.BorderSizePixel = 0
ColorOutline.BorderColor3 = Color3.new(0,0,0)
ColorOutline.ZIndex = 100
--
UIStroke.Color = Color3.fromRGB(45,45,45)
--
Hue.Name = "Hue"
Hue.Position = UDim2.new(1,10,0,0)
Hue.Size = UDim2.new(0,10,1,0)
Hue.BackgroundColor3 = Color3.new(1,1,1)
Hue.BorderColor3 = Color3.new(0,0,0)
Hue.Image = "http://www.roblox.com/asset/?id=14684557999"
Hue.AutoButtonColor = false
Hue.ZIndex = 100
--
HueOutline.Name = "HueOutline"
HueOutline.Position = UDim2.new(0,-1,0,-1)
HueOutline.Size = UDim2.new(1,2,1,2)
HueOutline.BackgroundColor3 = Color3.new(1,1,1)
HueOutline.BackgroundTransparency = 1
HueOutline.BorderSizePixel = 0
HueOutline.BorderColor3 = Color3.new(0,0,0)
HueOutline.ZIndex = 100
--
UIStroke2.Color = Color3.fromRGB(45,45,45)
--
Alpha.Name = "Alpha"
Alpha.Position = UDim2.new(1,30,0,0)
Alpha.Size = UDim2.new(0,10,1,0)
Alpha.BackgroundColor3 = Color3.new(1,1,1)
Alpha.BorderColor3 = Color3.new(0,0,0)
Alpha.Image = "http://www.roblox.com/asset/?id=14684560169"
Alpha.AutoButtonColor = false
Alpha.ZIndex = 100
--
AlphaOutline.Name = "AlphaOutline"
AlphaOutline.Position = UDim2.new(0,-1,0,-1)
AlphaOutline.Size = UDim2.new(1,2,1,2)
AlphaOutline.BackgroundColor3 = Color3.new(1,1,1)
AlphaOutline.BackgroundTransparency = 1
AlphaOutline.BorderSizePixel = 0
AlphaOutline.BorderColor3 = Color3.new(0,0,0)
AlphaOutline.ZIndex = 100
--
UIStroke3.Color = Color3.fromRGB(45,45,45)
--
HueSlide.Name = "HueSlide"
HueSlide.Size = UDim2.new(1,0,0,3)
HueSlide.BackgroundColor3 = Color3.new(1,1,1)
HueSlide.BorderColor3 = Color3.new(0,0,0)
--
AlphaSlide.Name = "AlphaSlide"
AlphaSlide.Size = UDim2.new(1,0,0,3)
AlphaSlide.BackgroundColor3 = Color3.new(1,1,1)
AlphaSlide.BorderColor3 = Color3.new(0,0,0)
AlphaSlide.ZIndex = 100
--
ModeOutline.Name = "ModeOutline"
ModeOutline.Position = UDim2.new(1,65,0.5,0)
ModeOutline.Size = UDim2.new(0,60,0,12)
ModeOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
ModeOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
ModeOutline.AnchorPoint = NewVector2(1,0.5)
ModeOutline.AutomaticSize = Enum.AutomaticSize.Y
ModeOutline.Visible = false
ModeOutline.ZIndex = 1020000010
--
ModeInline.Name = "ModeInline"
ModeInline.Position = UDim2.new(0,1,0,1)
ModeInline.Size = UDim2.new(1,-2,1,-2)
ModeInline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
ModeInline.BorderSizePixel = 0
ModeInline.BorderColor3 = Color3.new(0,0,0)
ModeInline.ZIndex = 100
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
--
Hold.Name = "Hold"
Hold.Size = UDim2.new(1,0,0,15)
Hold.BackgroundColor3 = Color3.new(1,1,1)
Hold.BackgroundTransparency = 1
Hold.BorderSizePixel = 0
Hold.BorderColor3 = Color3.new(0,0,0)
Hold.Text = "Copy"
Hold.TextColor3 = Color3.fromRGB(145,145,145)
Hold.AutoButtonColor = false
Hold.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Hold.TextSize = Library.FontSize
Hold.TextStrokeTransparency = 0
Hold.ZIndex = 100
--
Toggle.Name = "Toggle"
Toggle.Size = UDim2.new(1,0,0,15)
Toggle.BackgroundColor3 = Color3.new(1,1,1)
Toggle.BackgroundTransparency = 1
Toggle.BorderSizePixel = 0
Toggle.BorderColor3 = Color3.new(0,0,0)
Toggle.Text = "Paste"
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
Toggle.AutoButtonColor = false
Toggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Toggle.TextSize = Library.FontSize
Toggle.TextStrokeTransparency = 0
Toggle.ZIndex = 100

Library:Connection(Icon.MouseEnter, function()
Icon.BorderColor3 = Library.Accent
end)
--
Library:Connection(Icon.MouseLeave, function()
Icon.BorderColor3 = Color3.fromRGB(10,10,10)
end)

-- // Connections
local mouseover = false
local hue, sat, val = default:ToHSV()
local hsv = default:ToHSV()
local alpha = defaultalpha
local oldcolor = hsv
local slidingsaturation = false
local slidinghue = false
local slidingalpha = false

local function update()


local real_pos =
game:GetService("UserInputService"):GetMouseLocation()
local mouse_position = NewVector2(real_pos.X, real_pos.Y -
40)
local relative_palette = (mouse_position -
Color.AbsolutePosition)
local relative_hue = (mouse_position -
Hue.AbsolutePosition)
local relative_opacity = (mouse_position -
Alpha.AbsolutePosition)
--
if slidingsaturation then
sat = math.clamp(1 - relative_palette.X /
Color.AbsoluteSize.X, 0, 1)
val = math.clamp(1 - relative_palette.Y /
Color.AbsoluteSize.Y, 0, 1)
end
--
if slidinghue then
hue = math.clamp(relative_hue.Y / Hue.AbsoluteSize.Y,
0, 1)
end
--
if slidingalpha then
alpha = math.clamp(relative_opacity.Y /
Alpha.AbsoluteSize.Y, 0, 1)
end
-- edited by finobe (yes these fucking alphas crash on
roexec? nice executor for $8 a week :[ )
hsv = Color3.fromHSV(hue, sat, val)
Pointer.Position = UDim2.new(math.clamp(1 - sat, 0.005,
0.995), 0, math.clamp(1 - val, 0.005, 0.995), 0)
Color.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
Alpha.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
IconInline.BackgroundColor3 = hsv

HueSlide.Position = UDim2.new(0,0,math.clamp(hue, 0.005,


0.995),0)
AlphaSlide.Position = UDim2.new(0,0,math.clamp(alpha,
0.005, 0.995),0)

if flag then
Library.Flags[flag] = {}
Library.Flags[flag]["Color"] = Color3.fromRGB(hsv.r *
255, hsv.g * 255, hsv.b * 255)
Library.Flags[flag]["Transparency"] = alpha
end

callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b *


255), alpha)
end
local function set(color, a)
if type(color) == "table" then
a = color[4]
color = Color3.fromHSV(color[1], color[2], color[3])
end
if type(color) == "string" then
color = Color3.fromHex(color)
end

local oldcolor = hsv


local oldalpha = alpha

hue, sat, val = color:ToHSV()


alpha = a or 1
hsv = Color3.fromHSV(hue, sat, val)

if hsv ~= oldcolor then


IconInline.BackgroundColor3 = hsv
Color.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
Pointer.Position = UDim2.new(math.clamp(1 - sat,
0.005, 0.995), 0, math.clamp(1 - val, 0.005, 0.995), 0)
Alpha.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
HueSlide.Position = UDim2.new(0,0,math.clamp(hue,
0.005, 0.995),0)
AlphaSlide.Position = UDim2.new(0,0,math.clamp(alpha,
0.005, 0.995),0)

if flag then
Library.Flags[flag] = {}
Library.Flags[flag]["Color"] =
Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
Library.Flags[flag]["Transparency"] = alpha
end

callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255,


hsv.b * 255), alpha)
end
end

Flags[flag] = set

set(default, defaultalpha)

Sat.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
slidingsaturation = true
update()
end
end)

Sat.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
slidingsaturation = false
update()
end
end)
Hue.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
slidinghue = true
update()
end
end)

Hue.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
slidinghue = false
update()
end
end)

Alpha.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
slidingalpha = true
update()
end
end)

Alpha.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
slidingalpha = false
update()
end
end)

Library:Connection(game:GetService("UserInputService").InputChanged,
function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement
then
if slidingalpha then
update()
end

if slidinghue then
update()
end

if slidingsaturation then
update()
end
end
end)

Icon.MouseButton1Down:Connect(function()
ColorWindow.Visible = not ColorWindow.Visible
parent.ZIndex = ColorWindow.Visible and 5 or 1

if slidinghue then
slidinghue = false
end
if slidingsaturation then
slidingsaturation = false
end

if slidingalpha then
slidingalpha = false
end
end)

Library:Connection(Icon.MouseButton2Down, function()
ModeOutline.Visible = not ModeOutline.Visible
end)
--
Library:Connection(Hold.MouseButton1Down, function()
Library.CopiedColor = hsv
Library.CopiedAlpha = alpha
end)
--
Library:Connection(Toggle.MouseButton1Down, function()
set(Library.CopiedColor or Color3.new(1,1,1),
Library.CopiedAlpha or 0)
end)
--

Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if ModeOutline.Visible and Input.UserInputType ==
Enum.UserInputType.MouseButton1 then
if not Library:IsMouseOverFrame(Icon) then
ModeOutline.Visible = false
end
end
end)

local colorpickertypes = {}

function colorpickertypes:Set(color, newalpha)


set(color, newalpha)
end

Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if ColorWindow.Visible and Input.UserInputType ==
Enum.UserInputType.MouseButton1 then
if not Library:IsMouseOverFrame(ColorWindow) and not
Library:IsMouseOverFrame(Icon) then
ColorWindow.Visible = false
parent.ZIndex = 1
end
end
end)

return colorpickertypes, ColorWindow


end
end
-- // Doc Functions
do
local Pages = Library.Pages;
local Sections = Library.Sections;
function Library:Window(Options)
local Window = {
Pages = {};
Sections = {};
Elements = {};
Dragging = { false, UDim2.new(0, 0, 0, 0) };
Size = Options.Size or Options.size or UDim2.new(0, 550,0,
600);
};
--
local ScreenGui = Instance.new('ScreenGui', game.CoreGui)
local Outline = Instance.new('Frame', ScreenGui)
local Inline = Instance.new('Frame', Outline)
local Accent = Instance.new('Frame', Inline)
local HolderOutline = Instance.new('Frame', Inline)
local HolderInline = Instance.new('Frame', HolderOutline)
local Tabs = Instance.new('Frame', HolderInline)
local UIListLayout = Instance.new('UIListLayout', Tabs)
local DragButton = Instance.new('TextButton', Outline)
local KeybindList = Library:KeybindList()
--
ScreenGui.DisplayOrder = 2
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(0.5,0,0.5,0)
Outline.Size = Window.Size
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
Outline.AnchorPoint = Vector2.new(0.5,0.5)
Library.Holder = Outline
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
Accent.Name = "Accent"
Accent.Size = UDim2.new(1,0,0,1)
Accent.BackgroundColor3 = Library.Accent
Accent.BorderSizePixel = 0
Accent.BorderColor3 = Color3.new(0,0,0)
table.insert(Library.ThemeObjects, Accent)
--
HolderOutline.Name = "HolderOutline"
HolderOutline.Position = UDim2.new(0,7,0,11)
HolderOutline.Size = UDim2.new(1,-14,1,-18)
HolderOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
HolderOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
--
HolderInline.Name = "HolderInline"
HolderInline.Position = UDim2.new(0,1,0,1)
HolderInline.Size = UDim2.new(1,-2,1,-2)
HolderInline.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
HolderInline.BorderSizePixel = 0
HolderInline.BorderColor3 = Color3.new(0,0,0)
--
Tabs.Name = "Tabs"
Tabs.Size = UDim2.new(1,0,0,22)
Tabs.BackgroundColor3 = Color3.new(1,1,1)
Tabs.BackgroundTransparency = 1
Tabs.BorderSizePixel = 0
Tabs.BorderColor3 = Color3.new(0,0,0)
--
UIListLayout.FillDirection = Enum.FillDirection.Horizontal
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
--
DragButton.Name = "DragButton"
DragButton.Size = UDim2.new(1,0,0,10)
DragButton.BackgroundColor3 = Color3.new(1,1,1)
DragButton.BackgroundTransparency = 1
DragButton.BorderSizePixel = 0
DragButton.BorderColor3 = Color3.new(0,0,0)
DragButton.Text = ""
DragButton.TextColor3 = Color3.new(0,0,0)
DragButton.AutoButtonColor = false
DragButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
DragButton.TextSize = 14

-- // Elements
Window.Elements = {
TabHolder = Tabs,
Holder = HolderInline
}

-- // Dragging
Library:Connection(DragButton.MouseButton1Down, function()
local Location =
game:GetService("UserInputService"):GetMouseLocation()
Window.Dragging[1] = true
Window.Dragging[2] = UDim2.new(0, Location.X -
Outline.AbsolutePosition.X, 0, Location.Y - Outline.AbsolutePosition.Y)
end)

Library:Connection(game:GetService("UserInputService").InputEnded,
function(Input)
if Input.UserInputType == Enum.UserInputType.MouseButton1
and Window.Dragging[1] then
local Location =
game:GetService("UserInputService"):GetMouseLocation()
Window.Dragging[1] = false
Window.Dragging[2] = UDim2.new(0, 0, 0, 0)
end
end)

Library:Connection(game:GetService("UserInputService").InputChanged,
function(Input)
local Location =
game:GetService("UserInputService"):GetMouseLocation()
local ActualLocation = nil

-- Dragging
if Window.Dragging[1] then
Outline.Position = UDim2.new(
0,
Location.X - Window.Dragging[2].X.Offset +
(Outline.Size.X.Offset * Outline.AnchorPoint.X),
0,
Location.Y - Window.Dragging[2].Y.Offset +
(Outline.Size.Y.Offset * Outline.AnchorPoint.Y)
)
end
end)

Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if Input.KeyCode == Library.UIKey then
Library:SetOpen(not Library.Open)
end
end)

-- // Functions
function Window:UpdateTabs()
for Index, Page in pairs(Window.Pages) do
Page.Elements.Button.Size =
UDim2.new(1/#Window.Pages,0,1,0)
Page:Turn(Page.Open)
end
end

-- // Returns
Library.Holder = Outline
return setmetatable(Window, Library)
end
--
function Library:Page(Properties)
if not Properties then
Properties = {}
end
--
local Page = {
Name = Properties.Name or "Page",
Window = self,
Open = false,
Sections = {},
Elements = {},
Weapons = {},
Icons = Properties.Weapons or Properties.weapons or false,
}
--
local TabButton = Instance.new('TextButton',
Page.Window.Elements.TabHolder)
local TabAccent = Instance.new('Frame', TabButton)
local TabLine = Instance.new('Frame', TabButton)
local WeaponOutline = Instance.new("Frame",
Page.Window.Elements.Holder)
local WeaponInline = Instance.new("Frame", WeaponOutline)
local UIListLayout3 = Instance.new("UIListLayout", WeaponInline)
local Left = Instance.new('Frame', Page.Window.Elements.Holder)
local Right = Instance.new('Frame', Page.Window.Elements.Holder)
local UIListLayout = Instance.new('UIListLayout', Left)
local UIListLayout_2 = Instance.new('UIListLayout', Right)
Left.Name = "Left"
Left.Position = UDim2.new(0,5,0,35)
Left.Size = UDim2.new(0.485,-3,1,-40)
Left.BackgroundColor3 = Color3.new(1,1,1)
Left.BorderSizePixel = 0
Left.BackgroundTransparency = 1
Left.BorderColor3 = Color3.new(0,0,0)
Left.Visible = false
Left.ZIndex = 3
--
Right.Name = "Right"
Right.Position = UDim2.new(1,-5,0,35)
Right.Size = UDim2.new(0.485,-3,1,-40)
Right.BackgroundColor3 = Color3.new(1,1,1)
Right.BorderSizePixel = 0
Right.BorderColor3 = Color3.new(0,0,0)
Right.AnchorPoint = Vector2.new(1,0)
Right.Visible = false
Right.BackgroundTransparency = 1
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0,12)
--
UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout_2.Padding = UDim.new(0,12)
--
TabButton.Name = "TabButton"
TabButton.Size = UDim2.new(0.25,0,1,0)
TabButton.BackgroundColor3 = Color3.new(1,1,1)
TabButton.BackgroundTransparency = 1
TabButton.BorderSizePixel = 0
TabButton.BorderColor3 = Color3.new(0,0,0)
TabButton.Text = Page.Name
TabButton.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
TabButton.AutoButtonColor = false
TabButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
TabButton.TextSize = Library.FontSize
TabButton.TextStrokeTransparency = 0
TabButton.LineHeight = 1.1
--
TabAccent.Name = "TabAccent"
TabAccent.Size = UDim2.new(1,0,0,1)
TabAccent.BackgroundColor3 = Library.Accent
TabAccent.BorderSizePixel = 0
TabAccent.BorderColor3 = Color3.new(0,0,0)
TabAccent.Visible = false
table.insert(Library.ThemeObjects, TabAccent)
--
TabLine.Name = "TabLine"
TabLine.Position = UDim2.new(0,0,1,-1)
TabLine.Size = UDim2.new(1,0,0,1)
TabLine.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
TabLine.BorderSizePixel = 0
TabLine.BorderColor3 = Color3.new(0,0,0)

WeaponOutline.Name = "WeaponOutline"
WeaponOutline.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
WeaponOutline.BorderColor3 = Color3.fromRGB(10, 10, 10)
WeaponOutline.Position = UDim2.new(0, 5, 0, 25)
WeaponOutline.Size = UDim2.new(1, -10, 0, 40)
WeaponOutline.Visible = false

WeaponInline.Name = "WeaponInline"
WeaponInline.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
WeaponInline.BorderColor3 = Color3.fromRGB(0, 0, 0)
WeaponInline.BorderSizePixel = 0
WeaponInline.Position = UDim2.new(0, 1, 0, 1)
WeaponInline.Size = UDim2.new(1, -2, 1, -2)

UIListLayout3.FillDirection = Enum.FillDirection.Horizontal
UIListLayout3.SortOrder = Enum.SortOrder.LayoutOrder

function Page:Turn(bool)
Page.Open = bool
if not Page.Icons then
Left.Visible = Page.Open
Right.Visible = Page.Open
else
WeaponOutline.Visible = Page.Open
for Index, Weapon in pairs(Page.Weapons) do
Weapon:Turn(Weapon.Open)
end
end
TabAccent.Visible = Page.Open
TabLine.Visible = not Page.Open
TabButton.TextColor3 = Page.Open and
Color3.fromRGB(255,255,255) or Color3.fromRGB(145,145,145)
end
--
Library:Connection(TabButton.MouseButton1Down, function()
if not Page.Open then
Page:Turn(true)
for _, Pages in pairs(Page.Window.Pages) do
if Pages.Open and Pages ~= Page then
Pages:Turn(false)
end
end
end
end)
--
Library:Connection(TabButton.MouseEnter, function()
if not Page.Open then
TabButton.TextColor3 = Library.Accent
end
end)
--
Library:Connection(TabButton.MouseLeave, function()
if not Page.Open then
TabButton.TextColor3 = Color3.fromRGB(145,145,145)
end
end)

-- // Functions
function Page:UpdateWeapons()
for Index, Weapon in pairs(Page.Weapons) do
Weapon.Elements.Button.Size =
UDim2.new(1/#Page.Weapons,0,1,0)
Weapon:Turn(Weapon.Open)
end
end

-- // Elements
Page.Elements = {
Left = Page.Icons and nil or Left,
Right = Page.Icons and nil or Right,
Button = TabButton,
WeaponOutline = WeaponOutline,
WeaponInline = WeaponInline,
}

-- // Drawings
if #Page.Window.Pages == 0 then
Page:Turn(true)
end
Page.Window.Pages[#Page.Window.Pages + 1] = Page
Page.Window:UpdateTabs()
return setmetatable(Page, Library.Pages)
end
--
function Pages:Weapon(Properties)
if not Properties then
Properties = {}
end
--
local Weapon = {
Icon = Properties.Icon or Properties.icon or
"rbxassetid://11127408662",
Window = self,
Open = false,
Sections = {},
Elements = {},
}
--
--Weapon.Window.Elements.WeaponOutline.Visible = true

local Left = Instance.new('Frame',


Weapon.Window.Window.Elements.Holder)
local Right = Instance.new('Frame',
Weapon.Window.Window.Elements.Holder)
local UIListLayout = Instance.new('UIListLayout', Left)
local UIListLayout_2 = Instance.new('UIListLayout', Right)
local New = Instance.new("ImageButton")
--
New.Name = "New"
New.Parent = Weapon.Window.Elements.WeaponInline
New.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
New.BackgroundTransparency = 1.000
New.BorderColor3 = Color3.fromRGB(0, 0, 0)
New.BorderSizePixel = 0
New.Size = UDim2.new(0.200000003, 0, 1, 0)
New.Image = Weapon.Icon
New.ScaleType = Enum.ScaleType.Fit
--
Left.Name = "Left"
Left.Position = UDim2.new(0,5,0,75)
Left.Size = UDim2.new(0.485,-3,1, -80)
Left.BackgroundColor3 = Color3.new(1,1,1)
Left.BorderSizePixel = 0
Left.BackgroundTransparency = 1
Left.BorderColor3 = Color3.new(0,0,0)
Left.Visible = false
Left.ZIndex = 3
--
Right.Name = "Right"
Right.Position = UDim2.new(1,-5,0,75)
Right.Size = UDim2.new(0.485,-3,1, -80)
Right.BackgroundColor3 = Color3.new(1,1,1)
Right.BorderSizePixel = 0
Right.BorderColor3 = Color3.new(0,0,0)
Right.AnchorPoint = Vector2.new(1,0)
Right.Visible = false
Right.BackgroundTransparency = 1
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0,12)
--
UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout_2.Padding = UDim.new(0,12)

function Weapon:Turn(bool)
Weapon.Open = bool
Left.Visible = Weapon.Open and Weapon.Window.Open
Right.Visible = Weapon.Open and Weapon.Window.Open
New.ImageColor3 = Weapon.Open and Color3.new(1,1,1) or
Color3.fromRGB(145,145,145)
end
--
Library:Connection(New.MouseButton1Down, function()
if not Weapon.Open then
Weapon:Turn(true)
for _, Weapons in pairs(Weapon.Window.Weapons) do
if Weapons.Open and Weapons ~= Weapon then
Weapons:Turn(false)
end
end
end
end)
--

-- // Elements
Weapon.Elements = {
Left = Left,
Right = Right,
Button = New
}

-- // Drawings
if #Weapon.Window.Weapons == 0 then
Weapon:Turn(true)
end
Weapon.Window.Weapons[#Weapon.Window.Weapons + 1] = Weapon
Weapon.Window:UpdateWeapons()
return setmetatable(Weapon, Library.Pages)
end
--
function Pages:Section(Properties)
if not Properties then
Properties = {}
end
--
local Section = {
Name = Properties.Name or "Section",
Page = self,
Side = (Properties.side or Properties.Side or
"left"):lower(),
ZIndex = Properties.ZIndex or 1, -- Idfk why
Elements = {},
Content = {},
}
--
local SectionOutline = Instance.new('Frame', Section.Side ==
"left" and Section.Page.Elements.Left or Section.Side == "right" and
Section.Page.Elements.Right)
local SectionInline = Instance.new('Frame', SectionOutline)
local Container = Instance.new('Frame', SectionInline)
local UIListLayout = Instance.new('UIListLayout', Container)
local Space = Instance.new('Frame', Container)
local SectionAccent = Instance.new('Frame', SectionInline)
local Title = Instance.new('TextLabel', SectionOutline)
local TextBorder = Instance.new('Frame', SectionOutline)
--
SectionOutline.Name = "SectionOutline"
SectionOutline.Size = UDim2.new(1,0,0,20)
SectionOutline.BackgroundColor3 =
Color3.new(0.1765,0.1765,0.1765)
SectionOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
SectionOutline.AutomaticSize = Enum.AutomaticSize.Y
SectionOutline.ZIndex = Section.ZIndex
--

--
SectionInline.Name = "SectionInline"
SectionInline.Position = UDim2.new(0,1,0,1)
SectionInline.Size = UDim2.new(1,-2,1,-2)
SectionInline.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
SectionInline.BorderSizePixel = 0
SectionInline.BorderColor3 = Color3.new(0,0,0)
--
Container.Name = "Container"
Container.Position = UDim2.new(0,7,0,10)
Container.Size = UDim2.new(1,-14,1,-10)
Container.BackgroundColor3 = Color3.new(1,1,1)
Container.BackgroundTransparency = 1
Container.BorderSizePixel = 0
Container.BorderColor3 = Color3.new(0,0,0)
Container.AutomaticSize = Enum.AutomaticSize.Y
--
Space.Name = "Space"
Space.Position = UDim2.new(0,0,1,0)
Space.Size = UDim2.new(1,0,0,1)
Space.BackgroundColor3 = Color3.new(1,1,1)
Space.BackgroundTransparency = 1
Space.BorderSizePixel = 0
Space.BorderColor3 = Color3.new(0,0,0)
Space.LayoutOrder = 1000
--
SectionAccent.Name = "SectionAccent"
SectionAccent.Size = UDim2.new(1,0,0,1)
SectionAccent.BackgroundColor3 = Library.Accent
SectionAccent.BorderSizePixel = 0
SectionAccent.BorderColor3 = Color3.new(0,0,0)
table.insert(Library.ThemeObjects, SectionAccent)
table.insert(Library.ThemeObjects, SectionAccent)
--
Title.Name = "Title"
Title.Position = UDim2.new(0,10,0,-8)
Title.Size = UDim2.new(0,100,0,16)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.TextColor3 = Color3.new(1,1,1)
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Title.TextSize = Library.FontSize
Title.ZIndex = 3
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Text = Section.Name
Title.TextStrokeTransparency = 0
--
TextBorder.Name = "TextBorder"
TextBorder.Position = UDim2.new(0,6,0,-2)
TextBorder.Size = UDim2.new(0,Title.TextBounds.X + 8,0,4)
TextBorder.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
TextBorder.BorderSizePixel = 0
TextBorder.BorderColor3 = Color3.new(0,0,0)
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0,10)

-- // Elements
Section.Elements = {
SectionContent = Container;
SectionHolder = SectionOutline;
}

-- // Returning
Section.Page.Sections[#Section.Page.Sections + 1] = Section
wait(0.01)
TextBorder.Size = UDim2.new(0,Title.TextBounds.X + 8,0,4)
return setmetatable(Section, Library.Sections)
end
--
function Sections:Toggle(Properties)
if not Properties then
Properties = {}
end
--
local Toggle = {
Window = self.Window,
Page = self.Page,
Section = self,
Risk = Properties.Risk or false,
Name = Properties.Name or "Toggle",
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or false
),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
Toggled = false,
Colorpickers = 0,
}
--
local NewToggle = Instance.new('TextButton',
Toggle.Section.Elements.SectionContent)
local Outline = Instance.new('Frame', NewToggle)
local Inline = Instance.new('Frame', Outline)
local Title = Instance.new('TextLabel', NewToggle)
--
NewToggle.Name = "NewToggle"
NewToggle.Size = UDim2.new(1,0,0,10)
NewToggle.BackgroundColor3 = Color3.new(1,1,1)
NewToggle.BackgroundTransparency = 1
NewToggle.BorderSizePixel = 0
NewToggle.BorderColor3 = Color3.new(0,0,0)
NewToggle.Text = ""
NewToggle.TextColor3 = Color3.new(0,0,0)
NewToggle.AutoButtonColor = false
NewToggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
NewToggle.TextSize = 14
--
Outline.Name = "Outline"
Outline.Size = UDim2.new(0,10,0,10)
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
--[[local inputText = string.upper(Toggle.Name)
local targetLanguage = "Chinese" -- // English, Arabic, Albanian,
Japanese, Spanish, Russian, Chinese, Urdu, French, Portuguese, Hindi
local translatedText = utility:TranslateString(inputText,
targetLanguage)]]
--
Title.Name = "Title"
Title.Position = UDim2.new(0,15,0,0)
Title.Size = UDim2.new(1,0,0,10)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.TextColor3 = Toggle.Risk and Color3.fromRGB(158, 158, 24)
or Color3.new(0.5686,0.5686,0.5686)
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Title.TextSize = Library.FontSize
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Text = Toggle.Name
Title.TextStrokeTransparency = 0

-- // Functions
local function SetState()
Toggle.Toggled = not Toggle.Toggled
if Toggle.Toggled then
table.insert(Library.ThemeObjects, Inline)
Inline.BackgroundColor3 = Library.Accent
if Toggle.Risk then
Title.TextColor3 = Color3.fromRGB(227, 227, 34)
else
Title.TextColor3 = Color3.fromRGB(255,255,255)
end
else
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, Inline))
Inline.BackgroundColor3 =
Color3.new(0.1294,0.1294,0.1294)
if Toggle.Risk then
Title.TextColor3 = Color3.fromRGB(158, 158, 24)
else
Title.TextColor3 = Color3.fromRGB(145,145,145)
end
end
Library.Flags[Toggle.Flag] = Toggle.Toggled
Toggle.Callback(Toggle.Toggled)
end
--
Library:Connection(NewToggle.MouseButton1Down, SetState)
Library:Connection(NewToggle.MouseEnter, function()
if not Toggle.Toggled then
table.insert(Library.ThemeObjects, Title)
Title.TextColor3 = Library.Accent
end
end)
--
Library:Connection(NewToggle.MouseLeave, function()
if not Toggle.Toggled then
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, Title))
if Toggle.Risk then
Title.TextColor3 = Color3.fromRGB(158, 158, 24)
else
Title.TextColor3 = Color3.fromRGB(145,145,145)
end
else
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, Title))
end
end)

function Toggle:Keybind(Properties)
local Properties = Properties or {}
local Keybind = {
Section = self,
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or nil
),
Mode = (Properties.mode or Properties.Mode or
"Toggle"),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
Name = Properties.name or Properties.Name or
"Keybind",
Binding = nil,
}
local Key
local State = false
--
local Outline = Instance.new('TextButton', NewToggle)
local Inline = Instance.new('Frame', Outline)
local Value = Instance.new('TextLabel', Inline)
local ModeOutline = Instance.new('Frame', NewToggle)
local ModeInline = Instance.new('Frame', ModeOutline)
local UIListLayout = Instance.new('UIListLayout',
ModeInline)
local Hold = Instance.new('TextButton', ModeInline)
local Toggle = Instance.new('TextButton', ModeInline)
local Always = Instance.new('TextButton', ModeInline)
local ListValue =
Library.KeyList:NewKey(tostring(Keybind.State):gsub("Enum.KeyCode.", ""),
Title.Text, Keybind.Mode)
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(1,0,0.5,0)
Outline.Size = UDim2.new(0,40,0,12)
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
Outline.AnchorPoint = NewVector2(1,0.5)
Outline.Text = ""
Outline.AutoButtonColor = false
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
Value.Name = "Value"
Value.Size = UDim2.new(1,0,1,0)
Value.BackgroundColor3 = Color3.new(1,1,1)
Value.BackgroundTransparency = 1
Value.BorderSizePixel = 0
Value.BorderColor3 = Color3.new(0,0,0)
Value.Text = "MB2"
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Value.TextSize = Library.FontSize
Value.TextStrokeTransparency = 0
--
ModeOutline.Name = "ModeOutline"
ModeOutline.Position = UDim2.new(1,65,0.5,0)
ModeOutline.Size = UDim2.new(0,60,0,12)
ModeOutline.BackgroundColor3 =
Color3.new(0.1765,0.1765,0.1765)
ModeOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
ModeOutline.AnchorPoint = NewVector2(1,0.5)
ModeOutline.AutomaticSize = Enum.AutomaticSize.Y
ModeOutline.Visible = false
--
ModeInline.Name = "ModeInline"
ModeInline.Position = UDim2.new(0,1,0,1)
ModeInline.Size = UDim2.new(1,-2,1,-2)
ModeInline.BackgroundColor3 =
Color3.new(0.1294,0.1294,0.1294)
ModeInline.BorderSizePixel = 0
ModeInline.BorderColor3 = Color3.new(0,0,0)
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
--
Hold.Name = "Hold"
Hold.Size = UDim2.new(1,0,0,15)
Hold.BackgroundColor3 = Color3.new(1,1,1)
Hold.BackgroundTransparency = 1
Hold.BorderSizePixel = 0
Hold.BorderColor3 = Color3.new(0,0,0)
Hold.Text = "Hold"
Hold.TextColor3 = Keybind.Mode == "Hold" and
Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
Hold.AutoButtonColor = false
Hold.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Hold.TextSize = Library.FontSize
Hold.TextStrokeTransparency = 0
--
Toggle.Name = "Toggle"
Toggle.Size = UDim2.new(1,0,0,15)
Toggle.BackgroundColor3 = Color3.new(1,1,1)
Toggle.BackgroundTransparency = 1
Toggle.BorderSizePixel = 0
Toggle.BorderColor3 = Color3.new(0,0,0)
Toggle.Text = "Toggle"
Toggle.TextColor3 = Keybind.Mode == "Toggle" and
Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
Toggle.AutoButtonColor = false
Toggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Toggle.TextSize = Library.FontSize
Toggle.TextStrokeTransparency = 0
--
Always.Name = "Always"
Always.Size = UDim2.new(1,0,0,15)
Always.BackgroundColor3 = Color3.new(1,1,1)
Always.BackgroundTransparency = 1
Always.BorderSizePixel = 0
Always.BorderColor3 = Color3.new(0,0,0)
Always.Text = "Always"
Always.TextColor3 = Keybind.Mode == "Always" and
Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
Always.AutoButtonColor = false
Always.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Always.TextSize = Library.FontSize
Always.TextStrokeTransparency = 0

-- // Functions
local function set(newkey)
if string.find(tostring(newkey), "Enum") then
if c then
c:Disconnect()
if Keybind.Flag then
Library.Flags[Keybind.Flag] = false
end
Keybind.Callback(false)
end
if tostring(newkey):find("Enum.KeyCode.") then
newkey =
Enum.KeyCode[tostring(newkey):gsub("Enum.KeyCode.", "")]
elseif
tostring(newkey):find("Enum.UserInputType.") then
newkey =
Enum.UserInputType[tostring(newkey):gsub("Enum.UserInputType.", "")]
end
if newkey == Enum.KeyCode.Backspace then
Key = nil

local text = "None"

Value.Text = text
ListValue:Update(text, Keybind.Name,
Keybind.Mode)
elseif newkey ~= nil then
Key = newkey

local text = (Library.Keys[newkey] or


tostring(newkey):gsub("Enum.KeyCode.", ""))

Value.Text = text
ListValue:Update(text, Keybind.Name,
Keybind.Mode)
end

Library.Flags[Keybind.Flag .. "_KEY"] = newkey


elseif table.find({ "Always", "Toggle", "Hold" },
newkey) then
Library.Flags[Keybind.Flag .. "_KEY STATE"] =
newkey
Keybind.Mode = newkey
ListValue:Update((Library.Keys[Key] or
tostring(Key):gsub("Enum.KeyCode.", "")), Keybind.Name, Keybind.Mode)
if Keybind.Mode == "Always" then
State = true
if Keybind.Flag then
Library.Flags[Keybind.Flag] = State
end
Keybind.Callback(true)
ListValue:SetVisible(true)
end
else
State = newkey
if Keybind.Flag then
Library.Flags[Keybind.Flag] = newkey
end
Keybind.Callback(newkey)
end
end
--
set(Keybind.State)
set(Keybind.Mode)
Outline.MouseButton1Click:Connect(function()
if not Keybind.Binding then

Value.Text = "..."

Keybind.Binding = Library:Connection(

game:GetService("UserInputService").InputBegan,
function(input, gpe)
set(
input.UserInputType ==
Enum.UserInputType.Keyboard and input.KeyCode
or input.UserInputType
)
Library:Disconnect(Keybind.Binding)
task.wait()
Keybind.Binding = nil
end
)
end
end)
--
local HoldLoop;

Library:Connection(game:GetService("UserInputService").InputBegan,
function(inp, Typing)
if Typing then return end

if HoldLoop then
HoldLoop:Disconnect()
end
--
if (inp.KeyCode == Key or inp.UserInputType == Key)
and not Keybind.Binding then
if Keybind.Mode == "Hold" then
if Keybind.Flag then
Library.Flags[Keybind.Flag] = true
end
HoldLoop =
Library:Connection(game:GetService("RunService").RenderStepped, function()
if Keybind.Callback then
Keybind.Callback(true)
end
end)
ListValue:SetVisible(true)
elseif Keybind.Mode == "Toggle" then
State = not State
if Keybind.Flag then
Library.Flags[Keybind.Flag] = State
end
Keybind.Callback(State)
ListValue:SetVisible(State)
end
end
end)
--

Library:Connection(game:GetService("UserInputService").InputEnded,
function(inp, Typing)
if Typing then return end
if Keybind.Mode == "Hold" then
if Key ~= "" or Key ~= nil then
if inp.KeyCode == Key or
inp.UserInputType == Key then
if c then
c:Disconnect()
if Keybind.Flag then

Library.Flags[Keybind.Flag] = false
end
if Keybind.Callback then
Keybind.Callback(false)
end
ListValue:SetVisible(false)
end
end
end
end
end)
Library:Connection(Outline.MouseEnter, function()
Outline.BorderColor3 = Library.Accent
end)
--
Library:Connection(Outline.MouseLeave, function()
Outline.BorderColor3 =
Color3.new(0.0392,0.0392,0.0392)
end)
--
Library:Connection(Outline.MouseButton2Down, function()
ModeOutline.Visible = not ModeOutline.Visible
end)
--
Library:Connection(Hold.MouseButton1Down, function()
set("Hold")
Hold.TextColor3 = Color3.new(1,1,1)
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
Always.TextColor3 = Color3.fromRGB(145,145,145)
end)
--
Library:Connection(Toggle.MouseButton1Down, function()
set("Toggle")
Hold.TextColor3 = Color3.fromRGB(145,145,145)
Toggle.TextColor3 = Color3.new(1,1,1)
Always.TextColor3 = Color3.fromRGB(145,145,145)
end)
--
Library:Connection(Always.MouseButton1Down, function()
set("Always")
Hold.TextColor3 = Color3.fromRGB(145,145,145)
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
Always.TextColor3 = Color3.new(1,1,1)
end)
--

Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if ModeOutline.Visible and Input.UserInputType ==
Enum.UserInputType.MouseButton1 then
if not Library:IsMouseOverFrame(ModeOutline)
then
ModeOutline.Visible = false
end
end
end)
--
Library.Flags[Keybind.Flag .. "_KEY"] = Keybind.State
Library.Flags[Keybind.Flag .. "_KEY STATE"] = Keybind.Mode
Flags[Keybind.Flag] = set
Flags[Keybind.Flag .. "_KEY"] = set
Flags[Keybind.Flag .. "_KEY STATE"] = set
--
function Keybind:Set(key)
set(key)
end

-- // Returning
return Keybind
end

function Toggle:Colorpicker(Properties)
local Properties = Properties or {}
local Colorpicker = {
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or Color3.fromRGB(255, 0, 0)
),
Alpha = (
Properties.alpha
or Properties.Alpha
or Properties.transparency
or Properties.Transparency
or 1
),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
}
-- // Functions
Toggle.Colorpickers = Toggle.Colorpickers + 1
local colorpickertypes = Library:NewPicker(
"",
Colorpicker.State,
Colorpicker.Alpha,
NewToggle,
Toggle.Colorpickers - 1,
Colorpicker.Flag,
Colorpicker.Callback
)

function Colorpicker:Set(color)
colorpickertypes:set(color)
end

-- // Returning
return Colorpicker
end

-- // Misc Functions
function Toggle.Set(bool)
bool = type(bool) == "boolean" and bool or false
if Toggle.Toggled ~= bool then
SetState()
end
end
Toggle.Set(Toggle.State)
Library.Flags[Toggle.Flag] = Toggle.State
Flags[Toggle.Flag] = Toggle.Set

-- // Returning
return Toggle
end
--
function Sections:Slider(Properties)
if not Properties then
Properties = {}
end
--
local Slider = {
Window = self.Window,
Page = self.Page,
Section = self,
Name = Properties.Name or nil,
Min = (Properties.min or Properties.Min or
Properties.minimum or Properties.Minimum or 0),
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or 10
),
Max = (Properties.max or Properties.Max or
Properties.maximum or Properties.Maximum or 100),
Sub = (
Properties.suffix
or Properties.Suffix
or Properties.ending
or Properties.Ending
or Properties.prefix
or Properties.Prefix
or Properties.measurement
or Properties.Measurement
or ""
),
Decimals = (Properties.decimals or Properties.Decimals or
1),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
Disabled = (Properties.Disabled or Properties.disable or
nil),
}
local TextValue = ("[value]" .. Slider.Sub)
--
local NewSlider = Instance.new('TextButton',
Slider.Section.Elements.SectionContent)
local Outline = Instance.new('Frame', NewSlider)
local Inline = Instance.new('Frame', Outline)
local Accent = Instance.new('TextButton', Inline)
local Add = Instance.new('TextButton', Outline)
local Subtract = Instance.new('TextButton', Outline)
local Title = Instance.new('TextLabel', NewSlider)
local Value = Instance.new('TextLabel', NewSlider)
--
NewSlider.Name = "NewSlider"
NewSlider.Size = UDim2.new(1,0,0,22)
NewSlider.BackgroundColor3 = Color3.new(1,1,1)
NewSlider.BackgroundTransparency = 1
NewSlider.BorderSizePixel = 0
NewSlider.BorderColor3 = Color3.new(0,0,0)
NewSlider.Text = ""
NewSlider.TextColor3 = Color3.new(0,0,0)
NewSlider.AutoButtonColor = false
NewSlider.FontFace = Font.new(Font:GetRegistry("menu_plex"))
NewSlider.TextSize = 14
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(0,15,1,0)
Outline.Size = UDim2.new(1,-30,0,7)
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
Outline.AnchorPoint = NewVector2(0,1)
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
Accent.Name = "Accent"
Accent.Size = UDim2.new(0,0,1,0)
Accent.BackgroundColor3 = Library.Accent
Accent.BorderSizePixel = 0
Accent.BorderColor3 = Color3.new(0,0,0)
Accent.Text = ""
Accent.TextColor3 = Color3.new(0,0,0)
Accent.AutoButtonColor = false
Accent.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Accent.TextSize = 14
table.insert(Library.ThemeObjects, Accent)
table.insert(Library.ThemeObjects, Accent)
--
Add.Name = "Add"
Add.Position = UDim2.new(1,5,0.5,0)
Add.Size = UDim2.new(0,10,0,10)
Add.BackgroundColor3 = Color3.new(1,1,1)
Add.BackgroundTransparency = 1
Add.BorderSizePixel = 0
Add.BorderColor3 = Color3.new(0,0,0)
Add.AnchorPoint = NewVector2(0,0.5)
Add.Text = "+"
Add.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Add.AutoButtonColor = false
Add.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Add.TextSize = Library.FontSize
Add.TextStrokeTransparency = 0
--
Subtract.Name = "Subtract"
Subtract.Position = UDim2.new(0,-15,0.5,0)
Subtract.Size = UDim2.new(0,10,0,10)
Subtract.BackgroundColor3 = Color3.new(1,1,1)
Subtract.BackgroundTransparency = 1
Subtract.BorderSizePixel = 0
Subtract.BorderColor3 = Color3.new(0,0,0)
Subtract.AnchorPoint = NewVector2(0,0.5)
Subtract.Text = "-"
Subtract.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Subtract.AutoButtonColor = false
Subtract.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Subtract.TextSize = Library.FontSize
Subtract.TextStrokeTransparency = 0
--
Title.Name = "Title"
Title.Position = UDim2.new(0,15,0,0)
Title.Size = UDim2.new(1,0,0,10)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Title.TextSize = Library.FontSize
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Text = Slider.Name
Title.TextStrokeTransparency = 0
--
Value.Name = "Value"
Value.Position = UDim2.new(0,15,0,0)
Value.Size = UDim2.new(1,-30,0,10)
Value.BackgroundColor3 = Color3.new(1,1,1)
Value.BackgroundTransparency = 1
Value.BorderSizePixel = 0
Value.BorderColor3 = Color3.new(0,0,0)
Value.TextColor3 = Color3.new(1,1,1)
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Value.TextSize = Library.FontSize
Value.TextXAlignment = Enum.TextXAlignment.Right
Value.TextStrokeTransparency = 0

-- // Functions
local Sliding = false
local Val = Slider.State
local function Set(value)
value = math.clamp(Library:Round(value, Slider.Decimals),
Slider.Min, Slider.Max)

local sizeX = ((value - Slider.Min) / (Slider.Max -


Slider.Min))
Accent.Size = UDim2.new(sizeX, 0, 1, 0)
--Value.Text = TextValue:gsub("%[value%]",
string.format("%.14g", value))
if Slider.Disabled and value == Slider.Min then
Value.Text = Slider.Disabled
else
Value.Text = TextValue:gsub("%[value%]",
string.format("%.14g", value))
end
Val = value

Library.Flags[Slider.Flag] = value
Slider.Callback(value)
end
--
local function Slide(input)
local sizeX = (input.Position.X -
Outline.AbsolutePosition.X) / Outline.AbsoluteSize.X
local value = ((Slider.Max - Slider.Min) * sizeX) +
Slider.Min
Set(value)
end
--
Library:Connection(NewSlider.InputBegan, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
Sliding = true
Slide(input)
end
end)
Library:Connection(NewSlider.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
Sliding = false
end
end)
Library:Connection(Accent.InputBegan, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
Sliding = true
Slide(input)
end
end)
Library:Connection(Accent.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
then
Sliding = false
end
end)

Library:Connection(game:GetService("UserInputService").InputChanged,
function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement
then
if Sliding then
Slide(input)
end
end
end)
Library:Connection(NewSlider.MouseEnter, function()
table.insert(Library.ThemeObjects, Title)
Title.TextColor3 = Library.Accent
end)
--
Library:Connection(NewSlider.MouseLeave, function()
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, Title))
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
end)
--
Library:Connection(Add.MouseButton1Down, function()
Set(Val + 1)
end)
--
Library:Connection(Subtract.MouseButton1Down, function()
Set(Val - 1)
end)
--
function Slider:Set(Value)
Set(Value)
end
--
function Slider:SetVisible(Bool)
NewSlider.Visible = Bool
end
--
Flags[Slider.Flag] = Set
Library.Flags[Slider.Flag] = Slider.State
Set(Slider.State)

-- // Returning
return Slider
end
--
function Sections:Dropdown(Properties)
local Properties = Properties or {};
local Dropdown = {
Window = self.Window,
Page = self.Page,
Section = self,
Open = false,
Name = Properties.Name or Properties.name or nil,
Options = (Properties.options or Properties.Options or
Properties.values or Properties.Values or {
"1",
"2",
"3",
}),
Max = (Properties.Max or Properties.max or nil),
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or nil
),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
OptionInsts = {},
}
--
local NewDrop = Instance.new('Frame',
Dropdown.Section.Elements.SectionContent)
local Outline = Instance.new('TextButton', NewDrop)
local Inline = Instance.new('Frame', Outline)
local Value = Instance.new('TextLabel', Inline)
local Icon = Instance.new('TextLabel', Inline)
local Title = Instance.new('TextLabel', NewDrop)
local ContainerOutline = Instance.new('Frame', NewDrop)
local ContainerInline = Instance.new('Frame', ContainerOutline)
local UIListLayout = Instance.new('UIListLayout',
ContainerInline)
--
NewDrop.Name = "NewDrop"
NewDrop.Size = UDim2.new(1,0,0,30)
NewDrop.BackgroundColor3 = Color3.new(1,1,1)
NewDrop.BackgroundTransparency = 1
NewDrop.BorderSizePixel = 0
NewDrop.BorderColor3 = Color3.new(0,0,0)
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(0,15,1,0)
Outline.Size = UDim2.new(1,-30,0,16)
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
Outline.AnchorPoint = NewVector2(0,1)
Outline.Text = ""
Outline.AutoButtonColor = false
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
Value.Name = "Value"
Value.Position = UDim2.new(0,2,0,0)
Value.Size = UDim2.new(1,-30,1,0)
Value.BackgroundColor3 = Color3.new(1,1,1)
Value.BackgroundTransparency = 1
Value.BorderSizePixel = 0
Value.BorderColor3 = Color3.new(0,0,0)
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Value.TextSize = Library.FontSize
Value.TextXAlignment = Enum.TextXAlignment.Left
Value.TextStrokeTransparency = 0
Value.TextWrapped = true
--
Icon.Name = "Icon"
Icon.Position = UDim2.new(0,-5,0,0)
Icon.Size = UDim2.new(1,0,1,0)
Icon.BackgroundColor3 = Color3.new(1,1,1)
Icon.BackgroundTransparency = 1
Icon.BorderSizePixel = 0
Icon.BorderColor3 = Color3.new(0,0,0)
Icon.Text = "+"
Icon.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Icon.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Icon.TextSize = Library.FontSize
Icon.TextXAlignment = Enum.TextXAlignment.Right
Icon.TextStrokeTransparency = 0
--
Title.Name = "Title"
Title.Position = UDim2.new(0,15,0,0)
Title.Size = UDim2.new(1,0,0,10)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Title.TextSize = Library.FontSize
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.TextStrokeTransparency = 0
Title.Text = Dropdown.Name
--
ContainerOutline.Name = "ContainerOutline"
ContainerOutline.Position = UDim2.new(0,15,1,2)
ContainerOutline.Size = UDim2.new(1,-30,0,10)
ContainerOutline.BackgroundColor3 =
Color3.new(0.1765,0.1765,0.1765)
ContainerOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
ContainerOutline.Visible = false
ContainerOutline.AutomaticSize = Enum.AutomaticSize.Y
ContainerOutline.ZIndex = 5
--
ContainerInline.Name = "ContainerInline"
ContainerInline.Position = UDim2.new(0,1,0,1)
ContainerInline.Size = UDim2.new(1,-2,1,-2)
ContainerInline.BackgroundColor3 =
Color3.new(0.1294,0.1294,0.1294)
ContainerInline.BorderSizePixel = 0
ContainerInline.BorderColor3 = Color3.new(0,0,0)
ContainerInline.ZIndex = 6;
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder

-- // Connections
Library:Connection(Outline.MouseButton1Down, function()
ContainerOutline.Visible = not ContainerOutline.Visible
if ContainerOutline.Visible then
NewDrop.ZIndex = 2
Icon.Text = "-"
else
NewDrop.ZIndex = 1
Icon.Text = "+"
end
end)

Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if ContainerOutline.Visible and Input.UserInputType ==
Enum.UserInputType.MouseButton1 then
if not Library:IsMouseOverFrame(ContainerOutline) and
not Library:IsMouseOverFrame(NewDrop) then
ContainerOutline.Visible = false
NewDrop.ZIndex = 1
Icon.Text = "+"
end
end
end)
Library:Connection(NewDrop.MouseEnter, function()
Outline.BorderColor3 = Library.Accent
table.insert(Library.ThemeObjects, Title)
Title.TextColor3 = Library.Accent
end)
--
Library:Connection(NewDrop.MouseLeave, function()
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, Title))
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
end)
--
local chosen = Dropdown.Max and {} or nil
--
local function handleoptionclick(option, button, text)
button.MouseButton1Down:Connect(function()
if Dropdown.Max then
if table.find(chosen, option) then
table.remove(chosen, table.find(chosen,
option))

local textchosen = {}
local cutobject = false

for _, opt in next, chosen do


table.insert(textchosen, opt)
end

Value.Text = #chosen == 0 and "" or


table.concat(textchosen, ",") .. (cutobject and ", ..." or "")

text.TextColor3 =
Color3.fromRGB(145,145,145)

Library.Flags[Dropdown.Flag] = chosen
Dropdown.Callback(chosen)
else
if #chosen == Dropdown.Max then
Dropdown.OptionInsts[chosen[1]].text.TextColor3 = Color3.fromRGB(145,145,145)
table.remove(chosen, 1)
end

table.insert(chosen, option)

local textchosen = {}
local cutobject = false

for _, opt in next, chosen do


table.insert(textchosen, opt)
end

Value.Text = #chosen == 0 and "" or


table.concat(textchosen, ",") .. (cutobject and ", ..." or "")

text.TextColor3 =
Color3.fromRGB(255,255,255)

Library.Flags[Dropdown.Flag] = chosen
Dropdown.Callback(chosen)
end
else
for opt, tbl in next, Dropdown.OptionInsts do
if opt ~= option then
tbl.text.TextColor3 =
Color3.fromRGB(145,145,145)
end
end
chosen = option
Value.Text = option
text.TextColor3 = Color3.fromRGB(255,255,255)
Library.Flags[Dropdown.Flag] = option
Dropdown.Callback(option)
end
end)
end
--
local function createoptions(tbl)
for _, option in next, tbl do
Dropdown.OptionInsts[option] = {}
local NewOption = Instance.new('TextButton',
ContainerInline)
local OptionName = Instance.new('TextLabel',
NewOption)
NewOption.Name = "NewOption"
NewOption.Size = UDim2.new(1,0,0,15)
NewOption.BackgroundColor3 = Color3.new(1,1,1)
NewOption.BackgroundTransparency = 1
NewOption.BorderSizePixel = 0
NewOption.BorderColor3 = Color3.new(0,0,0)
NewOption.Text = ""
NewOption.TextColor3 = Color3.new(0,0,0)
NewOption.AutoButtonColor = false
NewOption.FontFace =
Font.new(Font:GetRegistry("menu_plex"))
NewOption.TextSize = 14
NewOption.ZIndex = 7;
Dropdown.OptionInsts[option].button = NewOption
--
OptionName.Name = "OptionName"
OptionName.Position = UDim2.new(0,2,0,0)
OptionName.Size = UDim2.new(1,0,1,0)
OptionName.BackgroundColor3 = Color3.new(1,1,1)
OptionName.BackgroundTransparency = 1
OptionName.BorderSizePixel = 0
OptionName.BorderColor3 = Color3.new(0,0,0)
OptionName.Text = option
OptionName.TextColor3 =
Color3.new(0.5686,0.5686,0.5686)
OptionName.FontFace =
Font.new(Font:GetRegistry("menu_plex"))
OptionName.TextSize = Library.FontSize
OptionName.TextXAlignment = Enum.TextXAlignment.Left
OptionName.TextStrokeTransparency = 0
OptionName.ZIndex = 8;
Dropdown.OptionInsts[option].text = OptionName

handleoptionclick(option, NewOption, OptionName)


end
end
createoptions(Dropdown.Options)
--
local set
set = function(option)
if Dropdown.Max then
table.clear(chosen)
option = type(option) == "table" and option or {}

for opt, tbl in next, Dropdown.OptionInsts do


if not table.find(option, opt) then
tbl.text.TextColor3 =
Color3.fromRGB(145,145,145)
end
end

for i, opt in next, option do


if table.find(Dropdown.Options, opt) and
#chosen < Dropdown.Max then
table.insert(chosen, opt)
Dropdown.OptionInsts[opt].text.TextColor3
= Color3.fromRGB(255,255,255)
end
end

local textchosen = {}
local cutobject = false

for _, opt in next, chosen do


table.insert(textchosen, opt)
end

Value.Text = #chosen == 0 and "" or


table.concat(textchosen, ",") .. (cutobject and ", ..." or "")

Library.Flags[Dropdown.Flag] = chosen
Dropdown.Callback(chosen)
end
end
--
function Dropdown:Set(option)
if Dropdown.Max then
set(option)
else
for opt, tbl in next, Dropdown.OptionInsts do
if opt ~= option then
tbl.text.TextColor3 =
Color3.fromRGB(145,145,145)
end
end
if table.find(Dropdown.Options, option) then
chosen = option
Value.Text = option
Dropdown.OptionInsts[option].text.TextColor3 =
Color3.fromRGB(255,255,255)
Library.Flags[Dropdown.Flag] = chosen
Dropdown.Callback(chosen)
else
chosen = nil
Value.Text = ""
Library.Flags[Dropdown.Flag] = chosen
Dropdown.Callback(chosen)
end
end
end
--
function Dropdown:Refresh(tbl)
for _, opt in next, Dropdown.OptionInsts do
coroutine.wrap(function()
opt.button:Destroy()
end)()
end
table.clear(Dropdown.OptionInsts)

createoptions(tbl)

if Dropdown.Max then
table.clear(chosen)
else
chosen = nil
end

Library.Flags[Dropdown.Flag] = chosen
Dropdown.Callback(chosen)
end

-- // Returning
if Dropdown.Max then
Flags[Dropdown.Flag] = set
else
Flags[Dropdown.Flag] = Dropdown
end
Dropdown:Set(Dropdown.State)
function Dropdown:SetVisible(Bool)
NewDrop.Visible = Bool
end
return Dropdown
end
--
function Sections:Keybind(Properties)
local Properties = Properties or {}
local Keybind = {
Section = self,
Name = Properties.name or Properties.Name or "Keybind",
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or nil
),
Mode = (Properties.mode or Properties.Mode or "Toggle"),
UseKey = (Properties.UseKey or false),
Ignore = (Properties.ignore or Properties.Ignore or false),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
Binding = nil,
}
local Key
local State = false
--
local NewKey = Instance.new('Frame',
Keybind.Section.Elements.SectionContent)
local Outline = Instance.new('TextButton', NewKey)
local Inline = Instance.new('Frame', Outline)
local Value = Instance.new('TextLabel', Inline)
local Title = Instance.new('TextLabel', NewKey)
local ModeOutline = Instance.new('Frame', NewKey)
local ModeInline = Instance.new('Frame', ModeOutline)
local UIListLayout = Instance.new('UIListLayout', ModeInline)
local Hold = Instance.new('TextButton', ModeInline)
local Toggle = Instance.new('TextButton', ModeInline)
local Always = Instance.new('TextButton', ModeInline)
local ListValue =
Library.KeyList:NewKey(tostring(Keybind.State):gsub("Enum.KeyCode.", ""),
Keybind.Name, Keybind.Mode)
--
NewKey.Name = "NewKey"
NewKey.Size = UDim2.new(1,0,0,12)
NewKey.BackgroundColor3 = Color3.new(1,1,1)
NewKey.BackgroundTransparency = 1
NewKey.BorderSizePixel = 0
NewKey.BorderColor3 = Color3.new(0,0,0)
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(1,0,0.5,0)
Outline.Size = UDim2.new(0,40,0,12)
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
Outline.AnchorPoint = NewVector2(1,0.5)
Outline.Text = ""
Outline.AutoButtonColor = false
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
Value.Name = "Value"
Value.Size = UDim2.new(1,0,1,0)
Value.BackgroundColor3 = Color3.new(1,1,1)
Value.BackgroundTransparency = 1
Value.BorderSizePixel = 0
Value.BorderColor3 = Color3.new(0,0,0)
Value.Text = "MB2"
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Value.TextSize = Library.FontSize
Value.TextStrokeTransparency = 0
--
Title.Name = "Title"
Title.Position = UDim2.new(0,15,0,0)
Title.Size = UDim2.new(1,0,0,10)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Title.TextSize = Library.FontSize
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Text = Keybind.Name
Title.TextStrokeTransparency = 0
--
ModeOutline.Name = "ModeOutline"
ModeOutline.Position = UDim2.new(1,65,0.5,0)
ModeOutline.Size = UDim2.new(0,60,0,12)
ModeOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
ModeOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
ModeOutline.AnchorPoint = NewVector2(1,0.5)
ModeOutline.AutomaticSize = Enum.AutomaticSize.Y
ModeOutline.Visible = false
--
ModeInline.Name = "ModeInline"
ModeInline.Position = UDim2.new(0,1,0,1)
ModeInline.Size = UDim2.new(1,-2,1,-2)
ModeInline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
ModeInline.BorderSizePixel = 0
ModeInline.BorderColor3 = Color3.new(0,0,0)
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
--
Hold.Name = "Hold"
Hold.Size = UDim2.new(1,0,0,15)
Hold.BackgroundColor3 = Color3.new(1,1,1)
Hold.BackgroundTransparency = 1
Hold.BorderSizePixel = 0
Hold.BorderColor3 = Color3.new(0,0,0)
Hold.Text = "Hold"
Hold.TextColor3 = Keybind.Mode == "Hold" and Color3.new(1,1,1) or
Color3.new(0.5686,0.5686,0.5686)
Hold.AutoButtonColor = false
Hold.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Hold.TextSize = Library.FontSize
Hold.TextStrokeTransparency = 0
--
Toggle.Name = "Toggle"
Toggle.Size = UDim2.new(1,0,0,15)
Toggle.BackgroundColor3 = Color3.new(1,1,1)
Toggle.BackgroundTransparency = 1
Toggle.BorderSizePixel = 0
Toggle.BorderColor3 = Color3.new(0,0,0)
Toggle.Text = "Toggle"
Toggle.TextColor3 = Keybind.Mode == "Toggle" and
Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
Toggle.AutoButtonColor = false
Toggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Toggle.TextSize = Library.FontSize
Toggle.TextStrokeTransparency = 0
--
Always.Name = "Always"
Always.Size = UDim2.new(1,0,0,15)
Always.BackgroundColor3 = Color3.new(1,1,1)
Always.BackgroundTransparency = 1
Always.BorderSizePixel = 0
Always.BorderColor3 = Color3.new(0,0,0)
Always.Text = "Always"
Always.TextColor3 = Keybind.Mode == "Always" and
Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
Always.AutoButtonColor = false
Always.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Always.TextSize = Library.FontSize
Always.TextStrokeTransparency = 0

-- // Functions
local function set(newkey)
if string.find(tostring(newkey), "Enum") then
if c then
c:Disconnect()
if Keybind.Flag then
Library.Flags[Keybind.Flag] = false
end
Keybind.Callback(false)
end
if tostring(newkey):find("Enum.KeyCode.") then
newkey =
Enum.KeyCode[tostring(newkey):gsub("Enum.KeyCode.", "")]
elseif tostring(newkey):find("Enum.UserInputType.")
then
newkey =
Enum.UserInputType[tostring(newkey):gsub("Enum.UserInputType.", "")]
end
if newkey == Enum.KeyCode.Backspace then
Key = nil
if Keybind.UseKey then
if Keybind.Flag then
Library.Flags[Keybind.Flag] = Key
end
Keybind.Callback(Key)
end
local text = "None"

Value.Text = text
ListValue:Update(text, Keybind.Name,
Keybind.Mode)
elseif newkey ~= nil then
Key = newkey
if Keybind.UseKey then
if Keybind.Flag then
Library.Flags[Keybind.Flag] = Key
end
Keybind.Callback(Key)
end
local text = (Library.Keys[newkey] or
tostring(newkey):gsub("Enum.KeyCode.", ""))

Value.Text = text
ListValue:Update(text, Keybind.Name,
Keybind.Mode)
end

Library.Flags[Keybind.Flag .. "_KEY"] = newkey


elseif table.find({ "Always", "Toggle", "Hold" }, newkey)
then
if not Keybind.UseKey then
Library.Flags[Keybind.Flag .. "_KEY STATE"] =
newkey
Keybind.Mode = newkey
ListValue:Update((Library.Keys[Key] or
tostring(Key):gsub("Enum.KeyCode.", "")), Toggle.Name, Keybind.Mode)
if Keybind.Mode == "Always" then
State = true
if Keybind.Flag then
Library.Flags[Keybind.Flag] = State
end
Keybind.Callback(true)
ListValue:SetVisible(true)
end
end
else
State = newkey
if Keybind.Flag then
Library.Flags[Keybind.Flag] = newkey
end
Keybind.Callback(newkey)
end
end
--
set(Keybind.State)
set(Keybind.Mode)
Outline.MouseButton1Click:Connect(function()
if not Keybind.Binding then

Value.Text = "..."

Keybind.Binding = Library:Connection(
game:GetService("UserInputService").InputBegan,
function(input, gpe)
set(
input.UserInputType ==
Enum.UserInputType.Keyboard and input.KeyCode
or input.UserInputType
)
Library:Disconnect(Keybind.Binding)
task.wait()
Keybind.Binding = nil
end
)
end
end)
--

Library:Connection(game:GetService("UserInputService").InputBegan,
function(inp, Chatting)
if not Chatting then
if (inp.KeyCode == Key or inp.UserInputType == Key)
and not Keybind.Binding and not Keybind.UseKey then
if Keybind.Mode == "Hold" then
if Keybind.Flag then
Library.Flags[Keybind.Flag] = true
end
c =
Library:Connection(game:GetService("RunService").RenderStepped, function()
if Keybind.Callback then
Keybind.Callback(true)
end
end)
ListValue:SetVisible(true)
elseif Keybind.Mode == "Toggle" then
State = not State
if Keybind.Flag then
Library.Flags[Keybind.Flag] = State
end
Keybind.Callback(State)
ListValue:SetVisible(State)
end
end
end
end)
--

Library:Connection(game:GetService("UserInputService").InputEnded,
function(inp, Chatting)
if not Chatting then
if Keybind.Mode == "Hold" and not Keybind.UseKey then
if Key ~= "" or Key ~= nil then
if inp.KeyCode == Key or
inp.UserInputType == Key then
if c then
c:Disconnect()
if Keybind.Flag then

Library.Flags[Keybind.Flag] = false
end
if Keybind.Callback then
Keybind.Callback(false)
end
ListValue:SetVisible(false)
end
end
end
end
end
end)
Library:Connection(Outline.MouseEnter, function()
Outline.BorderColor3 = Library.Accent
end)
--
Library:Connection(Outline.MouseLeave, function()
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
end)
--
Library:Connection(Outline.MouseButton2Down, function()
ModeOutline.Visible = not ModeOutline.Visible
end)
--
Library:Connection(NewKey.MouseEnter, function()
table.insert(Library.ThemeObjects, Title)
Title.TextColor3 = Library.Accent
end)
--
Library:Connection(NewKey.MouseLeave, function()
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, Title))
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
end)
--
Library:Connection(Hold.MouseButton1Down, function()
set("Hold")
Hold.TextColor3 = Color3.new(1,1,1)
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
Always.TextColor3 = Color3.fromRGB(145,145,145)
end)
--
Library:Connection(Toggle.MouseButton1Down, function()
set("Toggle")
Hold.TextColor3 = Color3.fromRGB(145,145,145)
Toggle.TextColor3 = Color3.new(1,1,1)
Always.TextColor3 = Color3.fromRGB(145,145,145)
end)
--
Library:Connection(Always.MouseButton1Down, function()
set("Always")
Hold.TextColor3 = Color3.fromRGB(145,145,145)
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
Always.TextColor3 = Color3.new(1,1,1)
end)
--

Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input, Chatting)
if ModeOutline.Visible and Input.UserInputType ==
Enum.UserInputType.MouseButton1 then
if not Library:IsMouseOverFrame(ModeOutline) then
ModeOutline.Visible = false
end
end
end)
--
Library.Flags[Keybind.Flag .. "_KEY"] = Keybind.State
Library.Flags[Keybind.Flag .. "_KEY STATE"] = Keybind.Mode
Flags[Keybind.Flag] = set
Flags[Keybind.Flag .. "_KEY"] = set
Flags[Keybind.Flag .. "_KEY STATE"] = set
--
function Keybind:Set(key)
set(key)
end

-- // Returning
return Keybind
end
--
function Sections:Colorpicker(Properties)
local Properties = Properties or {}
local Colorpicker = {
Window = self.Window,
Page = self.Page,
Section = self,
Name = (Properties.Name or "Colorpicker"),
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or Color3.fromRGB(255, 0, 0)
),
Alpha = (
Properties.alpha
or Properties.Alpha
or Properties.transparency
or Properties.Transparency
or 1
),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
Colorpickers = 0,
}
--
local NewToggle = Instance.new('Frame',
Colorpicker.Section.Elements.SectionContent)
local TextLabel = Instance.new('TextLabel', NewToggle)
--
NewToggle.Name = "NewToggle"
NewToggle.Size = UDim2.new(1,0,0,10)
NewToggle.BackgroundColor3 = Color3.new(1,1,1)
NewToggle.BackgroundTransparency = 1
NewToggle.BorderSizePixel = 0
NewToggle.BorderColor3 = Color3.new(0,0,0)
--
TextLabel.Position = UDim2.new(0,15,0,0)
TextLabel.Size = UDim2.new(0,100,1,0)
TextLabel.BackgroundColor3 = Color3.new(1,1,1)
TextLabel.BackgroundTransparency = 1
TextLabel.BorderSizePixel = 0
TextLabel.BorderColor3 = Color3.new(0,0,0)
TextLabel.Text = Colorpicker.Name
TextLabel.TextColor3 = Color3.fromRGB(145, 145, 145)
TextLabel.FontFace = Font.new(Font:GetRegistry("menu_plex"))
TextLabel.TextSize = Library.FontSize
TextLabel.TextXAlignment = Enum.TextXAlignment.Left
TextLabel.TextStrokeTransparency = 0

Library:Connection(NewToggle.MouseEnter, function()
table.insert(Library.ThemeObjects, TextLabel)
TextLabel.TextColor3 = Library.Accent
end)
--
Library:Connection(NewToggle.MouseLeave, function()
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, TextLabel))
TextLabel.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
end)

-- // Functions
Colorpicker.Colorpickers = Colorpicker.Colorpickers + 1
local colorpickertypes = Library:NewPicker(
Colorpicker.Name,
Colorpicker.State,
Colorpicker.Alpha,
NewToggle,
Colorpicker.Colorpickers - 1,
Colorpicker.Flag,
Colorpicker.Callback
)

function Colorpicker:Set(color)
colorpickertypes:set(color, false, true)
end

-- // Returning
return Colorpicker
end
--
function Sections:Textbox(Properties)
local Properties = Properties or {}
local Textbox = {
Window = self.Window,
Page = self.Page,
Section = self,
Name = (Properties.Name or Properties.name or "textbox"),
Placeholder = (
Properties.placeholder
or Properties.Placeholder
or Properties.holder
or Properties.Holder
or ""
),
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or ""
),
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
Flag = (
Properties.flag
or Properties.Flag
or Properties.pointer
or Properties.Pointer
or Library.NextFlag()
),
}
--
local NewDrop = Instance.new('Frame',
Textbox.Section.Elements.SectionContent)
local Outline = Instance.new('TextButton', NewDrop)
local Inline = Instance.new('Frame', Outline)
local Value = Instance.new('TextBox', Inline)
local Title = Instance.new('TextLabel', NewDrop)
--
NewDrop.Name = "NewDrop"
NewDrop.Size = UDim2.new(1,0,0,30)
NewDrop.BackgroundColor3 = Color3.new(1,1,1)
NewDrop.BackgroundTransparency = 1
NewDrop.BorderSizePixel = 0
NewDrop.BorderColor3 = Color3.new(0,0,0)
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(0,15,1,0)
Outline.Size = UDim2.new(1,-30,0,16)
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
Outline.AnchorPoint = NewVector2(0,1)
Outline.Text = ""
Outline.AutoButtonColor = false
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
Value.Name = "Value"
Value.Position = UDim2.new(0,2,0,0)
Value.Size = UDim2.new(1,0,1,0)
Value.BackgroundColor3 = Color3.new(1,1,1)
Value.BackgroundTransparency = 1
Value.BorderSizePixel = 0
Value.BorderColor3 = Color3.new(0,0,0)
Value.TextColor3 = Color3.fromRGB(145,145,145)
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Value.TextSize = Library.FontSize
Value.TextXAlignment = Enum.TextXAlignment.Left
Value.TextStrokeTransparency = 0
Value.TextWrapped = true
Value.Text = Textbox.State
Value.ClearTextOnFocus = false
--
Title.Name = "Title"
Title.Position = UDim2.new(0,15,0,0)
Title.Size = UDim2.new(1,0,0,10)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Title.TextSize = Library.FontSize
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.TextStrokeTransparency = 0
Title.Text = Textbox.Name

-- // Connections
Library:Connection(NewDrop.MouseEnter, function()
Outline.BorderColor3 = Library.Accent
table.insert(Library.ThemeObjects, Title)
Title.TextColor3 = Library.Accent
end)
--
Library:Connection(NewDrop.MouseLeave, function()
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
table.remove(Library.ThemeObjects,
table.find(Library.ThemeObjects, Title))
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
end)
Value.FocusLost:Connect(function()
Textbox.Callback(Value.Text)
Library.Flags[Textbox.Flag] = Value.Text
end)
--
local function set(str)
Value.Text = str
Library.Flags[Textbox.Flag] = str
Textbox.Callback(str)
end

-- // Return
Flags[Textbox.Flag] = set
return Textbox
end
--
function Sections:Button(Properties)
local Properties = Properties or {}
local Button = {
Window = self.Window,
Page = self.Page,
Section = self,
Name = Properties.Name or "button",
Callback = (
Properties.callback
or Properties.Callback
or Properties.callBack
or Properties.CallBack
or function() end
),
}
--
local NewButton = Instance.new('TextButton',
Button.Section.Elements.SectionContent)
local Outline = Instance.new('Frame', NewButton)
local Inline = Instance.new('Frame', Outline)
local Value = Instance.new('TextLabel', Inline)
--
NewButton.Name = "NewButton"
NewButton.Size = UDim2.new(1,0,0,14)
NewButton.BackgroundColor3 = Color3.new(1,1,1)
NewButton.BackgroundTransparency = 1
NewButton.BorderSizePixel = 0
NewButton.BorderColor3 = Color3.new(0,0,0)
NewButton.Text = ""
NewButton.TextColor3 = Color3.new(0,0,0)
NewButton.AutoButtonColor = false
NewButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
NewButton.TextSize = 14
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(0,15,1,0)
Outline.Size = UDim2.new(1,-30,0,14)
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
Outline.AnchorPoint = NewVector2(0,1)
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
--
Value.Name = "Value"
Value.Size = UDim2.new(1,0,1,0)
Value.BackgroundColor3 = Color3.new(1,1,1)
Value.BackgroundTransparency = 1
Value.BorderSizePixel = 0
Value.BorderColor3 = Color3.new(0,0,0)
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
Value.TextSize = Library.FontSize
Value.Text = Button.Name
Value.TextStrokeTransparency = 0

Library:Connection(NewButton.MouseEnter, function()
Outline.BorderColor3 = Library.Accent
end)
--
Library:Connection(NewButton.MouseLeave, function()
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
end)
--
Library:Connection(NewButton.MouseButton1Down, function()
Button.Callback()
Value.TextColor3 = Library.Accent
end)
--
Library:Connection(NewButton.MouseButton1Up, function()
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
end)
end
--
function Sections:Label(Properties) -- fuck finobe
local Properties = Properties or {}
local Label = {
Window = self.Window,
Page = self.Page,
Section = self,
Name = Properties.Name or "label",
Centered = Properties.Centered or false,
}
local NewButton = Instance.new('TextLabel',
Label.Section.Elements.SectionContent) -- ya im lazy
--
NewButton.Name = "NewButton"
NewButton.Size = UDim2.new(1,0,0,12)
NewButton.BackgroundColor3 = Color3.new(1,1,1)
NewButton.BackgroundTransparency = 1
NewButton.BorderSizePixel = 0
NewButton.BorderColor3 = Color3.new(0,0,0)
NewButton.Text = Label.Name
NewButton.TextColor3 = Color3.fromRGB(255,255,255)
NewButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
NewButton.TextSize = Library.FontSize
NewButton.TextXAlignment = Label.Centered and
Enum.TextXAlignment.Center or Enum.TextXAlignment.Left
NewButton.TextStrokeTransparency = 0
NewButton.TextStrokeColor3 = Color3.new(0,0,0)
end
end
-- // Base Functions
do
-- // Utility Functions
do
function utility:ValidateClient(Player)
return Player and Player.Character and
Player.Character:FindFirstChild("Humanoid") and true or false
end
--
function utility:getPlayerInformation(Player)
local Object = Player.Character
local Humanoid = (Object and
Object:FindFirstChildOfClass("Humanoid"))
local RootPart = (Humanoid and Humanoid.RootPart)
--
return Object, Humanoid, RootPart
end
--
function utility:safeUnit(unit)
if unit.Magnitude > 1e-8 then
return unit
end
--
return Vector3.zero
end
--
function utility:CreateBeam(Origin, End, Color1, FaceCamera,
Width, TextureSpeed, Brightness)
local BeamPart = Instance.new("Part", Workspace)
BeamPart.Name = "BeamPart"
BeamPart.Transparency = 1
--
local Part = Instance.new("Part", BeamPart)
Part.Size = NewVector3(1, 1, 1)
Part.Transparency = 1
Part.CanCollide = false
Part.CFrame = typeof(Origin) == "CFrame" and Origin or
NewCFrame(Origin)
Part.Anchored = true
local Attachment = Instance.new("Attachment", Part)
local Part2 = Instance.new("Part", BeamPart)
Part2.Size = NewVector3(1, 1, 1)
Part2.Transparency = 1
Part2.CanCollide = false
Part2.CFrame = typeof(End) == "CFrame" and End or
NewCFrame(End)
Part2.Anchored = true
Part2.Color = Color3.fromRGB(255, 255, 255)
local Attachment2 = Instance.new("Attachment", Part2)
local Beam = Instance.new("Beam", Part)
Beam.FaceCamera = FaceCamera
Beam.Color = ColorSequence.new{
ColorSequenceKeypoint.new(0.00, Color1),
ColorSequenceKeypoint.new(1, Color1),
}
Beam.Attachment0 = Attachment
Beam.Attachment1 = Attachment2
Beam.Transparency = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(1, 0),
}
Beam.LightEmission = Brightness
Beam.LightInfluence = 1
Beam.Width0 = Width
Beam.Width1 = Width
Beam.Texture = "rbxassetid://7151778302"
Beam.LightEmission = 1
Beam.LightInfluence = 1
Beam.TextureMode = Enum.TextureMode.Wrap
Beam.TextureLength = 3
Beam.TextureSpeed = TextureSpeed
delay(flags["Tracers Life Time"], function()
task.spawn(function()
for i = 0, 100 do
task.wait(0.01)
Beam.Transparency = NumberSequence.new{
NumberSequenceKeypoint.new(0,
i/100),
NumberSequenceKeypoint.new(1,
i/100),
}
end
--
Part:Destroy()
Part2:Destroy()
BeamPart:Destroy()
end)
end)
end
--
function utility:generateAngles(numLines)
local angles = {}
local angleIncrement = 2 * math.pi / numLines

for i = 1, numLines do
local angle = (i - 1) * angleIncrement
table.insert(angles, angle)
end

return angles
end
--
function utility:Shift(Number)
return math.acos(math.cos(Number * math.pi)) / math.pi
end
--
function utility:checkMessage(tbl)
local msg = tbl[math.random(1, #tbl)]

if msg == oldMsg then


return utility:checkMessage(tbl)
else
oldMsg = msg
return msg
end
end
--
function utility:calculateAimViewerEndPoint()
if utility.target and utility.target.Character and
flags["Aim Viewer Bypass"] then
local part = (flags["Jump Prediction"] and
utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and
"RightFoot") or (flags["Nearest Part"] and partClosest) or flags["Single Hit Part"]
local yOffset =
utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and
flags["Manual Offset Value"] or 0
--
if (checks == true) then
if flags["Resolver"] then
local endpoint =
utility.target.Character[tostring(part)].Position + offset + NewVector3(0, yOffset,
0)
Remote:FireServer("UpdateMousePos",
endpoint)
else
local endpoint =
utility.target.Character[tostring(part)].Position +
(utility.target.Character.HumanoidRootPart.Velocity * prediction) + NewVector3(0,
yOffset, 0)
Remote:FireServer("UpdateMousePos",
endpoint)
end
end
end
end
--
function utility:getHeld()
if LocalPlayer.Character and
LocalPlayer.Character:FindFirstChildWhichIsA("Tool") and LocalPlayer.Character then
return
LocalPlayer.Character:FindFirstChildWhichIsA("Tool") or nil;
end
end
--
function utility:TranslateString(inputString, targetLanguage)
local translatedString = ""
for i = 1, #inputString do
local char = inputString:sub(i, i)
local translation = Languages[char] and
Languages[char][targetLanguage]
translatedString = translatedString .. (translation
or char)
end
return translatedString
end
--
function utility:GetComponents(Player)
if utility:ValidateClient(Player) then
return Player.Character,
Player.Character:FindFirstChild("HumanoidRootPart"),
Player.Character:FindFirstChild("Humanoid")
end
end
--
function utility:getClosestPlayerToCursor(Radius)
local shortestDistance = Radius or math.huge

local closestPlayer
for i, v in pairs(Players:GetPlayers()) do
if v ~= LocalPlayer and utility:ValidateClient(v) and
v.Character:FindFirstChild("HumanoidRootPart") then
local pos, OnScreen =
Camera:WorldToViewportPoint(v.Character.HumanoidRootPart.Position)
local magnitude = (NewVector2(pos.X, pos.Y) -
NewVector2(Mouse.X, Mouse.Y)).magnitude
if magnitude < shortestDistance and OnScreen
then
closestPlayer = v
shortestDistance = magnitude
end
end
end
return closestPlayer
end
--
function utility:RecalculateVelocity(Player)
if utility:ValidateClient(Player) then
local Character, RootPart, Humanoid =
utility:GetComponents(Player)

local currentPosition = RootPart.Position


local currentTime = tick()

task.wait()

local newPosition = RootPart.Position


local newTime = tick()

local distanceTraveled = (newPosition -


currentPosition)

local timeInterval = newTime - currentTime


local velocity = distanceTraveled / timeInterval
currentPosition = newPosition
currentTime = newTime
return velocity
end
end
--
function utility:drawObject(type, prop)
local obj = Drawing.new(type)
--
if prop then
for i,v in next, prop do
obj[i] = v;
end
end
return obj
end
--
function utility:characterClone(Player, Color, Material,
Transparency, Parent)
for i,v in pairs(Player.Character:GetChildren()) do
if table.find(utility.bodyParts, v.Name) and
v:IsA("MeshPart") and v.Name ~= "HumanoidRootPart" then
if v.Name == "UpperTorso" or v.Name ==
"LowerTorso" then
local ClonedPart = Instance.new("Part")
ClonedPart.Anchored = true
ClonedPart.CanCollide = false
ClonedPart.Position = v.Position
ClonedPart.Parent = Parent
ClonedPart.Material =
Enum.Material[Material]
ClonedPart.Transparency = Transparency
ClonedPart.Color = Color
ClonedPart.Size = v.Size +
Vector3.new(0.01,0.01,0.01)
ClonedPart.Name = v.Name
ClonedPart.Rotation = v.Rotation
ClonedPart.Shape = "Block"
else
local ClonedPart =
Instance.new("MeshPart")
ClonedPart.Anchored = true
ClonedPart.CanCollide = false
ClonedPart.Position = v.Position
ClonedPart.Parent = Parent
ClonedPart.Material =
Enum.Material[Material]
ClonedPart.Transparency = Transparency
ClonedPart.Color = Color
ClonedPart.Size = v.Size +
Vector3.new(0.01,0.01,0.01)
ClonedPart.Name = v.Name
ClonedPart.Rotation = v.Rotation
ClonedPart.MeshId = v.MeshId
end
end
end
end
--
function utility:Remove(Player)
if connections[Player] then
connections[Player]:Disconnect();
end
--
if highlights[Player] then
highlights[Player].Parent = nil;
end
end
--
function utility:AngleToEdge(angle, inset) -- credits to whoever
made this Im just porting over my old arrows 😭
local pos
local ox = Cos(angle)
local oy = Sin(angle)
local slope = oy / ox
--
local h_edge = viewportSize.x - inset
local v_edge = viewportSize.y - inset
if oy < 0 then
v_edge = inset
end
if ox < 0 then
h_edge = inset
end
local y = (slope * h_edge) + (viewportSize.y / 2) - slope *
(viewportSize.x / 2)
if y > 0 and y < viewportSize.y - inset then
pos = NewVector2(h_edge, y)
else
pos = NewVector2(
(v_edge - viewportSize.y / 2 + slope *
(viewportSize.x / 2)) / slope,
v_edge
)
end
return pos
end
--
function utility:Map(N, OldMin, OldMax, Min, Max) -- I love my 1
line funcs I use once ♥😻
return (N - OldMin) / (OldMax - OldMin) * (Max - Min) + Min
end
--
function utility:getRotate(Vec, Rads) -- I didnt make this math
credits to whoever can code cool maths!
local vec = Vec.Unit
local sin = math.sin(Rads)
local cos = math.cos(Rads)
local x = (cos * vec.x) - (sin * vec.y)
local y = (sin * vec.x) + (cos * vec.y)
--
return NewVector2(x, y).Unit * Vec.Magnitude
end
--
function utility:BoxCalculation(TorsoSize)
local UpCalculation = NewCFrame(TorsoSize)
local VTop = TorsoSize + (UpCalculation.UpVector * 1.8) +
Camera.CFrame.UpVector;
local VBottom = TorsoSize - (UpCalculation.UpVector * 2.5)
- Camera.CFrame.UpVector;

local Top, TopIsRendered =


Camera:WorldToViewportPoint(VTop);
local Bottom, BottomIsRendered =
Camera:WorldToViewportPoint(VBottom);

local Width = math.max(math.floor(math.abs(Top.x -


Bottom.x)), 3);
local Height =
math.max(math.floor(math.max(math.abs(Bottom.y - Top.y), Width / 2)), 3);
local BoxSize = NewVector2(math.floor(math.max(Height /
1.5, Width)), Height);
local BoxPosition = NewVector2(math.floor(Top.x * 0.5 +
Bottom.x * 0.5 - BoxSize.x * 0.5), math.floor(math.min(Top.y, Bottom.y)));

return BoxSize, BoxPosition;


end
--
local LastRayIgnoreUpdate, RayIgnoreList = 0, {}
--
function utility:checkRay(Instance, Distance, Position, Unit)
local Pass = true;
local Model = Instance.Character;

if Distance > 999 then return false; end

if not Model then return false end

local _Ray = Ray.new(Position, Unit * Distance)


if tick() - LastRayIgnoreUpdate > 3 then
LastRayIgnoreUpdate = tick()

table.clear(RayIgnoreList)

table.insert(RayIgnoreList, LocalPlayer.Character)
if utility:getHeld() then
table.insert(RayIgnoreList,
utility:getHeld().Handle)
end
table.insert(RayIgnoreList, Camera)

if Mouse.TargetFilter then
table.insert(RayIgnoreList, Mouse.TargetFilter) end

if #IgnoreList > 64 then


while #IgnoreList > 64 do
table.remove(IgnoreList, 1)
end
end

for i, v in pairs(IgnoreList) do
table.insert(RayIgnoreList, v) end
end

local Hit = workspace:FindPartOnRayWithIgnoreList(_Ray,


RayIgnoreList)

if Hit and not Hit:IsDescendantOf(Model) then


Pass = false;
if Hit.Transparency >= .3 or not Hit.CanCollide and
Hit.ClassName ~= Terrain then
table.insert(IgnoreList, Hit)
end
end

return Pass;
end
--
function utility:GetOrigin()
local Tool = utility:getHeld()
--
return (Tool ~= "None" and Tool.Handle.Position) or
Camera.CFrame.Position
end
--
function utility:Lerp(Value, MinColor, MaxColor)
if Value <= 0 then return MaxColor end
if Value >= 100 then return MinColor end
--
return Color3.new(
MaxColor.R + (MinColor.R - MaxColor.R) * Value,
MaxColor.G + (MinColor.G - MaxColor.G) * Value,
MaxColor.B + (MinColor.B - MaxColor.B) * Value
)
end
end

-- // Framework Functions
do
function framework:selectTarget()
local deathLoop;
local deathLoopRestore;
local espTarget = false;
--
if flags["Target Auto Select"] then return end
if flags["Silent Enabled"] then
if flags["Silent_Bind"] then
utility.target =
utility:getClosestPlayerToCursor(math.huge);
--
if (flags["Target Esp"] and
flags["PlayerESP_Enabled"] == false) then
Visuals:Create({Player = utility.target})
espTarget = true
end
--
if flags["Notify"] then
Library:Notification("Locked onto: " ..
utility.target.Name .. "", 3, Library.Accent, flags["Notification Position"])
end
--
if (flags["Back Track Enabled"] and flags["Back
Track Method"] == "Follow") then
utility:characterClone(utility.target,
flags["Back Track Settings"].Color, flags["Back Track Material"], flags["Back Track
Settings"].Transparency, utility.folders["Part Chams"])
end
--
if flags["Spectate"] then
Camera.CameraSubject =
utility.target.Character.Humanoid
end
else
-- What the fuck why does this break? I dont
know dont ask me >:(
LocalPlayer.Character.Humanoid.AutoRotate =
true;
Camera.CameraSubject =
LocalPlayer.Character.Humanoid;
utility.folders["Part
Chams"]:ClearAllChildren();
--
if (Visuals.Bases[utility.target] and
flags["PlayerESP_Enabled"] == false) then
Visuals.Bases[utility.target]:Remove()
end
--
if utility.target then
utility:Remove(utility.target);
end
--
utility.drawings["Tracer"].Visible = false;
utility.target = nil;
end
end
end
--
function framework:aimAssist()
local Enabled = flags["Aim Assist"] and flags["Aim Assist
Bind"]
if not Enabled then return end
--
local endPosition;
local fovCheck;
local Resolver, Prediction = flags["Resolver"], flags["Aim
Assist Manual Prediction Value"] or 0.1413
local Target = utility.target or aimAssistTarget
local Part = (flags["Aim Assist Jump Prediction"] and
Target.Character.Humanoid.FloorMaterial == Enum.Material.Air and "RightFoot") or
flags["Aim Assist Single Hit Part"]
local characterOffset = Resolver and
framework:calculateResolverOffset(Target) * Prediction or
Target.Character.HumanoidRootPart.Velocity * Prediction
local yOffset = Target.Character.Humanoid.FloorMaterial ==
Enum.Material.Air and flags["Aim Assist Manual Offset Value"] or 0
local Checks = framework:getChecks(Target,
table.find(flags["Aim Assist Checks"], "Friend Check"), table.find(flags["Aim
Assist Checks"], "Wall Check"), table.find(flags["Aim Assist Checks"], "Knocked
Check"), table.find(flags["Aim Assist Checks"], "Grabbed Check"));
--
local characterPosition = Target.Character[Part].Position +
characterOffset + NewVector3(0, yOffset, 0)
--
local Position =
Camera:WorldToViewportPoint(Target.Character.PrimaryPart.Position)
local Magnitude = (NewVector2(Position.X, Position.Y) -
NewVector2(Mouse.X, Mouse.Y)).magnitude
--
if utility.drawings["Aim Assist FOV"].Visible then
fovCheck = Magnitude < utility.drawings["Aim Assist
FOV"].Radius
else
fovCheck = true
end
--
if Checks and fovCheck then
fovCheck = Magnitude
--
if flags["Aim Assist Method"] == "Use Mouse" then
endPosition, OnScreen =
Camera:WorldToScreenPoint(characterPosition)
--
if OnScreen then
mousemoverel(NewVector2(endPosition.X -
Mouse.X, endPosition.Y - Mouse.Y).X / (flags["Horizontal Smoothness"] + 1),
NewVector2(endPosition.X - Mouse.X, endPosition.Y - Mouse.Y).Y / (flags["Vertical
Smoothness"] + 1))
end
else
Camera.CFrame =
Camera.CFrame:Lerp(NewCFrame(Camera.CFrame.p, characterPosition), (100 -
flags["Smoothness"]) / 100)
end
end
end
--
function framework:desyncInit() -- thanks wendigo for this or
whoever made it
local Root = LocalPlayer.Character.HumanoidRootPart
local rootVel = Root.Velocity;
local rootAng = Random(-180, 180)
local rootOffset do
local X = Random(-128^2, 128^2);
local Y = Random(0, 128^2);
local Z = Random(-128^2, 128^2);

rootOffset = NewVector3(X, -Y, Z);


end;

LocalPlayer.Character.HumanoidRootPart.CFrame *= Angle(0,
Rad(rootAng), 0);
LocalPlayer.Character.HumanoidRootPart.Velocity =
rootOffset;

RunService.RenderStepped:Wait();

LocalPlayer.Character.HumanoidRootPart.CFrame *= Angle(0,
Rad(-rootAng), 0);
LocalPlayer.Character.HumanoidRootPart.Velocity = rootVel;
end
--
function framework:autoReload()
local Tool = utility:getHeld()
if flags["Auto Reload"] then
if Tool.Ammo.Value == 0 then
Remote:FireServer("Reload", Tool)
end
end
end
--
function framework:worldVisuals()
if flags["Master Switch"] then
if flags["Clock Time Enabled"] and Lighting.ClockTime
~= flags["Clock Time"] then
Lighting.ClockTime = flags["Clock Time"]
end
--
if flags["Color Shift Bottom"] and
Lighting.ColorShift_Bottom ~= flags["Color Shift Bottom Color"] then
Lighting.ColorShift_Bottom = flags["Color Shift
Bottom Color"].Color
end
if flags["Ambient"] and Lighting.Ambient ~=
flags["Ambience Color"] then
Lighting.Ambient = flags["Ambience
Color"].Color
end
--
if flags["Outdoor Ambience"] and
Lighting.OutdoorAmbient ~= flags["Outdoor Ambience color"] then
Lighting.OutdoorAmbient = flags["Outdoor
Ambience color"].Color
end
--
if flags["Brightness Enabled"] and
Lighting.Brightness ~= flags["Brightness"] then
Lighting.Brightness = flags["Brightness"]
end
--
if flags["Color Shift Top"] and
Lighting.ColorShift_Top ~= flags["Color Shift Top Color"] then
Lighting.ColorShift_Top = flags["Color Shift
Top Color"].Color
end
--
if flags["Fog"] and Lighting.FogColor ~= flags["Fog
Color"] then
Lighting.FogColor = flags["Fog Color"].Color
end
end
end
--
function framework:cframeSpeed()
if flags["Speed Enabled"] and flags["Speed Key"] then
local Character = LocalPlayer.Character
local Move_Direction =
Character.Humanoid.MoveDirection
--
Character.HumanoidRootPart.CFrame =
Character.HumanoidRootPart.CFrame + (Move_Direction * (flags["Speed"] / 25))
end
end
--
function framework:chatSpam(Type, Repeat, Emojis, Symbols)
local message = ""
-- tp, rp, emojis, symbols
for i = 1, Repeat and math.random(2, 5) or 1 do
for i = 1, math.random(1, 5) do
local index = math.random(0, 1) == 0 and
"symbols" or "emojis"

if index == "symbols" and Symbols then


message ..= tostring(utx[index]
[math.random(1, #utx[index])])
elseif index == "emojis" and Emojis then
message ..= tostring(utx[index]
[math.random(1, #utx[index])])
end
end

message ..= utility:checkMessage(Messages[Type])


for i = 1, math.random(1, 5) do
local index = math.random(0, 1) == 0 and
"symbols" or "emojis"

if index == "symbols" and Symbols then


message ..= tostring(utx[index]
[math.random(1, #utx[index])])
elseif index == "emojis" and Emojis then
message ..= tostring(utx[index]
[math.random(1, #utx[index])])
end
end

message ..= " "


end

return message
end
--
function framework:fly(delta)
if flags["Fly Enabled"] and flags["Fly Key"] then
LocalPlayer.Character.HumanoidRootPart.Velocity =
Vector3.zero;
local x = 0
local y = 0
local z = 0
--
if not Typing then
if InputService:IsKeyDown(Enum.KeyCode.W) then
z -= 1
end
--
if InputService:IsKeyDown(Enum.KeyCode.S) then
z += 1
end
--
if InputService:IsKeyDown(Enum.KeyCode.D) then
x += 1
end
--
if InputService:IsKeyDown(Enum.KeyCode.A) then
x -= 1
end
--
if InputService:IsKeyDown(Enum.KeyCode.Space)
then
y += 1
end
--
if
InputService:IsKeyDown(Enum.KeyCode.LeftShift) then
y -= 1
end
end
--
local direction =
utility:safeUnit(Camera.CFrame:VectorToWorldSpace(NewVector3(x, 0, z)).Unit)
LocalPlayer.Character.HumanoidRootPart.CFrame +=
(direction + NewVector3(0, y, 0)) * (flags["Fly Speed"] / 10) * (delta * 60)
end
end
--
function framework:selectPrediction()
local Prediction;

local Predictions = {
0.113,
0.115,
0.117,

0.11923283912031938191231281632312637123821763333312731833,
0.121316378910319876472890149871624,
0.124521314351673817351423414,
0.131314253678192031927365421456789331,
0.1355991245213413214231231123121,
0.138312341526738912,
0.146432786576847627781237813281381382038198391293,
0.1512783311111111111111111111111111111111111,
0.15132132132132132555555555555555,
}

if flags["Auto Prediction"] then


for i = 1, #Predictions do
if
game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue() <= i * 10
then
Prediction = Predictions[i]
end
end
end

return Prediction or tonumber(flags["Manual Prediction


Value"]) or 0.1413
end
--
function framework:calculateResolverOffset(player)
local Offset;
local Prediction = framework:selectPrediction()
--
if flags["Resolver"] then
if flags["Resolver Method"] == "Recalculate Velocity"
then
Offset = utility:RecalculateVelocity(player) *
Prediction
elseif flags["Resolver Method"] == "Suppress
Velocity" then
Offset =
Vector3.new(player.Character.HumanoidRootPart.Velocity.X, 0,
player.Character.HumanoidRootPart.Velocity.Z) * Prediction
elseif flags["Resolver Method"] == "Move Direction"
then
Offset =
player.Character.Humanoid.MoveDirection * 19.64285714289 * Prediction
end
end
--
return Offset
end
--
function framework:calculateNearestPart(Player, List)
local shortestDistance = math.huge
local closestPart
if Player and Player.Character and
Player.Character:FindFirstChild("Humanoid") and
Player.Character:FindFirstChild("Head") and Player.Character.Humanoid.Health ~= 0
and Player.Character:FindFirstChild("HumanoidRootPart") then
for i, v in pairs(Player.Character:GetChildren()) do
if v:IsA("BasePart") then
local pos =
Camera:WorldToViewportPoint(v.Position)
local magnitude = (NewVector2(pos.X,
pos.Y) - NewVector2(Mouse.X, Mouse.Y+36)).magnitude
if magnitude < shortestDistance and
table.find(List, v.Name) then
closestPart = v
shortestDistance = magnitude
end
end
end
return closestPart
end
end
--
local autoSelectTick = 0;
function framework:autoSelect()
if autoSelectTick - tick() < flags["Auto Select
Delay"]/1000 then
autoSelectTick = tick()
local closestPlayer
local shortestDistance = math.huge -- Start with a
very large distance
for _, player in next, Players:GetPlayers() do
if player.Character and
player.Character:FindFirstChild("HumanoidRootPart") and player ~=
game.Players.LocalPlayer and framework:getChecks(player, table.find(flags["Silent
Checks"], "Friend Check"), table.find(flags["Silent Checks"], "Wall Check"),
table.find(flags["Silent Checks"], "Knocked Check"), table.find(flags["Silent
Checks"], "Grabbed Check")) then
local distance =
(LocalPlayer.Character.HumanoidRootPart.Position -
player.Character.HumanoidRootPart.Position).magnitude
if distance < shortestDistance then
utility.target = player
shortestDistance = distance
end
end
end
end
end
--
function framework:getChecks(Player, Friend, Wall, Knocked,
Grabbed, ToolHeld)
local Checks = true
--
if Friend and LocalPlayer:IsFriendsWith(Player.UserId) then
Checks = false end
if Wall then Checks = utility:checkRay(Player,
(Camera.CFrame.Position - Player.Character.Head.Position).Magnitude,
Camera.CFrame.Position, (Player.Character.Head.Position -
Camera.CFrame.Position).unit) end
if Knocked and Player.Character.BodyEffects["K.O"].Value ==
true then Checks = false end
if Grabbed and
Player.Character:FindFirstChild("GRABBING_CONSTRAINT") then Checks = false end
if ToolHeld and not (LocalPlayer.Character and
LocalPlayer.Character:FindFirstChildWhichIsA("Tool")) then Checks = false end
--
return Checks
end
end

-- // Esp Functions
do
-- functions for drawing the mf esp :money_face:
function Visuals:Draw(Type, Properties)
local Drawing = Drawing.new(Type)
--
for Property, Value in pairs(Properties) do
Drawing[Property] = Value
end
--
table.insert(Visuals.Drawings, Drawing)
--
return Drawing
end
--
function Visuals:Create(Properties)
if Properties then
if Properties.Player then
local Self = setmetatable({
Player = Properties.Player,
Info = {
Tick = tick(),
gunTick = tick()
},
Renders = {
Weapon = Visuals:Draw("Text", {Text
= "Weapon", Visible = false, Size = 13, Center = true, Color = NewHex("#ffffff"),
Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
--Distance = Visuals:Draw("Text",
{Text = "Distance", Visible = false, Size = 13, Center = true, Color =
NewHex("#ffffff"), Outline = true, OutlineColor = NewHex("#000000"), Font =
Drawing.Fonts.Plex}),
HealthOutline =
Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = true, Color =
NewHex("#000000")}),
Health = Visuals:Draw("Square",
{Thickness = 1, Visible = false, Filled = true, Color = NewHex("#09ff00")}),
HealthText = Visuals:Draw("Text",
{Text = "100", Visible = false, Size = 13, Center = true, Color =
NewHex("#09ff00"), Outline = true, OutlineColor = NewHex("#000000"), Font = 2}),
Box = Visuals:Draw("Square",
{Thickness = 1, Visible = false, Filled = false, Color = NewHex("#000000")}),
BoxFill = Visuals:Draw("Square",
{Thickness = 1, Visible = false, Filled = true, Color = NewHex("#000000")}),
BoxOutline = Visuals:Draw("Square",
{Thickness = 2, Visible = false, Filled = false, Color = NewHex("#000000")}),
BoxInline = Visuals:Draw("Square",
{Thickness = 1, Visible = false, Filled = false, Color = NewHex("#C30B00")}),
Name = Visuals:Draw("Text", {Text =
"Name", Visible = false, Size = 13, Center = true, Color = NewHex("#ffffff"),
Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
Flag = Visuals:Draw("Text", {Text =
"Flag", Visible = false, Size = 13, Center = false, Color = NewHex("#ffffff"),
Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
Tool = Visuals:Draw("Text", {Text =
"Tool", Visible = false, Size = 13, Center = false, Color = NewHex("#ffffff"),
Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
ArmorBarOutline =
Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = true, Color =
NewHex("#000000")}),
ArmorBar = Visuals:Draw("Square",
{Thickness = 1, Visible = false, Filled = true, Color = NewHex("#09ff00")}),
Arrow = Visuals:Draw("Triangle",
{Visible = false, Color = NewHex("#ffffff")}),
ArrowOutline =
Visuals:Draw("Triangle", {Visible = false, Color = NewHex("#ffffff")}),
ArmorBarText = Visuals:Draw("Text",
{Text = "100", Visible = false, Size = 13, Center = true, Color =
NewHex("#09ff00"), Outline = true, OutlineColor = NewHex("#000000"), Font = 2}),
GunIcon = Visuals:Draw("Image",
{Data = "", Transparency = 1, Visible = false, Size = NewVector2(129,55)}),
Corners = {},
},
Highlight = Instance.new("Highlight",
game.CoreGui),
}, {__index = Visuals.Base})
--
do -- // Corner Boxes
for Index = 9, 16 do
Self.Renders.Corners[Index] =
Visuals:Draw("Line", {Thickness = 3, Color = NewHex("#000000")})
end
--
for Index = 1, 8 do
Self.Renders.Corners[Index] =
Visuals:Draw("Line", {Thickness = 0, Color = NewHex("#1A66FF")})
end
end
--
Self.Highlight.Parent = game.CoreGui
--
Visuals.Bases[Properties.Player] = Self
--
return Self
end
end
end
--
function Visuals.Base:Opacity(State)
local Self = self
--
if Self then
local Renders = rawget(Self, "Renders")
--
for Index, Drawing in pairs(Renders) do
if Index ~= "Corners" then
Drawing.Visible = State -- what
end
end
--
for Index = 1, 16 do
Self.Renders.Corners[Index].Visible = State
end
--
if not State then
Self.Info.RootPosition = nil
Self.Info.Health = nil
Self.Info.MaxHealth = nil
end
end
end
--
function Visuals.Base:Remove()
local Self = self
--
if Self then
setmetatable(Self, {})
--
Visuals.Bases[Self.Player] = nil
--
Self.Object = nil
--
for Index, Drawing in pairs(Self.Renders) do
if Index ~= "Corners" then
Drawing:Remove()
end
end
--
for Index = 1, 16 do
Self.Renders.Corners[Index]:Remove()
end
--
Self.Highlight.Parent = nil;
Self.Highlight = nil;
--
Self.Renders = nil
Self = nil
end
end
--
function Visuals.Base:Update()
local Self = self
local Add = 0;
--
if Self then
local Renders = rawget(Self, "Renders")
local Player = rawget(Self, "Player")
local Info = rawget(Self, "Info")
local Highlights = rawget(Self, "Highlight")
local Parent = Player.Parent
--
if (Player and Parent and Parent ~= nil) or
(Info.RootPosition and Info.Health and Info.MaxHealth) then
if Player then
local Object, Humanoid, RootPart =
utility:getPlayerInformation(Player)
local TransparencyMultplier = 1
--
if Object and Object.Parent and (Humanoid
and RootPart) then
local Health, MaxHealth =
Humanoid.Health, Humanoid.MaxHealth
--
if Health > 0 then
Info.Pass = true
Info.RootPosition =
RootPart.Position
Info.Health = Health
Info.MaxHealth = MaxHealth
Info.ArmorValue =
Object:FindFirstChild("BodyEffects") and
Object["BodyEffects"]:FindFirstChild("Armor") and
Object["BodyEffects"]:FindFirstChild("Armor").Value
Info.ToolHeld =
(Object:FindFirstChildOfClass("Tool") and
Object:FindFirstChildOfClass("Tool").Name) or "None"
else
Info.Pass = false
end
else
Info.Pass = false
end
--
if Info.Pass then
Info.Tick = tick()
else
local FadeTime = (250 / (2 * 100))
local Value = Info.Tick - tick()
--
if Value <= FadeTime then
TransparencyMultplier =
Clamp((Value + FadeTime) * 1 / FadeTime, 0, 1)
else
Info.RootPosition = nil
Info.Health = nil
Info.MaxHealth = nil
end
end
--
if Info.RootPosition and Info.Health and
Info.MaxHealth and (Object and Humanoid and RootPart) then
local DistanceToPlayer =
(Camera.CFrame.Position - Info.RootPosition).Magnitude
local Position, OnScreen =
Camera:WorldToViewportPoint(Info.RootPosition)
--
local Size, BoxSize, BoxPosition,
BoxCenter, TL, BL, TR, BR
--
if OnScreen then
local MaxDistance =
tonumber(flags["ESP Distance"])
--
if DistanceToPlayer <=
MaxDistance then
BoxSize, BoxPosition =
utility:BoxCalculation(Info.RootPosition)
--
if
(flags["PlayerESP_Box"] == true and flags["PlayerESP_Box_Type"] == "Corner") then
-- // Corner Boxes
BoxCenter =
Math:RoundVector(NewVector2(BoxPosition.X + BoxSize.X / 2, BoxPosition.Y +
BoxSize.Y / 2));
TL =
Math:RoundVector(NewVector2(BoxCenter.X - BoxSize.X / 2, BoxCenter.Y - BoxSize.Y /
2));
BL =
Math:RoundVector(NewVector2(BoxCenter.X - BoxSize.X / 2, BoxCenter.Y + BoxSize.Y /
2));
TR =
Math:RoundVector(NewVector2(BoxCenter.X + BoxSize.X / 2, BoxCenter.Y - BoxSize.Y /
2));
BR =
Math:RoundVector(NewVector2(BoxCenter.X + BoxSize.X / 2, BoxCenter.Y + BoxSize.Y /
2));
end
end
end
--
if (BoxSize and BoxPosition) then
local GeneralOpacity = ((1 -
0.2) * TransparencyMultplier)
--
for Index, Drawing in
pairs(Renders) do
if Index ~= "Corners"
then
if Drawing.Visible
then

Drawing.Visible = false
end
end
end
--
Highlights.Enabled = false
--
for Index = 1, 16 do
if
Renders.Corners[Index].Visible then

Renders.Corners[Index].Visible = false
end
end
--
if Player ~= LocalPlayer then
do -- // Name
if
flags["PlayerESP_Name"] then
local Name =
Renders.Name
--
Name.Text =
Player.Name

Name.Position = NewVector2(BoxSize.X / 2 + BoxPosition.X, BoxPosition.Y - 16)


Name.Visible
= true

Name.Transparency = GeneralOpacity
Name.Color =
flags["PlayerESP_Name_Color"].Color
end
end
--
do -- // Highlights
if
flags["PlayerESP_Highlights"] then

Highlights.Enabled = true

Highlights.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop

Highlights.FillColor = flags["PlayerESP_HighlightFillSettings"].Color

Highlights.OutlineColor = flags["PlayerESP_HighlightOutlineSettings"].Color

Highlights.Adornee = Object

Highlights.OutlineTransparency =
flags["PlayerESP_HighlightOutlineSettings"].Transparency

Highlights.FillTransparency =
flags["PlayerESP_HighlightOutlineSettings"].Transparency
end
end
--
do -- // Corner Boxes
if
flags["PlayerESP_Box"] then
if
flags["PlayerESP_Box_Type"] == "Corner" then
local
BoxCorners, BoxColor1, BoxColor2 = Renders.Corners,
flags["PlayerESP_Box_Color1"].Color, flags["PlayerESP_Box_Color2"].Color
-- //
Inlines
do

BoxCorners[1].Visible = true

BoxCorners[1].From = TL

BoxCorners[1].To = BoxCorners[1].From + NewVector2(0, BoxSize.X / 3)

BoxCorners[1].Color = BoxColor1

--
BoxCorners[2].Visible = true

BoxCorners[2].From = TL + NewVector2(1, 0)

BoxCorners[2].To = BoxCorners[2].From + NewVector2(BoxSize.X / 3, 0)

BoxCorners[2].Color = BoxColor1

--

BoxCorners[3].Visible = true

BoxCorners[3].From = TR

BoxCorners[3].To = BoxCorners[3].From + NewVector2(-BoxSize.X / 3, 0)

BoxCorners[3].Color = BoxColor1

--

BoxCorners[4].Visible = true

BoxCorners[4].From = TR

BoxCorners[4].To = BoxCorners[4].From + NewVector2(0, BoxSize.X / 3)

BoxCorners[4].Color = BoxColor1

--

BoxCorners[5].Visible = true

BoxCorners[5].From = BR + NewVector2(0, 1)

BoxCorners[5].To = BoxCorners[5].From + NewVector2(0, -BoxSize.X / 3)

BoxCorners[5].Color = BoxColor1

--

BoxCorners[6].Visible = true

BoxCorners[6].From = BR

BoxCorners[6].To = BoxCorners[6].From + NewVector2(-BoxSize.X / 3, 0)

BoxCorners[6].Color = BoxColor1

--

BoxCorners[7].Visible = true

BoxCorners[7].From = BL + NewVector2(0, 1)

BoxCorners[7].To = BoxCorners[7].From + NewVector2(0, -BoxSize.X / 3)

BoxCorners[7].Color = BoxColor1
--

BoxCorners[8].Visible = true

BoxCorners[8].From = BL

BoxCorners[8].To = BoxCorners[8].From + NewVector2(BoxSize.X / 3, 0)

BoxCorners[8].Color = BoxColor1
end
-- //
Outlines
do

BoxCorners[9].Visible = true

BoxCorners[9].From = BoxCorners[1].From + NewVector2(0, -1)

BoxCorners[9].To = BoxCorners[1].To + NewVector2(0, 1)

BoxCorners[9].Color = BoxColor2

--

BoxCorners[10].Visible = true

BoxCorners[10].From = BoxCorners[2].From

BoxCorners[10].To = BoxCorners[2].To + NewVector2(1, 0)

BoxCorners[10].Color = BoxColor2

--

BoxCorners[11].Visible = true

BoxCorners[11].From = BoxCorners[3].From + NewVector2(2, 0)

BoxCorners[11].To = BoxCorners[3].To + NewVector2(-1, 0)

BoxCorners[11].Color = BoxColor2

--

BoxCorners[12].Visible = true

BoxCorners[12].From = BoxCorners[4].From

BoxCorners[12].To = BoxCorners[4].To + NewVector2(0, 1)

BoxCorners[12].Color = BoxColor2

--

BoxCorners[13].Visible = true

BoxCorners[13].From = BoxCorners[5].From

BoxCorners[13].To = BoxCorners[5].To + NewVector2(0, -1)


BoxCorners[13].Color = BoxColor2

--

BoxCorners[14].Visible = true

BoxCorners[14].From = BoxCorners[6].From + NewVector2(2, 0)

BoxCorners[14].To = BoxCorners[6].To + NewVector2(-1, 0)

BoxCorners[14].Color = BoxColor2

--

BoxCorners[15].Visible = true

BoxCorners[15].From = BoxCorners[7].From

BoxCorners[15].To = BoxCorners[7].To + NewVector2(0, -1)

BoxCorners[15].Color = BoxColor2

--

BoxCorners[16].Visible = true

BoxCorners[16].From = BoxCorners[8].From + NewVector2(-1, 0)

BoxCorners[16].To = BoxCorners[8].To + NewVector2(1, 0)

BoxCorners[16].Color = BoxColor2
end
--
for
Index = 1, 16 do

BoxCorners[Index].Transparency = GeneralOpacity
end
else
local
Box = Renders.BoxInline
local
BoxOutline = Renders.BoxOutline
--

Box.Size = BoxSize

Box.Position = BoxPosition

Box.Transparency = GeneralOpacity

Box.Color = flags["PlayerESP_Box_Color1"].Color

Box.Visible = true
--

BoxOutline.Size = BoxSize
BoxOutline.Position = BoxPosition

BoxOutline.Transparency = GeneralOpacity

BoxOutline.Color = flags["PlayerESP_Box_Color2"].Color

BoxOutline.Visible = true
end
end
--
if
flags["PlayerESP_BoxFill"] then
local
BoxFill = Renders.BoxFill
--
BoxFill.Size
= BoxSize

BoxFill.Position = BoxPosition

BoxFill.Transparency = TransparencyMultplier -
flags["PlayerESP_BoxFill_Color"].Transparency

BoxFill.Color = flags["PlayerESP_BoxFill_Color"].Color

BoxFill.Visible = true
end
end
--
do -- // HeatlhBar
if
flags["PlayerESP_HealthBar"] then
local
ArmorColor = flags["PlayerESP_ArmorBarColor"].Color
local
HealthSize = (Floor(BoxSize.Y * (Info.Health / Info.MaxHealth)))
local Color
= utility:Lerp(Info.Health / Info.MaxHealth,
flags["PlayerESP_HealthBar_Color_Higher"].Color,
flags["PlayerESP_HealthBar_Color_Low"].Color)
local Height
= ((BoxPosition.Y + BoxSize.Y) - HealthSize)
--
-- // Bars
local
HealthBarInline, HealthBarOutline, HealthBarValue = Renders.Health,
Renders.HealthOutline, Renders.HealthText
local
HealthBarTransparency = GeneralOpacity
--

HealthBarInline.Color = Color

HealthBarInline.Size = NewVector2(2, HealthSize)

HealthBarInline.Position = NewVector2(BoxPosition.X - 5, Height)

HealthBarInline.Visible = true
HealthBarInline.Transparency = HealthBarTransparency
--

HealthBarOutline.Size = NewVector2(4, BoxSize.Y + 2)

HealthBarOutline.Position = NewVector2(BoxPosition.X - 6, BoxPosition.Y - 1)

HealthBarOutline.Visible = true

HealthBarOutline.Transparency = HealthBarTransparency
--
do -- //
Value
if
flags["PlayerESP_HealthNumber"] then

local Text = Floor(Info.Health), BoxSize.Y

local ArmorText = Renders.ArmorBarText

local HealthNumberPosition = NewVector2((BoxPosition.X + 1), BoxPosition.Y +


BoxSize.Y)

local Offset = flags["PlayerESP_ArmorBar"] and 23 or 18

--

HealthBarValue.Text = Text

HealthBarValue.Color = Color

HealthBarValue.Position = NewVector2(HealthNumberPosition.X - Offset,


HealthNumberPosition.Y - (Info.Health / Info.MaxHealth) * BoxSize.Y)

HealthBarValue.Visible = true

HealthBarValue.Transparency = HealthBarTransparency

--

if flags["PlayerESP_ArmorBar"] then

ArmorText.Text = tostring(Info.ArmorValue)

ArmorText.Color = ArmorColor

ArmorText.Position = NewVector2(HealthNumberPosition.X - Offset,


HealthNumberPosition.Y - (Info.ArmorValue / 200) * BoxSize.Y)

ArmorText.Visible = true

ArmorText.Transparency = HealthBarTransparency

end
end
end
--
do
if
flags["PlayerESP_ArmorBar"] then

local ArmorBar, ArmorBarOutline = Renders.ArmorBar, Renders.ArmorBarOutline

--

local ArmorSize = (Floor(BoxSize.Y * (Info.ArmorValue / 200)))

local ArmorHeight = ((BoxPosition.Y + BoxSize.Y) - ArmorSize)

--

ArmorBar.Color = ArmorColor

ArmorBar.Size = NewVector2(2, ArmorSize)

ArmorBar.Position = NewVector2(BoxPosition.X - 10, ArmorHeight)

ArmorBar.Visible = true

ArmorBar.Transparency = HealthBarTransparency

--

ArmorBarOutline.Size = NewVector2(4, BoxSize.Y + 2)

ArmorBarOutline.Position = NewVector2(BoxPosition.X - 11, BoxPosition.Y - 1)

ArmorBarOutline.Visible = true

ArmorBarOutline.Transparency = HealthBarTransparency
end
end
end
end
--
do -- // Gun Icons
if
flags["PlayerESP_GunIcons"] and Info.ToolHeld ~= "None" and images[Info.ToolHeld]
~= nil then
local Gun =
Renders.GunIcon
--
if tick() -
Info.gunTick > 0.2 then

Info.gunTick = tick()

Gun.Data = images[Info.ToolHeld]
end
Gun.Visible
= true
Gun.Size =
NewVector2(51.9, 22.3)
Gun.Position
= BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2)) -
NewVector2(Gun.Size.X/2, 0)
Add += 22.3
else
Add = 0
end
end
--
do -- // Weapon
if
flags["PlayerESP_Weapon"] then
local Weapon
= Renders.Weapon
--
Weapon.Text
= Info.ToolHeld

Weapon.Position = BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2) +


Add)
Weapon.Color
= flags["PlayerESP_Weapon_Color"].Color

Weapon.Transparency = GeneralOpacity

Weapon.Visible = true
end
end
--
do -- // Flag
if
flags["PlayerESP_Flags"] then
local Flag =
Renders.Flag
local
FlagStr = ""
--
if
Find(flags["PlayerESP_Flag_Options"], "Distance") then

FlagStr ..= ("%sm\n"):format(Round(DistanceToPlayer))


end
--
if
Find(flags["PlayerESP_Flag_Options"], "Knocked") and Player.Character.BodyEffects
then

FlagStr ..= ("%s\n"):format(tostring(Object.BodyEffects["K.O"].Value and


"KNOCKED" or ""))
end
--
Flag.Text =
FlagStr

Flag.Position = NewVector2(BoxSize.X + BoxPosition.X + 3, BoxPosition.Y - 2)


Flag.Visible
= true
Flag.Color =
flags["PlayerESP_FlagsColor"].Color

Flag.Transparency = GeneralOpacity
end
end
else
do -- // Name
if
flags["Self_PlayerESP_Name"] then
local Name =
Renders.Name
--
Name.Text =
Player.Name

Name.Position = NewVector2(BoxSize.X / 2 + BoxPosition.X, BoxPosition.Y - 16)


Name.Visible
= true

Name.Transparency = GeneralOpacity
Name.Color =
flags["Self_PlayerESP_Name_Color"].Color
end
end
--
do -- // Highlights
if
flags["Self_PlayerESP_Highlights"] then

Highlights.Enabled = true

Highlights.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop

Highlights.FillColor = flags["Self_PlayerESP_HighlightFillSettings"].Color

Highlights.OutlineColor =
flags["Self_PlayerESP_HighlightOutlineSettings"].Color

Highlights.Adornee = Object

Highlights.OutlineTransparency =
flags["Self_PlayerESP_HighlightOutlineSettings"].Transparency

Highlights.FillTransparency =
flags["Self_PlayerESP_HighlightOutlineSettings"].Transparency
end
end
--
do -- // Corner Boxes
if
flags["Self_PlayerESP_Box"] then
local Box =
Renders.BoxInline
local
BoxOutline = Renders.BoxOutline
--
Box.Size =
BoxSize
Box.Position
= BoxPosition

Box.Transparency = GeneralOpacity
Box.Color =
flags["Self_PlayerESP_Box_Color1"].Color
Box.Visible
= true
--

BoxOutline.Size = BoxSize

BoxOutline.Position = BoxPosition

BoxOutline.Transparency = GeneralOpacity

BoxOutline.Color = flags["Self_PlayerESP_Box_Color2"].Color

BoxOutline.Visible = true
end
--
if
flags["Self_PlayerESP_Box"] then
local
BoxFill = Renders.BoxFill
--
BoxFill.Size
= BoxSize

BoxFill.Position = BoxPosition

BoxFill.Transparency = TransparencyMultplier -
flags["Self_PlayerESP_BoxFill_Color"].Transparency

BoxFill.Color = flags["Self_PlayerESP_BoxFill_Color"].Color

BoxFill.Visible = true
end
end
--
do -- // HeatlhBar
if
flags["Self_PlayerESP_HealthBar"] then
local
ArmorColor = flags["Self_PlayerESP_ArmorBarColor"].Color
local
HealthSize = (Floor(BoxSize.Y * (Info.Health / Info.MaxHealth)))
local Color
= utility:Lerp(Info.Health / Info.MaxHealth,
flags["Self_PlayerESP_HealthBar_Color_Higher"].Color,
flags["Self_PlayerESP_HealthBar_Color_Low"].Color)
local Height
= ((BoxPosition.Y + BoxSize.Y) - HealthSize)
--
-- // Bars
local
HealthBarInline, HealthBarOutline, HealthBarValue = Renders.Health,
Renders.HealthOutline, Renders.HealthText
local
HealthBarTransparency = GeneralOpacity
--

HealthBarInline.Color = Color

HealthBarInline.Size = NewVector2(2, HealthSize)


HealthBarInline.Position = NewVector2(BoxPosition.X - 5, Height)

HealthBarInline.Visible = true

HealthBarInline.Transparency = HealthBarTransparency
--

HealthBarOutline.Size = NewVector2(4, BoxSize.Y + 2)

HealthBarOutline.Position = NewVector2(BoxPosition.X - 6, BoxPosition.Y - 1)

HealthBarOutline.Visible = true

HealthBarOutline.Transparency = HealthBarTransparency
--
do -- //
Value
if
flags["Self_PlayerESP_HealthNumber"] then

local Text = Floor(Info.Health), BoxSize.Y

local ArmorText = Renders.ArmorBarText

local HealthNumberPosition = NewVector2((BoxPosition.X + 1), BoxPosition.Y +


BoxSize.Y)

local Offset = flags["Self_PlayerESP_ArmorBar"] and 23 or 18

--

HealthBarValue.Text = Text

HealthBarValue.Color = Color

HealthBarValue.Position = NewVector2(HealthNumberPosition.X - Offset,


HealthNumberPosition.Y - (Info.Health / Info.MaxHealth) * BoxSize.Y)

HealthBarValue.Visible = true

HealthBarValue.Transparency = HealthBarTransparency

--

if flags["Self_PlayerESP_ArmorBar"] then

ArmorText.Text = tostring(Info.ArmorValue)

ArmorText.Color = ArmorColor

ArmorText.Position = NewVector2(HealthNumberPosition.X - Offset,


HealthNumberPosition.Y - (Info.ArmorValue / 200) * BoxSize.Y)

ArmorText.Visible = true

ArmorText.Transparency = HealthBarTransparency

end
end
end
--
do
if
flags["Self_PlayerESP_ArmorBar"] then

local ArmorBar, ArmorBarOutline = Renders.ArmorBar, Renders.ArmorBarOutline

--

local ArmorSize = (Floor(BoxSize.Y * (Info.ArmorValue / 200)))

local ArmorHeight = ((BoxPosition.Y + BoxSize.Y) - ArmorSize)

--

ArmorBar.Color = ArmorColor

ArmorBar.Size = NewVector2(2, ArmorSize)

ArmorBar.Position = NewVector2(BoxPosition.X - 10, ArmorHeight)

ArmorBar.Visible = true

ArmorBar.Transparency = HealthBarTransparency

--

ArmorBarOutline.Size = NewVector2(4, BoxSize.Y + 2)

ArmorBarOutline.Position = NewVector2(BoxPosition.X - 11, BoxPosition.Y - 1)

ArmorBarOutline.Visible = true

ArmorBarOutline.Transparency = HealthBarTransparency
end
end
end
end
--
do -- // Gun Icons
if
flags["Self_PlayerESP_GunIcons"] and Info.ToolHeld ~= "None" and
images[Info.ToolHeld] ~= nil then
local Gun =
Renders.GunIcon
--
if tick() -
Info.gunTick > 0.75 then

Info.gunTick = tick()

Gun.Data = images[Info.ToolHeld]
end
Gun.Visible
= true
Gun.Size =
NewVector2(51.9, 22.3)
Gun.Position
= BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2)) -
NewVector2(Gun.Size.X/2, 0)
Add += 22.3
else
Add = 0
end
end
--
do -- // Weapon
if
flags["Self_PlayerESP_Weapon"] then
local Weapon
= Renders.Weapon
--
Weapon.Text
= Info.ToolHeld

Weapon.Position = BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2) +


Add)
Weapon.Color
= flags["Self_PlayerESP_Weapon_Color"].Color

Weapon.Transparency = GeneralOpacity

Weapon.Visible = true
end
end
--
do -- // Flag
if
flags["Self_PlayerESP_Flags"] then
local Flag =
Renders.Flag
local
FlagStr = ""
--
if
Find(flags["Self_PlayerESP_Flag_Options"], "Distance") then

FlagStr ..= ("%sm\n"):format(Round(DistanceToPlayer))


end
--
if
Find(flags["Self_PlayerESP_Flag_Options"], "Knocked") and
Player.Character.BodyEffects then

FlagStr ..= ("%s\n"):format(tostring(Object.BodyEffects["K.O"].Value and


"KNOCKED" or ""))
end
--
Flag.Text =
FlagStr

Flag.Position = NewVector2(BoxSize.X + BoxPosition.X + 3, BoxPosition.Y - 2)


Flag.Visible
= true
Flag.Color =
flags["Self_PlayerESP_FlagsColor"].Color
Flag.Transparency = GeneralOpacity
end
end
end
return
end
end
end
--
return Self:Opacity(false)
end
--
return Self:Remove()
end
end
--
function Visuals:Unload()
for Index, Base in pairs(Visuals.Bases) do
Base:Remove()
end
end
end

-- // Creations + Setting Stuff


do
utility.drawings["Tracer"] = utility:drawObject("Line", {})
utility.drawings["Aim Assist FOV"] = utility:drawObject("Circle",
{Visible = false, Radius = 8, Color = Color3.fromRGB(0,0,0), Filled = false})
utility.drawings["Sub"] = utility:drawObject("Text", {Outline =
true, Text = "lunar", Color = Color3.new(1, 1, 1)})
utility.drawings["Domain"] = utility:drawObject("Text", {Outline
= true, Text = ".vip", Color = Color3.fromRGB(132, 108, 188)})
--
for i,v in pairs(bodyClone:GetDescendants()) do
if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
v.CanCollide = false
v.Transparency = 0
end
end

-- drawing lines for crosshair


do
for Index = 1, 4 do
local line = utility:drawObject("Line",{
Visible = false,
Color = Color3.fromRGB(255,255,255),
Thickness = 1,
ZIndex = 2,
Transparency = 1
})
--
crosshair_Lines[Index] = line
--
local line_1 = utility:drawObject("Line",{
Visible = false,
Color = Color3.fromRGB(0, 0, 0),
Thickness = 2.5,
ZIndex = 1,
Transparency = 1
})
--
crosshair_Outlines[Index] = line_1
end
end

-- // Chat spam framework


do
Messages = {
["Scottish"] = {
"You Grandma Still Wears Shin Pads To Work 🤣🤣",
"Melon Head",
"Your Ma Is A Bin Man 🤣🤣",
"Taped You Like I Did To Your Ma",
"Fore Headed Mong",
"Such A Fruit",
"YoUr A BoOt",
"keep Trying You Jobby",
},
["Lunar"] = {
"Owned By Lunar",
"Lunar Lunar Lunar RAHHHHH",
"Slammed by Lunar",
"YOU GOT SLAMMED BY LUNAR",
"SEEMS LIKE YOU NEED LUNAR GG/LUNARVIP",
"GG/LUNARVIP GG/LUNARVIP GG/LUNARVIP",
"GG/LUNARVIP <-- THIS WILL LET YOU COPE WITH
YOUR ISSUES",
"WHAT YOU CANT BEAT LUNAR?",
"PRO TIP: BUY LUNAR",
},
}
utx = {
["symbols"] = {
"~",
"!",
"@",
"#",
"$",
"%",
"^",
"&",
"*",
"(",
")",
"_",
"+",
"{",
"}",
"|",
":",
'"',
"<",
">",
"?",
".",
",",
"/",
"'",
},
["emojis"] = {
"😎",
"🤣",
"👀",
"🙄",
"🔥",
"😅",
"😂",
"😹",
"😛",
"🤩",
"🌈",
"😎",
"🤠",
"😔",
"🤡",
"💤",
"🚶",
"🙀",
"😂",
"📈",
"🤏",
"🌈",
"😎",
"🤠",
"😔",
},
}
end
end

-- // Hit Reg
do
function HitReg:HitMarker(Gap, Color, Time)
local Lines = {}
local Hitmarker = true
--
for i = 1, 4 do
Lines[i] = utility:drawObject("Line", {Color = Color,
Visible = true, Transparency = 1, Thickness = 1})
end
--
local function setMarkerPos()
Lines[1].From = NewVector2(Mouse.X + Gap, (Mouse.Y +
Offset) + Gap)
Lines[1].To = NewVector2(Mouse.X + (Gap * 2.5),
(Mouse.Y + Offset) + (Gap * 2.5))
--
Lines[2].From = NewVector2(Mouse.X + Gap, (Mouse.Y +
Offset) - Gap)
Lines[2].To = NewVector2(Mouse.X + (Gap * 2.5),
(Mouse.Y + Offset) - (Gap * 2.5))
--
Lines[3].From = NewVector2(Mouse.X - Gap, (Mouse.Y +
Offset) + Gap)
Lines[3].To = NewVector2(Mouse.X - (Gap * 2.5),
(Mouse.Y + Offset) + (Gap * 2.5))
--
Lines[4].From = NewVector2(Mouse.X - Gap, (Mouse.Y +
Offset) - Gap)
Lines[4].To = NewVector2(Mouse.X - (Gap * 2.5),
(Mouse.Y + Offset) - (Gap * 2.5))
end
--
delay(Time, function()
for i = Time, 0, -0.1 do
task.wait()
for _, Value in next, Lines do
Value.Transparency = i
end
setMarkerPos()
end
--
for _, Value in next, Lines do
Value:Remove()
end
--
Hitmarker = false
end)
end
--
function HitReg:HitMarker3D(Gap, Color, Time, Hit)
local Lines = {}
local Hitmarker = true
--
for i = 1, 4 do
Lines[i] = utility:drawObject("Line", {Color = Color,
Visible = true, Transparency = 1, Thickness = 1})
end
--
task.spawn(function()
while Hitmarker do
local Position3D, OnScreen =
Camera:WorldToViewportPoint(Hit)
--
Lines[1].From = NewVector2(Position3D.X + Gap,
Position3D.Y + Gap)
Lines[1].To = NewVector2(Position3D.X + (Gap *
2.5), Position3D.Y + (Gap * 2.5))
--
Lines[2].From = NewVector2(Position3D.X + Gap,
Position3D.Y - Gap)
Lines[2].To = NewVector2(Position3D.X + (Gap *
2.5), Position3D.Y - (Gap * 2.5))
--
Lines[3].From = NewVector2(Position3D.X - Gap,
Position3D.Y + Gap)
Lines[3].To = NewVector2(Position3D.X - (Gap *
2.5), Position3D.Y + (Gap * 2.5))
--
Lines[4].From = NewVector2(Position3D.X - Gap,
Position3D.Y - Gap)
Lines[4].To = NewVector2(Position3D.X - (Gap *
2.5), Position3D.Y - (Gap * 2.5))
--
for _, Value in next, Lines do
Value.Visible = OnScreen
end
--
task.wait()
end
end)
--
delay(Time, function()
for i = Time, 0, -0.1 do
task.wait()
for _, Value in next, Lines do
Value.Transparency = i
end
end
--
for _, Value in next, Lines do
Value:Remove()
end
--
Hitmarker = false
end)
end
--
function HitReg:HitEffect(Type, Character)
local function convert(color)
return color.r/5, color.g/5, color.b/5
end
--
local function Weld(x,y)
local W = Instance.new("Weld")
W.Part0 = x
W.Part1 = y
local CJ = NewCFrame(x.Position)
local C0 = x.CFrame:inverse()*CJ
local C1 = y.CFrame:inverse()*CJ
W.C0 = C0
W.C1 = C1
W.Parent = x
end
--
if Type == "Confetti" then
task.spawn(function()
local Confetti_Amount = 20000
local RootPart = Character.HumanoidRootPart
local ConfettiClone = hitmodule:Clone()
ConfettiClone.RainbowParticles.Rate =
Confetti_Amount
ConfettiClone.Parent = workspace
ConfettiClone.CanCollide = false
ConfettiClone.CFrame = RootPart.CFrame
--
for i = Confetti_Amount, 0 , -
(Confetti_Amount/50) do
task.wait()
ConfettiClone.RainbowParticles.Rate = i
end
--
delay(5, function()
ConfettiClone:Destroy()
end)
end)
elseif Type == "Nova" then
local Effect = Nova:Clone()
Effect.Parent = Character.HumanoidRootPart
--
for i,v in pairs(Effect:GetChildren()) do
v.Rate = 0
v.Color =
ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.new(0, 0, 0)),
ColorSequenceKeypoint.new(0.5, Color3.new(convert(flags["Hit Effect
Settings"].Color))),ColorSequenceKeypoint.new(1, Color3.new(0, 0, 0)),})
v:Emit()
end
--
delay(2, function()
Effect:Destroy()
end)
else
local Clone = SparklesEffect:Clone()
Clone.Parent = Character.HumanoidRootPart
Clone.LockedToPart = false
Clone.Acceleration = Vector3.new(0,-100,0)
--
Clone:Emit(15)
--
delay(5, function() Clone:Destroy() end)
end
end
--
function HitReg:HitSound(Id, Volume, Pitch)
local Sound = Instance.new("Sound",
game:GetService("SoundService")); local PitchSound =
Instance.new("PitchShiftSoundEffect", Sound)
--
Sound.SoundId = "rbxassetid://".. Id ..""
--[[writefile("song.mp3",
game:HttpGet("https://lunar.feet.media/osiris/cmwr7ecb.mp3"))
Sound.SoundId = getcustomasset("song.mp3")]]
Sound.Volume = Volume
PitchSound.Octave = Pitch
Sound.PlayOnRemove = true
Sound:Destroy()
end
end

for i,v in pairs(LocalPlayer.Character:GetChildren()) do


if v:IsA("BasePart") then
table.insert(utility.bodyParts, v.Name)
end
end

-- // Tweens
do
Tween.EasingStyles = {
[Enum.EasingStyle.Linear] = {
[Enum.EasingDirection.In] = function(Delta)
return Delta
end,
[Enum.EasingDirection.Out] = function(Delta)
return Delta
end,
[Enum.EasingDirection.InOut] = function(Delta)
return Delta
end
},
[Enum.EasingStyle.Cubic] = {
[Enum.EasingDirection.In] = function(Delta)
return Delta ^ 3
end,
[Enum.EasingDirection.Out] = function(Delta)
return ((Delta - 1) ^ 3) + 1
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return (4 * Delta ^ 3)
elseif 0.5 <= Delta and Delta <= 1 then
return (4 * (Delta - 1) ^ 3) + 1
end
end
},
[Enum.EasingStyle.Quad] = {
[Enum.EasingDirection.In] = function(Delta)
return Delta ^ 2
end,
[Enum.EasingDirection.Out] = function(Delta)
return (-(Delta - 1) ^ 2) + 1
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return (2 * Delta ^ 2)
elseif 0.5 <= Delta and Delta <= 1 then
return -(2 * (Delta - 1) ^ 2) + 1
end
end
},
[Enum.EasingStyle.Quart] = {
[Enum.EasingDirection.In] = function(Delta)
return Delta ^ 4
end,
[Enum.EasingDirection.Out] = function(Delta)
return (-(Delta - 1) ^ 4) + 1
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return (8 * Delta ^ 4)
elseif 0.5 <= Delta and Delta <= 1 then
return -(8 * (Delta - 1) ^ 4) + 1
end
end
},
[Enum.EasingStyle.Quint] = {
[Enum.EasingDirection.In] = function(Delta)
return Delta ^ 5
end,
[Enum.EasingDirection.Out] = function(Delta)
return ((Delta - 1) ^ 5) + 1
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return (16 * Delta ^ 5)
elseif 0.5 <= Delta and Delta <= 1 then
return (16 * (Delta - 1) ^ 5) + 1
end
end
},
[Enum.EasingStyle.Sine] = {
[Enum.EasingDirection.In] = function(Delta)
return Sin(((Pi / 2) * Delta) - (Pi / 2)) + 1
end,
[Enum.EasingDirection.Out] = function(Delta)
return Sin((Pi / 2) * Delta)
end,
[Enum.EasingDirection.InOut] = function(Delta)
return (0.5 * Sin((Pi * Delta) - (Pi / 2))) +
0.5
end
},
[Enum.EasingStyle.Exponential] = {
[Enum.EasingDirection.In] = function(Delta)
return (2 ^ ((10 * Delta) - 10)) - 0.001
end,
[Enum.EasingDirection.Out] = function(Delta)
return 1.001 * (-2 ^ -(10 * Delta)) + 1
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return 0.5 * (2 ^ ((20 * Delta) - 10)) -
0.0005
elseif 0.5 <= Delta and Delta <= 1 then
return 0.50025 * (-2 ^ (-(20 * Delta) +
10)) + 1
end
end
},
[Enum.EasingStyle.Back] = {
[Enum.EasingDirection.In] = function(Delta)
return (Delta * Delta) * (Delta * (1.70158 + 1)
- 1.70158)
end,
[Enum.EasingDirection.Out] = function(Delta)
return ((Delta - 1) ^ 2) * ((Delta - 1) *
(1.70158 + 1) + 1.70158) + 1
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return (2 * (Delta * Delta)) * ((2 *
Delta) * (2.5949095 + 1) - 2.5949095)
elseif 0.5 <= Delta and Delta <= 1 then
return (0.5 * ((2 * Delta) - 2) ^ 2) *
(((2 * Delta) - 2) * (2.5949095 + 1) + 2.5949095) + 1
end
end
},
[Enum.EasingStyle.Bounce] = {
[Enum.EasingDirection.In] = function(Delta)
if 0 <= Delta and Delta <= (1 / 2.75) then
return 7.5625 * (Delta * Delta)
elseif (1 / 2.75) <= Delta and Delta <= (2 /
2.75) then
return 7.5625 * (Delta - (1.5 / 2.75)) ^
2 + 0.75
elseif (2 / 2.75) <= Delta and Delta <= (2.5 /
2.75) then
return 7.5625 * (Delta - (2.25 / 2.75)) ^
2 + 0.9375
elseif (2.5 / 2.75) <= Delta and Delta <= 1
then
return 7.5625 * (Delta - (2.625 / 2.75))
^ 2 + 0.984375
end
end,
[Enum.EasingDirection.Out] = function(Delta)
if 0 <= Delta and Delta <= (0.25 / 2.75) then
return -7.5625 * (1 - Delta - (2.625 /
2.75)) ^ 2 + 0.015625
elseif (0.25 / 2.75) <= Delta and Delta <=
(0.75 / 2.75) then
return -7.5625 * (1 - Delta - (2.25 /
2.75)) ^ 2 + 0.0625
elseif (0.75 / 2.75) <= Delta and Delta <=
(1.75 / 2.75) then
return -7.5625 * (1 - Delta - (1.5 /
2.75)) ^ 2 + 0.25
elseif (1.75 / 2.75) <= Delta and Delta <= 1
then
return 1 - 7.5625 * (1 - Delta) ^ 2
end
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= (0.125 / 2.75) then
return 0.5 * (-7.5625 * (1 - (2 * Delta)
- (2.625 / 2.75)) ^ 2 + 0.015625)
elseif (0.125 / 2.75) <= Delta and Delta <=
(0.375 / 2.75) then
return 0.5 * (-7.5625 * (1 - (2 * Delta)
- (2.25 / 2.75)) ^ 2 + 0.0625)
elseif (0.375 / 2.75) <= Delta and Delta <=
(0.875 / 2.75) then
return 0.5 * (-7.5625 * (1 - (2 * Delta)
- (1.5 / 2.75)) ^ 2 + 0.25)
elseif (0.875 / 2.75) <= Delta and Delta <= 0.5
then
return 0.5 * (1 - 7.5625 * (1 - (2 *
Delta)) ^ 2)
elseif 0.5 <= Delta and Delta <= (1.875 / 2.75)
then
return 0.5 + 3.78125 * ((2 * Delta) - 1)
^ 2
elseif (1.875 / 2.75) <= Delta and Delta <=
(2.375 / 2.75) then
return 3.78125 * ((2 * Delta) - (4.25 /
2.75)) ^ 2 + 0.875
elseif (2.375 / 2.75) <= Delta and Delta <=
(2.625 / 2.75) then
return 3.78125 * ((2 * Delta) - (5 /
2.75)) ^ 2 + 0.96875
elseif (2.625 / 2.75) <= Delta and Delta <= 1
then
return 3.78125 * ((2 * Delta) - (5.375 /
2.75)) ^ 2 + 0.9921875
end
end
},
[Enum.EasingStyle.Elastic] = {
[Enum.EasingDirection.In] = function(Delta)
return (-2 ^ (10 * (Delta - 1))) * Sin(((2 *
Pi) * (Delta - 1 - (0.3 / 4))) / 0.3)
end,
[Enum.EasingDirection.Out] = function(Delta)
return (2 ^ (-10 * Delta)) * Sin(((2 * Pi) *
(Delta - (0.3 / 4))) / 0.3) + 1
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return -0.5 * (2 ^ ((20 * Delta) - 10)) *
Sin(((2 * Pi) * ((2 * Delta) - 1.1125)) / 0.45)
elseif 0.5 <= Delta and Delta <= 1 then
return 0.5 * (2 ^ ((-20 * Delta) + 10)) *
Sin(((2 * Pi) * ((2 * Delta) - 1.1125)) / 0.45) + 1
end
end
},
[Enum.EasingStyle.Circular] = {
[Enum.EasingDirection.In] = function(Delta)
return -Sqrt(1 - Delta ^ 2) + 1
end,
[Enum.EasingDirection.Out] = function(Delta)
return Sqrt(-(Delta - 1) ^ 2 + 1)
end,
[Enum.EasingDirection.InOut] = function(Delta)
if 0 <= Delta and Delta <= 0.5 then
return -Sqrt(-Delta ^ 2 + 0.25) + 0.5
elseif 0.5 <= Delta and Delta <= 1 then
return Sqrt(-(Delta - 1) ^ 2 + 0.25) +
0.5
end
end
}
}
end
end
end
--
local crosshair_lineOffsets = utility:generateAngles(4);
local Window = Library:Window({Size = UDim2.new(0,580,0,600)}) do
-- // Rage
local aiming = Window:Page({Name = "Rage", Weapons = true}) do
local Settings = aiming:Weapon({Icon = "rbxassetid://6031280882"})
local Visuals = aiming:Weapon({Icon = "rbxassetid://7300480952"})
--
local mainTarget = Settings:Section({Name = "Main", Size = 330}) do
mainTarget:Toggle({Name = "Enabled", Flag = "Silent Enabled",
Risk = true})
mainTarget:Keybind({Name = "Key", Flag = "Silent_Bind", Mode =
"Toggle", callback = function()
framework:selectTarget();
bodyClone:SetPrimaryPartCFrame(NewCFrame(9959,9999,9990))
end})
end
--
local targetSettings = Settings:Section({Name = "Settings", Size =
330}) do
targetSettings:Toggle({Name = "Look At", Flag = "Look At"})
targetSettings:Toggle({Name = "Auto Shoot", Flag = "Auto Shoot"})
targetSettings:Toggle({Name = "Spectate", Flag = "Spectate"})
targetSettings:Toggle({Name = "Notify", Flag = "Notify"})
targetSettings:Toggle({Name = "Aim Viewer Bypass", Flag = "Aim
Viewer Bypass"})
end
--
local targetMethods = Settings:Section({Name = "Methods", Size = 330})
do
targetMethods:Toggle({Name = "Resolver", Flag = "Resolver"})
targetMethods:Dropdown({Name = "Resolver Method", Flag =
"Resolver Method", Options = {"Recalculate Velocity", "Suppress Velocity", "Move
Direction"}, Default = "Recalculate Velocity"})
end
--
local targetPrediction = Settings:Section({Name = "Prediction", Size =
330, Side = "Right"}) do
targetPrediction:Toggle({Name = "Auto Prediction", Flag = "Auto
Prediction"})
targetPrediction:Textbox({Name = "Prediction", Flag = "Manual
Prediction Value", Placeholder = "Prediction"})
targetPrediction:Dropdown({Name = "Hit-Part", Flag = "Single Hit
Part", Options = utility.bodyParts, Default = "HumanoidRootPart"})
targetPrediction:Toggle({Name = "Nearest Part", Flag = "Nearest
Part"})
targetPrediction:Dropdown({Name = "Closest Hit Part", Flag =
"Closest Hit Part", Options = utility.bodyParts, Default = {"HumanoidRootPart"},
Max = 9e9})
targetPrediction:Toggle({Name = "Jump Prediction", Flag = "Jump
Prediction"})
targetPrediction:Textbox({Name = "Jump Prediction", Flag =
"Manual Offset Value", Placeholder = "Jump Offset"})
targetPrediction:Dropdown({Name = "Air Hit-Part", Flag = "Air Hit
Part", Options = utility.bodyParts, Default = "RightFoot"})
end
--
local targetChecks = Settings:Section({Name = "Checks", Size = 330,
Side = "Right"}) do
targetChecks:Dropdown({Name = "Checks", Flag = "Silent Checks",
Options = {"Knocked Check", "Wall Check", "Friend Check", "Grabbed Check"}, Max =
9e9})
end
--
local targetAutoSelect = Settings:Section({Name = "Auto Select", Size =
330, Side = "Right"}) do
targetAutoSelect:Toggle({Name = "Enabled", Flag = "Target Auto
Select"})
targetAutoSelect:Slider({Name = "Delay", Suffix = "ms", Flag =
'Auto Select Delay', Min = 0, Max = 1000, Default = 100, Decimals = 1})
end
--
local targetStrafe = Settings:Section({Name = "Target Strafe", Size =
330, Side = "Left"}) do
targetStrafe:Toggle({Name = "Enabled", Flag = "Target Strafe
Enabled", Risk = true})
targetStrafe:Slider({Name = "Radius", Flag = 'Target Strafe
Distance', Min = -15, Max = 15, Default = 10, Decimals = 1})
targetStrafe:Slider({Name = "Speed", Flag = 'Target Strafe
Speed', Min = -15, Max = 15, Default = 10, Decimals = 1})
targetStrafe:Slider({Name = "Height", Flag = 'Target Strafe
Height', Min = -15, Max = 15, Default = 0, Decimals = 1})
end
--
local targetVisuals = Visuals:Section({Name = "Visuals", Size = 330,
Side = "Left"}) do
local line1 = targetVisuals:Toggle({Name = "Line", Flag = "Line
Enabled"})
line1:Colorpicker({Default = Color3.fromRGB(255,0,0), Flag =
"Line Settings"});
targetVisuals:Slider({Name = "Thickness", Flag = 'Line
Thickness', Min = 0, Max = 2, Default = 1, Decimals = 0.01, Callback =
function(Int)
utility.drawings["Tracer"].Thickness = Int
end})
local highlight = targetVisuals:Toggle({Name = "Highlight", Flag
= "Highlight Enabled"})
highlight:Colorpicker({Default = Color3.fromRGB(0,255,0), Alpha =
0.5, Flag = "Highlight Fill Color"});
highlight:Colorpicker({Default = Color3.fromRGB(0,125,0), Flag =
"Highlight Outline Color"});
local backtrack = targetVisuals:Toggle({Name = "Backtrack", Flag
= "Back Track Enabled"})
backtrack:Colorpicker({Default = Color3.fromRGB(255, 0, 0), alpha
= 0.65, Flag = "Back Track Settings"});
targetVisuals:Dropdown({Name = "Method", Flag = "Back Track
Method", Options = {"Clone", "Follow"}, Default = "Follow"})
targetVisuals:Dropdown({Name = "Material", Flag = "Back Track
Material", Options = {"Neon", "Plastic", "ForceField"}, Default = "Neon"})
targetVisuals:Slider({Name = "Delay", Flag = 'Back Track Delay',
Min = 0, Max = 1, Default = 1, Decimals = 0.05})
targetVisuals:Toggle({Name = "Target Esp", Flag = "Target Esp"})
end
end
-- // Legit
local legit = Window:Page({Name = "Legit"}) do
local Vertical;
local Horizontal;
local Smoothness;
--
local aimAssist = legit:Section({Name = "Aim Assist", Size = 330}) do
aimAssist:Toggle({Name = "Enabled", Flag = "Aim
Assist"}):Keybind({Name = "Aim Assist", Flag = "Aim Assist Bind", Mode = "Toggle",
Callback = function()
aimAssistTarget = utility.target or
utility:getClosestPlayerToCursor(math.huge)
end}) -- portal is a fuckin g
local Vertical = aimAssist:Slider({Name = "Horizontal
Smoothness", Flag = "Horizontal Smoothness", Min = 0, Max = 100, Default = 20,
Decimals = 1})
Vertical:SetVisible(false)
local Horizontal = aimAssist:Slider({Name = "Vertical
Smoothness", Flag = 'Vertical Smoothness', Min = 0, Max = 100, Default = 20,
Decimals = 1})
Horizontal:SetVisible(false)
local Smoothness = aimAssist:Slider({Name = "Smoothness", Flag =
'Smoothness', Min = 0, Max = 100, Default = 50, Decimals = 1})
aimAssist:Dropdown({Name = "Method", Flag = "Aim Assist Method",
Options = {"Use Mouse", "Use Camera"}, Default = "Use Camera", Callback =
function(Option)
if Option == "Use Mouse" then
Vertical:SetVisible(true)
Horizontal:SetVisible(true)
Smoothness:SetVisible(false)
else
Vertical:SetVisible(false)
Horizontal:SetVisible(false)
Smoothness:SetVisible(true)
end
end})
end
--
local aimAssist_Settings = legit:Section({Name = "Settings", Size =
330}) do
aimAssist_Settings:Dropdown({Name = "Hit-Part", Flag = "Aim
Assist Single Hit Part", Options = utility.bodyParts, Default =
"HumanoidRootPart"})
aimAssist_Settings:Toggle({Name = "Jump Prediction", Flag = "Aim
Assist Jump Prediction"})
aimAssist_Settings:Textbox({Name = "Prediction", Flag = "Aim
Assist Manual Prediction Value", Placeholder = "Prediction"})
aimAssist_Settings:Textbox({Name = "Jump Offset", Flag = "Aim
Assist Manual Offset Value", Placeholder = "Jump Offset"})
end
--
local aimAssistFov = legit:Section({Name = "Field Of View", Size =
330}) do
aimAssistFov:Toggle({Name = "Enabled", Flag = "Aim Assist Field
Of View", Callback = function(Bool)
utility.drawings["Aim Assist FOV"].Visible = Bool
end}):Colorpicker({Default = Color3.fromRGB(255, 0, 0), alpha =
0.65, Flag = "Field Of View Color", Callback = function()
utility.drawings["Aim Assist FOV"].Color = flags["Field Of
View Color"].Color
utility.drawings["Aim Assist FOV"].Transparency = 1 -
flags["Field Of View Color"].Transparency
end});
aimAssistFov:Slider({Name = "Radius", Flag = 'Aim Assist Field Of
View Radius', Min = 0.1, Max = 500, Default = 50, Decimals = 0.1, Callback =
function(Int)
utility.drawings["Aim Assist FOV"].Radius = Int
end})
aimAssistFov:Toggle({Name = "Enabled", Flag = "Aim Assist Field
Of View Filled", Callback = function(Bool)
utility.drawings["Aim Assist FOV"].Filled = Bool
end})
aimAssistFov:Slider({Name = "Thickness", Flag = 'Aim Assist Field
Of View Thickness', Min = 0.1, Max = 3, Default = 1, Decimals = 0.01, Callback =
function(Int)
utility.drawings["Aim Assist FOV"].Thickness = Int
end})
end
--
local aimAssistChecks = legit:Section({Name = "Checks", Size = 330}) do
aimAssistChecks:Dropdown({Name = "Checks", Flag = "Aim Assist
Checks", Options = {"Knocked Check", "Wall Check", "Friend Check", "Grabbed
Check"}, Max = 9e9})
end
end
-- // Esp
local esp = Window:Page({Name = "Visuals", Weapons = true}) do
local ESP = esp:Weapon({Icon = "rbxassetid://6034281935"})
local World = esp:Weapon({Icon = "rbxassetid://16997762295"})
--
local playerEsp = ESP:Section({Name = "Player Esp", Size = 330, Side =
"Left"}) do
playerEsp:Toggle({Name = "Enabled", Flag = "PlayerESP_Enabled",
Callback = function(Bool)
if Bool then
for i,v in next, Players:GetPlayers() do
if v ~= LocalPlayer and not Visuals.Bases[v]
then
Visuals:Create({Player = v})
end
end
else
Visuals:Unload()
end
end})
playerEsp:Slider({Name = "Distance", Flag = 'ESP Distance', Min =
0, Max = 5000, Default = 5000, Decimals = 5})
local box = playerEsp:Toggle({Name = "Boxes", Flag =
"PlayerESP_Box"})
box:Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"PlayerESP_Box_Color1"});
box:Colorpicker({Default = Color3.fromRGB(0, 0, 0), Flag =
"PlayerESP_Box_Color2"});
playerEsp:Toggle({Name = "Box-Fill", Flag =
"PlayerESP_BoxFill"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255),
Transparency = 0.7, Flag = "PlayerESP_BoxFill_Color"});
playerEsp:Dropdown({Name = "Box Type", Flag =
"PlayerESP_Box_Type", Options = {"Bounding", "Corner"}, Default = "Bounding"})
playerEsp:Toggle({Name = "Name", Flag =
"PlayerESP_Name"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"PlayerESP_Name_Color"});
playerEsp:Toggle({Name = "Weapons", Flag =
"PlayerESP_Weapon"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"PlayerESP_Weapon_Color"});
playerEsp:Toggle({Name = "Flags", Flag =
"PlayerESP_Flags"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"PlayerESP_FlagsColor"});
playerEsp:Dropdown({Name = "Flags", Flag =
"PlayerESP_Flag_Options", Options = {"Distance", "Knocked"}, Max = 9e9})
playerEsp:Toggle({Name = "Gun Icons", Flag =
"PlayerESP_GunIcons"})
local highlight = playerEsp:Toggle({Name = "Chams", Flag =
"PlayerESP_Highlights"})
highlight:Colorpicker({Default = Color3.fromHex("#7D0DC3"),
Transparency = 0.7, Flag = "PlayerESP_HighlightFillSettings"});
highlight:Colorpicker({Default = Color3.new(0,0,0), Flag =
"PlayerESP_HighlightOutlineSettings"});
end
--
local Properties = ESP:Section({Name = "Properties", Size = 330, Side =
"Left"})
local health = Properties:Toggle({Name = "Health Bar", Flag =
"PlayerESP_HealthBar"})
health:Colorpicker({Default = Color3.fromRGB(0,255,0), Flag =
"PlayerESP_HealthBar_Color_Higher"});
health:Colorpicker({Default = Color3.fromRGB(255,0,0), Flag =
"PlayerESP_HealthBar_Color_Low"});
Properties:Toggle({Name = "Health Number", Flag =
"PlayerESP_HealthNumber"})
Properties:Toggle({Name = "Armor Bar", Flag =
"PlayerESP_ArmorBar"}):Colorpicker({Default = Color3.fromRGB(0,0,255), Flag =
"PlayerESP_ArmorBarColor"});
--
local selfEsp = ESP:Section({Name = "Self Esp", Size = 330, Side =
"Right"}) do
selfEsp:Toggle({Name = "Enabled", Flag =
"Self_PlayerESP_Enabled", Callback = function(Bool)
if Bool then
Visuals:Create({Player = LocalPlayer})
else
Visuals.Bases[LocalPlayer]:Remove()
end
end})
selfEsp:Slider({Name = "Distance", Flag = 'Self_ESP Distance',
Min = 0, Max = 5000, Default = 5000, Decimals = 5})
local box = selfEsp:Toggle({Name = "Boxes", Flag =
"Self_PlayerESP_Box"})
selfEsp:Colorpicker({Default = Color3.fromRGB(255, 255, 255),
Flag = "Self_PlayerESP_Box_Color1"});
selfEsp:Colorpicker({Default = Color3.fromRGB(0, 0, 0), Flag =
"Self_PlayerESP_Box_Color2"});
selfEsp:Toggle({Name = "Box-Fill", Flag =
"Self_PlayerESP_BoxFill"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255),
Transparency = 0.7, Flag = "Self_PlayerESP_BoxFill_Color"});
selfEsp:Toggle({Name = "Name", Flag =
"Self_PlayerESP_Name"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag
= "Self_PlayerESP_Name_Color"});
selfEsp:Toggle({Name = "Weapons", Flag =
"Self_PlayerESP_Weapon"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255),
Flag = "Self_PlayerESP_Weapon_Color"});
selfEsp:Toggle({Name = "Flags", Flag =
"Self_PlayerESP_Flags"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag
= "Self_PlayerESP_FlagsColor"});
selfEsp:Dropdown({Name = "Flags", Flag =
"Self_PlayerESP_Flag_Options", Options = {"Distance", "Knocked"}, Max = 9e9})
selfEsp:Toggle({Name = "Gun Icons", Flag =
"Self_PlayerESP_GunIcons"})
local highlight = selfEsp:Toggle({Name = "Chams", Flag =
"Self_PlayerESP_Highlights"})
highlight:Colorpicker({Default = Color3.fromHex("#7D0DC3"),
Transparency = 0.7, Flag = "Self_PlayerESP_HighlightFillSettings"});
highlight:Colorpicker({Default = Color3.new(0,0,0), Flag =
"Self_PlayerESP_HighlightOutlineSettings"});
end
--
local selfEspProperties = ESP:Section({Name = "Properties", Size = 330,
Side = "Right"}) do
local health = selfEspProperties:Toggle({Name = "Health Bar",
Flag = "Self_PlayerESP_HealthBar"})
health:Colorpicker({Default = Color3.fromRGB(0,255,0), Flag =
"Self_PlayerESP_HealthBar_Color_Higher"});
health:Colorpicker({Default = Color3.fromRGB(255,0,0), Flag =
"Self_PlayerESP_HealthBar_Color_Low"});
selfEspProperties:Toggle({Name = "Health Number", Flag =
"Self_PlayerESP_HealthNumber"})
selfEspProperties:Toggle({Name = "Armor Bar", Flag =
"Self_PlayerESP_ArmorBar"}):Colorpicker({Default = Color3.fromRGB(0,0,255), Flag =
"Self_PlayerESP_ArmorBarColor"});
end
-- seperate here
local worldVisuals = World:Section({Name = "Lighting", Size = 330, Side
= "Left"}) do
worldVisuals:Toggle({Name = "Master Switch", Flag = "Master
Switch", Callback = function()
for i,v in pairs(Lighting_Save) do
Lighting[i] = v
end
end})
worldVisuals:Toggle({Name = "Clock Time", Flag = "Clock Time
Enabled"})
worldVisuals:Slider({Name = "Clock Time", Flag = 'Clock Time',
Min = 0, Max = 24, Default = 12, Decimals = 0.1})
worldVisuals:Toggle({Name = "Color Shift Bottom", Flag = "Color
Shift Bottom"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Color
Shift Bottom Color"});
worldVisuals:Toggle({Name = "Ambient", Flag =
"Ambient"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Ambience
Color"});
worldVisuals:Toggle({Name = "Outdoor Ambience", Flag = "Outdoor
Ambience"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Outdoor
Ambience color"});
worldVisuals:Toggle({Name = "Brightness", Flag = "Brightness
Enabled"})
worldVisuals:Slider({Name = "Brightness", Flag = 'Brightness',
Min = 0, Max = 20, Default = 3, Decimals = 1})
worldVisuals:Toggle({Name = "Color Shift Top", Flag = "Color
Shift Top"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Color
Shift Top Color"});
worldVisuals:Toggle({Name = "Fog", Flag =
"Fog"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Fog Color"});
end
--
local bulletTracers = World:Section({Name = "Bullet Modification", Size
= 330, Side = "Left"}) do
bulletTracers:Toggle({Name = "Bullet Tracers", Flag = "Bullet
Tracers"}):Colorpicker({Default = Color3.new(1,1,1), Flag = "Bullet Tracers
Color"});
bulletTracers:Slider({Name = "Lifetime", Flag = 'Tracers Life
Time', Min = 0, Max = 10, Default = 2, Decimals = 0.1})
bulletTracers:Toggle({Name = "Face Camera", Flag = "Face Camera",
Default = true})
bulletTracers:Slider({Name = "Brightness", Flag = 'Bullet
Brightness', Min = 0, Max = 20, Default = 6, Decimals = 1})
bulletTracers:Slider({Name = "Speed", Flag = 'Bullet Speed', Min
= 0, Max = 20, Default = 3, Decimals = 0.01})
bulletTracers:Slider({Name = "Size", Flag = 'Bullet Size', Min =
1, Max = 20, Default = 1, Decimals = 0.01})
bulletTracers:Toggle({Name = "Bullet Impacts", Flag = "Bullet
Impacts"}):Colorpicker({Default = Color3.new(1,1,1), Alpha = 0, Flag = "Bullet
Impacts Color"});
bulletTracers:Slider({Name = "Size", Flag = 'Impact Size', Min =
0.01, Max = 5, Default = 0.25, Decimals = 0.01})
end
--
local crosshairSection = World:Section({Name = "Crosshair", Size = 330,
Side = "Right"}) do
crosshairSection:Toggle({Name = "Crosshair", Flag = "Crosshair",
Callback = function()
for i = 1, #crosshair_Lines do
crosshair_Lines[i].Visible = false;
end
--
for i = 1, #crosshair_Outlines do
crosshair_Outlines[i].Visible = false;
end
end}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag =
"Crosshair Color", Callback = function()
for i = 1, #crosshair_Lines do
crosshair_Lines[i].Color = flags["Crosshair
Color"].Color;
crosshair_Lines[i].Transparency = flags["Crosshair
Color"].Transparency;
end
end});
crosshairSection:Toggle({Name = "Always Rotating", Flag =
"Crosshair Always Rotating"})
crosshairSection:Slider({Name = "Speed", Flag = 'Crosshair
Speed', Min = 0, Max = 24, Default = 12, Decimals = 0.1})
crosshairSection:Slider({Name = "Gap Size", Flag = 'Crosshair Gap
Size', Min = 0, Max = 30, Default = 12, Decimals = 1})
crosshairSection:Slider({Name = "Length", Flag = 'Crosshair
Length', Min = 0, Max = 30, Default = 12, Decimals = 1})
crosshairSection:Slider({Name = "Thickness", Flag = 'Crosshair
Thickness', Min = 0.1, Max = 5, Default = 1.5, Decimals = 0.1, Callback =
function(Int)
for i = 1, #crosshair_Lines do
crosshair_Lines[i].Thickness = Int;
crosshair_Outlines[i].Thickness = Int;
end
end})
crosshairSection:Slider({Name = "Sides", Flag = 'Crosshair
Sides', Min = 1, Max = 10, Default = 4, Decimals = 1, callback = function(Int)
crosshair_LineAmount = Int
--
crosshair_lineOffsets = utility:generateAngles(Int)
--
for i = 1, #crosshair_Lines do
crosshair_Lines[i]:Remove();
crosshair_Lines[i] = nil;
end
--
for i = 1, #crosshair_Outlines do
crosshair_Outlines[i]:Remove();
crosshair_Outlines[i] = nil;
end
--
do
for Index = 1, Int do
local line = utility:drawObject("Line",{
Visible = false,
Color = flags["Crosshair Color"].Color,
Thickness = flags["Crosshair Thickness"],
ZIndex = 2,
Transparency = 1
})
--
crosshair_Lines[Index] = line
--
local line_1 = utility:drawObject("Line",{
Visible = false,
Color = Color3.fromRGB(0, 0, 0),
Thickness = flags["Crosshair Thickness"]
* 2.5,
ZIndex = 1,
Transparency = 1
})
--
crosshair_Outlines[Index] = line_1
end
end
end})
crosshairSection:Dropdown({Name = "Sizing Easing Style", Flag =
"Crosshair Sizing Easing Style", Options = {"Off", "Linear", "Cubic", "Quad",
"Quart", "Quint", "Sine", "Exponential", "Back", "Bounce", "Elastic", "Circular"},
Default = "Off"})
crosshairSection:Dropdown({Name = "Speed Easing Style", Flag =
"Crosshair Speed Easing Style", Options = {"Off", "Linear", "Cubic", "Quad",
"Quart", "Quint", "Sine", "Exponential", "Back", "Bounce", "Elastic", "Circular"},
Default = "Off"})
crosshairSection:Toggle({Name = "Show Text", Flag = "Script
Name", Callback = function(Bool)
local sub = utility.drawings["Sub"]
local domain = utility.drawings["Domain"]
--
sub.Visible = Bool
domain.Visible = Bool
end})
crosshairSection:Toggle({Name = "Pulse", Flag = "Pulse"})
crosshairSection:Toggle({Name = "Attach to target", Flag =
"Attach to target"})
end
--
local ingameCrosshair = World:Section({Name = "In-Game Crosshair", Size
= 330, Side = "Right"}) do
ingameCrosshair:Toggle({Name = "Spinning", Flag = "In-Game
Crosshair Spin", Callback = function()

game:GetService("Players").LocalPlayer.PlayerGui.MainScreenGui.Aim.Rotation =
0
end})
ingameCrosshair:Slider({Name = "Speed", Flag = 'In-Game Crosshair
Spin Speed', Min = 0, Max = 30, Default = 1, Decimals = 1})
ingameCrosshair:Toggle({Name = "Dont Show", Flag = "In-Game
Crosshair Invisible"})
end
end
-- // Visuals
local misc = Window:Page({Name = "Misc", Weapons = true}) do
local Movement = misc:Weapon({Icon = "rbxassetid://6034509993"})
local Exploits = misc:Weapon({Icon = "rbxassetid://16997954488"})
local movementSection = Movement:Section({Name = "General", Size =
330}) do
movementSection:Toggle({Name = "Speed", Flag = "Speed
Enabled"}):Keybind({Name = "Speed", Flag = "Speed Key", Mode = "Toggle", Callback =
function()
if Chatting then return end
end})
movementSection:Slider({Name = "Speed", Flag = 'Speed', Min = 0,
Max = 100, Default = 20, Decimals = 1})
movementSection:Toggle({Name = "Fly", Flag = "Fly
Enabled"}):Keybind({Name = "Fly", Flag = "Fly Key", Mode = "Toggle", Callback =
function()
if Chatting then return end
LocalPlayer.Character.HumanoidRootPart.Anchored = false;
end})
movementSection:Slider({Name = "Fly", Flag = 'Fly Speed', Min =
0, Max = 100, Default = 20, Decimals = 1})
end
--
local hitEffects = Movement:Section({Name = "Hit Effects", Size = 330,
Side = "Right"}) do
hitEffects:Toggle({Name = "Hit Marker", Flag = "Hit
Marker"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag = "Hit Marker
Settings"});
hitEffects:Toggle({Name = "3D Hit Marker", Flag = "3D Hit
Marker"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag = "3D Hit Marker
Settings"});
hitEffects:Slider({Name = "Fading Time", Flag = 'Hit Markers
Time', Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
hitEffects:Toggle({Name = "Hit Sounds", Flag = "Hit Sounds"})
hitEffects:Dropdown({Name = "Hit Sounds", Flag = "Hit Sounds
Sound", Options = sfx_names, Default = "Neverlose"})
hitEffects:Slider({Name = "Volume", Flag = 'Hit Sounds Volume',
Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
hitEffects:Slider({Name = "Pitch", Flag = 'Hit Sounds Pitch', Min
= 0.1, Max = 10.0, Default = 1.0, Decimals = 0.1})
hitEffects:Toggle({Name = "Hit Effects", Flag = "Hit
Effects"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag = "Hit Effect
Settings"});
hitEffects:Dropdown({Name = "Hit Effects", Flag = "Hit Effects
Option", Options = {"Confetti", "Nova", "Sparkle"}, Default = "Confetti"})
hitEffects:Toggle({Name = "Hit Chams", Flag = "Hit
Chams"}):Colorpicker({Default = Color3.fromRGB(255, 0, 0), Transparency = 0.8, Flag
= "Hit Chams Settings"});
hitEffects:Dropdown({Name = "Material", Flag = "Hit Chams
Material", Options = {"ForceField", "Neon", "Plastic"}, Default = "Neon"})
hitEffects:Slider({Name = "Fading Time", Flag = 'Hit Chams Fading
Time', Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
hitEffects:Toggle({Name = "Hit-Logs", Flag = "Hit Notify"})
end
--
local chatSpam = Movement:Section({Name = "Chat Spam", Size = 330, Side
= "Left"}) do
chatSpam:Toggle({Name = "Enabled", Flag = "Chat Spam"})
chatSpam:Dropdown({Name = "Type", Flag = "Chat Spam Type",
Options = {"Lunar", "Scottish"}, Default = "Lunar"})
chatSpam:Slider({Name = "Delay", Flag = 'Chat Spam Delay', Suffix
= "s", Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
chatSpam:Toggle({Name = "Emojis", Flag = "Emojis"})
chatSpam:Toggle({Name = "Symbols", Flag = "Symbol"})
chatSpam:Toggle({Name = "Repeat", Flag = "Repeat"})
end
--
local characterMods = Movement:Section({Name = "Character", Size = 330,
Side = "Left"}) do
characterMods:Toggle({Name = "Remove Chairs", Flag = "Remove
Chairs", Callback = function(Bool)
for i,v in pairs(Workspace:GetDescendants()) do
if v:IsA("Seat") then
v.Disabled = Bool
end
end
end})
characterMods:Toggle({Name = "No Slow", Flag = "No Slow"})
characterMods:Toggle({Name = "Auto Reload", Flag = "Auto
Reload"})
characterMods:Toggle({Name = "Auto Armor", Flag = "Auto Armor"})
characterMods:Toggle({Name = "Anti Void Kill", Flag = "Anti Void
Kill", Callback = function(Bool)
Workspace.FallenPartsDestroyHeight = Bool and -50000 or -
500
end})
end
--
local cframeDesync = Exploits:Section({Name = "Desync", Size = 330,
Side = "Left"}) do
local customSliders, strafeSliders, randomSliders = {}, {}, {}
cframeDesync:Toggle({Name = "Enabled", Flag =
"Desync"}):Keybind({Name = "Desync Key", Flag = "Desync Key", Mode = "Toggle",
Callback = function()
if flags["Desync Key"] == false and C_Desync["OldPosition"]
then
LocalPlayer.Character.HumanoidRootPart.CFrame =
C_Desync["OldPosition"]
C_Desync["OldPosition"] = nil
end
end})
local Vis = cframeDesync:Toggle({Name = "Visualize", Flag =
"Desync Visualize"}); Vis:Colorpicker({Default = Color3.fromRGB(0,0,0), Flag =
"Desync Visualize Outline", Alpha = 0}); Vis:Colorpicker({Default =
Color3.fromHex("#7D0DC3"), Flag = "Desync Visualize Fill", Alpha = 0.7});
cframeDesync:Toggle({Name = "Attach onto target", Flag = "Attach
Target"});
cframeDesync:Dropdown({Name = "Type", Flag = "Desync Type",
Options = {"Custom", "Random", "Target Strafe", "Roll"}, Default = "Target Strafe",
Callback = function(Option)
if #customSliders ~= 0 then
for _,v in pairs(customSliders) do
v:SetVisible(Option == "Custom" and true or false) end; for _,v in
pairs(strafeSliders) do v:SetVisible(Option == "Target Strafe" and true or false)
end; for _,v in pairs(randomSliders) do v:SetVisible(Option == "Random" and true or
false) end
end
end})
-- // Dropdown Sliders
do
local _ = cframeDesync:Slider({Name = "Position X", Flag =
'Desync X', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix = "m"})
table.insert(customSliders, _)
local _ = cframeDesync:Slider({Name = "Position Y", Flag =
'Desync Y', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix = "m"})
table.insert(customSliders, _)
local _ = cframeDesync:Slider({Name = "Position Z", Flag =
'Desync Z', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix = "m"})
table.insert(customSliders, _)
--
local _ = cframeDesync:Slider({Name = "Rotation X", Flag =
'Rotation X', Min = -180, Max = 180, Default = 0, Decimals = 1, Suffix = "°"})
table.insert(customSliders, _)
local _ = cframeDesync:Slider({Name = "Rotation Y", Flag =
'Rotation Y', Min = -180, Max = 180, Default = 0, Decimals = 1, Suffix = "°"})
table.insert(customSliders, _)
local _ = cframeDesync:Slider({Name = "Rotation Z", Flag =
'Rotation Z', Min = -180, Max = 180, Default = 0, Decimals = 1, Suffix = "°"})
table.insert(customSliders, _)
--
local _ = cframeDesync:Slider({Name = "Radius", Flag =
'Desync Strafe Radius', Min = -15, Max = 15, Default = 10, Decimals = 1, Suffix =
"m"}) table.insert(strafeSliders, _)
local _ = cframeDesync:Slider({Name = "Speed", Flag =
'Desync Strafe Speed', Min = -15, Max = 15, Default = 10, Decimals = 1, Suffix =
"m/s"}) table.insert(strafeSliders, _)
local _ = cframeDesync:Slider({Name = "Height", Flag =
'Desync Strafe Height', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix =
"m"}) table.insert(strafeSliders, _)
--
local _ = cframeDesync:Slider({Name = "Random Range", Flag
= 'Desync Random Range', Min = 0, Max = 50, Default = 0, Decimals = 1, Suffix =
"st"}) table.insert(randomSliders, _)
--
for _,v in pairs(customSliders) do v:SetVisible(false) end
for _,v in pairs(strafeSliders) do v:SetVisible(true) end
for _,v in pairs(randomSliders) do v:SetVisible(false) end
end
end
--
local invisDesync = Exploits:Section({Name = "Exploits", Size = 330,
Side = "Right"}) do
local loop;
invisDesync:Toggle({Name = "Invis Desync", Flag = "Invis
Desync"}):Keybind({Name = "Invisible Desync", Flag = "Invis Desync Key", Mode =
"Toggle", Callback = function()
if flags["Invis Desync"] and flags["Invis Desync Key"] then
if flags["Invis Desync Key"] then
setfflag("S2PhysicsSenderRate", 2)
loop =
RunService.Heartbeat.Connect(RunService.Heartbeat, framework.desyncInit);
end
else
-- skibidi sigma rizz
if loop then
loop:Disconnect()
loop = nil
setfflag("S2PhysicsSenderRate", 15)
end
end
end})
--
invisDesync:Toggle({Name = "Destroy Cheaters", Flag = "Destroy
Cheaters"}):Keybind({Name = "Destroy Cheaters", Flag = "Destroy Cheaters Key", Mode
= "Toggle"})
flags["Destroy Cheaters Key"] = true
end
--
local fastFlags = Exploits:Section({Name = "Fast Flags", Size = 330,
Side = "Right"}) do
fastFlags:Toggle({Name = "Enabled", Flag = "Fast Flags", Callback
= function()
setfflag("S2PhysicsSenderRate", 15)
end})
fastFlags:Slider({Name = "Amount", Flag = 'Fast Flags Amount',
Min = 1, Max = 15, Default = 2, Decimals = 0.01})
--
fastFlags:Toggle({Name = "Network Desync", Flag = "Network
Desync", Callback = function()
sethiddenproperty(LocalPlayer.Character.HumanoidRootPart,
"NetworkIsSleeping", false)
end})
fastFlags:Slider({Name = "Delay", Flag = 'Network Delay', Suffix
= "s", Min = 0.01, Max = 15, Default = 2, Decimals = 0.01})
end
end
-- // Settings
local Config = Window:Page({Name = "Settings"}) do
local Menu = Config:Section({Name = "Menu", Size = 120})
local Cfgs = Config:Section({Name = "Configs", Size = 200, Side =
"Right"})
--
local abc = false
Menu:Keybind({Name = "Menu key", Flag = "MenuKey", Default =
Enum.KeyCode.End, Mode = "Toggle", Callback = function() abc = not abc
Library:SetOpen(abc) end})
Menu:Dropdown({Name = "Notification Position", Flag = "Notification
Position", Options = {"Top Left", "Middle"}, Default = "Top Left"})
Menu:Label({Centered = true, Name = "Credits: \nPortal : User
Interface"})
--
local CFGList = Cfgs:Dropdown({Name = "Cfg List", Flag =
"SettingConfigurationList", Options = {}})
Cfgs:Textbox({Flag = "SettingsConfigurationName", Placeholder = "Config
name"})
--
local CurrentList = {};
if not isfolder("Lunar") then
makefolder("Lunar")
end
if not isfolder("Lunar/Configs") then
makefolder("Lunar/Configs")
end
local function UpdateConfigList()
local List = {};
for idx, file in ipairs(listfiles("Lunar/Configs")) do
local FileName = file:gsub("Lunar/Configs\\",
""):gsub(".cfg", "")
List[#List + 1] = FileName;
end;

local IsNew = #List ~= #CurrentList


if not IsNew then
for idx, file in ipairs(List) do
if file ~= CurrentList[idx] then
IsNew = true;
break;
end;
end;
end;

if IsNew then
CurrentList = List;
CFGList:Refresh(CurrentList);
end;
end;
--
Cfgs:Button({Name = "Create", Callback = function()
local ConfigName = flags.SettingsConfigurationName;
if ConfigName == "" or isfile("Lunar/Configs/" .. ConfigName ..
".cfg") then
return;
end;
writefile("Lunar/Configs/" .. ConfigName .. ".cfg",
Library:GetConfig());
UpdateConfigList();
end})
Cfgs:Button({Name = "Save", Callback = function()
local SelectedConfig = flags.SettingConfigurationList;
if SelectedConfig then
writefile("Lunar/Configs/" .. SelectedConfig .. ".cfg",
Library:GetConfig())
end;
end})
Cfgs:Button({Name = "Load", Callback = function()
local SelectedConfig = flags.SettingConfigurationList;
if SelectedConfig then
Library:LoadConfig(readfile("Lunar/Configs/" ..
SelectedConfig .. ".cfg"))
end
end})
Cfgs:Button({Name = "Delete", Callback = function()
local SelectedConfig = flags.SettingConfigurationList;
if SelectedConfig then
delfile("Lunar/Configs/" .. SelectedConfig .. ".cfg")
end
UpdateConfigList();
end})
Cfgs:Button({Name = "Refresh", Callback = function()
UpdateConfigList();
end})
Cfgs:Toggle({Name = "Keybind List", Flag = "Keybind List", Callback =
function(Bool)
PlaceHolderUI.Enabled = Bool
end})
UpdateConfigList();
end
end

-- // Framework
do
getgenv().offset = nil;
local Origin;
local Position, OnScreen, PreviousGun, PreviousAmmo, Sine, Radians = nil,
nil, nil, nil, 0, 1;
local NetworkTick, Networking = 0, false;
local chatTick = 0;
-- // Loops
do
framework["connections"]["Main Loop"] =
RunService.Heartbeat:Connect(LPH_NO_VIRTUALIZE(function(Fps)
-- // Framework Calls
do
framework:aimAssist()
framework:worldVisuals()
end
--// Auto Armor
do
if flags["Auto Armor"] then
if LocalPlayer.Character.BodyEffects.Armor.Value <
100 then
local Pos =
LocalPlayer.Character.HumanoidRootPart.CFrame
LocalPlayer.Character.HumanoidRootPart.CFrame =
workspace.Ignored.Shop["[High-Medium Armor] - $2440"].Head.CFrame

fireclickdetector(workspace.Ignored.Shop["[High-Medium Armor] -
$2440"].ClickDetector)
RunService.RenderStepped:Wait()
LocalPlayer.Character.HumanoidRootPart.CFrame =
Pos
end
end
end
-- // No Slow Down
do
if flags["No Slow"] then
if LocalPlayer.Character.BodyEffects.Reload.Value
then
LocalPlayer.Character.BodyEffects.Reload.Value
= false
end
--
local Slowdowns =
LocalPlayer.Character.BodyEffects.Movement:FindFirstChild('NoJumping') or
LocalPlayer.Character.BodyEffects.Movement:FindFirstChild('NoWalkSpeed') or
LocalPlayer.Character.BodyEffects.Movement:FindFirstChild('ReduceWalk')
if Slowdowns then
Slowdowns:Destroy()
end
end
end
-- // Target Framework
do
if utility.target and
utility:ValidateClient(utility.target) and flags["Silent_Bind"] then
Position, OnScreen =
Camera:WorldToViewportPoint(utility.target.Character.HumanoidRootPart.Position);
prediction = framework:selectPrediction()
--
if flags["Target Auto Select"] then
framework:autoSelect()
end
--
if flags["Resolver"] then
offset =
framework:calculateResolverOffset(utility.target);
end
--
if flags["Highlight Enabled"] then
targetHighlight.Enabled = true
targetHighlight.DepthMode =
Enum.HighlightDepthMode.AlwaysOnTop
targetHighlight.FillColor = flags["Highlight
Fill Color"].Color
targetHighlight.OutlineColor = flags["Highlight
Outline Color"].Color
targetHighlight.Adornee =
utility.target.Character
targetHighlight.OutlineTransparency =
flags["Highlight Outline Color"].Transparency
targetHighlight.FillTransparency =
flags["Highlight Fill Color"].Transparency
else
targetHighlight.Enabled = false
end
--
if flags["Nearest Part"] then
partClosest =
framework:calculateNearestPart(utility.target, flags["Closest Hit Part"]).Name
end
--
checks = framework:getChecks(utility.target,
table.find(flags["Silent Checks"], "Friend Check"), table.find(flags["Silent
Checks"], "Wall Check"), table.find(flags["Silent Checks"], "Knocked Check"),
table.find(flags["Silent Checks"], "Grabbed Check"));
--
if flags["Line Enabled"] then
utility.drawings["Tracer"].Visible = OnScreen
and true or false
utility.drawings["Tracer"].From =
NewVector2(Mouse.X, Mouse.Y + Offset)
utility.drawings["Tracer"].To =
NewVector2(Position.X, Position.Y)
utility.drawings["Tracer"].Color = flags["Line
Settings"].Color
utility.drawings["Tracer"].Transparency =
flags["Line Settings"].Transparency
end
--
if flags["Target Strafe Enabled"] then
utility.angle = utility.angle + flags["Target
Strafe Speed"]
local strafe =
utility.target.Character.HumanoidRootPart.CFrame * CFrame.Angles(0,
math.rad(utility.angle), 0) * NewCFrame(0, flags["Target Strafe Height"],
flags["Target Strafe Distance"])
--
LocalPlayer.Character.HumanoidRootPart.CFrame =
strafe
end
--
if flags["Back Track Enabled"] and flags["Back Track
Method"] == "Follow" then
for _, Part in pairs(utility.folders["Part
Chams"]:GetChildren()) do
if Part:IsA("BasePart") and
table.find(utility.bodyParts, Part.Name) then
Part.Position =
utility.target.Character[Part.Name].Position +
utility.target.Character.HumanoidRootPart.Velocity * 0.1413
Part.Rotation =
utility.target.Character[Part.Name].Rotation
end
end
end
--
if flags["Look At"] then
LocalPlayer.Character.Humanoid.AutoRotate =
false;
local OldCframe =
LocalPlayer.Character.PrimaryPart;
local NearestRoot =
utility.target.Character.HumanoidRootPart
local NearestPos =
NewCFrame(LocalPlayer.Character.PrimaryPart.Position,
Vector3.new(NearestRoot.Position.X, OldCframe.Position.Y, NearestRoot.Position.Z));

LocalPlayer.Character:SetPrimaryPartCFrame(NearestPos);
end
--
if flags["Auto Shoot"] then
local Tool = utility:getHeld();
if Tool then
Tool:Activate()
end
end
else
--
if (utility.drawings["Tracer"].Visible == true) then
utility.drawings["Tracer"].Visible = false
end
--
targetHighlight.Enabled = false
end
end
-- // Anti Cheat Bypass
do
if tick() - antiCheattick > 1 and LocalPlayer.Character
then
antiCheattick = tick()
--
for _, Script in
pairs(LocalPlayer.Character:GetChildren()) do
if Script:IsA("Script") and Script.Name ~=
"Health" and Script.Name ~= "Sound" and Script:FindFirstChild("LocalScript") then
Script:Destroy()
end
end
end
end
-- // Movement
do
if LocalPlayer.Character and not (flags["Desync"] and
flags["Desync Key"]) then
framework:cframeSpeed()
framework:fly(Fps)
end
end
-- // Physics and Network shits
do
if flags["Fast Flags"] and getfflag("S2PhysicsSenderRate")
~= flags["Fast Flags Amount"] then
setfflag("S2PhysicsSenderRate", flags["Fast Flags
Amount"])
end
--
if flags["Network Desync"] then
if tick() - NetworkTick > flags["Network Delay"] then
NetworkTick = tick()
Networking = not Networking

sethiddenproperty(LocalPlayer.Character.HumanoidRootPart,
"NetworkIsSleeping", Networking)
end
end
end
-- // Chat Spam
do
if flags["Chat Spam"] then
if tick() - chatTick > flags["Chat Spam Delay"] then
chatTick = tick()
local Message = framework:chatSpam(flags["Chat
Spam Type"], flags["Repeat"], flags["Emojis"], flags["Symbol"])

ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(Message,
"All")
end
end
end
end))
framework["connections"]["Desync"] =
RunService.Heartbeat:Connect(LPH_NO_VIRTUALIZE(function(delta)
-- // Desync
do
if ((flags["Desync"] and flags["Desync Key"]) or
(flags["Destroy Cheaters"] and flags["Destroy Cheaters Key"]) and
LocalPlayer.Character) then
C_Desync["OldPosition"] =
LocalPlayer.Character.HumanoidRootPart.CFrame
local Origin = (flags["Attach Target"] and checks and
utility.target and utility.target.Character and
utility.target.Character.HumanoidRootPart) or
LocalPlayer.Character.HumanoidRootPart
local randomRange = flags["Desync Random Range"]
Radians += flags["Desync Strafe Speed"]
local calculatedPositions = {
["Random"] = (NewCFrame(Origin.Position) +
Vector3.new(Random(-randomRange, randomRange), Random(-randomRange, randomRange),
Random(-randomRange, randomRange))) * CFrame.Angles(Rad(Random(-180, 180)),
Rad(Random(-180, 180)), Rad(Random(-180, 180))),
["Roll"] = Origin.CFrame * NewCFrame(0, -4 ,0)
* CFrame.Angles(0, Rad(Random(1, 360)), Rad(-180)),
["Target Strafe"] = Origin.CFrame *
CFrame.Angles(0, Rad(Radians), 0) * NewCFrame(0, flags["Desync Strafe Height"],
flags["Desync Strafe Radius"]),
["Custom"] = Origin.CFrame *
NewCFrame(flags["Desync X"], flags["Desync Y"], flags["Desync Z"]) *
CFrame.Angles(Rad(flags["Rotation X"]), Rad(flags["Rotation Y"]),
Rad(flags["Rotation Z"])),
["Destroy Cheaters"] = Origin.CFrame *
NewCFrame(9e9, 0/0, math.huge)
}
--
C_Desync["PredictedPosition"] = flags["Destroy
Cheaters"] and flags["Destroy Cheaters Key"] and calculatedPositions["Destroy
Cheaters"] or calculatedPositions[flags["Desync Type"]]
--
LocalPlayer.Character.HumanoidRootPart.CFrame =
C_Desync["PredictedPosition"]
--
if flags["Desync Visualize"] then

bodyClone:SetPrimaryPartCFrame(LocalPlayer.Character.HumanoidRootPart.CFrame)
visualizeChams.FillColor = flags["Desync
Visualize Fill"].Color;
visualizeChams.FillTransparency = flags["Desync
Visualize Fill"].Transparency;
visualizeChams.OutlineColor = flags["Desync
Visualize Outline"].Color;
visualizeChams.OutlineTransparency =
flags["Desync Visualize Outline"].Transparency;
end
--
game:GetService("RunService").RenderStepped:Wait()
--
LocalPlayer.Character.HumanoidRootPart.CFrame =
C_Desync["OldPosition"]
--
framework:cframeSpeed()
framework:fly(delta)
else

bodyClone:SetPrimaryPartCFrame(NewCFrame(9999,9999,9999))
end
end
end))
framework["connections"]["ESP Loop"] =
RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function(Fps)
for Index, Base in pairs(Visuals.Bases) do
Base:Update()
end
-- // Crosshair Visuals
do
crosshair_SpinAngle = flags["Crosshair Always Rotating"]
and crosshair_SpinAngle + math.rad((flags["Crosshair Speed"] * 10) * Fps) or 0;
-- // Crosshair
do
if flags["Crosshair"] then
local Radius = flags["Crosshair Length"] * 5
local Gap = flags["Crosshair Gap Size"]
--
if flags["Attach to target"] and utility.target
~= nil and utility.target.Character and OnScreen then
Origin = NewVector2(Position.X,
Position.Y)
else
Origin = NewVector2(Mouse.X, Mouse.Y +
Offset)
end
--
CursorSize += 0.025
--
local SmoothAngle = flags["Crosshair Speed
Easing Style"] ~= "Off" and Tween.EasingStyles[Enum.EasingStyle[flags["Crosshair
Speed Easing Style"]]][Enum.EasingDirection.InOut]
(utility:Shift(crosshair_SpinAngle)) * (Pi * Pi/2) or crosshair_SpinAngle
local Dynamic = Cos(CursorSize)
local SmoothSize = flags["Crosshair Sizing
Easing Style"] ~= "Off" and ((Radius / 2) *
(Tween.EasingStyles[Enum.EasingStyle[flags["Crosshair Sizing Easing Style"]]]
[Enum.EasingDirection.In](utility:Shift(Dynamic)))) or 0
local localRadius = Radius - SmoothSize
--
for i = 1, #crosshair_Lines do
local Positions =
NewVector2(Cos(SmoothAngle + crosshair_lineOffsets[i]), (Sin(SmoothAngle +
crosshair_lineOffsets[i])))
--
crosshair_Lines[i].From = Origin +
NewVector2(Positions.X, Positions.Y) * Gap
crosshair_Lines[i].To =
crosshair_Lines[i].From + NewVector2(Positions.X, Positions.Y) * localRadius
--
crosshair_Outlines[i].From = Origin +
NewVector2(Positions.X, Positions.Y) * (Gap - 1)
crosshair_Outlines[i].To =
crosshair_Lines[i].From + NewVector2(Positions.X, Positions.Y) * (localRadius + 1)
--
crosshair_Lines[i].Visible = true
crosshair_Outlines[i].Visible = true
end
end
end
-- // Crosshair Text
do
if flags["Script Name"] then
local sub = utility.drawings["Sub"]
local domain = utility.drawings["Domain"]
--
local yOffset = flags["Crosshair"] and
((flags["Crosshair Length"] * 5) + flags["Crosshair Gap Size"]) or 30
--
local textOrigin;
if flags["Attach to target"] and utility.target
~= nil and utility.target.Character and OnScreen then
textOrigin = NewVector2(Position.X - 23,
Position.Y + yOffset)
else
textOrigin = NewVector2(Mouse.X - 23,
Mouse.Y + Offset + yOffset)
end
--
sub.Visible = true
domain.Visible = true
--
sub.Position = textOrigin
domain.Position = sub.Position +
NewVector2(sub.TextBounds.X, 0)
end
--
if flags["Pulse"] and flags["Script Name"] then
local sub = utility.drawings["Sub"]
--
Sine = flags["Pulse"] and
math.abs(math.sin(tick() * 4)) or 1
sub.Transparency = Sine
end
end
-- // In-Game Crosshair Shit
do
if flags["In-Game Crosshair Spin"] and not flags["In-
Game Crosshair Invisible"] then

LocalPlayer.PlayerGui.MainScreenGui.Aim.Rotation += flags["In-Game Crosshair


Spin Speed"]
end
--
if flags["In-Game Crosshair Invisible"] and
LocalPlayer.PlayerGui.MainScreenGui.Aim.Visible == true then

Players.LocalPlayer.PlayerGui.MainScreenGui.Aim.Visible = false
end
end
end
-- // Hit Detection
do
local Gun =
LocalPlayer.Character:FindFirstChildWhichIsA("Tool")
local Connection = framework["connections"]["Hit
Detection"]
if Gun ~= PreviousGun and Connection then
PreviousGun = Gun
PreviousAmmo = 999
Connection:Disconnect()
framework["connections"]["Hit Detection"] = nil
end

if not framework["connections"]["Hit Detection"] and Gun


and Gun.Ammo.Value then
framework["connections"]["Hit Detection"] =
Gun.Ammo:GetPropertyChangedSignal("Value"):Connect(function()
local CurrentAmmo = Gun.Ammo.Value
if CurrentAmmo < PreviousAmmo then
local ChildrenAdded = 0;
local ChildAdded;
local IgnoreList =
{LocalPlayer.Character, Gun.Handle};
ChildAdded =
Workspace.Ignored.Siren.Radius.ChildAdded:Connect(function(Object)
if Object.Name == "BULLET_RAYS"
then
ChildrenAdded += 1;
if (table.find({"[Double-
Barrel SG]", "[TacticalShotgun]", "[Shotgun]"}, Gun.Name) and ChildrenAdded <= 5)
or (ChildrenAdded == 1) then
local Pos =
Object.CFrame.Position
local LookVector =
Object.CFrame.LookVector
--
local RayCastParams =
RaycastParams.new()
RayCastParams.FilterType
= Enum.RaycastFilterType.Exclude

RayCastParams.IgnoreWater = true

RayCastParams.FilterDescendantsInstances = IgnoreList
local Ray =
Workspace:Raycast(Pos, LookVector * 1000, RayCastParams)
if not Ray then return
end
local HitPosition =
Ray.Position
local HitInstance =
Ray.Instance
--
delay(0.001, function()
if flags["Bullet
Tracers"] then

Object:Destroy()

utility:CreateBeam(Pos, HitPosition, flags["Bullet Tracers Color"].Color,


flags["Face Camera"], flags["Bullet Size"], flags["Bullet Speed"], flags["Bullet
Brightness"])
end
--
if flags["Bullet
Impacts"] then
local Impact
= Instance.new("Part")

Impact.Anchored = true

Impact.CanCollide = false

Impact.Parent = game.Workspace

Impact.Material = "Neon"
Impact.Shape
= Enum.PartType.Block

Impact.Transparency = flags["Bullet Impacts Color"].Transparency


Impact.Color
= flags["Bullet Impacts Color"].Color
Impact.Size
= NewVector3(flags["Impact Size"], flags["Impact Size"], flags["Impact Size"])

Impact.CFrame = NewCFrame(HitPosition)
delay(3,
function()

Impact:Destroy()
end)
end
--
if HitInstance
then
local
InstanceHit = HitInstance:FindFirstAncestorOfClass('Model')
if not
InstanceHit then return end

if
InstanceHit:FindFirstChild("Humanoid") and
InstanceHit:FindFirstChild("HumanoidRootPart") then
if
flags["Hit Sounds"] then

HitReg:HitSound(sfx[flags["Hit Sounds Sound"]], flags["Hit Sounds Volume"],


flags["Hit Sounds Pitch"])
end
--
if
flags["Hit Chams"] then

local Model = Instance.new("Model", utility.folders["Hit Chams"])

utility:characterClone(Players[InstanceHit.Name], flags["Hit Chams


Settings"].Color, flags["Hit Chams Material"], flags["Hit Chams
Settings"].Transparency, Model);

delay(flags["Hit Chams Fading Time"], function()

Model:Destroy()

end)
end
--
if
flags["Hit Notify"] then

local Text = string.format("You Hit %s in the %s!",


Players[InstanceHit.Name].Name, HitInstance.Name)

Library:Notification(Text, 3, Library.Accent, flags["Notification Position"])


end
--
if
flags["Hit Marker"] then

HitReg:HitMarker(4, flags["Hit Marker Settings"].Color, flags["Hit Markers


Time"])
end
--
if
flags["3D Hit Marker"] then

HitReg:HitMarker3D(4, flags["3D Hit Marker Settings"].Color, flags["Hit


Markers Time"], HitPosition)
end
--
if
flags["Hit Effects"] then

HitReg:HitEffect(flags["Hit Effects Option"],


Players[InstanceHit.Name].Character)
end
end
end

ChildAdded:Disconnect()
end)
end
else
ChildAdded:Disconnect()
end
end)
end
PreviousAmmo = CurrentAmmo
end)
end
end
end))
framework["connections"]["Typing Check"] =
InputService.InputBegan:Connect(function(_, Chatting)
Typing = Chatting
end)
framework["connections"]["Text"] =
InputService.InputChanged:Connect(function(_)
if utility.drawings["Aim Assist FOV"].Visible then
utility.drawings["Aim Assist FOV"].Position =
NewVector2(Mouse.X, Mouse.Y + Offset)
end
end)
framework["connections"]["ESP Player Find Loop"] =
Players.PlayerAdded:Connect(LPH_NO_VIRTUALIZE(function(Player)
if flags["PlayerESP_Enabled"] then
Visuals:Create({Player = Player})
end
end))
end
-- // Gun Handling
do
local function Aimbot()
utility:calculateAimViewerEndPoint()
end
--
local function Ammo()
framework:autoReload()
end
--
framework["connections"]["Anti Aim Viewer"] = {}
framework["connections"]["auto reload >_< :3"] = {}
for i, v in pairs(LocalPlayer.Backpack:GetChildren()) do
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
if not framework["connections"]["Anti Aim Viewer"][v] then
framework["connections"]["Anti Aim Viewer"][v] =
v.Activated:Connect(Aimbot)
end
--
if not framework["connections"]["auto reload >_< :3"][v]
then
framework["connections"]["auto reload >_< :3"][v] =
v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
end
end
end
for i, v in pairs(LocalPlayer.Character:GetChildren()) do
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
if not framework["connections"]["Anti Aim Viewer"][v] then
framework["connections"]["Anti Aim Viewer"][v] =
v.Activated:Connect(Aimbot)
end
--
if not framework["connections"]["auto reload >_< :3"][v]
then
framework["connections"]["auto reload >_< :3"][v] =
v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
end
end
end
LocalPlayer.Character.ChildAdded:connect(function(v)
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
if not framework["connections"]["Anti Aim Viewer"][v] then
framework["connections"]["Anti Aim Viewer"][v] =
v.Activated:Connect(Aimbot)
end
--
if not framework["connections"]["auto reload >_< :3"][v]
then
framework["connections"]["auto reload >_< :3"][v] =
v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
end
end
end)
LocalPlayer.CharacterAdded:connect(function(v)
for i = 1, #framework["connections"]["Anti Aim Viewer"], 1 do
framework["connections"]["Anti Aim Viewer"][i]:Disconnect()
framework["connections"]["Anti Aim Viewer"][i] = nil
framework["connections"]["auto reload >_< :3"]
[i]:Disconnect()
framework["connections"]["auto reload >_< :3"][i] = nil
end
v.ChildAdded:connect(function(v)
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
if not framework["connections"]["Anti Aim Viewer"][v]
then
framework["connections"]["Anti Aim Viewer"][v]
= v.Activated:Connect(Aimbot)
end
--
if not framework["connections"]["auto reload >_< :3"]
[v] then
framework["connections"]["auto reload >_< :3"]
[v] = v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
end
end
end)
end)
end
-- // Target Back Track
do
task.spawn(function()
while true do
task.wait(flags["Back Track Delay"]/2)
if utility.target and
utility:ValidateClient(utility.target) then
if flags["Back Track Enabled"] and flags["Back Track
Method"] == "Clone" then
utility:characterClone(utility.target,
flags["Back Track Settings"].Color, flags["Back Track Material"], flags["Back Track
Settings"].Transparency, utility.folders["Part Chams"]);
task.wait(flags["Back Track Delay"]/2)
utility.folders["Part
Chams"]:ClearAllChildren();
end
end
end
end)
end
-- // Hooks
do
local Old;
Old = hookmetamethod(game, "__namecall",
LPH_NO_VIRTUALIZE(function(self, ...)
if tostring(self.Name) == "MainEvent" then
local Args = {...}
--
if getnamecallmethod() == "FireServer" and Args[1] ==
"UpdateMousePos" and not flags["Aim Viewer Bypass"] then
if utility.target and utility.target.Character and
flags["Silent_Bind"] then
local part = (flags["Jump Prediction"] and
utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and
"RightFoot") or (flags["Nearest Part"] and partClosest) or flags["Single Hit Part"]
local yOffset =
utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and
flags["Manual Offset Value"] or 0
--
if (checks == true) then
if flags["Resolver"] then
Args[2] =
utility.target.Character[tostring(part)].Position + offset + NewVector3(0, yOffset,
0)
else
Args[2] =
utility.target.Character[tostring(part)].Position +
(utility.target.Character.HumanoidRootPart.Velocity * prediction) + NewVector3(0,
yOffset, 0)
end
end
end
end
--
return Old(self, unpack(Args))
end
--
return Old(self, ...)
end))

--[[local IndexThing
IndexThing = hookmetamethod(game, "__index", function(self, k)
if (self:IsA("Mouse") and (k == "Hit" or k == "Target")) then
if utility.target and utility.target.Character and
flags["Silent_Bind"] and LocalPlayer.Character then
local part = (flags["Jump Prediction"] and
utility.target.Character.Humanoid:GetState() == Enum.HumanoidStateType.Freefall and
flags["Air Hit Part"]) or (flags["Nearest Part"] and partClosest) or flags["Single
Hit Part"]
local yOffset =
utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and
flags["Manual Offset Value"] or 0
--
if (checks == true) then
if flags["Resolver"] then
getgenv().Hit =
utility.target.Character[tostring(part)].Position + offset + NewVector3(0, yOffset,
0)
else
getgenv().Hit =
utility.target.Character[tostring(part)].Position +
(utility.target.Character.HumanoidRootPart.Velocity * prediction) + NewVector3(0,
yOffset, 0)
end
return (k == "Hit" and
CFrame.new(getgenv().Hit))
end
end
end
return IndexThing(self, k)
end)]]
local old
old = hookmetamethod(game, "__index", LPH_NO_VIRTUALIZE(function(self,
key)
if not checkcaller() then
if key == "CFrame" and LocalPlayer.Character and self ==
LocalPlayer.Character.HumanoidRootPart and ((flags["Desync"] and flags["Desync
Key"]) or (flags["Destroy Cheaters Key"] and flags["Destroy Cheaters"])) and
C_Desync["OldPosition"] ~= nil and
LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and
LocalPlayer.Character:FindFirstChild("Humanoid") and
LocalPlayer.Character:FindFirstChild("Humanoid").Health > 0 then
return C_Desync["OldPosition"]
end
end
return old(self, key)
end))
end
end

Library:Notification("Loaded lunar.vip in " .. Floor((tick() - loadingTime) * 1000)


.."ms", 3, Library.Accent, flags["Notification Position"])
--[[

NICE TRY POORON >_< :3333

]]

You might also like