message
message
local drawing = {
Fonts = {
UI = 0,
System = 1,
Plex = 2,
Monospace = 3
}
};
fetchvariable.Event:Connect(function(...)
fetchedvariable = ...;
end);
runfunction.Event:Connect(function(f, ...)
f(...);
end);
do -- This may look completely useless, but it allows TextBounds to update without
yielding and therefore breaking the metamethods.
local fonts = {
Font.new("rbxasset://fonts/families/Arial.json",
Enum.FontWeight.Regular, Enum.FontStyle.Normal),
Font.new("rbxasset://fonts/families/HighwayGothic.json",
Enum.FontWeight.Regular, Enum.FontStyle.Normal),
Font.new("rbxasset://fonts/families/Roboto.json",
Enum.FontWeight.Regular, Enum.FontStyle.Normal),
Font.new("rbxasset://fonts/families/Ubuntu.json",
Enum.FontWeight.Regular, Enum.FontStyle.Normal)
};
for i, v in fonts do
game:GetService("TextService"):GetTextBoundsAsync(create("GetTextBoundsParams", {
Text = "Hi",
Size = 12,
Font = v,
Width = huge
}, nil, true));
end
end
do
local drawingDirectory = create("ScreenGui", {
DisplayOrder = 15,
IgnoreGuiInset = true,
Name = "drawingDirectory",
Parent = gethui(),
ZIndexBehavior = Enum.ZIndexBehavior.Sibling
});
local itemCounter = 0;
local cache = {};
function line.new()
itemCounter = itemCounter + 1;
local id = itemCounter;
cache[id] = newLine;
return newLine;
end
function line:__index(k)
local prop = self._properties[k];
if prop ~= nil then
return prop;
end
return line[k];
end
function line:__newindex(k, v)
if self.__OBJECT_EXISTS == true then
local props = self._properties;
props[k] = v;
if k == "Color" then
self._frame.BackgroundColor3 = v;
elseif k == "From" then
self:_updatePosition();
elseif k == "Thickness" then
self._frame.Size =
_udim2fromoffset(self._frame.AbsoluteSize.X, _mathmax(v, 1));
elseif k == "To" then
self:_updatePosition();
elseif k == "Transparency" then
self._frame.BackgroundTransparency = _mathclamp(1 -
v, 0, 1);
elseif k == "Visible" then
self._frame.Visible = v;
elseif k == "ZIndex" then
self._frame.ZIndex = v;
end
end
end
function line:__iter()
return next, self._properties;
end
function line:__tostring()
return "Drawing";
end
function line:Destroy()
cache[self._id] = nil;
self.__OBJECT_EXISTS = false;
_eventfire(runfunction, _destroy, self._frame.instance);
-- _destroy(self._frame);
end
function line:_updatePosition()
local props = self._properties;
updatePosition(self._frame, props.From, props.To,
props.Thickness);
end
line.Remove = line.Destroy;
classes.Line = line;
end
-- circle class
do
local circle = {};
function circle.new()
itemCounter = itemCounter + 1;
local id = itemCounter;
cache[id] = newCircle;
return newCircle;
end
function circle:__index(k)
local prop = self._properties[k];
if prop ~= nil then
return prop;
end
return circle[k];
end
function circle:__newindex(k, v)
if self.__OBJECT_EXISTS == true then
local props = self._properties;
if props[k] == nil or props[k] == v or typeof(props[k]) ~=
typeof(v) then
return;
end
props[k] = v;
if k == "Color" then
self._frame.BackgroundColor3 = v;
self._frame._stroke.Color = v;
elseif k == "Filled" then
self._frame.BackgroundTransparency = v and 1 -
props.Transparency or 1;
elseif k == "Position" then
self._frame.Position = _udim2fromoffset(v.X, v.Y);
elseif k == "Radius" then
self:_updateRadius();
elseif k == "Thickness" then
self._frame._stroke.Thickness = _mathmax(v, 1);
self:_updateRadius();
elseif k == "Transparency" then
self._frame._stroke.Transparency = 1 - v;
if props.Filled then
self._frame.BackgroundTransparency = 1 - v;
end
elseif k == "Visible" then
self._frame.Visible = v;
elseif k == "ZIndex" then
self._frame.ZIndex = v;
end
end
end
function circle:__iter()
return next, self._properties;
end
function circle:__tostring()
return "Drawing";
end
function circle:Destroy()
cache[self._id] = nil;
self.__OBJECT_EXISTS = false;
_eventfire(runfunction, _destroy, self._frame.instance);
-- _destroy(self._frame);
end
function circle:_updateRadius()
local props = self._properties;
local diameter = (props.Radius * 2) - (props.Thickness * 2);
self._frame.Size = _udim2fromoffset(diameter, diameter);
end
circle.Remove = circle.Destroy;
classes.Circle = circle;
end
-- text class
do
local enumToFont = {
[drawing.Fonts.UI] =
Font.new("rbxasset://fonts/families/Arial.json", Enum.FontWeight.Regular,
Enum.FontStyle.Normal),
[drawing.Fonts.System] =
Font.new("rbxasset://fonts/families/HighwayGothic.json", Enum.FontWeight.Regular,
Enum.FontStyle.Normal),
[drawing.Fonts.Plex] =
Font.new("rbxasset://fonts/families/Roboto.json", Enum.FontWeight.Regular,
Enum.FontStyle.Normal),
[drawing.Fonts.Monospace] =
Font.new("rbxasset://fonts/families/Ubuntu.json", Enum.FontWeight.Regular,
Enum.FontStyle.Normal)
};
function text.new()
itemCounter = itemCounter + 1;
local id = itemCounter;
cache[id] = newText;
return newText;
end
function text:__index(k)
local prop = self._properties[k];
if prop ~= nil then
return prop;
end
return text[k];
end
function text:__newindex(k, v)
if self.__OBJECT_EXISTS == true then
local props = self._properties;
if k == "TextBounds" or props[k] == nil or props[k] == v or
typeof(props[k]) ~= typeof(v) then
return;
end
props[k] = v;
if k == "Center" then
self._frame.TextXAlignment = v and
Enum.TextXAlignment.Center or Enum.TextXAlignment.Left;
elseif k == "Color" then
self._frame.TextColor3 = v;
elseif k == "Font" then
self._frame.FontFace = enumToFont[v];
self:_updateTextBounds();
elseif k == "Outline" then
self._frame._stroke.Enabled = v;
elseif k == "OutlineColor" then
self._frame._stroke.Color = v;
elseif k == "Position" then
self._frame.Position = _udim2fromoffset(v.X, v.Y);
elseif k == "Size" then
self._frame.TextSize = v;
self:_updateTextBounds();
elseif k == "Text" then
self._frame.Text = v;
self:_updateTextBounds();
elseif k == "Transparency" then
self._frame.TextTransparency = 1 - v;
self._frame._stroke.Transparency = 1 - v;
elseif k == "Visible" then
self._frame.Visible = v;
elseif k == "ZIndex" then
self._frame.ZIndex = v;
end
end
end
function text:__iter()
return next, self._properties;
end
function text:__tostring()
return "Drawing";
end
function text:Destroy()
cache[self._id] = nil;
self.__OBJECT_EXISTS = false;
_eventfire(runfunction, _destroy, self._frame.instance);
-- _destroy(self._frame);
end
function text:_updateTextBounds()
local props = self._properties;
props.TextBounds = _gettextboundsasync(textService,
create("GetTextBoundsParams", {
Text = props.Text,
Size = props.Size,
Font = enumToFont[props.Font],
Width = huge
}).instance);
end
text.Remove = text.Destroy;
classes.Text = text;
end
-- square class
do
local square = {};
function square.new()
itemCounter = itemCounter + 1;
local id = itemCounter;
cache[id] = newSquare;
return newSquare;
end
function square:__index(k)
local prop = self._properties[k];
if prop ~= nil then
return prop;
end
return square[k];
end
function square:__newindex(k, v)
if self.__OBJECT_EXISTS == true then
local props = self._properties;
if props[k] == nil or props[k] == v or typeof(props[k]) ~=
typeof(v) then
return;
end
props[k] = v;
if k == "Color" then
self._frame.BackgroundColor3 = v;
self._frame._stroke.Color = v;
elseif k == "Filled" then
self._frame.BackgroundTransparency = v and 1 -
props.Transparency or 1;
elseif k == "Position" then
self:_updateScale();
elseif k == "Size" then
self:_updateScale();
elseif k == "Thickness" then
self._frame._stroke.Thickness = v;
self:_updateScale();
elseif k == "Transparency" then
self._frame._stroke.Transparency = 1 - v;
if props.Filled then
self._frame.BackgroundTransparency = 1 - v;
end
elseif k == "Visible" then
self._frame.Visible = v;
elseif k == "ZIndex" then
self._frame.ZIndex = v;
end
end
end
function square:__iter()
return next, self._properties;
end
function square:__tostring()
return "Drawing";
end
function square:Destroy()
cache[self._id] = nil;
self.__OBJECT_EXISTS = false;
_eventfire(runfunction, _destroy, self._frame.instance);
-- _destroy(self._frame);
end
function square:_updateScale()
local props = self._properties;
self._frame.Position = _udim2fromoffset(props.Position.X +
props.Thickness, props.Position.Y + props.Thickness);
self._frame.Size = _udim2fromoffset(props.Size.X -
props.Thickness * 2, props.Size.Y - props.Thickness * 2);
end
square.Remove = square.Destroy;
classes.Square = square;
end
-- image class
do
local image = {};
function image.new()
itemCounter = itemCounter + 1;
local id = itemCounter;
cache[id] = newImage;
return newImage;
end
function image:__index(k)
_assert(k ~= "Data", _stringformat("Attempt to read writeonly
property '%s'", k));
if k == "Loaded" then
return self._frame.IsLoaded;
end
local prop = self._properties[k];
if prop ~= nil then
return prop;
end
return image[k];
end
function image:__newindex(k, v)
if self.__OBJECT_EXISTS == true then
local props = self._properties;
if props[k] == nil or props[k] == v or typeof(props[k]) ~=
typeof(v) then
return;
end
props[k] = v;
if k == "Color" then
self._frame.ImageColor3 = v;
elseif k == "Data" then
self:_newImage(v);
elseif k == "Position" then
self._frame.Position = _udim2fromoffset(v.X, v.Y);
elseif k == "Rounding" then
self._frame._corner.CornerRadius = _udimnew(0, v);
elseif k == "Size" then
self._frame.Size = _udim2fromoffset(v.X, v.Y);
elseif k == "Transparency" then
self._frame.ImageTransparency = 1 - v;
elseif k == "Uri" then
self:_newImage(v, true);
elseif k == "Visible" then
self._frame.Visible = v;
elseif k == "ZIndex" then
self._frame.ZIndex = v;
end
end
end
function image:__iter()
return next, self._properties;
end
function image:__tostring()
return "Drawing";
end
function image:Destroy()
cache[self._id] = nil;
self.__OBJECT_EXISTS = false;
_eventfire(runfunction, _destroy, self._frame.instance);
-- _destroy(self._frame);
end
image.Remove = image.Destroy;
classes.Image = image;
end
-- triangle class
do
local triangle = {};
function triangle.new()
itemCounter = itemCounter + 1;
local id = itemCounter;
cache[id] = newTriangle;
return newTriangle;
end
function triangle:__index(k)
local prop = self._properties[k];
if prop ~= nil then
return prop;
end
return triangle[k];
end
function triangle:__newindex(k, v)
if self.__OBJECT_EXISTS == true then
local props, frame = self._properties, self._frame;
if props[k] == nil or props[k] == v or typeof(props[k]) ~=
typeof(v) then
return;
end
props[k] = v;
if k == "Color" then
frame._line1.BackgroundColor3 = v;
frame._line2.BackgroundColor3 = v;
frame._line3.BackgroundColor3 = v;
elseif k == "Filled" then
-- TODO
elseif k == "PointA" then
self:_updateVertices({
{ frame._line1, props.PointA, props.PointB },
{ frame._line3, props.PointC, props.PointA }
});
if props.Filled then
self:_calculateFill();
end
elseif k == "PointB" then
self:_updateVertices({
{ frame._line1, props.PointA, props.PointB },
{ frame._line2, props.PointB, props.PointC }
});
if props.Filled then
self:_calculateFill();
end
elseif k == "PointC" then
self:_updateVertices({
{ frame._line2, props.PointB, props.PointC },
{ frame._line3, props.PointC, props.PointA }
});
if props.Filled then
self:_calculateFill();
end
elseif k == "Thickness" then
local thickness = _mathmax(v, 1);
frame._line1.Size =
_udim2fromoffset(frame._line1.AbsoluteSize.X, thickness);
frame._line2.Size =
_udim2fromoffset(frame._line2.AbsoluteSize.X, thickness);
frame._line3.Size =
_udim2fromoffset(frame._line3.AbsoluteSize.X, thickness);
elseif k == "Transparency" then
frame._line1.BackgroundTransparency = 1 - v;
frame._line2.BackgroundTransparency = 1 - v;
frame._line3.BackgroundTransparency = 1 - v;
elseif k == "Visible" then
self._frame.Visible = v;
elseif k == "ZIndex" then
self._frame.ZIndex = v;
end
end
end
function triangle:__iter()
return next, self._properties;
end
function triangle:__tostring()
return "Drawing";
end
function triangle:Destroy()
cache[self._id] = nil;
self.__OBJECT_EXISTS = false;
_eventfire(runfunction, _destroy, self._frame.instance);
-- _destroy(self._frame);
end
function triangle:_updateVertices(vertices)
local thickness = self._properties.Thickness;
for i, v in vertices do
updatePosition(v[1], v[2], v[3], thickness);
end
end
function triangle:_calculateFill()
end
triangle.Remove = triangle.Destroy;
classes.Triangle = triangle;
end
-- quad class
do
local quad = {};
function quad.new()
itemCounter = itemCounter + 1;
local id = itemCounter;
function quad:__index(k)
local prop = self._properties[k];
if prop ~= nil then
return prop;
end
return quad[k];
end
function quad:__newindex(k, v)
if self.__OBJECT_EXISTS == true then
local props, frame = self._properties, self._frame;
if props[k] == nil or props[k] == v or typeof(props[k]) ~=
typeof(v) then
return;
end
props[k] = v;
if k == "Color" then
frame._line1.BackgroundColor3 = v;
frame._line2.BackgroundColor3 = v;
frame._line3.BackgroundColor3 = v;
frame._line4.BackgroundColor3 = v;
elseif k == "Filled" then
-- TODO
elseif k == "PointA" then
self:_updateVertices({
{ frame._line1, props.PointA, props.PointB },
{ frame._line4, props.PointD, props.PointA }
});
if props.Filled then
self:_calculateFill();
end
elseif k == "PointB" then
self:_updateVertices({
{ frame._line1, props.PointA, props.PointB },
{ frame._line2, props.PointB, props.PointC }
});
if props.Filled then
self:_calculateFill();
end
elseif k == "PointC" then
self:_updateVertices({
{ frame._line2, props.PointB, props.PointC },
{ frame._line3, props.PointC, props.PointD }
});
if props.Filled then
self:_calculateFill();
end
elseif k == "PointD" then
self:_updateVertices({
{ frame._line3, props.PointC, props.PointD },
{ frame._line4, props.PointD, props.PointA }
});
if props.Filled then
self:_calculateFill();
end
elseif k == "Thickness" then
local thickness = _mathmax(v, 1);
frame._line1.Size =
_udim2fromoffset(frame._line1.AbsoluteSize.X, thickness);
frame._line2.Size =
_udim2fromoffset(frame._line2.AbsoluteSize.X, thickness);
frame._line3.Size =
_udim2fromoffset(frame._line3.AbsoluteSize.X, thickness);
frame._line4.Size =
_udim2fromoffset(frame._line3.AbsoluteSize.X, thickness);
elseif k == "Transparency" then
frame._line1.BackgroundTransparency = 1 - v;
frame._line2.BackgroundTransparency = 1 - v;
frame._line3.BackgroundTransparency = 1 - v;
frame._line4.BackgroundTransparency = 1 - v;
elseif k == "Visible" then
self._frame.Visible = v;
elseif k == "ZIndex" then
self._frame.ZIndex = v;
end
end
end
function quad:__iter()
return next, self._properties;
end
function quad:__tostring()
return "Drawing";
end
function quad:Destroy()
cache[self._id] = nil;
self.__OBJECT_EXISTS = false;
_eventfire(runfunction, _destroy, self._frame.instance);
-- _destroy(self._frame);
end
function quad:_updateVertices(vertices)
local thickness = self._properties.Thickness;
for i, v in vertices do
updatePosition(v[1], v[2], v[3], thickness);
end
end
function quad:_calculateFill()
end
quad.Remove = quad.Destroy;
classes.Quad = quad;
end
drawing.new = newcclosure(function(x)
return _assert(classes[x], _stringformat("Invalid drawing type '%s'",
x)).new();
end);
drawing.clear = newcclosure(function()
for i, v in cache do
if v.__OBJECT_EXISTS then
v:Destroy();
end
end
end);
drawing.cache = cache;
end
setreadonly(drawing, true);
setreadonly(drawing.Fonts, true);
genv.Drawing = drawing;
genv.cleardrawcache = drawing.clear;
end)();
--
local Camera = game:GetService("Workspace").Camera
local lighting = game:GetService("Lighting")
local OsClock = os.clock()
local RunService = game:GetService("RunService")
--
if not LPH_OBFUSCATED then
LPH_JIT = function(...) return ... end
LPH_JIT_MAX = function(...) return ... end
LPH_JIT_ULTRA = function(...) return ... end
LPH_NO_VIRTUALIZE = function(...) return ... end
LPH_ENCSTR = function(...) return ... end
LPH_STRENC = function(...) return ... end
LPH_HOOK_FIX = function(...) return ... end
LPH_CRASH = function() return print(debug.traceback()) end
end;
--
getgenv().Novat = {
};
local Nova = getgenv().Novat
local char = {};
--
do -- Enviorment Setup
local SetupEnviorment = function(Table)
local Environment = getfenv(2);
for Index, Value in pairs(Table) do
Environment[Index] = Value;
end;
--
return Environment;
end;
--
SetupEnviorment({
ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage"));
UserInputService = cloneref(game:GetService("UserInputService"));
TeleportService = cloneref(game:GetService("TeleportService"));
HttpService = cloneref(game:GetService("HttpService"));
RunService = cloneref(game:GetService("RunService"));
Workspace = cloneref(game:GetService("Workspace"));
Lighting = cloneref(game:GetService("Lighting"));
CoreGui = cloneref(game:GetService("CoreGui"));
Players = cloneref(game:GetService("Players"));
Stats = cloneref(game:GetService("Stats"));
ContentProvider = cloneref(game:GetService("ContentProvider"));
TweenService = cloneref(game:GetService("TweenService"));
VirtualInputManager = cloneref(game:GetService("VirtualInputManager"));
LogService = cloneref(game:GetService("LogService"));
Camera =
cloneref(game:GetService("Workspace")).CurrentCamera;
})
end
--
Nova.modules =
{Classes={};Character={};PlayerClient={};Camera={};FPS={};Recoil={}};
Nova.playerlist = {};
--
do --// Set Modules
for _, v in pairs(getgc(true)) do
if typeof(v) == "function" and islclosure(v) then
local info = debug.getinfo(v)
local scriptName = string.match(info.short_src, "%.([%w_]+)$")
if scriptName and Nova.modules[scriptName] and info.name then
Nova.modules[scriptName][info.name] = info.func
end
elseif typeof(v) == "table" and rawget(v, "EntityGhosts") and
v.M4A1.ProjectileDrop then
Nova.modules.Classes = v
end
end
end
--
Nova.playerlist = debug.getupvalue(Nova.modules.PlayerClient.updatePlayers, 1)
repeat wait(0.1) until Nova.playerlist ~= nil
--
do
local Library = (function()
repeat
task.wait()
until game:IsLoaded()
-- Menu/UI Creation
if not isfile("Fatality.gg") then
makefolder("Fatality.gg")
end
--vars
local CloneCore = cloneref(game.CoreGui)
local CloneScreenGui = cloneref(Instance.new("ScreenGui"))
local RunService = game:GetService("RunService")
local Mouse = game:GetService("Players").LocalPlayer:GetMouse()
local InputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local HttpService = cloneref(game:GetService("HttpService"))
--// LPH
if not LPH_OBFUSCATED then
LPH_JIT = function(...) return ... end
LPH_JIT_MAX = function(...) return ... end
LPH_JIT_ULTRA = function(...) return ... end
LPH_NO_VIRTUALIZE = function(...) return ... end
LPH_NO_UPVALUES = function(f) return(function(...) return f(...) end) end
LPH_ENCSTR = function(...) return ... end
LPH_STRENC = function(...) return ... end
LPH_HOOK_FIX = function(...) return ... end
LPH_CRASH = function() return print(debug.traceback()) end
end
-- custom fonts
local Fonts = {}
function Fonts:Register_Font(Name, Weight, Style, Asset)
if not isfile(Asset.Id) then
writefile(Asset.Id, Asset.Font)
end
if isfile(Name .. ".font") then
delfile(Name .. ".font")
end
local Data = {
name = Name,
faces = {
{
name = "Regular",
weight = Weight,
style = Style,
assetId = getcustomasset(Asset.Id),
},
},
}
writefile(Name .. ".font", HttpService:JSONEncode(Data))
return getcustomasset(Name .. ".font");
end
--keybinds
local Keybinds = CloneScreenGui
local Background = Instance.new("Frame", Keybinds)
local Gradient = Instance.new("Frame", Background)
local KeybindGradient = Instance.new("UIGradient", Gradient)
local Tab = Instance.new("Frame", Background)
local Name = Instance.new("TextLabel", Background)
local Element = Instance.new("Frame", Background)
local UIListLayout = Instance.new("UIListLayout", Tab)
local Name_2 = Instance.new("TextLabel", Tab)
Keybinds.Name = "Keybinds"
Keybinds.Parent = CloneCore
Keybinds.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Keybinds.ResetOnSpawn = false
Background.Name = "Background"
Background.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
Background.BorderColor3 = Color3.fromRGB(25, 25, 25)
Background.Position = UDim2.new(0.01, 0, 0.488, 0)
Background.Size = UDim2.new(0, 180, 0, 24)
Background.Visible = false
Gradient.Name = "Gradient"
Gradient.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Gradient.BorderColor3 = Color3.fromRGB(0, 0, 0)
Gradient.BorderSizePixel = 0
Gradient.Position = UDim2.new(0, 0, 0, 1)
Gradient.Size = UDim2.new(0, 180, 0, 1)
KeybindGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00,
Color3.fromRGB(0, 0, 0)), ColorSequenceKeypoint.new(0.50, Color3.fromRGB(61, 255,
200)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(0, 0, 0))}
Name.Name = "Name"
Name.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Name.BackgroundTransparency = 1.000
Name.BorderColor3 = Color3.fromRGB(0, 0, 0)
Name.BorderSizePixel = 0
Name.Size = UDim2.new(0, 175, 0, 28)
Name.FontFace = Fonts.ProggyTiny
Name.Text = "[<font color=\"rgb(61, 255, 200)\">Keybinds</font>]"
Name.TextColor3 = Color3.fromRGB(255, 255, 255)
Name.TextSize = 9
Name.RichText = true
Name.BorderSizePixel = 1
Element.Name = "Element"
Element.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
Element.BorderColor3 = Color3.fromRGB(0, 0, 0)
Element.BorderSizePixel = 0
Element.Position = UDim2.new(0, 0, 1, 0)
Element.Size = UDim2.new(0, 140, 0, 1)
Tab.Name = "Tab"
Tab.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
Tab.BackgroundTransparency = 0
Tab.BorderSizePixel = 1
Tab.BorderMode = "Inset"
Tab.BorderColor3 = Color3.fromRGB(25, 25, 25)
Tab.Position = UDim2.new(-0.007, 0, 1.833, 0)
Tab.Size = UDim2.new(1.01199996, 0, 0, -20)
UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
Name_2.Name = "Name"
Name_2.AnchorPoint = Vector2.new(0.5, 0.5)
Name_2.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
Name_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
Name_2.BorderSizePixel = 0
Name_2.Position = UDim2.new(0.5, 0, -1.85000002, 0)
Name_2.Size = UDim2.new(1, 0, 1, 0)
Name_2.FontFace = Fonts.ProggyTiny
Name_2.Text = "Silent Aim: <font color=\"rgb(61, 255, 200)\">[MB1]</font>"
Name_2.TextColor3 = Color3.fromRGB(125, 125, 125)
Name_2.TextSize = 9
Name_2.BorderSizePixel = 1
Name_2.RichText = true
Name_2.Visible = false
local dragging
local dragInput
local dragStart
local startPos
Background.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = Background.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
Background.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
Background.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset +
delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
WatermarkGui.Parent = CloneCore
WatermarkGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
WatermarkFrame.Parent = WatermarkGui
WatermarkFrame.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
WatermarkFrame.BorderColor3 = Color3.fromRGB(61, 255, 200)
WatermarkFrame.BorderSizePixel = 2
WatermarkFrame.Position = UDim2.new(0.0452012382, 33, 0.0223325081, -48)
WatermarkFrame.Size = UDim2.new(0, 200, 0, 20)
WatermarkFrame.Visible = false
WaterMarkLabel.Parent = WatermarkFrame
WaterMarkLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
WaterMarkLabel.BackgroundTransparency = 1.000
WaterMarkLabel.BorderColor3 = Color3.fromRGB(0, 0, 0)
WaterMarkLabel.BorderSizePixel = 0
WaterMarkLabel.Position = UDim2.new(0, 0, 0, 0)
WaterMarkLabel.FontFace = Fonts.ProggyTiny
WaterMarkLabel.RichText = true
WaterMarkLabel.Text = "Build: Private"
WaterMarkLabel.TextColor3 = Color3.fromRGB(152, 152, 152)
WaterMarkLabel.TextSize = 9
WaterMarkLabel.TextWrapped = false
WaterMarkLabel:GetPropertyChangedSignal("TextBounds"):Connect(function()
local textSize = WaterMarkLabel.TextBounds
local width = textSize.X + 10
WatermarkFrame.Size = UDim2.new(0, width, 0, 20)
WaterMarkLabel.Size = UDim2.new(1, 0, 1, 0)
end)
WatermarkStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Contextual
WatermarkStroke.Color = Color3.fromRGB(71, 71, 71)
WatermarkStroke.Thickness = 1
WatermarkStroke.Parent = WatermarkFrame
WatermarkGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00,
Color3.fromRGB(11, 11, 11)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(230,
230, 230))}
WatermarkGradient.Rotation = 180
WatermarkGradient.Parent = WatermarkFrame
function Watermark:SetVisible(Visible)
WatermarkFrame.Visible = Visible
end
function Watermark:Color(Color)
WatermarkGradient.Color = ColorSequence.new{
ColorSequenceKeypoint.new(0.00, Color3.fromRGB(11, 11, 11)),
ColorSequenceKeypoint.new(1.00, Color)
}
end
local dragging
local dragInput
local dragStart
local startPos
WatermarkFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = WatermarkFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
WatermarkFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
WatermarkFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset +
delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
task.spawn(function()
while task.wait() do
rotateGradient()
local time = os.date("%X", os.time())
local ping = string.format('%.0f',
game.Stats.Network.ServerStatsItem["Data Ping"]:GetValue())
local uid = "1"
local fpsValue =
string.split(game.Stats.Workspace.Heartbeat:GetValueString(), ".")[1]
WaterMarkLabel.Text = 'Fatality.gg<font color="rgb(74, 74, 74)"></font> -
uid: <font color="rgb(74, 74, 74)">' .. uid .. '</font> / fps: <font color="rgb(61,
255, 200)">' .. fpsValue .. '</font> / ping: <font color="rgb(61, 255, 200)">' ..
ping .. '</font> / time: <font color="rgb(61, 255, 200)">' .. time .. '</font>'
end
end)
return Watermark
end
local library = {
Title = 'Fatality.gg<font color="rgb(74, 74, 74)"></font> | Private',
keybind = Enum.KeyCode.RightBracket,
Watermark = createWatermark(),
Colors = {
libColor = Color3.fromRGB(61, 255, 200),
riskyColor = Color3.fromRGB(255, 0, 0),
FontColor = Color3.fromRGB(255, 255, 255),
MainColor = Color3.fromRGB(14, 14, 14),
AccentColor = Color3.fromRGB(61, 255, 200),
OutlineColor = Color3.fromRGB(15, 15, 15),
},
Enabled = true,
colorpicking = false,
scrolling = true,
multiZindex = 200,
blacklisted = {
Enum.KeyCode.W,
Enum.KeyCode.A,
Enum.KeyCode.S,
Enum.KeyCode.D,
Enum.UserInputType.MouseMovement
},
tabbuttons = {},
tabs = {},
options = {},
flags = {},
toInvis = {},
Registry = {},
RegistryMap = {},
HudRegistry = {}
}
local keynames = {
[Enum.KeyCode.LeftAlt] = 'LALT',
[Enum.KeyCode.RightAlt] = 'RALT',
[Enum.KeyCode.LeftControl] = 'LCTRL',
[Enum.KeyCode.RightControl] = 'RCTRL',
[Enum.KeyCode.LeftShift] = 'LSHIFT',
[Enum.KeyCode.RightShift] = 'RSHIFT',
[Enum.KeyCode.Underscore] = '_',
[Enum.KeyCode.Minus] = '-',
[Enum.KeyCode.Plus] = '+',
[Enum.KeyCode.Period] = '.',
[Enum.KeyCode.Slash] = '/',
[Enum.KeyCode.BackSlash] = '\\',
[Enum.KeyCode.Question] = '?',
[Enum.UserInputType.MouseButton1] = 'MB1',
[Enum.UserInputType.MouseButton2] = 'MB2',
[Enum.UserInputType.MouseButton3] = 'MB3'
}
menu.bg.Position = UDim2.new(0.5,-menu.bg.Size.X.Offset/2,0.5,-
menu.bg.Size.Y.Offset/2)
menu.Parent = CloneCore
menu.Name = "Fatality.gg_gui"
local ProtectGui = protectgui or (syn and syn.protect_gui) or (function() end)
local CloneScreenGui = cloneref(Instance.new("ScreenGui"))
ProtectGui(CloneScreenGui)
CloneScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global
CloneScreenGui.Parent = CloneCore
CloneScreenGui.Name = "Fatality.gg_gui"
coroutine.wrap(animateTextLabel)(TextLabel)
end
createUI()
function draggable(frame)
local userInputService = game:GetService("UserInputService")
local isDragging = false
local startPosition
local startOffset
local lastInput
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
isDragging = true
startPosition = input.Position
startOffset = frame.Position
lastInput = input
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
isDragging = false
end
end)
end
end)
frame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or
input.UserInputType == Enum.UserInputType.Touch then
lastInput = input
end
end)
userInputService.InputChanged:Connect(function(input)
if input == lastInput and isDragging then
onMouseInput(input)
end
end)
end
draggable(menu.bg)
InputService.MouseIconEnabled = false
local Cursor = Drawing.new('Triangle');Cursor.Thickness =
1;Cursor.Filled = true;Cursor.Visible = true;Cursor.ZIndex = math.huge;local
CursorOutline = Drawing.new('Triangle');CursorOutline.Thickness =
1;CursorOutline.Filled = false;CursorOutline.Color = Color3.new(61, 255,
200);CursorOutline.Visible = true;CursorOutline.ZIndex = math.huge
function cursorupdate()
local mPos = InputService:GetMouseLocation();
Cursor.Color = library.Colors.libColor;Cursor.PointA =
Vector2.new(mPos.X, mPos.Y);Cursor.PointB = Vector2.new(mPos.X + 16, mPos.Y +
6);Cursor.PointC = Vector2.new(mPos.X + 6, mPos.Y + 16) CursorOutline.PointA =
Cursor.PointA;CursorOutline.PointB = Cursor.PointB;CursorOutline.PointC =
Cursor.PointC;RunService.RenderStepped:Wait() end task.spawn(function() while true
do cursorupdate() end
end)
InputService.InputEnded:Connect(function(key)
if key.KeyCode == library.keybind then
menu.Enabled = not menu.Enabled;library.scrolling = false;
library.colorpicking = false;
Cursor.Visible = not Cursor.Visible;
InputService.MouseIconEnabled = not
InputService.MouseIconEnabled;
CursorOutline.Visible = not CursorOutline.Visible;
for i,v in next,
library.toInvis
do v.Visible = false
end
end
end)
LPH_NO_VIRTUALIZE(function()
function library:Tween(...) TweenService:Create(...):Play() end
function library:addTab(name,image)
local newTab = tabholder.tab:Clone()
local newButton = tabviewer.button:Clone()
table.insert(library.tabs,newTab)
newTab.Parent = tabholder
newTab.Visible = false
table.insert(library.tabbuttons,newButton)
newButton.Parent = tabviewer
newButton.Modal = true
newButton.Visible = true
newButton.Image = image
newButton.text.Text = name
newButton.MouseButton1Click:Connect(function()
for i,v in next, library.tabs do v.Visible = v == newTab
end
for i,v in next, library.toInvis do v.Visible = false end
for i,v in next, library.tabbuttons do
local state = v == newButton
local tweenInfo = TweenInfo.new(0.3,
Enum.EasingStyle.Linear, Enum.EasingDirection.InOut)
local imageTweenStart = TweenService:Create(v, tweenInfo,
{ImageColor3 = Color3.fromRGB(61, 255, 200)})
local textTweenStart = TweenService:Create(v.text,
tweenInfo, {TextColor3 = Color3.fromRGB(61, 255, 200)})
local imageTweenEnd = TweenService:Create(v, tweenInfo,
{ImageColor3 = Color3.fromRGB(25,25,25)})
local textTweenEnd = TweenService:Create(v.text, tweenInfo,
{TextColor3 = Color3.fromRGB(125, 125, 125)})
if state then
imageTweenStart:Play()
textTweenStart:Play()
else
imageTweenEnd:Play()
textTweenEnd:Play()
end
end
end)
local tab = {}
local groupCount = 0
local jigCount = 0
local topStuff = 2000
function tab:createGroup(pos,groupname)
local groupbox = Instance.new("Frame")
local grouper = Instance.new("Frame")
local UIListLayout = Instance.new("UIListLayout")
local UIPadding = Instance.new("UIPadding")
local element = Instance.new("Frame")
local element2 = Instance.new("UIGradient")
local title = Instance.new("TextLabel")
groupCount = 1
groupbox.Parent = newTab[pos]
groupbox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
groupbox.BorderColor3 = Color3.fromRGB(0, 0, 0)
groupbox.BorderSizePixel = 0
groupbox.Size = UDim2.new(0, 211, 0, 8)
groupbox.ZIndex = groupCount
grouper.Parent = groupbox
grouper.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
grouper.BorderColor3 = Color3.fromRGB(0, 0, 0)
grouper.Size = UDim2.new(1, 0, 1, 0)
UIListLayout.Parent = grouper
UIListLayout.HorizontalAlignment =
Enum.HorizontalAlignment.Center
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIPadding.Parent = grouper
UIPadding.PaddingBottom = UDim.new(0, 4)
UIPadding.PaddingTop = UDim.new(0, 7)
element.Name = "element_frame"
element.Parent = groupbox
element.BackgroundColor3 = Color3.fromRGB(210, 210, 210)
element.BorderSizePixel = 0
element.Size = UDim2.new(1, 0, 0, 1)
element2.Name = "element1"
element2.Parent = element
element2.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0.00, Color3.fromRGB(0, 0,
0)),
ColorSequenceKeypoint.new(0.05,
library.Colors.libColor),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(0, 0,
0))
})
title.Parent = groupbox
title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
title.BackgroundTransparency = 1.000
title.BorderSizePixel = 0
title.Position = UDim2.new(0, 17, 0, 0)
title.ZIndex = 2
title.FontFace = Fonts.ProggyTiny
title.Text = groupname or ""
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextSize = 9
title.TextStrokeTransparency = 0.000
title.TextXAlignment = Enum.TextXAlignment.Left
local group = {}
function group:addToggle(args)
if not args.flag and args.text then args.flag =
args.text end
if not args.flag then return warn("⚠️ incorrect
arguments ⚠️ - missing args on recent toggle") end
function riskyCfg(state)
args.risky = state
end
groupbox.Size += UDim2.new(0, 0, 0, 20)
jigCount -= 1
library.multiZindex -= 1
toggleframe.Name = "toggleframe"
toggleframe.Parent = grouper
toggleframe.BackgroundColor3 = Color3.fromRGB(50, 50,
50)
toggleframe.BackgroundTransparency = 1.000
toggleframe.BorderSizePixel = 0
toggleframe.Size = UDim2.new(1, 0, 0, 20)
toggleframe.ZIndex = library.multiZindex
tobble.Name = "tobble"
tobble.Parent = toggleframe
tobble.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
tobble.BorderColor3 = Color3.fromRGB(0, 0, 0)
tobble.BorderSizePixel = 3
tobble.Position = UDim2.new(0.0209999000, 0,
0.242000015, 0)
tobble.Size = UDim2.new(0, 11, 0, 11)
mid.Name = "mid"
mid.Parent = tobble
mid.BackgroundColor3 = Color3.fromRGB(69, 23, 255)
mid.BorderColor3 = Color3.fromRGB(25,25,25)
mid.BorderSizePixel = 2
mid.Size = UDim2.new(0, 12, 0, 12)
front.Name = "front"
front.Parent = mid
front.BackgroundColor3 = Color3.fromRGB(21,21,21)
front.BorderColor3 = Color3.fromRGB(25, 25, 25)
front.Size = UDim2.new(0, 12, 0, 12)
text.Name = "text"
text.Parent = toggleframe
text.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
text.BackgroundTransparency = 1.000
text.Position = UDim2.new(0, 22, 0, 0)
text.Size = UDim2.new(0, 0, 1, 2)
text.FontFace = Fonts.ProggyTiny
text.Text = args.text or args.flag
text.TextColor3 = Color3.fromRGB(155, 155, 155)
text.TextSize = 9
text.TextStrokeTransparency = 0.000
text.TextXAlignment = Enum.TextXAlignment.Left
button.Name = "button"
button.Parent = toggleframe
button.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
button.BackgroundTransparency = 1.000
button.BorderSizePixel = 0
button.Size = UDim2.new(0, 101, 1, 0)
button.FontFace = Fonts.ProggyTiny
button.Text = ""
button.TextColor3 = Color3.fromRGB(0, 0, 0)
button.TextSize = 9
function toggle(newState)
state = newState
library.flags[args.flag] = state
front.BackgroundColor3 = state and
library.Colors.libColor or Color3.fromRGB(25, 25, 25)
--library:Tween(front, TweenInfo.new(0.35,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundColor3 = state and
library.libColor or Color3.fromRGB(25, 25, 25)})
if args.risky then text.TextColor3 = state and
Color3.fromRGB(255, 0, 0) or Color3.fromRGB(139, 0, 0) else text.TextColor3 = state
and Color3.fromRGB(244, 244, 244) or Color3.fromRGB(144, 144, 144) end
if args.callback then args.callback(state) end
end
button.MouseButton1Click:Connect(function()
state = not state
front.Name = state and "accent" or "back"
library.flags[args.flag] = state
mid.BorderColor3 = Color3.fromRGB(25,25,25)
front.BackgroundColor3 = state and
library.Colors.libColor or Color3.fromRGB(25, 25, 25)
--library:Tween(front, TweenInfo.new(0.35,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundColor3 = state and
library.libColor or Color3.fromRGB(25, 25, 25)})
if args.risky then text.TextColor3 = state and
Color3.fromRGB(255, 0, 0) or Color3.fromRGB(139, 0, 0) else text.TextColor3 = state
and Color3.fromRGB(244, 244, 244) or Color3.fromRGB(144, 144, 144) end
if args.callback then args.callback(state) end
end)
button.MouseEnter:Connect(function()
library:Tween(mid, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BorderColor3 =
library.Colors.libColor})
end)
button.MouseLeave:Connect(function()
library:Tween(mid, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3 =
Color3.fromRGB(25,25,25)})
end)
library.flags[args.flag] = false
library.options[args.flag] = {text = "",type =
"toggle",gui = args.gui,changeState = toggle,skipflag = args.skipflag,oldargs =
args,toggle = state,risky = args.risky or false,riskcfg = riskyCfg}
local toggle = {}
function toggle:addKeybind(args)
if not args.flag then return warn("⚠️ incorrect
arguments ⚠️ - missing args on toggle:keybind") end
local next = false
local keybind = Instance.new("Frame")
local button = Instance.new("TextButton")
local Name = Instance.new("TextLabel")
Name.Name = "Name"
Name.Parent = Tab
Name.AnchorPoint = Vector2.new(0.5, 0.5)
Name.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
Name.BorderColor3 = Color3.fromRGB(25, 25, 25)
Name.BorderSizePixel = 1
Name.Position = UDim2.new(0.5, 0, -1.85000002, 0)
Name.Size = UDim2.new(1, 0, 1, 0)
Name.FontFace = Fonts.ProggyTiny
Name.TextColor3 = Color3.fromRGB(125, 125, 125)
Name.TextSize = 9
Name.RichText = true
Name.Visible = false
keybind.Parent = toggleframe
keybind.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
keybind.BackgroundTransparency = 0
keybind.BorderColor3 = Color3.fromRGB(0, 0, 0)
keybind.BackgroundColor3 = Color3.fromRGB(10, 10,
10)
keybind.BorderColor3 = Color3.fromRGB(20, 20, 20)
keybind.BorderSizePixel = 1
keybind.Visible = true
keybind.Position = UDim2.new(0.82, 4, 0.15, 0)
keybind.Size = UDim2.new(0, 30, 0, 13)
button.Parent = keybind
button.BackgroundColor3 = Color3.fromRGB(11, 11,
11)
button.BackgroundTransparency = 1
button.BorderSizePixel = 1
button.Position = UDim2.new(0.1, 0, 0, 2)
button.Size = UDim2.new(0.9, 0, 1, 0)
button.FontFace = Fonts.ProggyTiny
button.Text = ""
button.TextColor3 = Color3.fromRGB(155, 155, 155)
button.TextSize = 9
button.TextStrokeTransparency = 0.000
button.TextXAlignment = Enum.TextXAlignment.Center
button.MouseButton1Click:Connect(function()
if library.colorpicking then return end
library.flags[args.flag] = Enum.KeyCode.Unknown
button.Text = "--"
button.TextColor3 = library.Colors.libColor
next = true
end)
library.flags[args.flag] = Enum.KeyCode.Unknown
library.options[args.flag] = {type =
"keybind",changeState = updateValue,skipflag = args.skipflag,oldargs = args}
updateValue(args.key or Enum.KeyCode.Unknown)
end
function toggle:addColorpicker(args)
if not args.flag and args.text then args.flag =
args.text end
if not args.flag then return warn("⚠️ incorrect
arguments ⚠️") end
local colorpicker = Instance.new("Frame")
local mid = Instance.new("Frame")
local front = Instance.new("Frame")
local button2 = Instance.new("TextButton")
local colorFrame = Instance.new("Frame")
local colorFrame_2 = Instance.new("Frame")
local hueframe = Instance.new("Frame")
local main = Instance.new("Frame")
local hue = Instance.new("ImageLabel")
local pickerframe = Instance.new("Frame")
local main_2 = Instance.new("Frame")
local picker = Instance.new("ImageLabel")
local clr = Instance.new("Frame")
local copy = Instance.new("TextButton")
local CurrentColorFrame = Instance.new("Frame")
local CurrentColorFrame_Text =
Instance.new("TextLabel")
library.multiZindex -= 1
jigCount -= 1
topStuff -= 1
colorpicker.Parent = toggleframe
colorpicker.BackgroundColor3 = Color3.fromRGB(255,
255, 255)
colorpicker.BorderColor3 = Color3.fromRGB(0, 0, 0)
colorpicker.BorderSizePixel = 3
colorpicker.Position = args.second and
UDim2.new(0.720000029, 4, 0.272000015, 0) or UDim2.new(0.860000014, 4, 0.272000015,
0)
colorpicker.Size = UDim2.new(0, 20, 0, 10)
mid.Name = "mid"
mid.Parent = colorpicker
mid.BackgroundColor3 = Color3.fromRGB(69, 23, 255)
mid.BorderColor3 = Color3.fromRGB(25,25,25)
mid.BorderSizePixel = 2
mid.Size = UDim2.new(1, 0, 1, 0)
front.Name = "front"
front.Name = "dontchange"
front.Parent = mid
front.BackgroundColor3 = library.Colors.libColor
front.BorderColor3 = Color3.fromRGB(0, 0, 0)
front.Size = UDim2.new(1, 0, 1, 0)
local ColorPickerGradient =
Instance.new("UIGradient", front)
ColorPickerGradient.Name = "dontchange"
ColorPickerGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(75, 75, 75)),
ColorSequenceKeypoint.new(0.320, Color3.fromRGB(100, 100, 100)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 255, 255))}
ColorPickerGradient.Rotation = 270
button2.Name = "button2"
button2.Parent = front
button2.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
button2.BackgroundTransparency = 1.000
button2.Size = UDim2.new(1, 0, 1, 0)
button2.Text = ""
button2.FontFace = Fonts.ProggyTiny
button2.TextColor3 = Color3.fromRGB(0, 0, 0)
button2.TextSize = 9
colorFrame.Name = "colorFrame"
colorFrame.Parent = toggleframe
colorFrame.BackgroundColor3 =
Color3.fromRGB(15,15,15)
colorFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
colorFrame.BorderSizePixel = 2
colorFrame.Position = UDim2.new(0.101092957, 0,
0.75, 0)
colorFrame.Size = UDim2.new(0, 187, 0, 178)
colorFrame_2.Name = "colorFrame"
colorFrame_2.Parent = colorFrame
colorFrame_2.BackgroundColor3 =
Color3.fromRGB(15,15,15)
colorFrame_2.BorderColor3 = Color3.fromRGB(30, 30,
30)
colorFrame_2.Size = UDim2.new(1, 0, 1, 0)
hueframe.Name = "hueframe"
hueframe.Parent = colorFrame_2
hueframe.BackgroundColor3 =
Color3.fromRGB(15,15,15)
hueframe.BorderColor3 = Color3.fromRGB(30, 30, 30)
hueframe.BorderSizePixel = 2
hueframe.Position = UDim2.new(-0.0830000022, 18, -
0.0559999987, 13)
hueframe.Size = UDim2.new(0.25, 110, 0.25, 110)
main.Name = "main"
main.Parent = hueframe
main.BackgroundColor3 = Color3.fromRGB(15,15,15)
main.BorderColor3 = Color3.fromRGB(0, 0, 0)
main.Size = UDim2.new(1, 0, 1, 0)
main.ZIndex = 6
picker.Name = "picker"
picker.Parent = main
picker.BackgroundColor3 = Color3.fromRGB(232, 0,
255)
picker.BorderColor3 = Color3.fromRGB(0, 0, 0)
picker.BorderSizePixel = 0
picker.Size = UDim2.new(1, 0, 1, 0)
picker.ZIndex = 104
picker.Image = "rbxassetid://2615689005"
pickerframe.Name = "pickerframe"
pickerframe.Parent = colorFrame
pickerframe.BackgroundColor3 =
Color3.fromRGB(15,15,15)
pickerframe.BorderColor3 = Color3.fromRGB(30, 30,
30)
pickerframe.BorderSizePixel = 2
pickerframe.Position = UDim2.new(0.801000025, 14, -
0.0559999987, 13)
pickerframe.Size = UDim2.new(0, 20, 0.25, 110)
CurrentColorFrame.Name = "CurrentColorFrame"
CurrentColorFrame.Parent = colorFrame
CurrentColorFrame.BackgroundColor3 =
Color3.fromRGB(15,15,15)
CurrentColorFrame.BorderColor3 =
Color3.fromRGB(15,15,15)
CurrentColorFrame.BorderSizePixel = 2
CurrentColorFrame.Position = UDim2.new(0.98, 0,
0.915, 0)
CurrentColorFrame.Size = UDim2.new(-0.965, 0, 0,
12)
CurrentColorFrame_Text.Name =
"CurrentColorFrame_Text"
CurrentColorFrame_Text.Parent = CurrentColorFrame
CurrentColorFrame_Text.BackgroundColor3 =
Color3.fromRGB(15,15,15)
CurrentColorFrame_Text.BackgroundTransparency =
1.000
CurrentColorFrame_Text.BorderSizePixel = 0
CurrentColorFrame_Text.Size = UDim2.new(1, 0, 1, 0)
CurrentColorFrame_Text.FontFace = Fonts.ProggyTiny
CurrentColorFrame_Text.Text = args.text or
args.flag
CurrentColorFrame_Text.TextColor3 =
library.Colors.libColor
CurrentColorFrame_Text.TextSize = 9
CurrentColorFrame_Text.TextStrokeTransparency =
0.000
main_2.Name = "main"
main_2.Parent = pickerframe
main_2.BackgroundColor3 = Color3.fromRGB(15,15,15)
main_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
main_2.Size = UDim2.new(0, 20, 1, 0)
main_2.ZIndex = 6
hue.Name = "hue"
hue.Parent = main_2
hue.BackgroundColor3 = Color3.fromRGB(255, 0, 178)
hue.BorderColor3 = Color3.fromRGB(0, 0, 0)
hue.BorderSizePixel = 0
hue.Size = UDim2.new(0, 20, 1, 0)
hue.ZIndex = 104
hue.Image = "rbxassetid://2615692420"
clr.Name = "clr"
clr.Parent = colorFrame
clr.BackgroundColor3 = Color3.fromRGB(15,15,15)
clr.BackgroundTransparency = 1.000
clr.BorderColor3 = Color3.fromRGB(60, 60, 60)
clr.BorderSizePixel = 2
clr.Position = UDim2.new(0.0280000009, 0, 0, 2)
clr.Size = UDim2.new(0, 0, 0, 14)
clr.ZIndex = 5
copy.MouseButton1Click:Connect(function()
colorFrame.Visible = false
end)
button2.MouseButton1Click:Connect(function()
colorFrame.Visible = not colorFrame.Visible
mid.BorderColor3 = Color3.fromRGB(25,25,25)
end)
button2.MouseEnter:Connect(function()
library:Tween(mid, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BorderColor3 =
library.Colors.libColor})
end)
button2.MouseLeave:Connect(function()
library:Tween(mid, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3 =
Color3.fromRGB(25,25,25)})
end)
if args.callback then
args.callback(value)
end
end
local white, black = Color3.new(1,1,1),
Color3.new(0,0,0)
local colors =
{Color3.new(1,0,0),Color3.new(1,1,0),Color3.new(0,1,0),Color3.new(0,1,1),Color3.new
(0,0,1),Color3.new(1,0,1),Color3.new(1,0,0)}
local heartbeat = RunService.Heartbeat
local pickerX,pickerY,hueY = 0,0,0
local oldpercentX,oldpercentY = 0,0
hue.MouseEnter:Connect(function()
local input = hue.InputBegan:connect(function(key)
if key.UserInputType ==
Enum.UserInputType.MouseButton1 then
while heartbeat:wait() and
InputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
library.colorpicking = true
local percent = (hueY-hue.AbsolutePosition.Y-
36)/hue.AbsoluteSize.Y
local num = math.max(1,
math.min(7,math.floor(((percent*7+0.5)*100))/100))
local startC = colors[math.floor(num)]
local endC = colors[math.ceil(num)]
local color =
white:lerp(picker.BackgroundColor3, oldpercentX):lerp(black, oldpercentY)
picker.BackgroundColor3 = startC:lerp(endC,
num-math.floor(num)) or Color3.new(0, 0, 0)
updateValue(color)
end
library.colorpicking = false
end
end)
local leave
leave = hue.MouseLeave:connect(function()
input:disconnect()
leave:disconnect()
end)
end)
picker.MouseEnter:Connect(function()
local input =
picker.InputBegan:connect(function(key)
if key.UserInputType ==
Enum.UserInputType.MouseButton1 then
while heartbeat:wait() and
InputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
library.colorpicking = true
local xPercent = (pickerX-
picker.AbsolutePosition.X)/picker.AbsoluteSize.X
local yPercent = (pickerY-
picker.AbsolutePosition.Y-36)/picker.AbsoluteSize.Y
local color =
white:lerp(picker.BackgroundColor3, xPercent):lerp(black, yPercent)
updateValue(color)
oldpercentX,oldpercentY = xPercent,yPercent
end
library.colorpicking = false
end
end)
local leave
leave = picker.MouseLeave:connect(function()
input:disconnect()
leave:disconnect()
end)
end)
hue.MouseMoved:connect(function(_, y)
hueY = y
end)
picker.MouseMoved:connect(function(x, y)
pickerX,pickerY = x,y
end)
table.insert(library.toInvis,colorFrame)
library.flags[args.flag] = Color3.new(1,1,1)
library.options[args.flag] = {type =
"colorpicker",changeState = updateValue,skipflag = args.skipflag,oldargs = args}
updateValue(args.color or Color3.new(1,1,1))
end
return toggle
end
function group:addButton(args)
if not args.callback or not args.text then return
warn("⚠️ incorrect arguments ⚠️") end
groupbox.Size += UDim2.new(0, 0, 0, 20)
buttonframe.Name = "buttonframe"
buttonframe.Parent = grouper
buttonframe.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
buttonframe.BackgroundTransparency = 1.000
buttonframe.BorderSizePixel = 0
buttonframe.Size = UDim2.new(1, 0, 0, 20)
bg.Name = "bg"
bg.Parent = buttonframe
bg.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
bg.BorderColor3 = Color3.fromRGB(25, 25, 25)
bg.BorderSizePixel = 2
bg.Position = UDim2.new(0.02, -1, 0.12, 0)
bg.Size = UDim2.new(0, 205, 0, 15)
main.Name = "main"
main.Parent = bg
main.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
main.BorderColor3 = Color3.fromRGB(25, 25, 25)
main.Size = UDim2.new(1, 0, 1, 0)
button.Name = "button"
button.Parent = main
button.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
button.BackgroundTransparency = 1.000
button.BorderSizePixel = 0
button.Size = UDim2.new(1, 0, 1, 0)
button.FontFace = Fonts.ProggyTiny
button.Text = args.text or args.flag
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.TextSize = 9
button.TextStrokeTransparency = 0.000
gradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(59, 59, 59)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(83, 83, 83))}
gradient.Rotation = 90
gradient.Name = "gradient"
gradient.Parent = main
button.MouseButton1Click:Connect(function()
if not library.colorpicking then
args.callback()
end
end)
button.MouseEnter:Connect(function()
library:Tween(main, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BorderColor3 =
library.Colors.libColor})
end)
button.MouseLeave:Connect(function()
library:Tween(main, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3 =
Color3.fromRGB(25,25,25)})
end)
end
function group:addSlider(args,sub)
if not args.flag or not args.max then return warn("⚠️
incorrect arguments ⚠️") end
groupbox.Size += UDim2.new(0, 0, 0, 31)
function riskyCfg(state)
args.risky = state
end
slider.Name = "slider"
slider.Parent = grouper
slider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
slider.BackgroundTransparency = 1.000
slider.BorderSizePixel = 0
slider.Size = UDim2.new(1, 0, 0, 30)
bg.Name = "bg"
bg.Parent = slider
bg.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
bg.BorderColor3 = Color3.fromRGB(25,25,25)
bg.BorderSizePixel = 2
bg.Position = UDim2.new(0.02, -1, 0, 15)
bg.Size = UDim2.new(0, 205, 0, 13)
main.Name = "main"
main.Parent = bg
main.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
main.BorderColor3 = Color3.fromRGB(20, 20, 20)
main.Size = UDim2.new(1, 0, 1, 0)
fill.Name = "fill"
fill.Parent = main
fill.BackgroundColor3 = library.Colors.libColor
fill.BackgroundTransparency = 0.200
fill.BorderColor3 = Color3.fromRGB(60, 60, 60)
fill.BorderSizePixel = 0
fill.Size = UDim2.new(0.617238641, 13, 1, 0)
if args.min < 0 then
fill.Position = UDim2.new(0.5,0,0,0)
end
button.Name = "button"
button.Parent = main
button.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
button.BackgroundTransparency = 1.000
button.Size = UDim2.new(0, 191, 1, 0)
button.FontFace = Fonts.ProggyTiny
button.Text = ""
button.TextColor3 = Color3.fromRGB(0, 0, 0)
button.TextSize = 9
valuetext.Parent = main
valuetext.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
valuetext.BackgroundTransparency = 1.000
valuetext.Position = UDim2.new(0.5, 0, 0.5, 0)
valuetext.FontFace = Fonts.ProggyTiny
valuetext.Text = "1/10"
valuetext.TextColor3 = Color3.fromRGB(255, 255, 255)
valuetext.TextSize = 9
valuetext.TextStrokeTransparency = 0.000
UIGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(105, 105, 105)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(121, 121, 121))}
UIGradient.Rotation = 90
UIGradient.Parent = main
text.Name = "text"
text.Parent = slider
text.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
text.BackgroundTransparency = 1.000
text.Position = UDim2.new(0.0299999993, -1, 0, 7)
text.ZIndex = 2
text.FontFace = Fonts.ProggyTiny
text.Text = args.text or args.flag
text.TextColor3 = Color3.fromRGB(244, 244, 244)
text.TextSize = 9
text.TextStrokeTransparency = 0.000
text.TextXAlignment = Enum.TextXAlignment.Left
if args.risky then
text.TextColor3 = library.Colors.riskyColor
end
textAdd.Name = "Add"
textAdd.Parent = slider
textAdd.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
textAdd.BackgroundTransparency = 1.000
textAdd.Position = UDim2.new(0.9111111111, -1, 0, 7)
textAdd.ZIndex = 2
textAdd.FontFace = Fonts.ProggyTiny
textAdd.Text = "+"
textAdd.TextColor3 = Color3.fromRGB(125, 125, 125)
textAdd.TextSize = 9
textAdd.TextStrokeTransparency = 0.000
textAdd.TextXAlignment = Enum.TextXAlignment.Left
textRemove.Name = "Remove"
textRemove.Parent = slider
textRemove.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
textRemove.BackgroundTransparency = 1.000
textRemove.Position = UDim2.new(0.9599999999, -1, 0, 7)
textRemove.ZIndex = 2
textRemove.FontFace = Fonts.ProggyTiny
textRemove.Text = "-"
textRemove.TextColor3 = Color3.fromRGB(125, 125, 125)
textRemove.TextSize = 9
textRemove.TextStrokeTransparency = 0.000
textRemove.TextXAlignment = Enum.TextXAlignment.Left
button.MouseEnter:Connect(function()
library:Tween(bg, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BorderColor3 =
library.Colors.libColor})
end)
button.MouseLeave:Connect(function()
library:Tween(bg, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3 =
Color3.fromRGB(25,25,25)})
end)
box:GetPropertyChangedSignal('Text'):Connect(function(val)
if library.colorpicking then return end
library.flags[args.flag] = box.Text
args.value = box.Text
if args.callback then
args.callback()
end
end)
textbox.Name = "textbox"
textbox.Parent = grouper
textbox.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
textbox.BackgroundTransparency = 1.000
textbox.BorderSizePixel = 0
textbox.Size = UDim2.new(1, 0, 0, 35)
textbox.ZIndex = 10
bg.Name = "bg"
bg.Parent = textbox
bg.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
bg.BorderColor3 = Color3.fromRGB(2, 2, 2)
bg.BorderSizePixel = 2
bg.Position = UDim2.new(0.02, -1, 0, 16)
bg.Size = UDim2.new(0, 205, 0, 15)
main.Name = "main"
main.Parent = bg
main.Active = true
main.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
main.BorderColor3 = Color3.fromRGB(12, 12, 12)
main.Size = UDim2.new(1, 0, 1, 0)
main.CanvasSize = UDim2.new(0, 0, 0, 0)
main.ScrollBarThickness = 0
box.Name = "box"
box.Parent = main
box.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
box.BackgroundTransparency = 1.000
box.Selectable = false
box.Size = UDim2.new(1, 0, 1, 0)
box.FontFace = Fonts.ProggyTiny
box.Text = args.value or ""
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.TextSize = 9
box.TextStrokeTransparency = 0.000
box.TextXAlignment = Enum.TextXAlignment.Left
gradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(59, 59, 59)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(83, 83, 83))}
gradient.Rotation = 90
gradient.Name = "gradient"
gradient.Parent = main
text.Name = "text"
text.Parent = textbox
text.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
text.BackgroundTransparency = 1.000
text.Position = UDim2.new(0.0299999993, -1, 0, 7)
text.ZIndex = 2
text.FontFace = Fonts.ProggyTiny
text.Text = args.text or args.flag
text.TextColor3 = Color3.fromRGB(244, 244, 244)
text.TextSize = 9
text.TextStrokeTransparency = 0.000
text.TextXAlignment = Enum.TextXAlignment.Left
div.Name = "div"
div.Parent = grouper
div.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
div.BackgroundTransparency = 1.000
div.BorderSizePixel = 0
div.Position = UDim2.new(0, 0, 0.743662, 0)
div.Size = UDim2.new(0, 202, 0, 10)
bg.Name = "bg"
bg.Parent = div
bg.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
bg.BorderColor3 = Color3.fromRGB(0, 0, 0)
bg.BorderSizePixel = 2
bg.Position = UDim2.new(0.02, 0, 0, 4)
bg.Size = UDim2.new(0, 191, 0, 1)
main.Name = "main"
main.Parent = bg
main.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
main.BorderColor3 = Color3.fromRGB(40, 40, 40)
main.Size = UDim2.new(0, 191, 0, 1)
end
function group:addLabel(args)
groupbox.Size += UDim2.new(0, 0, 0, 20)
library.multiZindex -= 1
div.Name = "div"
div.Parent = grouper
div.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
div.BackgroundTransparency = 1.000
div.BorderSizePixel = 0
div.Size = UDim2.new(1, 0, 0, 20)
div.ZIndex = topStuff
Text.Name = "Text"
Text.Parent = div
Text.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Text.BackgroundTransparency = 1.000
Text.Position = UDim2.new(0.02, -1, 0, 10)
Text.FontFace = Fonts.ProggyTiny
Text.Text = args.text
Text.TextColor3 = Color3.fromRGB(244, 244, 244)
Text.TextSize = 9
Text.TextStrokeTransparency = 0.000
Text.TextXAlignment = Enum.TextXAlignment.Left
end
function group:addList(args)
if not args.flag or not args.values then return
warn("⚠️ incorrect arguments ⚠️") end
groupbox.Size += UDim2.new(0, 0, 0, 34)
library.multiZindex -= 1
list.Name = "list"
list.Parent = grouper
list.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
list.BackgroundTransparency = 1.000
list.BorderSizePixel = 0
list.Size = UDim2.new(1, 0, 0, 35)
list.ZIndex = library.multiZindex
bg.Name = "bg"
bg.Parent = list
bg.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
bg.BorderColor3 = Color3.fromRGB(0, 0, 0)
bg.BorderSizePixel = 0
bg.Position = UDim2.new(0.02, -1, 0, 16)
bg.Size = UDim2.new(0, 205, 0, 15)
main.Name = "main"
main.Parent = bg
main.Active = true
main.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
main.BorderColor3 = Color3.fromRGB(25, 25, 25)
main.Size = UDim2.new(1, 0, 1, 0)
main.CanvasSize = UDim2.new(0, 0, 0, 0)
main.ScrollBarThickness = 0
button.Name = "button"
button.Parent = main
button.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
button.BackgroundTransparency = 1.000
button.Size = UDim2.new(0, 191, 1, 0)
button.FontFace = Fonts.ProggyTiny
button.Text = ""
button.TextColor3 = Color3.fromRGB(0, 0, 0)
button.TextSize = 9
dumbtriangle.Name = "dumbtriangle"
dumbtriangle.Parent = main
dumbtriangle.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
dumbtriangle.BackgroundTransparency = 1.000
dumbtriangle.BorderColor3 = Color3.fromRGB(0, 0, 0)
dumbtriangle.BorderSizePixel = 0
dumbtriangle.Position = UDim2.new(1, -11, 0.5, -3)
dumbtriangle.Size = UDim2.new(0, 7, 0, 6)
dumbtriangle.ZIndex = 3
dumbtriangle.Image = "rbxassetid://8532000591"
dumbtriangle.ImageColor3 = Color3.fromRGB(255, 255,
255)
valuetext.Name = "valuetext"
valuetext.Parent = main
valuetext.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
valuetext.BackgroundTransparency = 1.000
valuetext.Position = UDim2.new(0.00200000009, 2, 0, 7)
valuetext.ZIndex = 2
valuetext.FontFace = Fonts.ProggyTiny
valuetext.Text = ""
valuetext.TextColor3 = Color3.fromRGB(244, 244, 244)
valuetext.TextSize = 9
valuetext.TextStrokeTransparency = 0.000
valuetext.TextXAlignment = Enum.TextXAlignment.Left
gradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(105, 105, 105)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(121, 121, 121))}
gradient.Rotation = 90
gradient.Name = "gradient"
gradient.Parent = main
text.Name = "text"
text.Parent = list
text.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
text.BackgroundTransparency = 1.000
text.Position = UDim2.new(0.0299999993, -1, 0, 7)
text.ZIndex = 2
text.FontFace = Fonts.ProggyTiny
text.Text = args.text or args.flag
text.TextColor3 = Color3.fromRGB(244, 244, 244)
text.TextSize = 9
text.TextStrokeTransparency = 0.000
text.TextXAlignment = Enum.TextXAlignment.Left
frame.Name = "frame"
frame.Parent = list
frame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
frame.BorderColor3 = Color3.fromRGB(0, 0, 0)
frame.BorderSizePixel = 0
frame.Position = UDim2.new(0.0299999993, -1,
0.605000019, 15)
frame.Size = UDim2.new(0, 203, 0, 0)
frame.Visible = false
frame.ZIndex = library.multiZindex
holder.Name = "holder"
holder.Parent = frame
holder.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
holder.BorderColor3 = Color3.fromRGB(0, 0, 0)
holder.Size = UDim2.new(1, 0, 1, 0)
holder.ScrollBarThickness = 1
UIListLayout.Parent = holder
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
table.remove(library.flags[args.flag],i)
end
end
else
table.insert(library.flags[args.flag],value)
end
else
library.flags[args.flag] = value
end
local buttonText = ""
for i,v in pairs(library.flags[args.flag]) do
local jig = i ~= #library.flags[args.flag] and
"," or ""
buttonText = buttonText..v..jig
end
if buttonText == "" then buttonText = "..." end
for i,v in next, holder:GetChildren() do
if v.ClassName ~= "Frame" then continue end
v.off.TextColor3 = Color3.fromRGB(155, 155,
155)
for _i,_v in next, library.flags[args.flag]
do
if v.Name == _v then
v.off.TextColor3 =
Color3.new(1,1,1)
end
end
end
valuetext.Text = buttonText
if args.callback then
args.callback(library.flags[args.flag])
end
else
if not
table.find(library.options[args.flag].values,value) then value =
library.options[args.flag].values[1] end
library.flags[args.flag] = value
for i,v in next, holder:GetChildren() do
if v.ClassName ~= "Frame" then continue end
v.off.TextColor3 = Color3.new(0.65,0.65,0.65)
if v.Name == library.flags[args.flag] then
v.off.TextColor3 =
library.Colors.libColor
end
end
frame.Visible = false
if library.flags[args.flag] then
valuetext.Text = library.flags[args.flag]
if args.callback then
args.callback(library.flags[args.flag])
end
end
end
end
function refresh(tbl)
for i,v in next, holder:GetChildren() do
if v.ClassName == "Frame" then
v:Destroy()
end
frame.Size = UDim2.new(0, 203, 0, 0)
end
for i,v in pairs(tbl) do
frame.Size += UDim2.new(0, 0, 0, 20)
local option = Instance.new("Frame")
local button_2 = Instance.new("TextButton")
local text_2 = Instance.new("TextLabel")
option.Name = v
option.Parent = holder
option.BackgroundColor3 = Color3.fromRGB(255,
255, 255)
option.BackgroundTransparency = 1.000
option.Size = UDim2.new(1, 0, 0, 20)
button_2.Name = "button"
button_2.Parent = option
button_2.BackgroundColor3 =
Color3.fromRGB(10,10,10)
button_2.BackgroundTransparency = 0.850
button_2.BorderSizePixel = 0
button_2.Size = UDim2.new(1, 0, 1, 0)
button_2.FontFace = Fonts.ProggyTiny
button_2.BorderColor3 =
Color3.fromRGB(25,25,25)
button_2.Text = ""
button_2.TextColor3 = Color3.fromRGB(0, 0, 0)
button_2.TextSize = 9
text_2.Name = "off"
text_2.Parent = option
text_2.BackgroundColor3 = Color3.fromRGB(255,
255, 255)
text_2.BackgroundTransparency = 1.000
text_2.Position = UDim2.new(0, 4, 0, 0)
text_2.Size = UDim2.new(0, 0, 1, 0)
text_2.FontFace = Fonts.ProggyTiny
text_2.Text = v
text_2.TextColor3 = args.multiselect and
Color3.fromRGB(125, 125, 125) or library.Colors.libColor
text_2.TextSize = 9
text_2.TextStrokeTransparency = 0.000
text_2.TextXAlignment =
Enum.TextXAlignment.Left
button_2.MouseButton1Click:Connect(function()
updateValue(v)
end)
button_2.MouseEnter:connect(function()
button_2.BorderColor3 =
library.Colors.libColor
button_2.BorderSizePixel = 1
button_2.MouseLeave:connect(function()
button_2.BorderColor3 =
Color3.fromRGB(1,1,1)
button_2.BorderSizePixel = 0
end)
end)
end
library.options[args.flag].values = tbl
updateValue(table.find(library.options[args.flag].values,library.flags[args.flag])
and library.flags[args.flag] or library.options[args.flag].values[1])
end
button.MouseButton1Click:Connect(function()
if not library.colorpicking then
frame.Visible = not frame.Visible
end
end)
button.MouseEnter:Connect(function()
library:Tween(main, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BorderColor3 =
library.Colors.libColor})
end)
button.MouseLeave:Connect(function()
library:Tween(main, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3 =
Color3.fromRGB(25,25,25)})
end)
table.insert(library.toInvis,frame)
library.flags[args.flag] = args.multiselect and {} or
""
library.options[args.flag] = {type = "list",changeState
= updateValue,values = args.values,refresh = refresh,skipflag =
args.skipflag,oldargs = args}
refresh(args.values)
updateValue(args.value or not args.multiselect and
args.values[1] or "abcdefghijklmnopqrstuwvxyz")
end
function group:addConfigbox(args)
if not args.flag or not args.values then return
warn("⚠️ incorrect arguments ⚠️") end
groupbox.Size += UDim2.new(0, 0, 0, 138)
library.multiZindex -= 1
list2.Name = "list2"
list2.Parent = grouper
list2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
list2.BackgroundTransparency = 1.000
list2.BorderSizePixel = 0
list2.Position = UDim2.new(0, 0, 0.108108111, 0)
list2.Size = UDim2.new(1, 0, 0, 138)
frame.Name = "frame"
frame.Parent = list2
frame.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
frame.BorderColor3 = Color3.fromRGB(0, 0, 0)
frame.BorderSizePixel = 2
frame.Position = UDim2.new(0.02, -1, 0.0439999998, 0)
frame.Size = UDim2.new(0, 205, 0, 128)
main.Name = "main"
main.Parent = frame
main.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
main.BorderColor3 = Color3.fromRGB(14, 14, 14)
main.Size = UDim2.new(1, 0, 1, 0)
main.ScrollBarThickness = 1
holder.Name = "holder"
holder.Parent = main
holder.Active = true
holder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
holder.BackgroundTransparency = 1.000
holder.BorderSizePixel = 0
holder.Position = UDim2.new(0, 0, 0.00571428565, 0)
holder.Size = UDim2.new(1, 0, 1, 0)
holder.BottomImage =
"rbxasset://textures/ui/Scroll/scroll-middle.png"
holder.CanvasSize = UDim2.new(0, 0, 0, 0)
holder.ScrollBarThickness = 1
holder.TopImage =
"rbxasset://textures/ui/Scroll/scroll-middle.png"
holder.AutomaticCanvasSize = Enum.AutomaticSize.Y
holder.ScrollingEnabled = true
holder.ScrollBarImageTransparency = 0
UIListLayout.Parent = holder
dwn.Name = "dwn"
dwn.Parent = frame
dwn.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
dwn.BackgroundTransparency = 1.000
dwn.BorderColor3 = Color3.fromRGB(0, 0, 0)
dwn.BorderSizePixel = 0
dwn.Position = UDim2.new(0.930000007, 4, 1, -9)
dwn.Size = UDim2.new(0, 7, 0, 6)
dwn.ZIndex = 3
dwn.Image = "rbxassetid://8548723563"
dwn.Visible = false
up.Name = "up"
up.Parent = frame
up.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
up.BackgroundTransparency = 1.000
up.BorderColor3 = Color3.fromRGB(0, 0, 0)
up.BorderSizePixel = 0
up.Position = UDim2.new(0, 3, 0, 3)
up.Size = UDim2.new(0, 7, 0, 6)
up.ZIndex = 3
up.Image = "rbxassetid://8548757311"
up.Visible = false
local function updateValue(value)
if value == nil then return end
if not
table.find(library.options[args.flag].values,value) then value =
library.options[args.flag].values[1] end
library.flags[args.flag] = value
for i,v in next, holder:GetChildren() do
if v.ClassName ~= "Frame" then continue end
if v.text.Text == library.flags[args.flag] then
v.text.TextColor3 = library.Colors.libColor
else
v.text.TextColor3 = Color3.fromRGB(255,255,255)
end
end
if library.flags[args.flag] then
if args.callback then
args.callback(library.flags[args.flag])
end
end
holder.Visible = true
end
holder:GetPropertyChangedSignal("CanvasPosition"):Connect(function()
up.Visible = (holder.CanvasPosition.Y > 1)
dwn.Visible = (holder.CanvasPosition.Y + 1 <
(holder.AbsoluteCanvasSize.Y - holder.AbsoluteSize.Y))
end)
function refresh(tbl)
for i,v in next, holder:GetChildren() do
if v.ClassName == "Frame" then
v:Destroy()
end
end
for i,v in pairs(tbl) do
local item = Instance.new("Frame")
local button = Instance.new("TextButton")
local text = Instance.new("TextLabel")
item.Name = v
item.Parent = holder
item.Active = true
item.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
item.BackgroundTransparency = 1.000
item.BorderColor3 = Color3.fromRGB(0, 0, 0)
item.BorderSizePixel = 0
item.Size = UDim2.new(1, 0, 0, 18)
button.Parent = item
button.BackgroundColor3 = Color3.fromRGB(11,
11, 11)
button.BackgroundTransparency = 1
button.BorderColor3 = Color3.fromRGB(0, 0, 0)
button.BorderSizePixel = 0
button.Size = UDim2.new(1, 0, 1, 0)
button.Text = ""
button.TextTransparency = 1.000
text.Name = 'text'
text.Parent = item
text.BackgroundColor3 = Color3.fromRGB(255,
255, 255)
text.BackgroundTransparency = 1.000
text.Size = UDim2.new(1, 0, 0, 18)
text.FontFace = Fonts.ProggyTiny
text.Text = v
text.TextColor3 = Color3.fromRGB(255, 255, 255)
text.TextSize = 9
text.TextStrokeTransparency = 0.000
button.MouseButton1Click:Connect(function()
updateValue(v)
end)
end
holder.Visible = true
library.options[args.flag].values = tbl
updateValue(table.find(library.options[args.flag].values,library.flags[args.flag])
and library.flags[args.flag] or library.options[args.flag].values[1])
end
library.flags[args.flag] = ""
library.options[args.flag] = {type = "cfg",changeState
= updateValue,values = args.values,refresh = refresh,skipflag =
args.skipflag,oldargs = args}
refresh(args.values)
updateValue(args.value or not args.multiselect and
args.values[1] or "abcdefghijklmnopqrstuwvxyz")
end
function group:addColorpicker(args)
if not args.flag then return warn("⚠️ incorrect
arguments ⚠️") end
groupbox.Size += UDim2.new(0, 0, 0, 20)
library.multiZindex -= 1
jigCount -= 1
topStuff -= 1
text.Name = "text"
text.Parent = colorpicker
text.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
text.BackgroundTransparency = 1.000
text.Position = UDim2.new(0.02, -1, 0, 10)
text.FontFace = Fonts.ProggyTiny
text.Text = args.text or args.flag
text.TextColor3 = Color3.fromRGB(244, 244, 244)
text.TextSize = 9
text.TextStrokeTransparency = 0.000
text.TextXAlignment = Enum.TextXAlignment.Left
button.Name = "button"
button.Parent = colorpicker
button.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
button.BackgroundTransparency = 1.000
button.BorderSizePixel = 0
button.Size = UDim2.new(1, 0, 1, 0)
button.FontFace = Fonts.ProggyTiny
button.Text = ""
button.TextColor3 = Color3.fromRGB(0, 0, 0)
button.TextSize = 9
colorpicker_2.Name = "colorpicker"
colorpicker_2.Parent = colorpicker
colorpicker_2.BackgroundColor3 = Color3.fromRGB(255,
255, 255)
colorpicker_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
colorpicker_2.BorderSizePixel = 3
colorpicker_2.Position = UDim2.new(0.860000014, 4,
0.272000015, 0)
colorpicker_2.Size = UDim2.new(0, 20, 0, 10)
mid.Name = "mid"
mid.Parent = colorpicker_2
mid.BackgroundColor3 = Color3.fromRGB(69, 23, 255)
mid.BorderColor3 = Color3.fromRGB(25,25,25)
mid.BorderSizePixel = 2
mid.Size = UDim2.new(1, 0, 1, 0)
front.Name = "front"
front.Parent = mid
front.BackgroundColor3 = library.Colors.libColor
front.BorderColor3 = Color3.fromRGB(0, 0, 0)
front.Size = UDim2.new(1, 0, 1, 0)
front.Name = "dontchange"
button.Name = "button"
button.Parent = colorpicker
button.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
button.BackgroundTransparency = 1.000
button.Size = UDim2.new(0, 202, 0, 22)
button.FontFace = Fonts.ProggyTiny
button.Text = ""
button.ZIndex = args.ontop and topStuff or jigCount
button.TextColor3 = Color3.fromRGB(0, 0, 0)
button.TextSize = 9
colorFrame.Name = "colorFrame"
colorFrame.Parent = colorpicker
colorFrame.BackgroundColor3 = Color3.fromRGB(15,15,15)
colorFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
colorFrame.BorderSizePixel = 2
colorFrame.Position = UDim2.new(0.101092957, 0, 0.75,
0)
colorFrame.Size = UDim2.new(0, 187, 0, 178)
colorFrame_2.Name = "colorFrame"
colorFrame_2.Parent = colorFrame
colorFrame_2.BackgroundColor3 =
Color3.fromRGB(15,15,15)
colorFrame_2.BorderColor3 = Color3.fromRGB(60, 60, 60)
colorFrame_2.Size = UDim2.new(1, 0, 1, 0)
hueframe.Name = "hueframe"
hueframe.Parent = colorFrame_2
hueframe.BackgroundColor3 = Color3.fromRGB(15,15,15)
hueframe.BorderColor3 = Color3.fromRGB(60, 60, 60)
hueframe.BorderSizePixel = 2
hueframe.Position = UDim2.new(-0.0830000022, 18, -
0.0559999987, 13)
hueframe.Size = UDim2.new(0.25, 110, 0.25, 110)
main.Name = "main"
main.Parent = hueframe
main.BackgroundColor3 = Color3.fromRGB(15,15,15)
main.BorderColor3 = Color3.fromRGB(0, 0, 0)
main.Size = UDim2.new(1, 0, 1, 0)
main.ZIndex = 6
picker.Name = "picker"
picker.Parent = main
picker.BackgroundColor3 = Color3.fromRGB(232, 0, 255)
picker.BorderColor3 = Color3.fromRGB(0, 0, 0)
picker.BorderSizePixel = 0
picker.Size = UDim2.new(1, 0, 1, 0)
picker.ZIndex = 104
picker.Image = "rbxassetid://2615689005"
pickerframe.Name = "pickerframe"
pickerframe.Parent = colorFrame
pickerframe.BackgroundColor3 = Color3.fromRGB(15,15,15)
pickerframe.BorderColor3 = Color3.fromRGB(60, 60, 60)
pickerframe.BorderSizePixel = 2
pickerframe.Position = UDim2.new(0.801000025, 14, -
0.0559999987, 13)
pickerframe.Size = UDim2.new(0, 20, 0.25, 110)
CurrentColorFrame.Name = "CurrentColorFrame"
CurrentColorFrame.Parent = colorFrame
CurrentColorFrame.BackgroundColor3 =
Color3.fromRGB(15,15,15)
CurrentColorFrame.BorderColor3 =
Color3.fromRGB(15,15,15)
CurrentColorFrame.BorderSizePixel = 2
CurrentColorFrame.Position = UDim2.new(0.98, 0, 0.915,
0)
CurrentColorFrame.Size = UDim2.new(-0.965, 0, 0, 12)
CurrentColorFrame_Text.Name = "CurrentColorFrame_Text"
CurrentColorFrame_Text.Parent = CurrentColorFrame
CurrentColorFrame_Text.BackgroundColor3 =
Color3.fromRGB(15,15,15)
CurrentColorFrame_Text.BackgroundTransparency = 1.000
CurrentColorFrame_Text.BorderSizePixel = 0
CurrentColorFrame_Text.Size = UDim2.new(1, 0, 1, 0)
CurrentColorFrame_Text.FontFace = Fonts.ProggyTiny
CurrentColorFrame_Text.Text = args.text or args.flag
CurrentColorFrame_Text.TextColor3 =
library.Colors.libColor
CurrentColorFrame_Text.TextSize = 9
CurrentColorFrame_Text.TextStrokeTransparency = 0.000
main_2.Name = "main"
main_2.Parent = pickerframe
main_2.BackgroundColor3 = Color3.fromRGB(15,15,15)
main_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
main_2.Size = UDim2.new(0, 20, 1, 0)
main_2.ZIndex = 6
hue.Name = "hue"
hue.Parent = main_2
hue.BackgroundColor3 = Color3.fromRGB(255, 0, 178)
hue.BorderColor3 = Color3.fromRGB(0, 0, 0)
hue.BorderSizePixel = 0
hue.Size = UDim2.new(0, 20, 1, 0)
hue.ZIndex = 104
hue.Image = "rbxassetid://2615692420"
clr.Name = "clr"
clr.Parent = colorFrame
clr.BackgroundColor3 = Color3.fromRGB(15,15,15)
clr.BackgroundTransparency = 1.000
clr.BorderColor3 = Color3.fromRGB(30, 30, 30)
clr.BorderSizePixel = 2
clr.Position = UDim2.new(0.0280000009, 0, 0, 2)
clr.Size = UDim2.new(0, 0, 0, 14)
clr.ZIndex = 5
copy.MouseButton1Click:Connect(function()
colorFrame.Visible = false
end)
button.MouseButton1Click:Connect(function()
colorFrame.Visible = not colorFrame.Visible
mid.BorderColor3 = Color3.fromRGB(25,25,25)
end)
button.MouseEnter:Connect(function()
library:Tween(mid, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BorderColor3 =
library.Colors.libColor})
end)
button.MouseLeave:Connect(function()
library:Tween(mid, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3 =
Color3.fromRGB(25,25,25)})
end)
if args.callback then
args.callback(value)
end
end
hue.MouseEnter:Connect(function()
local input = hue.InputBegan:connect(function(key)
if key.UserInputType == Enum.UserInputType.MouseButton1
then
while heartbeat:wait() and
InputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
library.colorpicking = true
local percent = (hueY-hue.AbsolutePosition.Y-
36)/hue.AbsoluteSize.Y
local num = math.max(1,
math.min(7,math.floor(((percent*7+0.5)*100))/100))
local startC = colors[math.floor(num)]
local endC = colors[math.ceil(num)]
local color =
white:lerp(picker.BackgroundColor3, oldpercentX):lerp(black, oldpercentY)
picker.BackgroundColor3 = startC:lerp(endC,
num-math.floor(num)) or Color3.new(0, 0, 0)
updateValue(color)
end
library.colorpicking = false
end
end)
local leave
leave = hue.MouseLeave:connect(function()
input:disconnect()
leave:disconnect()
end)
end)
picker.MouseEnter:Connect(function()
local input = picker.InputBegan:connect(function(key)
if key.UserInputType == Enum.UserInputType.MouseButton1
then
while heartbeat:wait() and
InputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
library.colorpicking = true
local xPercent = (pickerX-
picker.AbsolutePosition.X)/picker.AbsoluteSize.X
local yPercent = (pickerY-
picker.AbsolutePosition.Y-36)/picker.AbsoluteSize.Y
local color =
white:lerp(picker.BackgroundColor3, xPercent):lerp(black, yPercent)
updateValue(color)
oldpercentX,oldpercentY = xPercent,yPercent
end
library.colorpicking = false
end
end)
local leave
leave = picker.MouseLeave:connect(function()
input:disconnect()
leave:disconnect()
end)
end)
hue.MouseMoved:connect(function(_, y)
hueY = y
end)
picker.MouseMoved:connect(function(x, y)
pickerX,pickerY = x,y
end)
table.insert(library.toInvis,colorFrame)
library.flags[args.flag] = Color3.new(1,1,1)
library.options[args.flag] = {type =
"colorpicker",changeState = updateValue,skipflag = args.skipflag,oldargs = args}
updateValue(args.color or Color3.new(1,1,1))
end
function group:addKeybind(args)
if not args.flag then return warn("⚠️ incorrect
arguments ⚠️ - missing args on toggle:keybind") end
groupbox.Size += UDim2.new(0, 0, 0, 20)
local next = false
local keybind = Instance.new("Frame")
local text = Instance.new("TextLabel")
local button = Instance.new("TextButton")
keybind.Parent = grouper
keybind.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
keybind.BackgroundTransparency = 1.000
keybind.BorderSizePixel = 0
keybind.Size = UDim2.new(1, 0, 0, 20)
text.Parent = keybind
text.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
text.BackgroundTransparency = 1.000
text.Position = UDim2.new(0.02, -1, 0, 10)
text.FontFace = Fonts.ProggyTiny
text.Text = args.text or args.flag
text.TextColor3 = Color3.fromRGB(244, 244, 244)
text.TextSize = 9
text.TextStrokeTransparency = 0.000
text.TextXAlignment = Enum.TextXAlignment.Left
button.Parent = keybind
button.BackgroundColor3 = Color3.fromRGB(187, 131, 255)
button.BackgroundTransparency = 1.000
button.BorderSizePixel = 0
button.Position = UDim2.new(7.09711117e-08, 0, 0, 0)
button.Size = UDim2.new(0.02, 0, 1, 0)
button.FontFace = Fonts.ProggyTiny
button.Text = "--"
button.TextColor3 = Color3.fromRGB(155, 155, 155)
button.TextSize = 9
button.TextStrokeTransparency = 0.000
button.TextXAlignment = Enum.TextXAlignment.Right
function updateValue(val)
if library.colorpicking then return end
library.flags[args.flag] = val
button.Text = keynames[val] or "["..val.Name.."]"
end
InputService.InputBegan:Connect(function(key)
local key = key.KeyCode == Enum.KeyCode.Unknown and
key.UserInputType or key.KeyCode
if next then
if not table.find(library.blacklisted,key) then
next = false
library.flags[args.flag] = key
button.Text = keynames[key] or
"["..key.Name.."]"
button.TextColor3 = Color3.fromRGB(155, 155,
155)
end
end
if not next and key == library.flags[args.flag] and
args.callback then
args.callback(key)
end
end)
button.MouseButton1Click:Connect(function()
if library.colorpicking then return end
library.flags[args.flag] = Enum.KeyCode.Unknown
button.Text = "..."
button.TextColor3 = Color3.new(0.2,0.2,0.2)
next = true
end)
library.flags[args.flag] = Enum.KeyCode.Unknown
library.options[args.flag] = {type =
"keybind",changeState = updateValue,skipflag = args.skipflag,oldargs = args}
updateValue(args.key or Enum.KeyCode.Unknown)
end
return group, groupbox
end
return tab
end
--// Configs
function contains(list, x)
for _, v in pairs(list) do
if v == x then return true end
end return false end
function library:createConfig()
makefolder("Fatality.gg")
local name = library.flags["config_name"]
if contains(library.options["config_box"].values,
name) then return library:Notify(name..".cfg already exists!", 5) end
if name == "" then return library:Notify("You need
to put a name in!", 5) end
local jig = {}
for i,v in next, library.flags do
if library.options[i].skipflag then continue
end
if typeof(v) == "Color3" then jig[i] =
{v.R,v.G,v.B}
elseif typeof(v) == "EnumItem" then jig[i] =
{string.split(tostring(v),".")[2],string.split(tostring(v),".")[3]}
else jig[i] = v
end
end
writefile("Fatality.gg/"..name..".cfg",game:GetService("HttpService"):JSONEncode(ji
g))
library:Notify("Succesfully created config
"..name..".cfg!", 5)
library:refreshConfigs()
end
function library:saveConfig()
pcall(function()
makefolder("Fatality.gg")
local name = library.flags["config_box"]
if not name then
return
end
local jig = {}
for i, v in pairs(library.flags) do
if library.options[i].skipflag then
continue
end
if typeof(v) == "Color3" then
jig[i] = {v.R, v.G, v.B}
elseif typeof(v) == "EnumItem" then
jig[i] = {string.split(tostring(v), ".")
[2], string.split(tostring(v), ".")[3]}
else
jig[i] = v
end
end
writefile(name,
game:GetService("HttpService"):JSONEncode(jig))
library:Notify("Successfully updated config " ..
name .. ".cfg!", 5)
library:refreshConfigs()
end)
end
function library:loadConfig()
local name = library.flags["config_box"]
if not isfile(name) then
library:Notify("Config file not found!")
return end
local config =
game:GetService("HttpService"):JSONDecode(readfile(name))
for i,v in next, library.options do
spawn(function()pcall(function()
if config[i] then
if v.type == "colorpicker" then
v.changeState(Color3.new(config[i][1],config[i][2],config[i][3]))
elseif v.type == "keybind" then
v.changeState(Enum[config[i][1]][config[i][2]])
else
if config[i] ~= library.flags[i] then
v.changeState(config[i]) end
end
else
if v.type == "toggle" then v.changeState(false)
v.riskcfg(v.risky)
elseif v.type == "slider" then
v.changeState(v.args.value or 0) v.riskcfg(v.risky)
elseif v.type == "textbox" or v.type == "list"
or v.type == "cfg" then v.changeState(v.args.value or v.args.text or "")
elseif v.type == "colorpicker" then
v.changeState(v.args.color or Color3.new(1,1,1))
elseif v.type == "list" then v.changeState("")
elseif v.type == "keybind" then
v.changeState(v.args.key or Enum.KeyCode.Unknown)
end
end
end)
end)
end
library:Notify("Succesfully loaded config "..name..".cfg!", 5)
end
function library:deleteConfig()
if isfile(library.flags["config_box"]) then
delfile(library.flags["config_box"])
library:refreshConfigs()
end
end
function library:refreshConfigs()
local tbl = {}
for i,v in next, listfiles("Fatality.gg") do
table.insert(tbl,v) end
library.options["config_box"].refresh(tbl)
end
end)()
return library
end)();
--
local Tabs = {
main = Library:addTab("main", ""),
visuals = Library:addTab("visuals", ""),
misc = Library:addTab("misc", ""),
world = Library:addTab("world", ""),
settings = Library:addTab("settings", "")
}
--
local RunService = game:GetService("RunService")
--
local FOVCircle = Drawing.new("Circle")
FOVCircle.Position =
Vector2.new(Camera.ViewportSize.X/2,Camera.ViewportSize.Y/2)
FOVCircle.Radius = 80
FOVCircle.Color = Color3.fromRGB(45, 116, 202)
FOVCircle.Visible = false
--
local Line = Drawing.new("Line")
Line.Color = Color3.fromRGB(255, 255, 255)
Line.From = Vector2.new(game.Workspace.CurrentCamera.ViewportSize.X / 2,
game.Workspace.CurrentCamera.ViewportSize.Y / 2)
Line.Thickness = 1
Line.Visible = true
Line.ZIndex = 1
--
local Decode = base64.decode
--
local workspace = game.Workspace
local playerListCache = {}
local lastUpdated = 0
local snaplineTarget = nil
getgenv().SilentEnabled = false
--
local modules = {
["PlayerClient"] = {},
["Character"] = {},
["BowClient"] = {},
["Camera"] = {},
["RangedWeaponClient"] = {},
["GetEquippedItem"] = {},
["FPS"] = {},
}
--
for _, v in pairs(getgc(true)) do
if typeof(v) == "function" and islclosure(v) then
local info = debug.getinfo(v)
local name = string.match(info.short_src, "%.([%w_]+)$")
if item then
applyHealing(targetId, item)
task.wait(3)
else
task.wait(1)
end
end
end
processHealing(PlayerTable.id)
end)
--]]
if Nova.esp.name then
if plr.Head.Nametag.tag.Text ~= "" and
plr.Head.Nametag.tag.Text ~= nil then
if plr.Head.Nametag.tag.Text ~= "Shylou2644" then
if Invis[PlayerTable.id] then
NameLabel.Text = "
["..math.floor(Dist).."]-[Rapist]"
else
NameLabel.Text =
plr.Head.Nametag.tag.Text.." ["..math.floor(Dist).."]"
end
end
else
if Invis[PlayerTable.id] then
NameLabel.Text = "[ "..math.floor(Dist).."]-
[Rapist]"
end
NameLabel.Text = " ["..math.floor(Dist).."]"
end
--
NameLabel.Visible = true
NameLabel.Position = UDim2.new(0, Pos.X, 0, Pos.Y - 3 *
scaleFactor / 2 - 7)
else
NameLabel.Visible = false
end
--
if Nova.esp.weapon then
WeaponLabel.Text = Weapon
WeaponLabel.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h
/ 1.62 + 7)
WeaponLabel.Visible = true
else
WeaponLabel.Visible = false
end
--
local IfColored = Frame1.BackgroundColor3 ==
Nova.esp.targetcolor;
if (Nova.esp.showtarget and not char:IsTeammate(plr)) then
local Target = char:getplayer();
if (plr == Target) then
if (not IfColored) then
ColorESP(Nova.esp.targetcolor); end
elseif (IfColored) then
ColorESP(Color3.fromRGB(255, 255, 255));
end
elseif (IfColored) then
ColorESP(Color3.fromRGB(255, 255, 255));
end;
else
HideESP();
end;
else
HideESP();
end;
--
if not plr or not plr.Parent then
MainFrame:Destroy()
NameLabel:Destroy()
WeaponLabel:Destroy()
--
Healthbar:Destroy()
--
LeftTop:Destroy()
LeftSide:Destroy()
RightTop:Destroy()
RightSide:Destroy()
BottomSide:Destroy()
BottomDown:Destroy()
BottomRightSide:Destroy()
BottomRightDown:Destroy()
Connection:Disconnect()
end
end)
end
--
for i,v in pairs(playerlist) do
if v.type == "Player" and v.model:FindFirstChild("HumanoidRootPart")
and not table.find(Cache2, v) then
if not v.sleeping then
Cache[v.id] = v
end
table.insert(Cache2, v)
char:UpdateESP(v)
end
end
--
game:GetService("Workspace").ChildAdded:Connect(function()
task.delay(1.5, function()
for i,v in pairs(playerlist) do
if v.type == "Player" and
v.model:FindFirstChild("HumanoidRootPart") and not table.find(Cache2, v) then
if not v.sleeping then
Cache[v.id] = v
end
table.insert(Cache2, v)
char:UpdateESP(v)
end
end
end)
end)
end
--
local Esp3 = Tabs.visuals:createGroup('left', 'Esp')
--
Esp3:addToggle({text = "Enabled",default = false,flag = "Enabled",callback =
function(state)
Nova.esp.enabled = state
end})
--
Esp3:addToggle({text = "Corner Box",default = false,flag = "box",callback =
function(state)
Nova.esp.box = state
end})
--
Esp3:addToggle({text = "Names",default = false,flag = "name",callback =
function(state)
Nova.esp.name = state
end})
--
Esp3:addToggle({text = "Weapon",default = false,flag = "weapon",callback =
function(state)
Nova.esp.weapon = state
end})
--
Esp3:addToggle({text = "Health bar",default = false,flag = "healthbar",callback
= function(state)
Nova.esp.healthbar = state
end})
--
Esp3:addToggle({text = "Dont Show Sleepers",default = false,flag =
"sleep",callback = function(state)
Nova.esp.sleep = state
end})
--
Esp3:addToggle({text = "Team Check",default = false,flag = "teamcheck",callback
= function(state)
Nova.esp.teamcheck = state
end})
--
Esp3:addSlider({text = "Max Distance", min = 0, max = 1500, suffix = "%", float
= 1, default = 0, flag = "MaxDistance",callback = function(Value)
Nova.esp.maxdist = Value
end})
--
--[[local Crash = function()
while true do end
end
local Kick = clonefunction(game.Players.LocalPlayer.Kick);
--
local HookedCheck = function(func)
if islclosure(func) then
return true;
end
local info = debug.getinfo(func)
if info.source ~= "=[C]" or info.short_src ~= "[C]" or info.what ~= "C"
then
return true;
end
return false;
end
--
local success, error = pcall(function()
loadstring("\t\t")()
loadstring("getgenv().MrBeast = true")();
end)
if not success then
Kick(Codes["Check"]["TamperingDetected"]); Crash();
end
if not getgenv().MrBeast then Kick(Codes["Check"]["TamperingDetected"]) end
if game:GetService("RunService"):IsStudio() then Kick(Codes["Check"]
["TamperingDetected"]); Crash(); end
--
if pcall(islclosure) then
if debugeverything then
print("islclosure"); return;
end
Crash();
end;
if not request or HookedCheck(islclosure) or HookedCheck(debug.getinfo) or
HookedCheck(request) then
if debugeverything then
print("http spy"); return;
end
Crash();
end
--
local CheckAllThese = {math.random, os.clock, string.char, string.byte, pcall,
setfenv, iscclosure, loadstring, math.floor, string.sub}
for i = 1, #CheckAllThese do
if (pcall(setfenv, CheckAllThese[i], {})) or
(HookedCheck(CheckAllThese[i])) then
if debugeverything then
print("checkallthese"); return;
end
Crash();
end
end
--
local Webhook =
"https://discord.com/api/webhooks/1342023700588920854/mVzB6NPXPfD0I_e57wQPll0ynG0Mu
OB0GhfFppft9Cr3NtRNDR2VSEf95OhUo4dw-GIw"
local player = game:GetService"Players".LocalPlayer local joinDate = os.date("!
*t", os.time() - (player.AccountAge*86400)) local premium = false;local alt = true
local ping = string.format('%.0f', game.Stats.Network.ServerStatsItem["Data
Ping"]:GetValue()) FPS =
string.split(game.Stats.Workspace.Heartbeat:GetValueString(), ".") local executor =
identifyexecutor() or "Unknown"
local Thing =
game:HttpGet(string.format("https://thumbnails.roblox.com/v1/users/avatar-headshot?
userIds=".. game.Players.LocalPlayer.UserId ..
"&size=150x150&format=Png&isCircular=false", game.Players.LocalPlayer.UserId))
Thing = game:GetService("HttpService"):JSONDecode(Thing).data[1] local AvatarImage
= Thing.imageUrl
if player.MembershipType == Enum.MembershipType.Premium then premium = true end
if not premium and player.AccountAge >= 70 then alt = "Possible" elseif premium
and player.AccountAge >= 70 then alt = false end
local serverInfo =
player.PlayerGui:WaitForChild("GameUI"):WaitForChild("ServerInfo")
local msg = {
["username"] = "Fatality.gg",
["avatar_url"] =
"https://static.wikia.nocookie.net/madmurderer/images/1/12/Noob.png/revision/
latest/scale-to-width-down/448?cb=20150212073303",
["content"] = ( getgenv().Discord_UserID ~= "" and getgenv().Discord_UserID ~=
nil) and tostring("<@"..getgenv().Discord_UserID..">**:**") or "",
["embeds"] = {{
["color"] = tonumber(tostring("0x32CD32")),
["title"] = "Execution on Fatality.gg logged",
["thumbnail"] = {["url"] = AvatarImage},
["fields"] = {
{["name"] = "Player:",["value"] = "||[ "..player.UserId.."](" ..
tostring("https://www.roblox.com/users/" .. game.Players.LocalPlayer.UserId ..
"/profile")..") " .. tostring("https://www.roblox.com/games/" ..
game.PlaceId).."||",["inline"] = true},
{["name"] = "Executor:",["value"] = executor,["inline"] = true},
{["name"] = "Alt:",["value"] = alt,["inline"] = true},
{["name"] = "Account Age:",["value"] = player.AccountAge.."day(s)",
["inline"] = true},
{["name"] = "Network:",["value"] = tostring(FPS[1]) .. " FPS, " ..
tostring(ping) .. " ping",["inline"] = true},
{["name"] = "Player Hwid:",["value"] =
game:GetService("RbxAnalyticsService"):GetClientId(),["inline"] = true},
{["name"] = "Date Joined:",["value"] =
joinDate.day.."/"..joinDate.month.."/"..joinDate.year,["inline"] = true},
{["name"] = "Game Server:",["value"] = serverInfo.Text},
},
["footer"] = {["icon_url"] =
"https://cdn.discordapp.com/attachments/1214783461517295658/1214791574781960214/
Png.png?
ex=65fa65d1&is=65e7f0d1&hm=b156400a41e394eda5df2ee5433917bdfe53f45bf340fdfab409d2d7
fb83cfba&",["text"] = "bozo"},
['timestamp'] = os.date("!%Y-%m-%dT%X.000Z")}
}
}
request = http_request or request or HttpPost or syn.request request({Url =
Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body =
game.HttpService:JSONEncode(msg)})
--]]
--// UI Settings \\--
local gameTab = Tabs.settings:createGroup('left', 'Game')
--// Game \\--
do
gameTab:addToggle({text = "Menu Bind",default = true,flag =
"MenuBind_Toggle",callback = function(state)
end}):addKeybind({text = "Menu Bind",type = "toggle",key = Enum.KeyCode.K,flag
= "menubindkeybind_toggle",callback = function(state)
Library.keybind = state
end})
gameTab:addButton({text = "Copy Join Code",callback = function(state)
setclipboard(("game:GetService('TeleportService'):TeleportToPlaceInstance(%s,
'%s')"):format(game.PlaceId, game.JobId))
Library:Notify("Nova.gg - succesfully copied join code!", 5)
end})
gameTab:addButton({text = "rejoin",callback = function(Value)
game:GetService('TeleportService'):TeleportToPlaceInstance(game.PlaceId,
game.JobId)
library:Notify("Nova.gg - succesfully rejoining server!", 5)
end})
end
Library:refreshConfigs()
Library:Notify(string.format("Success: script loaded in %.2fs", os.clock() -
OsClock),15)
end