Starhook Mobile Fixed - Lua
Starhook Mobile Fixed - Lua
local Drawing =
loadstring(game:HttpGet("https://raw.githubusercontent.com/linemaster2/storage/
main/Drawing.lua"))();
-- // Ignores
local Flags = {} -- Ignore
local ColorHolders = {}
for i = 1, 10 do
print("Starhook Mobile (atzlazyblue): Loaded!")
end;
-- // Extension
Library.__index = Library
Library.Pages.__index = Library.Pages
Library.Sections.__index = Library.Sections
local LocalPlayer = game:GetService('Players').LocalPlayer;
local Mouse = LocalPlayer:GetMouse();
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
-- // Misc Functions
do
function Library:Connection(signal, Callback)
local Con = signal:Connect(Callback)
return Con
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)
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
--
function Library:SetOpen(bool)
if typeof(bool) == 'boolean' then
Library.Open = bool;
if Library.Open then
Library.Holder.Visible = true
--
game:GetService("TweenService"):Create(Library.Holder, TweenInfo.new(0.25,
Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0,
Library.OldSize.X.Offset,0,40)}):Play()
game:GetService("TweenService"):Create(Library.Holder, TweenInfo.new(0.25,
Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0,
Library.OldSize.X.Offset,0,Library.OldSize.Y.Offset)}):Play()
else
--
game:GetService("TweenService"):Create(Library.Holder, TweenInfo.new(0.25,
Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0,
Library.OldSize.X.Offset,0,40)}):Play()
game:GetService("TweenService"):Create(Library.Holder, TweenInfo.new(0.25,
Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = UDim2.new(0,
0,0,20)}):Play()
task.wait(0.25)
Library.Holder.Visible = false
end
end
end;
--
function Library:ChangeAccent(Color)
Library.Accent = Color
return true;
end;
return false;
end;
--
function MakeDraggable(Instance)
local Dragging
local DragInput
local StartPosition
local StartMousePosition
Instance.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
Dragging = true
StartMousePosition = input.Position
StartPosition = Instance.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
Dragging = false
end
end)
end
end)
Instance.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or
input.UserInputType == Enum.UserInputType.Touch then
DragInput = input
end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
if Dragging and input == DragInput then
UpdateInput(input)
end
end)
end;
end
-- // Colorpicker Element
do
function Library:NewPicker(name, default, parent, count, flag, callback)
-- // Instances
local ColorpickerFrame = Instance.new("TextButton")
ColorpickerFrame.Name = "Colorpicker_frame"
ColorpickerFrame.BackgroundColor3 = default
ColorpickerFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
ColorpickerFrame.BorderSizePixel = 0
if count == 1 then
ColorpickerFrame.Position = UDim2.new(1, - (count * 20),0.5,0)
else
ColorpickerFrame.Position = UDim2.new(1, - (count * 20) - (count *
4),0.5,0)
end
ColorpickerFrame.Size = UDim2.new(0, 20, 0, 20)
ColorpickerFrame.AnchorPoint = Vector2.new(0,0.5)
ColorpickerFrame.Text = ""
ColorpickerFrame.AutoButtonColor = false
ColorpickerFrame.Parent = parent
SVSlider.Parent = ImageButton
ImageButton.Parent = Colorpicker
ImageButton1.Parent = Colorpicker
-- // Connections
local mouseover = false
local hue, sat, val = default:ToHSV()
local hsv = default:ToHSV()
local oldcolor = hsv
local slidingsaturation = false
local slidinghue = false
local slidingalpha = false
TweenService:Create(Frame, TweenInfo.new(0.05,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(math.clamp(hue, 0.000, 0.982),-5,0.5,0)}):Play()
if flag then
Library.Flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g *
255, hsv.b * 255)
end
if flag then
Library.Flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g
* 255, hsv.b * 255)
end
Flags[flag] = set
set(default)
ImageButton.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
slidingsaturation = true
update()
end
end)
ImageButton.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
slidingsaturation = false
update()
end
end)
ImageButton1.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
slidinghue = true
update()
end
end)
ImageButton1.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
slidinghue = false
update()
end
end)
Library:Connection(game:GetService("UserInputService").InputChanged,
function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
if slidinghue then
update()
end
if slidingsaturation then
update()
end
end
end)
local colorpickertypes = {}
Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if Colorpicker.Visible and Input.UserInputType ==
Enum.UserInputType.MouseButton1 and input.UserInputType == Enum.UserInputType.Touch
then
if not Library:IsMouseOverFrame(Colorpicker) and not
Library:IsMouseOverFrame(ColorpickerFrame) then
Colorpicker.Position = UDim2.new(0,
ColorpickerFrame.AbsolutePosition.X - 100, 0, ColorpickerFrame.AbsolutePosition.Y +
25)
TweenService:Create(Colorpicker, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {BackgroundTransparency =
1}):Play()
TweenService:Create(Colorpicker, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Position = UDim2.new(0,
ColorpickerFrame.AbsolutePosition.X - 100, 0,
ColorpickerFrame.AbsolutePosition.Y)}):Play()
task.spawn(function()
task.wait(0.1)
Colorpicker.Visible = false
parent.ZIndex = 1
Library.Cooldown = false
end)
for _,V in next, Colorpicker:GetDescendants() do
if V:IsA("Frame") or V:IsA("TextButton") or
V:IsA("ScrollingFrame") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {BackgroundTransparency =
1}):Play()
Library.VisValues[V] = V.BackgroundTransparency
elseif V:IsA("TextLabel") or V:IsA("TextBox") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextTransparency = 1}):Play()
Library.VisValues[V] = V.TextTransparency
elseif V:IsA("ImageLabel") or V:IsA("ImageButton") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {ImageTransparency =
1}):Play();
Library.VisValues[V] = V.ImageTransparency
elseif V:IsA("UIStroke") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Transparency = 1}):Play()
Library.VisValues[V] = V.Transparency
end
end
end
end
end)
ColorpickerFrame.MouseButton1Click:Connect(function()
if Colorpicker.Visible == false then
Colorpicker.Position = UDim2.new(0,
ColorpickerFrame.AbsolutePosition.X - 100, 0, ColorpickerFrame.AbsolutePosition.Y)
TweenService:Create(Colorpicker, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0,
ColorpickerFrame.AbsolutePosition.X - 100, 0, ColorpickerFrame.AbsolutePosition.Y +
25)}):Play()
end
Colorpicker.Visible = not Colorpicker.Visible -- who tf thought
Colorpicker.Visible = true was a good idea like atzlazyblue founded this problem
parent.ZIndex = 100
Library.Cooldown = true
TweenService:Create(Colorpicker, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {BackgroundTransparency =
0}):Play()
for _, V in next, Colorpicker:GetDescendants() do
if V:IsA("Frame") or V:IsA("TextButton") or
V:IsA("ScrollingFrame") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {BackgroundTransparency =
Library.VisValues[V]}):Play()
elseif V:IsA("TextLabel") or V:IsA("TextBox") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextTransparency =
Library.VisValues[V]}):Play()
elseif V:IsA("ImageLabel") or V:IsA("ImageButton") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {ImageTransparency =
Library.VisValues[V]}):Play()
elseif V:IsA("UIStroke") then
TweenService:Create(V, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Transparency = 0}):Play()
end
end
if slidinghue then
slidinghue = false
end
if slidingsaturation then
slidingsaturation = false
end
end)
Inline.Parent = Outline
function notification:remove()
table.remove(Library.Notifs, table.find(Library.Notifs,
notification))
Library:updateNotifsPositions(Position)
task.wait(0.5)
NewInd:Destroy()
end
task.spawn(function()
Outline.AnchorPoint = Vector2.new(1,0)
for i,v in next, NewInd:GetDescendants() do
if v:IsA("Frame") then
game:GetService("TweenService"):Create(v,
TweenInfo.new(1, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}):Play()
elseif v:IsA("UIStroke") then
game:GetService("TweenService"):Create(v,
TweenInfo.new(1, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out),
{Transparency = 0}):Play()
end
end
local Tween1 = game:GetService("TweenService"):Create(Outline,
TweenInfo.new(1, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out),
{AnchorPoint = Vector2.new(0,0)}):Play()
game:GetService("TweenService"):Create(Title, TweenInfo.new(1,
Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {TextTransparency =
0}):Play()
task.wait(duration)
--game:GetService("TweenService"):Create(ActualInd,
TweenInfo.new(1, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out),
{AnchorPoint = Vector2.new(1,0)}):Play()
for i,v in next, NewInd:GetDescendants() do
if v:IsA("Frame") then
game:GetService("TweenService"):Create(v,
TweenInfo.new(1, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out),
{BackgroundTransparency = 1}):Play()
elseif v:IsA("UIStroke") then
game:GetService("TweenService"):Create(v,
TweenInfo.new(1, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out),
{Transparency = 1}):Play()
end
end
game:GetService("TweenService"):Create(Title, TweenInfo.new(1,
Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {TextTransparency =
1}):Play()
end)
table.insert(Library.Notifs, notification)
Library:updateNotifsPositions(Position)
NewInd.Position = UDim2.new(0,Position.X,0,Position.Y +
(table.find(Library.Notifs, notification) * 25))
return notification
end
-- // Main
do
local Pages = Library.Pages;
local Sections = Library.Sections;
--
function Library:New(Properties)
if not Properties then
Properties = {}
end
--
local Window = {
Size = Properties.Size or UDim2.new(0,600,0,450),
Pages = {},
PageAxis = 0,
Dragging = { false, UDim2.new(0, 0, 0, 0) },
Resized = nil,
Elements = {},
}
--
local ScreenGui = Instance.new('ScreenGui',
game:GetService("RunService"):IsStudio() and game.Players.LocalPlayer.PlayerGui or
game.CoreGui)
local Outline = Instance.new('Frame', ScreenGui)
MakeDraggable(Outline)
local UICorner = Instance.new('UICorner', Outline)
local UIStroke = Instance.new('UIStroke', Outline)
local Inline = Instance.new('Frame', Outline)
local UICorner_2 = Instance.new('UICorner', Inline)
local Holder = Instance.new('Frame', Inline)
local UICorner = Instance.new('UICorner', Holder)
local Frame = Instance.new('Frame', Holder)
local Tabs = Instance.new('Frame', Inline)
local UIListLayout = Instance.new('UIListLayout', Tabs)
local TextButton = Instance.new('TextButton', Inline)
--
if UserInputService.TouchEnabled then
local ToggleSG = Instance.new("ScreenGui", game.CoreGui)
local button = Instance.new("TextButton", ToggleSG)
local UICorner_Inf = Instance.new("UICorner", button)
ToggleSG.DisplayOrder = 9999
--
button.Size = UDim2.new(0, 80, 0, 20)
button.AnchorPoint = Vector2.new(1, 0)
button.Position = UDim2.new(1, -10, 0, 32)
button.BackgroundColor3 = Color3.fromRGB(16,16,16)
button.AutoButtonColor = false
button.BorderColor3 = Color3.new(0,0,0)
button.RichText = true
button.TextSize = 12
button.Font = Enum.Font.Ubuntu
button.Text = '<font color="#d0e300">Starhook</font><font
color="#FFFFFF">.club</font>'
button.TextColor3 = Color3.new(1,1,1)
--
UICorner_Inf.CornerRadius = UDim.new(0.25,0)
--
button.MouseButton1Click:Connect(function()
Outline.Visible = not Outline.Visible
end)
end;
--
ScreenGui.DisplayOrder = 100
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Library.ScreenGUI = ScreenGui
--
Outline.Name = "Outline"
Outline.Position = UDim2.new(0.5,0,0.5,0)
Outline.Size = UDim2.new(0,0,0,40)
Outline.BackgroundColor3 = Color3.new(0.1961,0.1961,0.1961)
Outline.BorderColor3 = Color3.new(0,0,0)
Outline.AnchorPoint = Vector2.new(0.5,0.5)
Outline.ZIndex = 50
Outline.ClipsDescendants = false
Library.Holder = Outline
Library.OldSize = Window.Size
--
local Logo = Instance.new("ImageLabel")
Logo.Name = "Logo"
Logo.Image = Properties.Logo
Logo.ScaleType = Enum.ScaleType.Fit
Logo.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Logo.BackgroundTransparency = 1
Logo.BorderColor3 = Color3.fromRGB(0, 0, 0)
Logo.BorderSizePixel = 0
Logo.Position = UDim2.fromOffset(10, -20)
Logo.ImageColor3 = Properties.LogoRGB
Logo.Size = UDim2.fromOffset(90, 90)
Logo.Parent = Holder
--
Inline.Name = "Inline"
Inline.Position = UDim2.new(0,1,0,1)
Inline.Size = UDim2.new(1,-2,1,-2)
Inline.BackgroundColor3 = Color3.new(0.051,0.051,0.051)
Inline.BorderSizePixel = 0
Inline.BorderColor3 = Color3.new(0,0,0)
Inline.ZIndex = 51
--
Holder.Name = "Holder"
Holder.Position = UDim2.new(0,150,0,0)
Holder.Size = UDim2.new(1,-150,1,0)
Holder.BackgroundColor3 = Color3.new(0.0588235, 0.0588235,
0.0588235)
Holder.BorderSizePixel = 0
Holder.BorderColor3 = Color3.new(0,0,0)
Holder.ZIndex = 52
--
Frame.Size = UDim2.new(0,5,1,0)
Frame.BackgroundColor3 = Color3.new(0.0588235, 0.0588235,
0.0588235)
Frame.BorderSizePixel = 0
Frame.BorderColor3 = Color3.new(0,0,0)
--
Tabs.Name = "Tabs"
Tabs.Position = UDim2.new(0,5,0,10)
Tabs.Size = UDim2.new(0,140,1,-20)
Tabs.BackgroundColor3 = Color3.new(1,1,1)
Tabs.BackgroundTransparency = 1.01
Tabs.BorderSizePixel = 0
Tabs.BorderColor3 = Color3.new(0,0,0)
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0,4)
--
TextButton.Size = UDim2.new(1,0,0,20)
TextButton.BackgroundColor3 = Color3.new(1,1,1)
TextButton.BackgroundTransparency = 1
TextButton.BorderSizePixel = 0
TextButton.BorderColor3 = Color3.new(0,0,0)
TextButton.Text = ""
TextButton.TextColor3 = Color3.new(0,0,0)
TextButton.AutoButtonColor = false
TextButton.Font = Enum.Font.SourceSans
TextButton.TextSize = 14
TextButton.ZIndex = 100
-- // Elements
Window.Elements = {
TabHolder = Tabs,
Holder = Holder,
FadeThing = FadeThing
}
-- // Functions
function Window:UpdateTabs()
for Index, Page in pairs(Window.Pages) do
Page:Turn(Page.Open)
end
end
Library:Connection(game:GetService("UserInputService").InputBegan,
function(Inp)
if Inp.KeyCode == Library.UIKey then
Library:SetOpen(not Library.Open)
end
end)
game:GetService("TweenService"):Create(Library.Holder,
TweenInfo.new(0.25, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size
= UDim2.new(0, Window.Size.X.Offset,0,Window.Size.Y.Offset)}):Play()
-- // Returns
Library.Holder = Outline
return setmetatable(Window, Library)
end
--
function Library:Seperator(Properties)
if not Properties then
Properties = {}
end
--
local Page = {
Name = Properties.Name or "Page",
Window = self,
Elements = {},
}
--
local TextSep = Instance.new('Frame',
Page.Window.Elements.TabHolder)
local TextLabel = Instance.new('TextLabel', TextSep)
--
TextSep.Name = "TextSep"
TextSep.Size = UDim2.new(1,0,0,20)
TextSep.BackgroundColor3 = Color3.new(1,1,1)
TextSep.BackgroundTransparency = 1
TextSep.BorderSizePixel = 0
TextSep.BorderColor3 = Color3.new(0,0,0)
--
TextLabel.Position = UDim2.new(0,8,0,0)
TextLabel.Size = UDim2.new(1,-10,1,0)
TextLabel.BackgroundColor3 = Color3.new(1,1,1)
TextLabel.BackgroundTransparency = 1
TextLabel.BorderSizePixel = 0
TextLabel.BorderColor3 = Color3.new(0,0,0)
TextLabel.Text = Page.Name
TextLabel.TextColor3 = Color3.new(0.7059,0.7059,0.7059)
TextLabel.Font = Enum.Font.Gotham
TextLabel.TextSize = Library.FontSize
TextLabel.TextXAlignment = Enum.TextXAlignment.Left
end
--
function Library:Page(Properties)
if not Properties then
Properties = {}
end
--
local Page = {
Name = Properties.Name or "Page",
Icon = Properties.Icon or "http://www.roblox.com/asset/?
id=6022668955",
Window = self,
Open = false,
Sections = {},
Elements = {},
}
--
local TabButton = Instance.new('TextButton',
Page.Window.Elements.TabHolder)
local UICorner_3 = Instance.new('UICorner', TabButton)
local Accent = Instance.new('Frame', TabButton)
local UICorner = Instance.new('UICorner', Accent)
local Title = Instance.new('TextLabel', TabButton)
local Icon = Instance.new('ImageLabel', TabButton)
local NewPage = Instance.new('Frame',
Page.Window.Elements.Holder)
local Left = Instance.new('Frame', NewPage)
local LeftLayout = Instance.new('UIListLayout', Left)
local Right = Instance.new('Frame', NewPage)
local RightLayout = Instance.new('UIListLayout', Right)
--
TabButton.Name = "TabButton"
TabButton.Size = UDim2.new(1,0,0,30)
TabButton.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
TabButton.BorderSizePixel = 0
TabButton.BackgroundTransparency = 1
TabButton.BorderColor3 = Color3.new(0,0,0)
TabButton.Text = ""
TabButton.TextColor3 = Color3.new(0,0,0)
TabButton.AutoButtonColor = false
TabButton.Font = Enum.Font.SourceSans
TabButton.TextSize = 14
TabButton.ClipsDescendants = true
--
Accent.Name = "Accent"
Accent.Position = UDim2.new(0,-8,0,5)
Accent.Size = UDim2.new(0,10,1,-10)
Accent.BackgroundColor3 = Library.Accent
Accent.BorderSizePixel = 0
Accent.BorderColor3 = Color3.new(0,0,0)
Accent.BackgroundTransparency = 0
table.insert(Library.ThemeObjects, Accent)
--
Title.Name = "Title"
Title.Position = UDim2.new(0,35,0,0)
Title.Size = UDim2.new(1,-10,1,0)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.Text = Page.Name
Title.TextColor3 = Color3.fromRGB(120,120,120)
Title.Font = Enum.Font.Gotham
Title.TextSize = Library.FontSize
Title.TextXAlignment = Enum.TextXAlignment.Left
--
Icon.Name = "Icon"
Icon.Position = UDim2.new(0,11,0,8)
Icon.Size = UDim2.new(0,15,0,15)
Icon.BackgroundColor3 = Color3.new(1,1,1)
Icon.BackgroundTransparency = 1
Icon.BorderSizePixel = 0
Icon.BorderColor3 = Color3.new(0,0,0)
Icon.Image = Page.Icon
Icon.ImageColor3 = Color3.fromRGB(120,120,120)
--
NewPage.Name = "NewPage"
NewPage.Position = UDim2.new(0,10,0,60)
NewPage.Size = UDim2.new(1,-20,1,-65)
NewPage.BackgroundColor3 = Color3.new(1,1,1)
NewPage.BackgroundTransparency = 1
NewPage.BorderSizePixel = 0
NewPage.BorderColor3 = Color3.new(0,0,0)
NewPage.ZIndex = 53
NewPage.Visible = false
--
Left.Name = "Left"
Left.Size = UDim2.new(0.5,-4,1,0)
Left.BackgroundColor3 = Color3.new(1,1,1)
Left.BackgroundTransparency = 1
Left.BorderSizePixel = 0
--// Left.ScrollBarThickness = 0.1
Left.BorderColor3 = Color3.new(0,0,0)
Left.ZIndex = 54
--
LeftLayout.Name = "LeftLayout"
LeftLayout.SortOrder = Enum.SortOrder.LayoutOrder
LeftLayout.Padding = UDim.new(0,8)
--
Right.Name = "Right"
Right.Position = UDim2.new(0.5,4,0,0)
Right.Size = UDim2.new(0.5,-4,1,0)
--// Right.ScrollBarThickness = 0.1
Right.BackgroundColor3 = Color3.new(1,1,1)
Right.BackgroundTransparency = 1
Right.BorderSizePixel = 0
Right.BorderColor3 = Color3.new(0,0,0)
Right.ZIndex = 53
--
RightLayout.Name = "RightLayout"
RightLayout.SortOrder = Enum.SortOrder.LayoutOrder
RightLayout.Padding = UDim.new(0,8)
-- // Functions
function Page:Turn(bool)
Page.Open = bool
task.spawn(function()
Page.Window.Elements.FadeThing.Visible = true
TweenService:Create(Page.Window.Elements.FadeThing,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}):Play()
task.wait(0.1)
NewPage.Visible = Page.Open
TweenService:Create(Page.Window.Elements.FadeThing,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{BackgroundTransparency = 1}):Play()
task.wait(0.1)
Page.Window.Elements.FadeThing.Visible = false
end)
game:GetService("TweenService"):Create(TabButton,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{BackgroundTransparency = Page.Open and 0 or 1}):Play()
game:GetService("TweenService"):Create(Title,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Page.Open and Color3.fromRGB(200,200,200) or Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {ImageColor3
= Page.Open and Color3.fromRGB(200,200,200) or Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(Accent,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{BackgroundTransparency = Page.Open and 0 or 1}):Play()
end
--
Library:Connection(TabButton.MouseButton1Click, 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
game:GetService("TweenService"):Create(Title,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Color3.fromRGB(180,180,180)}):Play()
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {ImageColor3
= Color3.fromRGB(180,180,180)}):Play()
end
end)
--
Library:Connection(TabButton.MouseLeave, function()
if not Page.Open then
game:GetService("TweenService"):Create(Title,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {ImageColor3
= Color3.fromRGB(120,120,120)}):Play()
end
end)
-- // Elements
Page.Elements = {
Left = Left,
Right = Right,
TabButton = TabButton
}
-- // 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: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(),
Size = Properties.size or Properties.Size or 200,
Elements = {},
Content = {},
}
--
local NewSection = Instance.new('Frame', Section.Side == "left"
and Section.Page.Elements.Left or Section.Side == "right" and
Section.Page.Elements.Right)
local UIStroke = Instance.new('UIStroke', NewSection)
local UICorner = Instance.new('UICorner', NewSection)
local Frame = Instance.new('Frame', NewSection)
local Title = Instance.new('TextLabel', NewSection)
local Content = Instance.new('Frame', NewSection)
local UIListLayout = Instance.new('UIListLayout', Content)
--
NewSection.Name = "NewSection"
NewSection.Size = Section.Size == "Fill" and UDim2.new(1,0,1,0)
or UDim2.new(1,0,0,Section.Size)
NewSection.BackgroundColor3 = Color3.new(0.0784314, 0.0784314,
0.0784314)
NewSection.BorderSizePixel = 0
NewSection.BorderColor3 = Color3.new(0,0,0)
NewSection.ZIndex = 53
--
UIStroke.Color = Color3.new(0.137255, 0.137255, 0.137255)
--
Frame.Position = UDim2.new(0,0,0,20)
Frame.Size = UDim2.new(1,0,0,1)
Frame.BackgroundColor3 = Color3.new(0.1569,0.1569,0.1569)
Frame.BorderSizePixel = 0
Frame.BorderColor3 = Color3.new(0,0,0)
--
Title.Name = "Title"
Title.Position = UDim2.new(0,8,0,1)
Title.Size = UDim2.new(1,-10,0,20)
Title.BackgroundColor3 = Color3.new(1,1,1)
Title.BackgroundTransparency = 1
Title.BorderSizePixel = 0
Title.BorderColor3 = Color3.new(0,0,0)
Title.Text = Section.Name
Title.TextColor3 = Color3.new(0.7059,0.7059,0.7059)
Title.Font = Enum.Font.Gotham
Title.TextSize = Library.FontSize
Title.TextXAlignment = Enum.TextXAlignment.Left
--
Content.Name = "Content"
Content.Position = UDim2.new(0,10,0,30)
Content.Size = UDim2.new(1,-20,1,-40)
Content.BackgroundColor3 = Color3.new(1,1,1)
Content.BackgroundTransparency = 1
Content.BorderSizePixel = 0
Content.BorderColor3 = Color3.new(0,0,0)
Content.ZIndex = 53
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0,8)
-- // Elements
Section.Elements = {
SectionContent = Content
}
-- // Returning
Section.Page.Sections[#Section.Page.Sections + 1] = Section
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,
}
--
local NewToggle = Instance.new('TextButton',
Toggle.Section.Elements.SectionContent)
local ToggleTitle = Instance.new('TextLabel', NewToggle)
local ToggleFrame = Instance.new('Frame', NewToggle)
local UICorner_2 = Instance.new('UICorner', ToggleFrame)
local ToggleAccent = Instance.new('Frame', ToggleFrame)
local UICorner_3 = Instance.new('UICorner', ToggleAccent)
local Circle = Instance.new('Frame', ToggleFrame)
local UICorner_4 = Instance.new('UICorner', Circle)
--
NewToggle.Name = "NewToggle"
NewToggle.Size = UDim2.new(1,0,0,17)
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.Font = Enum.Font.SourceSans
NewToggle.TextSize = 14
NewToggle.ZIndex = 53
--
ToggleTitle.Name = "ToggleTitle"
ToggleTitle.Size = UDim2.new(1,-10,0,17)
ToggleTitle.BackgroundColor3 = Color3.new(1,1,1)
ToggleTitle.BackgroundTransparency = 1
ToggleTitle.BorderSizePixel = 0
ToggleTitle.BorderColor3 = Color3.new(0,0,0)
ToggleTitle.Text = Toggle.Name
ToggleTitle.TextColor3 = Color3.new(0.7843,0.7843,0.7843)
ToggleTitle.Font = Enum.Font.Gotham
ToggleTitle.TextSize = Library.FontSize
ToggleTitle.TextXAlignment = Enum.TextXAlignment.Left
--
ToggleFrame.Name = "ToggleFrame"
ToggleFrame.Position = UDim2.new(1,-40,0,0)
ToggleFrame.Size = UDim2.new(0,40,1,0)
ToggleFrame.BackgroundColor3 = Color3.new(0.051,0.051,0.051)
ToggleFrame.BorderSizePixel = 0
ToggleFrame.BorderColor3 = Color3.new(0,0,0)
ToggleFrame.ZIndex = 53
--
ToggleAccent.Name = "ToggleAccent"
ToggleAccent.Position = UDim2.new(0,1,0,1)
ToggleAccent.Size = UDim2.new(1,-2,1,-2)
ToggleAccent.BackgroundColor3 = Library.Accent
ToggleAccent.BackgroundTransparency = 1
ToggleAccent.BorderSizePixel = 0
ToggleAccent.BorderColor3 = Color3.new(0,0,0)
ToggleAccent.ZIndex = 53
table.insert(Library.ThemeObjects, ToggleAccent)
--
Circle.Name = "Circle"
Circle.Position = UDim2.new(0,5,0.5,-5)
Circle.Size = UDim2.new(0,10,0,10)
Circle.BackgroundColor3 = Color3.new(1,1,1)
Circle.BorderSizePixel = 0
Circle.BorderColor3 = Color3.new(0,0,0)
Circle.ZIndex = 53
--
UICorner_4.CornerRadius = UDim.new(1,0)
-- // Functions
local function SetState()
Toggle.Toggled = not Toggle.Toggled
if Toggle.Toggled then
game:GetService("TweenService"):Create(ToggleAccent,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}):Play()
game:GetService("TweenService"):Create(Circle,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(1,-15,0.5,-5)}):Play()
else
game:GetService("TweenService"):Create(ToggleAccent,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 1}):Play()
game:GetService("TweenService"):Create(Circle,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,5,0.5,-5)}):Play()
end
Library.Flags[Toggle.Flag] = Toggle.Toggled
Toggle.Callback(Toggle.Toggled)
end
-- // Options List
function Toggle:OptionList(Properties)
if not Properties then
Properties = {}
end
--
local Section = {
Elements = {},
Content = {},
}
--
local OptionButton = Instance.new('ImageButton', NewToggle)
local OptionList = Instance.new('Frame', OptionButton)
local UICorner = Instance.new('UICorner', OptionList)
local UIStroke = Instance.new('UIStroke', OptionList)
local OptionContent = Instance.new('Frame', OptionList)
local UIListLayout = Instance.new('UIListLayout',
OptionContent)
--
OptionButton.Name = "OptionButton"
OptionButton.Position = UDim2.new(1,-65,0,1)
OptionButton.Size = UDim2.new(0,15,0,15)
OptionButton.BackgroundColor3 = Color3.new(1,1,1)
OptionButton.BackgroundTransparency = 1
OptionButton.BorderSizePixel = 0
OptionButton.BorderColor3 = Color3.new(0,0,0)
OptionButton.Image = "http://www.roblox.com/asset/?
id=6031280882"
OptionButton.ImageColor3 = Color3.new(0.7843,0.7843,0.7843)
OptionButton.ZIndex = 54
--
OptionList.Name = "OptionList"
OptionList.Position = UDim2.new(0,70,0,-10)
OptionList.Size = UDim2.new(0,200,0,10)
OptionList.BackgroundColor3 = Color3.new(0.0784314,
0.0784314, 0.0784314)
OptionList.BorderSizePixel = 0
OptionList.BorderColor3 = Color3.new(0,0,0)
OptionList.AutomaticSize = Enum.AutomaticSize.Y
OptionList.Visible = false
OptionList.ZIndex = 54
--
UIStroke.Color = Color3.new(0.137255, 0.137255, 0.137255)
--
OptionContent.Name = "OptionContent"
OptionContent.Position = UDim2.new(0,10,0,10)
OptionContent.Size = UDim2.new(1,-20,1,-10)
OptionContent.BackgroundColor3 = Color3.new(1,1,1)
OptionContent.BackgroundTransparency = 1
OptionContent.BorderSizePixel = 0
OptionContent.BorderColor3 = Color3.new(0,0,0)
OptionContent.AutomaticSize = Enum.AutomaticSize.Y
OptionContent.ZIndex = 54
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0,4)
--
Library:Connection(OptionButton.MouseButton1Click,
function()
local State = not OptionList.Visible
--// local Position = OptionButton.AbsolutePosition
--// OptionList.Position =
UDim2.fromOffset(Position.X, Position.Y)
OptionList.Visible = State
Library.OptionListOpen = State
end)
--
Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if (Library.DropdownOpen) then return end;
-- // Elements
Section.Elements = {
SectionContent = OptionContent
}
-- // Returning
return setmetatable(Section, Library.Sections)
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
Library:Connection(NewToggle.MouseButton1Click, SetState)
return Toggle
end
--
function Sections:Nest(Properties)
if not Properties then
Properties = {}
end
--
local Section = {
Name = Properties.Name or "Section",
RealSection = self,
Size = Properties.size or Properties.Size or 200,
Elements = {},
Content = {},
}
--
local ScrollHolder = Instance.new("Frame",
Section.RealSection.Elements.SectionContent)
local NewScroll = Instance.new('ScrollingFrame', ScrollHolder)
local UICorner2 = Instance.new('UICorner', ScrollHolder)
local UIStroke = Instance.new('UIStroke', ScrollHolder)
local ScrollContent = Instance.new('Frame', NewScroll)
local UIListLayout = Instance.new('UIListLayout', ScrollContent)
--
ScrollHolder.Name = "ScrollHolder"
ScrollHolder.Size = UDim2.new(1,0,0,Section.Size)
ScrollHolder.BackgroundColor3 = Color3.new(0.0784314, 0.0784314,
0.0784314)
ScrollHolder.BorderSizePixel = 0
ScrollHolder.BorderColor3 = Color3.new(0,0,0)
ScrollHolder.ClipsDescendants = true
--
NewScroll.Name = "NewScroll"
NewScroll.Size = UDim2.new(1,0,1,0)
NewScroll.BackgroundColor3 = Color3.new(0.098,0.098,0.098)
NewScroll.BackgroundTransparency = 1
NewScroll.BorderSizePixel = 0
NewScroll.BorderColor3 = Color3.new(0,0,0)
NewScroll.CanvasSize = UDim2.new(0,0,0,0)
NewScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
NewScroll.ScrollBarThickness = 2
NewScroll.TopImage = ""
NewScroll.BottomImage = ""
NewScroll.VerticalScrollBarInset = Enum.ScrollBarInset.Always
NewScroll.ScrollBarImageColor3 = Library.Accent
NewScroll.ClipsDescendants = true
table.insert(Library.ThemeObjects, NewScroll)
--
UIStroke.Color = Color3.new(0.137255, 0.137255, 0.137255)
--
ScrollContent.Name = "ScrollContent"
ScrollContent.Position = UDim2.new(0,10,0,5)
ScrollContent.Size = UDim2.new(1,-20,0,0)
ScrollContent.BackgroundColor3 = Color3.new(1,1,1)
ScrollContent.BackgroundTransparency = 1
ScrollContent.BorderSizePixel = 0
ScrollContent.BorderColor3 = Color3.new(0,0,0)
ScrollContent.AutomaticSize = Enum.AutomaticSize.Y
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0,4)
-- // Elements
Section.Elements = {
SectionContent = ScrollContent
}
-- // Returning
return setmetatable(Section, Library.Sections)
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 "Slider",
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(),
}
local TextValue = ("[value]" .. Slider.Sub)
--
local NewSlider = Instance.new('TextButton',
Slider.Section.Elements.SectionContent)
local SliderTitle = Instance.new('TextLabel', NewSlider)
local ToggleFrame = Instance.new('Frame', NewSlider)
local UICorner_2 = Instance.new('UICorner', ToggleFrame)
local FillHold = Instance.new('Frame', ToggleFrame)
local UICorner_3 = Instance.new('UICorner', FillHold)
local Fill = Instance.new('TextButton', FillHold)
local UICorner_4 = Instance.new('UICorner', Fill)
local Circle = Instance.new('Frame', Fill)
local UICorner_5 = Instance.new('UICorner', Circle)
local SliderValue = Instance.new('TextLabel', NewSlider)
--
NewSlider.Name = "NewSlider"
NewSlider.Size = UDim2.new(1,0,0,32)
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.Font = Enum.Font.SourceSans
NewSlider.TextSize = 14
NewSlider.ZIndex = 53
--
SliderTitle.Name = "SliderTitle"
SliderTitle.Size = UDim2.new(1,-10,0,17)
SliderTitle.BackgroundColor3 = Color3.new(1,1,1)
SliderTitle.BackgroundTransparency = 1
SliderTitle.BorderSizePixel = 0
SliderTitle.BorderColor3 = Color3.new(0,0,0)
SliderTitle.Text = Slider.Name
SliderTitle.TextColor3 = Color3.new(0.7843,0.7843,0.7843)
SliderTitle.Font = Enum.Font.Gotham
SliderTitle.TextSize = Library.FontSize
SliderTitle.TextXAlignment = Enum.TextXAlignment.Left
--
ToggleFrame.Name = "ToggleFrame"
ToggleFrame.Position = UDim2.new(0,0,1,-8)
ToggleFrame.Size = UDim2.new(1,0,0,8)
ToggleFrame.BackgroundColor3 = Color3.new(0.051,0.051,0.051)
ToggleFrame.BorderSizePixel = 0
ToggleFrame.BorderColor3 = Color3.new(0,0,0)
ToggleFrame.ZIndex = 53
--
FillHold.Name = "FillHold"
FillHold.Position = UDim2.new(0,1,0,1)
FillHold.Size = UDim2.new(1,-2,1,-2)
FillHold.BackgroundColor3 = Color3.new(0.6667,0.6667,1)
FillHold.BackgroundTransparency = 1
FillHold.BorderSizePixel = 0
FillHold.BorderColor3 = Color3.new(0,0,0)
FillHold.ZIndex = 53
--
Fill.Name = "Fill"
Fill.Size = UDim2.new(0,0,1,0)
Fill.BackgroundColor3 = Library.Accent
Fill.BorderSizePixel = 0
Fill.BorderColor3 = Color3.new(0,0,0)
Fill.Text = ""
Fill.TextColor3 = Color3.new(0,0,0)
Fill.AutoButtonColor = false
Fill.Font = Enum.Font.SourceSans
Fill.TextSize = 14
Fill.ZIndex = 53
table.insert(Library.ThemeObjects, Fill)
--
Circle.Name = "Circle"
Circle.Position = UDim2.new(1,-6,0.5,-6)
Circle.Size = UDim2.new(0,13,0,13)
Circle.BackgroundColor3 = Color3.new(1,1,1)
Circle.BorderSizePixel = 0
Circle.BorderColor3 = Color3.new(0,0,0)
Circle.ZIndex = 53
--
UICorner_5.CornerRadius = UDim.new(1,0)
--
SliderValue.Name = "SliderValue"
SliderValue.Size = UDim2.new(1,0,0,17)
SliderValue.BackgroundColor3 = Color3.new(1,1,1)
SliderValue.BackgroundTransparency = 1
SliderValue.BorderSizePixel = 0
SliderValue.BorderColor3 = Color3.new(0,0,0)
SliderValue.Text = ""
SliderValue.TextColor3 = Color3.new(0.4706,0.4706,0.4706)
SliderValue.Font = Enum.Font.Gotham
SliderValue.TextSize = Library.FontSize
SliderValue.TextXAlignment = Enum.TextXAlignment.Right
-- // Functions
local Sliding = false
local Val = Slider.State
Library:Connection(NewSlider.InputBegan, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
Sliding = true
Slide(input)
end
end)
Library:Connection(NewSlider.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
Sliding = false
end
end)
Library:Connection(Fill.InputBegan, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
Sliding = true
Slide(input)
end
end)
Library:Connection(Fill.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
Sliding = false
end
end)
Library:Connection(game:GetService("UserInputService").InputChanged,
function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or
input.UserInputType == Enum.UserInputType.Touch then
if Sliding then
Slide(input)
end
end
end)
function Slider:Set(Value)
Set(Value)
end
Flags[Slider.Flag] = Set
Library.Flags[Slider.Flag] = Slider.State
Set(Slider.State)
-- // Returning
return Slider
end
--
function Sections:List(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 NewDropdown = Instance.new('Frame',
Dropdown.Section.Elements.SectionContent)
local DropdownTitle = Instance.new('TextLabel', NewDropdown)
local ToggleFrame = Instance.new('TextButton', NewDropdown)
local UICorner_2 = Instance.new('UICorner', ToggleFrame)
local ToggleContent = Instance.new('Frame', ToggleFrame)
local UICorner_3 = Instance.new('UICorner', ToggleContent)
local UIListLayout = Instance.new('UIListLayout', ToggleContent)
local DropdownTitle_2 = Instance.new('TextLabel', ToggleFrame)
local Icon = Instance.new('ImageLabel', ToggleFrame)
--
NewDropdown.Name = "NewDropdown"
NewDropdown.Size = UDim2.new(1,0,0,48)
NewDropdown.BackgroundColor3 = Color3.new(1,1,1)
NewDropdown.BackgroundTransparency = 1
NewDropdown.BorderSizePixel = 0
NewDropdown.BorderColor3 = Color3.new(0,0,0)
NewDropdown.ZIndex = 54
--
DropdownTitle.Name = "DropdownTitle"
DropdownTitle.Size = UDim2.new(1,-10,0,17)
DropdownTitle.BackgroundColor3 = Color3.new(1,1,1)
DropdownTitle.BackgroundTransparency = 1
DropdownTitle.BorderSizePixel = 0
DropdownTitle.BorderColor3 = Color3.new(0,0,0)
DropdownTitle.Text = Dropdown.Name
DropdownTitle.TextColor3 = Color3.new(0.7843,0.7843,0.7843)
DropdownTitle.Font = Enum.Font.Gotham
DropdownTitle.TextSize = Library.FontSize
DropdownTitle.TextXAlignment = Enum.TextXAlignment.Left
--
ToggleFrame.Name = "ToggleFrame"
ToggleFrame.Position = UDim2.new(0,0,1,-24)
ToggleFrame.Size = UDim2.new(1,0,0,24)
ToggleFrame.BackgroundColor3 = Color3.new(0.098,0.098,0.098)
ToggleFrame.BorderSizePixel = 0
ToggleFrame.BorderColor3 = Color3.new(0,0,0)
ToggleFrame.ZIndex = 54
ToggleFrame.AutoButtonColor = false
ToggleFrame.Text = ""
--
UICorner_2.CornerRadius = UDim.new(0,4)
--
ToggleContent.Name = "ToggleContent"
ToggleContent.Position = UDim2.new(0,0,1,0)
ToggleContent.Size = UDim2.new(1,0,0,0)
ToggleContent.BackgroundColor3 = Color3.new(0.0706,0.0706,0.0706)
ToggleContent.BorderSizePixel = 0
ToggleContent.BorderColor3 = Color3.new(0,0,0)
ToggleContent.ZIndex = 54
ToggleContent.ClipsDescendants = true
--
UICorner_3.CornerRadius = UDim.new(0,4)
--
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
--
DropdownTitle_2.Name = "DropdownTitle"
DropdownTitle_2.Position = UDim2.new(0,4,0,0)
DropdownTitle_2.Size = UDim2.new(1,-10,1,0)
DropdownTitle_2.BackgroundColor3 = Color3.new(1,1,1)
DropdownTitle_2.BackgroundTransparency = 1
DropdownTitle_2.BorderSizePixel = 0
DropdownTitle_2.BorderColor3 = Color3.new(0,0,0)
DropdownTitle_2.Text = ""
DropdownTitle_2.TextColor3 = Color3.new(0.7843,0.7843,0.7843)
DropdownTitle_2.Font = Enum.Font.Gotham
DropdownTitle_2.TextSize = Library.FontSize
DropdownTitle_2.TextXAlignment = Enum.TextXAlignment.Left
--
Icon.Name = "Icon"
Icon.Position = UDim2.new(1,-25,0,5)
Icon.Size = UDim2.new(0,20,0,15)
Icon.BackgroundColor3 = Color3.new(1,1,1)
Icon.BackgroundTransparency = 1
Icon.BorderSizePixel = 0
Icon.BorderColor3 = Color3.new(0,0,0)
Icon.Image = "http://www.roblox.com/asset/?id=6034818372"
Icon.ImageColor3 = Color3.new(0.4706,0.4706,0.4706)
Icon.ZIndex = 54
Library:Connection(ToggleFrame.MouseButton1Click, function()
Toggled = not Toggled
Library.DropdownOpen = Toggled
if Toggled then
NewDropdown.ZIndex = 55
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Rotation =
180}):Play()
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {ImageColor3
= Color3.fromRGB(200,200,200)}):Play()
game:GetService("TweenService"):Create(ToggleContent,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size =
UDim2.new(1,0,0,Count * 22)}):Play()
else
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Rotation =
0}):Play()
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {ImageColor3
= Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(ToggleContent,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size =
UDim2.new(1,0,0,0)}):Play()
task.wait(0.20)
NewDropdown.ZIndex = 54
end
end)
--
Library:Connection(game:GetService("UserInputService").InputBegan,
function(Input)
if ToggleContent.Visible and Input.UserInputType ==
Enum.UserInputType.MouseButton1 then
if not Library:IsMouseOverFrame(ToggleContent) and
not Library:IsMouseOverFrame(ToggleFrame) and not Library.OptionListOpen then
Toggled = false
Library.DropdownOpen = false
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {ImageColor3
= Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(Icon,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Rotation =
0}):Play()
game:GetService("TweenService"):Create(ToggleContent, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size =
UDim2.new(1,0,0,0)}):Play()
task.wait(0.20)
NewDropdown.ZIndex = 54
end
end
end)
--
local Chosen = Dropdown.Max and {} or nil
--
local function handleoptionclick(option, button, text, dot)
button.MouseButton1Click:Connect(function()
if Dropdown.Max then
if table.find(Chosen, option) then
table.remove(Chosen, table.find(Chosen,
option))
local textchosen = {}
local cutobject = false
game:GetService("TweenService"):Create(text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(dot, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency =
1}):Play()
game:GetService("TweenService"):Create(text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,4,0,0)}):Play()
Library.Flags[Dropdown.Flag] = Chosen
Dropdown.Callback(Chosen)
else
if #Chosen == Dropdown.Max then
Dropdown.OptionInsts[Chosen[1]].text.Visible = false
table.remove(Chosen, 1)
end
table.insert(Chosen, option)
local textchosen = {}
local cutobject = false
game:GetService("TweenService"):Create(text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(200,200,200)}):Play()
game:GetService("TweenService"):Create(dot, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency =
0}):Play()
game:GetService("TweenService"):Create(text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,20,0,0)}):Play()
Library.Flags[Dropdown.Flag] = Chosen
Dropdown.Callback(Chosen)
end
else
for opt, tbl in next, Dropdown.OptionInsts do
if opt ~= option then
game:GetService("TweenService"):Create(tbl.text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(tbl.text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,4,0,0)}):Play()
game:GetService("TweenService"):Create(tbl.dot, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency =
1}):Play()
end
end
Chosen = option
DropdownTitle_2.Text = option
game:GetService("TweenService"):Create(text,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(200,200,200)}):Play()
game:GetService("TweenService"):Create(dot,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}):Play()
game:GetService("TweenService"):Create(text,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,20,0,0)}):Play()
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 TextButton = Instance.new('TextButton',
ToggleContent)
local DropdownTitle3 = Instance.new('TextLabel',
TextButton)
local AccentDot = Instance.new('Frame', TextButton)
local OptionCorner = Instance.new('UICorner',
AccentDot)
--
TextButton.Size = UDim2.new(1,0,0,22)
TextButton.BackgroundColor3 = Color3.new(1,1,1)
TextButton.BackgroundTransparency = 1
TextButton.BorderSizePixel = 0
TextButton.BorderColor3 = Color3.new(0,0,0)
TextButton.Text = ""
TextButton.TextColor3 = Color3.new(0,0,0)
TextButton.AutoButtonColor = false
TextButton.Font = Enum.Font.SourceSans
TextButton.TextSize = 14
Dropdown.OptionInsts[option].button = TextButton
--
DropdownTitle3.Name = "DropdownTitle"
DropdownTitle3.Position = UDim2.new(0,20,0,0)
DropdownTitle3.Size = UDim2.new(1,-10,1,0)
DropdownTitle3.BackgroundColor3 = Color3.new(1,1,1)
DropdownTitle3.BackgroundTransparency = 1
DropdownTitle3.BorderSizePixel = 0
DropdownTitle3.BorderColor3 = Color3.new(0,0,0)
DropdownTitle3.Text = option
DropdownTitle3.TextColor3 =
Color3.fromRGB(120,120,120)
DropdownTitle3.Font = Enum.Font.Gotham
DropdownTitle3.TextSize = Library.FontSize
DropdownTitle3.TextXAlignment =
Enum.TextXAlignment.Left
Dropdown.OptionInsts[option].text = DropdownTitle3
--
AccentDot.Name = "AccentDot"
AccentDot.Position = UDim2.new(0,8,0,8)
AccentDot.Size = UDim2.new(0,6,0,6)
AccentDot.BackgroundColor3 = Library.Accent
AccentDot.BorderSizePixel = 0
AccentDot.BorderColor3 = Color3.new(0,0,0)
table.insert(Library.ThemeObjects, AccentDot)
Dropdown.OptionInsts[option].dot = AccentDot
--
OptionCorner.CornerRadius = UDim.new(1,0)
Count += 1
game:GetService("TweenService"):Create(tbl.text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(tbl.text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,4,0,0)}):Play()
game:GetService("TweenService"):Create(tbl.dot, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency =
1}):Play()
end
end
game:GetService("TweenService"):Create(Dropdown.OptionInsts[opt].text,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(200,200,200)}):Play()
game:GetService("TweenService"):Create(Dropdown.OptionInsts[opt].dot,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}):Play()
game:GetService("TweenService"):Create(Dropdown.OptionInsts[opt].text,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,20,0,0)}):Play()
end
end
local textchosen = {}
local cutobject = false
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
game:GetService("TweenService"):Create(tbl.text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(120,120,120)}):Play()
game:GetService("TweenService"):Create(tbl.text, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,4,0,0)}):Play()
game:GetService("TweenService"):Create(tbl.dot, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency =
1}):Play()
end
end
if table.find(Dropdown.Options, option) then
Chosen = option
DropdownTitle_2.Text = option
game:GetService("TweenService"):Create(Dropdown.OptionInsts[option].text,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(200,200,200)}):Play()
game:GetService("TweenService"):Create(Dropdown.OptionInsts[option].dot,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}):Play()
game:GetService("TweenService"):Create(Dropdown.OptionInsts[option].text,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position =
UDim2.new(0,20,0,0)}):Play()
Library.Flags[Dropdown.Flag] = Chosen
Dropdown.Callback(Chosen)
else
Chosen = nil
DropdownTitle_2.Text = ""
Library.Flags[Dropdown.Flag] = Chosen
Dropdown.Callback(Chosen)
end
end
end
--
function Dropdown:Refresh(tbl)
Count = 0
for _, opt in next, Dropdown.OptionInsts do
coroutine.wrap(function()
opt.button:Destroy()
end)()
end
table.clear(Dropdown.OptionInsts)
createoptions(tbl)
Chosen = nil
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)
return Dropdown
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)
),
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 NewColor = Instance.new("TextButton")
NewColor.Name = "NewColor"
NewColor.FontFace =
Font.new("rbxasset://fonts/families/SourceSansPro.json")
NewColor.Text = ""
NewColor.TextColor3 = Color3.fromRGB(0, 0, 0)
NewColor.TextSize = 14
NewColor.AutoButtonColor = false
NewColor.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
NewColor.BackgroundTransparency = 1
NewColor.BorderColor3 = Color3.fromRGB(0, 0, 0)
NewColor.BorderSizePixel = 0
NewColor.Size = UDim2.new(1, 0, 0, 17)
NewColor.ZIndex = 54
NewColor.Parent = Colorpicker.Section.Elements.SectionContent
-- // Functions
Colorpicker.Colorpickers = Colorpicker.Colorpickers + 1
local colorpickertypes = Library:NewPicker(
Colorpicker.Name,
Colorpicker.State,
NewColor,
Colorpicker.Colorpickers,
Colorpicker.Flag,
Colorpicker.Callback
)
function Colorpicker:Set(color)
colorpickertypes:Set(color, false, true)
end
function Colorpicker:Colorpicker(Properties)
local Properties = Properties or {}
local NewColorpicker = {
State = (
Properties.state
or Properties.State
or Properties.def
or Properties.Def
or Properties.default
or Properties.Default
or Color3.fromRGB(255, 0, 0)
),
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
Colorpicker.Colorpickers = Colorpicker.Colorpickers + 1
local Newcolorpickertypes = Library:NewPicker(
"",
NewColorpicker.State,
NewColor,
Colorpicker.Colorpickers,
NewColorpicker.Flag,
NewColorpicker.Callback
)
function NewColorpicker:Set(color)
Newcolorpickertypes:Set(color)
end
-- // Returning
return NewColorpicker
end
-- // Returning
return Colorpicker
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 Enum.KeyCode.E
),
Mode = (Properties.mode or Properties.Mode or "Toggle"),
UseKey = (Properties.UseKey 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("TextButton")
NewKey.Name = "NewKey"
NewKey.FontFace =
Font.new("rbxasset://fonts/families/SourceSansPro.json")
NewKey.Text = ""
NewKey.TextColor3 = Color3.fromRGB(0, 0, 0)
NewKey.TextSize = 14
NewKey.AutoButtonColor = false
NewKey.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
NewKey.BackgroundTransparency = 1
NewKey.BorderColor3 = Color3.fromRGB(0, 0, 0)
NewKey.BorderSizePixel = 0
NewKey.Size = UDim2.new(1, 0, 0, 17)
NewKey.ZIndex = 54
NewKey.Parent = Keybind.Section.Elements.SectionContent
-- // 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"
KeyText.Text = text
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.", ""))
KeyText.Text = text
end
KeyText.Text = "..."
TweenService:Create(KeyText, TweenInfo.new(0.25,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(255,255,255)}):Play()
Keybind.Binding = Library:Connection(
game:GetService("UserInputService").InputBegan,
function(input, gpe)
if gpe then return end;
if input.UserInputType ==
Enum.UserInputType.Touch then return end;
set(
input.UserInputType ==
Enum.UserInputType.Keyboard and input.KeyCode
or input.UserInputType
)
Library:Disconnect(Keybind.Binding)
task.wait()
Keybind.Binding = nil
TweenService:Create(KeyText,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(200, 200, 200)}):Play()
end
)
end
end)
--
Library:Connection(game:GetService("UserInputService").InputBegan,
function(inp, gpe)
if (gpe) then return end;
Library:Connection(game:GetService("UserInputService").InputEnded,
function(inp, gpe)
if gpe then return end;
-- // Returning
return Keybind
end
--
function Sections:Textbox(Properties)
local Properties = Properties or {}
local Textbox = {
Window = self.Window,
Page = self.Page,
Section = self,
Placeholder = (
Properties.placeholder
or Properties.Placeholder
or Properties.holder
or Properties.Holder
or "Enter your text here"
),
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 NewBox = Instance.new("Frame")
NewBox.Name = "NewBox"
NewBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
NewBox.BackgroundTransparency = 1
NewBox.BorderColor3 = Color3.fromRGB(0, 0, 0)
NewBox.BorderSizePixel = 0
NewBox.Size = UDim2.new(1, 0, 0, 24)
NewBox.ZIndex = 54
NewBox.Parent = Textbox.Section.Elements.SectionContent
ToggleFrame.Parent = NewBox
--
DropdownTitle.FocusLost:Connect(function()
Textbox.Callback(DropdownTitle.Text)
Library.Flags[Textbox.Flag] = DropdownTitle.Text
end)
--
local function set(str)
DropdownTitle.Text = str
Library.Flags[Textbox.Flag] = str
Textbox.Callback(str)
end
-- // Return
Flags[Textbox.Flag] = set
Library.Flags[Textbox.Flag] = DropdownTitle.Text
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")
NewButton.Name = "NewButton"
NewButton.FontFace =
Font.new("rbxasset://fonts/families/SourceSansPro.json")
NewButton.Text = ""
NewButton.TextColor3 = Color3.fromRGB(0, 0, 0)
NewButton.TextSize = 14
NewButton.AutoButtonColor = false
NewButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
NewButton.BackgroundTransparency = 1
NewButton.BorderColor3 = Color3.fromRGB(0, 0, 0)
NewButton.BorderSizePixel = 0
NewButton.Size = UDim2.new(1, 0, 0, 24)
NewButton.ZIndex = 54
NewButton.Parent = Button.Section.Elements.SectionContent
ToggleFrame.Parent = NewButton
--
Library:Connection(NewButton.MouseButton1Down, function()
Button.Callback()
TweenService:Create(DropdownTitle, TweenInfo.new(0.1,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(255,255,255)}):Play()
task.spawn(function()
task.wait(0.1)
TweenService:Create(DropdownTitle, TweenInfo.new(0.1,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Color3.fromRGB(200,200,200)}):Play()
end)
end)
end
--
function Library:Watermark(Properties)
local Watermark = {
Name = (Properties.Name or Properties.name or
"Starhook.club | placeholder");
AnimateText = nil;
}
--
local Outline = Instance.new("Frame")
Outline.Name = "Outline"
Outline.AnchorPoint = Vector2.new(1, 0)
Outline.AutomaticSize = Enum.AutomaticSize.X
Outline.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
Outline.BorderColor3 = Color3.fromRGB(0, 0, 0)
Outline.Position = UDim2.new(1, -10, 0, 10)
Outline.Size = UDim2.fromOffset(100, 20)
Outline.Visible = false
Outline.ZIndex = 50
Outline.Parent = Library.ScreenGUI
Inline.Parent = Outline
task.spawn(function()
while task.wait() do
for i = 1, #"Starhook.club" do
Watermark.AnimateText =
string.sub("Starhook.club", 1, i) .. "";
Title.Text = Watermark.AnimateText .. " " ..
Watermark.Name;
task.wait(0.4);
end;
for i = #"Starhook.club" - 1, 1, -1 do
Watermark.AnimateText =
string.sub("Starhook.club", 1, i) .. "";
Title.Text = Watermark.AnimateText .. " " ..
Watermark.Name;
task.wait(0.4);
end;
end;
end)
-- // Functions
function Watermark:UpdateText(NewText)
Watermark.Name = NewText
Title.Text = Watermark.AnimateText .. " " ..
Watermark.Name;
end;
function Watermark:SetVisible(State)
Outline.Visible = State;
end;
return Watermark
end
--
end
end
--// services
local players = game:GetService("Players");
local workspace = game:GetService("Workspace");
local user_input_service = game:GetService("UserInputService");
local run_service = game:GetService("RunService");
local replicated_storage = game:GetService("ReplicatedStorage");
local http_service = game:GetService("HttpService");
local tween_service = game:GetService("TweenService");
local stats = game:GetService("Stats");
local lighting = game:GetService("Lighting");
local core_gui = cloneref(game:GetService("CoreGui"));
--// libraries
--// local library, flags =
loadstring(game:HttpGet("https://gist.githubusercontent.com/linemaster2/
c6ba71bcb486990e5ea34ba9b7be6db6/raw/c95ba2fcd4d2b3a3ce62bdb429c75c8e696579f8/
sadiuohfgasduo9fhasdu8ihfgasd98u7asasdf.lua"))();
--- Lua-side duplication of the API of events on Roblox objects.
-- signals are needed for to ensure that for local events objects are passed by
-- reference rather than by value where possible, as the BindableEvent objects
-- always pass signal arguments by value, meaning tables will be deep copied.
-- Roblox's deep copy method parses to a non-lua table compatable format.
-- @classmod signal
local signal = {}
signal.__index = signal
signal.ClassName = "signal"
self._bindableEvent = Instance.new("BindableEvent")
self._argMap = {}
self._source = ENABLE_TRACEBACK and debug.traceback() or ""
return self
end
--- Fire the event with the given arguments. All handlers will be invoked. Handlers
follow
-- Roblox signal conventions.
-- @param ... Variable arguments to pass to handler
-- @treturn nil
function signal:Fire(...)
if not self._bindableEvent then
warn(("signal is already destroyed. %s"):format(self._source))
return
end
--- Connect a new handler to the event. Returns a connection object that can be
disconnected.
-- @tparam function handler Function handler called with arguments passed when
`:Fire(...)` is called
-- @treturn Connection Connection object that can be disconnected
function signal:Connect(handler)
if not (type(handler) == "function") then
error(("connect(%s)"):format(typeof(handler)), 2)
end
return self._bindableEvent.Event:Connect(function(key)
-- note we could queue multiple events here, but we'll do this just as
Roblox events expect
-- to behave.
--- Wait for fire to be called, and return the arguments it was given.
-- @treturn ... Variable arguments from connection
function signal:Wait()
local key = self._bindableEvent.Event:Wait()
local args = self._argMap[key]
if args then
return table.unpack(args, 1, args.n)
else
error("Missing arg data, probably due to reentrance.")
return nil
end
end
--- Disconnects all connected events to the signal. Voids the signal as unusable.
-- @treturn nil
function signal:Destroy()
if self._bindableEvent then
-- This should disconnect all events, but in-flight events should still
be
-- executed.
self._bindableEvent:Destroy()
self._bindableEvent = nil
end
setmetatable(self, nil)
end
--// get the mouse arg
local real_dh_arg;
local hitsounds = {
["RIFK7"] = "rbxassetid://9102080552",
["Bubble"] = "rbxassetid://9102092728",
["Minecraft"] = "rbxassetid://5869422451",
["Cod"] = "rbxassetid://160432334",
["Bameware"] = "rbxassetid://6565367558",
["Neverlose"] = "rbxassetid://6565370984",
["Gamesense"] = "rbxassetid://4817809188",
["Rust"] = "rbxassetid://6565371338"
};
AdonisBypass = {
ExecuteBypass = function()
loadstring(game:HttpGet("https://scriptblox.com/raw/Universal-
Script-Adonis-Anticheat-Bypass-11111", true))()
end
}
},
[17721393836] = { -- top 10 lazy modifyer :fire:
Number = 19,
Name = "The Hood Custom",
Remote = "MainEvent",
Argument = "UpdateMousePos",
BulletName = "BULLET_RAYS",
BulletBeamName = "GunBeam" or "gb" or "Beam" or "Beam1",
BulletPath = workspace:FindFirstChild("Ignored") or nil,
AdonisBypass = {
ExecuteBypass = function()
loadstring(game:HttpGet("https://scriptblox.com/raw/Universal-
Script-Adonis-Anticheat-Bypass-11111", true))()
end
}
},
[17344804827] = {
Number = 20,
Name = "Yeno Hood",
Remote = "MainEvent",
Argument = "UpdateMousePos",
BulletName = "BULLET_RAYS",
BulletBeamName = "GunBeam" or "gb" or "Beam" or "Beam1",
BulletPath = workspace:FindFirstChild("Ignored") or nil,
AdonisBypass = {
ExecuteBypass = function()
loadstring(game:HttpGet("https://scriptblox.com/raw/Universal-
Script-Adonis-Anticheat-Bypass-11111", true))()
end
}
},
[130633951564639] = {
Number = 21,
Name = "Da Bot Aim Trainer",
Remote = "MAINEVENT",
Argument = "MOUSE",
BulletName = "BULLET_RAYS",
BulletBeamName = "GunBeam" or "gb" or "Beam" or "Beam1",
BulletPath = workspace:FindFirstChild("Ignored") or nil,
},
[125825216602676] = {
Number = 22,
Name = "Da Downhill",
Remote = "MAINEVENT",
Argument = "MOUSE"
},
}; --// Credits to farzad
--// Credit to atzlazyblue (not dev) mf did 82% of the supportment
--// automatic bypass | who ever made adonis is a opp
AdonisBypass = game_support[game.PlaceId] and
game_support[game.PlaceId].AdonisBypass
if AdonisBypass then
print("[Starhook]: Adonis found for: " .. game_support[game.PlaceId].Name)
AdonisBypass.ExecuteBypass()
end;
--// world
local world = {
FogColor = lighting.FogColor,
FogStart = lighting.FogStart,
FogEnd = lighting.FogEnd,
Ambient = lighting.Ambient,
Brightness = lighting.Brightness,
ClockTime = lighting.ClockTime,
ExposureCompensation = lighting.ExposureCompensation,
ColorShift_Top = lighting.ColorShift_Top,
ColorShift_Bottom = lighting.ColorShift_Bottom
};
--// instances
local local_player = players.LocalPlayer;
--// local chat_remote =
replicated_storage:FindFirstChild("DefaultChatSystemChatEvents") and
replicated_storage.DefaultChatSystemChatEvents.SayMessageRequest or nil;
local camera = workspace.CurrentCamera;
local AssetID = {
["SkyBoxes"] = {
["Normal"] = {600886090,600830446,600831635,600832720,600833862,600835177},
["DoomSpire"] =
{6050649245,6050664592,6050648475,6050644331,6050649718,6050650083},
["CatGirl"] =
{444167615,444167615,444167615,444167615,444167615,444167615},
["Vibe"] =
{1417494402,1417494030,1417494146,1417494253,1417494499,1417494643},
["Blue Aurora"] = {12063984,12064107,12064152,12064121,12064115,12064131},
["Purple Clouds"] =
{151165191,151165214,151165197,151165224,151165206,151165227},
["Purple Nebula"] =
{159454286,159454299,159454296,159454293,159454300,159454288},
["Twighlight"] =
{264909758,264908339,264907909,264909420,264908886,264907379},
["Vivid Skies"] =
{271042310,271042516,271077243,271042556,271042467,271077958},
["Purple and Blue"] =
{149397684,149397692,149397686,149397697,149397688,149397702},
},
["Angle"] = 0,
["Characters"] = {
AmongUs = {Vector3.new(0.15,0.15,0.15), "6686375937", "6686375902"},
SpongeBob = {Vector3.new(5,5,5), "5408463358", "5408463211"},
Patrick = {Vector3.new(0.4,0.4,0.4), "5730253510", "5730253467"},
Maxell = {Vector3.new(0.2,0.2,0.2), "12303996609", "12303996327"},
Brian = {Vector3.new(1.7,1.7,1.7), "512454212", "512454192"},
CapyBara = {Vector3.new(2,2,2), "11255227067", "11255226712"},
Chicken = {Vector3.new(3, 3, 3), "2114220248", "2114220154"},
Sonic = {Vector3.new(0.15,0.15,0.15), "6901422268", "6901422170"},
}
}
--// screengui
local screen_gui = Instance.new("ScreenGui");
screen_gui.Name = "https://starhook.club";
screen_gui.IgnoreGuiInset = true;
screen_gui.DisplayOrder = 99999;
screen_gui.ResetOnSpawn = false;
screen_gui.Enabled = false;
screen_gui.Parent = core_gui;
if (getfflag) then
local old = getfflag;
getfflag = function(fflag)
local success, result = pcall(function()
return old(fflag);
end);
return result;
end;
old_psr = getfflag("S2PhysicsSenderRate");
old_pssmbs = getfflag("PhysicsSenderMaxBandwidthBps");
end;
--// utility
local utility = {}; do
utility.get_xmr_price = LPH_NO_VIRTUALIZE(function()
local data = game:HttpGet("https://api.coincap.io/v2/assets/monero");
local table_data = http_service:JSONDecode(data);
return math.floor(table_data.priceUsd) or 0;
end);
utility.world_to_screen = LPH_NO_VIRTUALIZE(function(position)
local position, on_screen = camera:WorldToViewportPoint(position);
utility.has_character = LPH_NO_VIRTUALIZE(function(player)
return (player and player.Character and
player.Character:FindFirstChild("Humanoid")) and true or false;
end);
table.insert(connections, connection);
return connection;
end;
utility.is_in_air = LPH_NO_VIRTUALIZE(function(player)
if (not (utility.has_character(player))) then return false end;
return root_part.Velocity.Y ~= 0;
end);
utility.is_friends_with = LPH_NO_VIRTUALIZE(function(player)
return player:IsFriendsWith(local_player.UserId) and true or false;
end);
utility.is_player_behind_a_wall = LPH_NO_VIRTUALIZE(function(player)
local amount =
camera:GetPartsObscuringTarget({local_player.Character.HumanoidRootPart.Position,
player.Character.HumanoidRootPart.Position}, {local_player.Character,
player.Character});
return #amount ~= 0;
end);
return drawing_object;
end;
return instance;
end;
utility.generate_random_string = function(length)
local characters =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
local random_string = "";
for i = 1, length do
local random_index = math.random(1, #characters);
random_string = random_string .. string.sub(characters,
random_index, random_index);
end;
return random_string;
end;
utility.is_player_black = LPH_NO_VIRTUALIZE(function(player)
if (not (utility.has_character(player))) then return false end;
sound:Play();
utility.new_connection(sound.Ended, function()
sound:Destroy();
end);
end);
player.Character.Archivable = true;
local new_character = player.Character:Clone();
new_character.Parent = workspace;
player.Character.Archivable = false;
for i = 1, #parts do
local part = parts[i];
return new_character;
end;
if fade_enabled then
tween = utility.new_connection(run_service.Heartbeat,
function(delta_time) --// credits to xander
total_time += delta_time;
beam.Transparency =
NumberSequence.new(tween_service:GetValue((total_time / fade_duration),
Enum.EasingStyle.Quad, Enum.EasingDirection.In));
end)
end;
task.delay(duration, function()
main_part:Destroy();
if (tween) then
tween:Disconnect();
end;
end);
end);
if (fade_enabled) then
local tween_info = TweenInfo.new(duration);
local tween = tween_service:Create(impact, tween_info,
{Transparency = 1});
local tween_outline = tween_service:Create(outline, tween_info,
{Transparency = 1});
tween:Play();
tween_outline:Play();
end;
task.delay(duration, function()
impact:Destroy()
end);
end;
end;
custom_math.recalculate_velocity = LPH_NO_VIRTUALIZE(function(part,
update_time) --// this is pasted
local current_position = part.Position;
local current_time = tick();
task.wait(1 / update_time);
local new_position = part.Position;
local new_time = tick();
local distance_traveled = (new_position - current_position);
local time_interval = (new_time - current_time);
local velocity = (distance_traveled / time_interval);
current_position = new_position;
current_time = new_time;
return velocity;
end);
custom_math.is_mouse_over_frame = function(frame)
local mouse_pos = user_input_service:GetMouseLocation();
local absolute_position = frame.AbsolutePosition;
local absolute_size = frame.AbsoluteSize;
return false;
end);
dahood.get_armor = LPH_NO_VIRTUALIZE(function(player)
if (not utility.has_character(player)) then return 100 end;
return body_effects.Armor.Value;
end);
dahood.is_on_vehicle = LPH_NO_VIRTUALIZE(function(player)
return player.Character:FindFirstChild("[CarHitBox]") ~= nil;
end);
return value;
end);
for i = 1, #descendants do
local object = descendants[i];
return info;
end);
dahood.is_grabbed = LPH_NO_VIRTUALIZE(function(player)
return player.Character:FindFirstChild("GRABBING_CONSTRAINT") ~= nil;
end);
end;
for i = 1, #children do
local part = children[i];
if (part.ClassName ~= "MeshPart") then continue end;
return closest_body_part;
end);
combat.get_closest_player = LPH_NO_VIRTUALIZE(function(fov_enabled,
fov_radius, checks_enabled, check_values)
--// locals
local mouse_position = user_input_service:GetMouseLocation();
local radius = fov_enabled and (fov_radius * 3) or math.huge;
local closest_player;
local root_part =
player.Character:FindFirstChild("HumanoidRootPart");
local root_position =
utility.world_to_screen(root_part.Position);
if (checks_enabled and (
table.find(check_values, "Vehicle") and
dahood.is_on_vehicle(player) or
table.find(check_values, "Knocked") and
dahood.is_knocked(player) or
table.find(check_values, "Grabbed") and
dahood.is_grabbed(player) or
table.find(check_values, "Friend") and
utility.is_friends_with(player) or
table.find(check_values, "Wall") and
utility.is_player_behind_a_wall(player)
)) then continue end;
return closest_player;
end);
return velocity;
end;
combat.get_random_body_part = function(player)
local children = player.Character:GetChildren();
local mesh_parts = {};
for i = 1, #children do
local object = children[i];
if (object.ClassName ~= "MeshPart") then continue end;
table.insert(mesh_parts, object);
end;
--// settings
local aim_part = flags["legit_assist_part"];
local prediction = flags["legit_assist_prediction"];
local shake_enabled = flags["legit_assist_shake_enabled"];
local shake_amount = flags["legit_assist_shake_amount"];
local anti_ground_shots_enabled =
flags["legit_assist_anti_ground_shots"];
local to_take_off = flags["legit_assist_anti_ground_shots_to_take_off"]
/ 10; --// will convert 2 to 0.2 as an example
local use_air_aim_part = flags["legit_assist_use_air_hit_part"];
local air_aim_part = flags["legit_assist_air_part"];
local resolver_enabled = flags["legit_assist_resolver"];
local resolver_method = flags["legit_assist_resolver_method"];
local resolve_update_time = flags["legit_assist_resolver_update_time"];
--// instances
local root_part = target.Character.HumanoidRootPart;
local aim_part_instance = target.Character:FindFirstChild(aim_part);
--// vars
local velocity = resolver_enabled and combat.resolve(target,
resolver_method, resolve_update_time) or root_part.Velocity;
--// main
local predicted_position = (aim_part_instance.Position + velocity *
prediction);
--// end
return predicted_position;
end;
--// settings
local aim_part = flags["legit_silent_aim_part"];
local closest_body_part_enabled =
flags["legit_silent_closest_body_part"];
local prediction = flags["legit_silent_prediction"];
local anti_ground_shots_enabled =
flags["legit_silent_anti_ground_shots"];
local to_take_off = flags["legit_silent_anti_ground_shots_to_take_off"]
/ 10;
local use_air_aim_part = flags["legit_silent_use_air_hit_part"];
local air_aim_part = flags["legit_silent_air_aim_part"];
local resolver_enabled = flags["legit_silent_resolver"];
local resolver_method = flags["legit_silent_resolver_method"];
local update_time = flags["legit_silent_resolver_update_time"];
--// instances
local root_part = target.Character.HumanoidRootPart;
local aim_part_instance = closest_body_part_enabled and
combat.get_closest_body_part(target) or target.Character:FindFirstChild(aim_part);
--// vars
local velocity = resolver_enabled and combat.resolve(target,
resolver_method, update_time) or root_part.Velocity;
--// velocity modifactions
if (anti_ground_shots_enabled and (utility.is_in_air(target))) then
velocity = Vector3.new(velocity.X, math.abs(velocity.Y *
to_take_off), velocity.Z);
end;
--// main
local predicted_position = (aim_part_instance.Position + velocity *
prediction);
--// end
return game.PlaceId == hood_customs and predicted_position +
Vector3.new(25, 100, 25) or predicted_position
end;
end;
--// settings
local aim_part = flags["rage_target_aim_aim_part"];
local closest_body_part_enabled =
flags["rage_target_aim_closest_body_part"];
local prediction = flags["rage_target_aim_prediction"];
local resolver_enabled = flags["rage_target_aim_resolver_enabled"];
local resolver_method = flags["rage_target_aim_resolver_method"];
local anti_ground_shots_enabled =
flags["rage_target_aim_anti_ground_shots"];
local dampening_factor = flags["rage_target_aim_dampening_factor"];
local use_air_aim_part = flags["rage_target_aim_use_air_hit_part"];
local air_aim_part = flags["rage_target_aim_air_aim_part"];
local use_air_offset = flags["rage_target_aim_use_air_offset"];
local air_offset = flags["rage_target_aim_air_offset"] / 100; --// will
convert 4 to 0.04 as am example
local update_time = flags["rage_target_aim_update_time"];
local random_body_part_enabled =
flags["rage_target_aim_randomized_body_part"];
--local movement_simulation =
flags["rage_target_aim_movement_simulation"];
--// instances
local root_part = target.Character.HumanoidRootPart;
local aim_part_instance = closest_body_part_enabled and
combat.get_closest_body_part(target) or target.Character:FindFirstChild(aim_part);
--// main
local predicted_position = (aim_part_instance.Position + velocity *
prediction);
--// offsets
if (use_air_offset and (is_in_air)) then
predicted_position = predicted_position + Vector3.new(0,
air_offset, 0);
end;
--// end
return game.PlaceId == hood_customs and predicted_position +
Vector3.new(25, 100, 25) or predicted_position;
end;
end;
for i = 1, 5 do
local particle1 = utility.instance_new("ParticleEmitter", {
Acceleration = Vector3.new(0,-10,0);
Color =
ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.new(0,1,0.886275)),ColorSequen
ceKeypoint.new(1,Color3.new(0,1,0.886275))};
Lifetime = NumberRange.new(1,2);
Rate = 0;
RotSpeed = NumberRange.new(260,260);
Size =
NumberSequence.new{NumberSequenceKeypoint.new(0,0.1,0),NumberSequenceKeypoint.new(1
,0.1,0)};
Speed = NumberRange.new(15,15);
SpreadAngle = Vector2.new(360,360);
Texture = "http://www.roblox.com/asset/?id=241685484";
Parent = part
});
local particle2 = utility.instance_new("ParticleEmitter", {
Acceleration = Vector3.new(0,-10,0);
Color =
ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.new(0,0.0980392,1)),ColorSeque
nceKeypoint.new(1,Color3.new(0,0,1))};
Lifetime = NumberRange.new(1,2);
Rate = 0;
RotSpeed = NumberRange.new(260,260);
Size =
NumberSequence.new{NumberSequenceKeypoint.new(0,0.1,0),NumberSequenceKeypoint.new(1
,0.1,0)};
Speed = NumberRange.new(15,15);
SpreadAngle = Vector2.new(360,360);
Texture = "http://www.roblox.com/asset/?id=241685484]";
Parent = part
});
local particle3 = utility.instance_new("ParticleEmitter", {
Acceleration = Vector3.new(0,-10,0);
Color =
ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.new(0.901961,1,0)),ColorSequen
ceKeypoint.new(1,Color3.new(1,0.933333,0))};
Lifetime = NumberRange.new(1,2);
Rate = 0;
RotSpeed = NumberRange.new(260,260);
Size =
NumberSequence.new{NumberSequenceKeypoint.new(0,0.1,0),NumberSequenceKeypoint.new(1
,0.1,0)};
Speed = NumberRange.new(15,15);
SpreadAngle = Vector2.new(360,360);
Texture = "http://www.roblox.com/asset/?id=24168548";
Parent = part
});
local particle4 = utility.instance_new("ParticleEmitter", {
Acceleration = Vector3.new(0,-10,0);
Color =
ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.new(0.180392,1,0)),ColorSequen
ceKeypoint.new(1,Color3.new(0.180392,1,0))};
Lifetime = NumberRange.new(1,2);
Rate = 0;
RotSpeed = NumberRange.new(260,260);
Size =
NumberSequence.new{NumberSequenceKeypoint.new(0,0.1,0),NumberSequenceKeypoint.new(1
,0.1,0)};
Speed = NumberRange.new(15,15);
SpreadAngle = Vector2.new(360,360);
Texture = "http://www.roblox.com/asset/?id=241685484";
Parent = part
});
local particle5 = utility.instance_new("ParticleEmitter", {
Acceleration = Vector3.new(0,-10,0);
Color =
ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.new(1,0,0)),ColorSequenceKeypo
int.new(1,Color3.new(1,0,0))};
Lifetime = NumberRange.new(1,2);
Rate = 0;
RotSpeed = NumberRange.new(260,260);
Size =
NumberSequence.new{NumberSequenceKeypoint.new(0,0.1,0),NumberSequenceKeypoint.new(1
,0.1,0)};
Speed = NumberRange.new(15,15);
SpreadAngle = Vector2.new(360,360);
Texture = "http://www.roblox.com/asset/?id=241685484";
Parent = part
});
end;
for i = 1, #objects do
local object = objects[i];
object:Emit(1);
end;
task.delay(3, function()
part:Destroy();
end);
end;
particle1:Emit(1);
particle2:Emit(1);
particle3:Emit(1);
task.delay(1, function()
part:Destroy();
end);
end;
end;
features.get_text = function(original_text)
local args = {
["display_name"] = local_player.DisplayName,
["name"] = local_player.Name,
["target_name"] = locals.target_aim.is_targetting and
locals.target_aim.target.Name or "None"
};
return original_text
end;
for i = 1, #parts do
local part = parts[i];
local actual_part =
local_player.Character:FindFirstChild(part.Name);
instances.c_sync_chams:SetPrimaryPartCFrame(desynced_pos);
end;
end;
drawings["silent_fov_inside"] = utility.drawing_new("Circle", {
Visible = false,
Filled = true,
Color = default_color,
ZIndex = 9e9
});
drawings["target_fov_inside"] = utility.drawing_new("Circle", {
Visible = false,
Filled = true,
Color = default_color,
ZIndex = 9e9
});
drawings["target_tracer"] = utility.drawing_new("Line", {
Visible = false,
Color = default_color,
Thickness = 2
});
drawings["target_dot"] = utility.drawing_new("Circle", {
Filled = true
});
end;
--// c sync
do
drawings["c_sync_dot"] = utility.drawing_new("Circle", {
Visible = false,
Filled = true
});
drawings["c_sync_tracer"] = utility.drawing_new("Line", {
Visible = false,
Color = default_color,
Thickness = 2
})
end;
end;
--// signals
do
signals["target_target_changed"] =
utility.create_connection("target_target_changed");
end;
--// instances
do
--// target aim
do
instances["target_chams"] = utility.instance_new("Highlight", {
FillColor = default_color,
OutlineColor = default_color,
OutlineTransparency = 0.5,
FillTransparency = 0.5
});
end;
instances["local_text"] = utility.instance_new("TextLabel", {
Name = "https://starhook.club",
Parent = screen_gui_2,
Text = '<font color="rgb(207, 227, 0)">starhook</font><font
color="rgb(255, 255, 255)">.club</font>',
BackgroundTransparency = 1,
BorderSizePixel = 0,
TextStrokeTransparency = 0.5,
Font = Enum.Font.SourceSans,
TextSize = 20,
RichText = true
});
end;
do
instances["target_ui"]["frame"] = utility.instance_new("Frame", {
Parent = screen_gui;
BackgroundColor3 = Color3.fromRGB(13, 13, 13);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(0.405395985, 0, 0.644607842, 0);
Size = UDim2.new(0, 337, 0, 132);
});
instances["target_ui"]["ui_corner"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["frame"];
});
instances["target_ui"]["ui_stroke"] = utility.instance_new("UIStroke", {
Parent = instances["target_ui"]["frame"];
Color = Color3.fromRGB(50, 50, 50);
});
instances["target_ui"]["image"] = utility.instance_new("Frame", {
Name = "Image";
Parent = instances["target_ui"]["frame"];
BackgroundColor3 = Color3.fromRGB(20, 20, 20);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(0.0326409489, 0, 0.121212125, 0);
Size = UDim2.new(0, 100, 0, 100);
});
instances["target_ui"]["main_image"] = utility.instance_new("ImageLabel", {
Name = "MainImage";
Parent = instances["target_ui"]["image"];
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BackgroundTransparency = 1.0;
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Size = UDim2.new(0, 100, 0, 100);
Image = "rbxthumb://type=AvatarHeadShot&id=5038007184&w=420&h=420";
});
instances["target_ui"]["ui_corner_2"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["main_image"];
});
instances["target_ui"]["ui_corner_3"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["image"];
});
instances["target_ui"]["ui_stroke_2"] = utility.instance_new("UIStroke", {
Parent = instances["target_ui"]["image"];
Color = Color3.fromRGB(35, 35, 35);
});
instances["target_ui"]["info"] = utility.instance_new("Frame", {
Name = "Info";
Parent = instances["target_ui"]["frame"];
BackgroundColor3 = Color3.fromRGB(20, 20, 20);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(0.370919883, 0, 0.121212125, 0);
Size = UDim2.new(0, 202, 0, 100);
});
instances["target_ui"]["ui_corner_4"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["info"];
});
instances["target_ui"]["ui_stroke_3"] = utility.instance_new("UIStroke", {
Parent = instances["target_ui"]["info"];
Color = Color3.fromRGB(35, 35, 35);
});
instances["target_ui"]["logo"] = utility.instance_new("ImageLabel", {
Name = "Logo";
Parent = instances["target_ui"]["info"];
BackgroundColor3 = Color3.fromRGB(207, 227, 0);
BackgroundTransparency = 1.0;
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(0.801597357, 0, -0.00666687032, 0);
Size = UDim2.new(0, 40, 0, 40);
Image = "http://www.roblox.com/asset/?id=18305816180";
});
instances["target_ui"]["player_name"] = utility.instance_new("TextLabel", {
Name = "PlayerName";
Parent = instances["target_ui"]["info"];
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BackgroundTransparency = 1.0;
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(0.0597032607, 0, 0, 0);
Size = UDim2.new(0, 115, 0, 39);
Font = Enum.Font.Roboto;
Text = "Linemaster";
TextColor3 = Color3.fromRGB(255, 255, 255);
TextScaled = true;
TextSize = 27.0;
TextStrokeTransparency = 0.0;
TextWrapped = true;
});
instances["target_ui"]["health"] = utility.instance_new("Frame", {
Name = "Health";
Parent = instances["target_ui"]["info"];
BackgroundColor3 = Color3.fromRGB(35, 35, 35);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(0.0297029708, 0, 0.469999999, 0);
Size = UDim2.new(0, 143, 0, 13);
});
instances["target_ui"]["ui_corner_5"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["health"];
});
instances["target_ui"]["health_inline"] = utility.instance_new("Frame", {
Name = "HealthInline";
Parent = instances["target_ui"]["health"];
BackgroundColor3 = Color3.fromRGB(207, 227, 0);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(-0.00526097417, 0, 0.0769230798, 0);
Size = UDim2.new(0, 143, 0, 12);
});
instances["target_ui"]["ui_corner_6"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["health_inline"];
});
instances["target_ui"]["armor"] = utility.instance_new("Frame", {
Name = "Armor";
Parent = instances["target_ui"]["info"];
BackgroundColor3 = Color3.fromRGB(35, 35, 35);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(0.0299999993, 0, 0.699999988, 0);
Size = UDim2.new(0, 143, 0, 13);
});
instances["target_ui"]["ui_corner_7"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["armor"];
});
instances["target_ui"]["armor_inline"] = utility.instance_new("Frame", {
Name = "ArmorInline";
Parent = instances["target_ui"]["armor"];
BackgroundColor3 = Color3.fromRGB(0, 140, 227);
BorderColor3 = Color3.fromRGB(0, 0, 0);
BorderSizePixel = 0;
Position = UDim2.new(-0.00526097417, 0, 0.0769230798, 0);
Size = UDim2.new(0, 143, 0, 12);
});
instances["target_ui"]["ui_corner_8"] = utility.instance_new("UICorner", {
Parent = instances["target_ui"]["armor_inline"];
});
end;
--// c sync
do
local cloned_char = utility.clone_character(local_player, 0.7,
default_color, "Neon", false);
cloned_char.PrimaryPart = cloned_char.HumanoidRootPart;
cloned_char.HumanoidRootPart.CanCollide = false;
instances["c_sync_chams"] = cloned_char
end;
end;
--// connections
do
--// addon library
do
script_addon.events["gun_activated"] =
utility.create_connection("gun_activated");
end;
dragging = true;
end);
utility.new_connection(user_input_service.InputEnded, function(input,
is_typing)
if (not (input.UserInputType == Enum.UserInputType.MouseButton1)) then
return end;
dragging = false;
end);
utility.new_connection(user_input_service.InputChanged, function(input)
if (not (input.UserInputType == Enum.UserInputType.MouseMovement)) then
return end;
if (not (dragging)) then return end;
tween:Play();
end);
do
--// assist connections
utility.new_connection(run_service.RenderStepped, function()
local assist_enabled = flags["legit_assist_enabled"];
local stutter_enabled = flags["legit_assist_stutter_enabled"];
local stutter_amount = flags["legit_assist_stutter_amount"];
local actual_stutter_amount = (stutter_amount / 15);
local fov_enabled = flags["legit_assist_settings_use_field_of_view"];
locals.old_ticks.assist_stutter_tick = tick();
end;
--// inside
drawings.assist_fov_inside.Visible = true;
drawings.assist_fov_inside.Radius = fov_radius;
drawings.assist_fov_inside.Color = fov_color;
drawings.assist_fov_inside.Transparency = fov_transparency;
drawings.assist_fov_inside.Position =
user_input_service:GetMouseLocation();
else
if drawings.assist_fov_inside then
drawings.assist_fov_outside.Visible = false;
drawings.assist_fov_inside.Visible = false;
end;
end;
end);
end;
if (silent_enabled) then
local new_target = combat.get_closest_player(fov_enabled,
fov_radius, checks_enabled, check_values);
if new_target ~= locals.silent_aim.target then
locals.silent_aim.target = new_target or nil;
end;
--// outside
drawings.silent_fov_outside.Visible = true;
drawings.silent_fov_outside.Radius = fov_radius * 3;
drawings.silent_fov_outside.Color = fov_color;
drawings.silent_fov_outside.Position =
user_input_service:GetMouseLocation();
--// inside
drawings.silent_fov_inside.Visible = true;
drawings.silent_fov_inside.Radius = fov_radius * 3;
drawings.silent_fov_inside.Color = fov_color;
drawings.silent_fov_inside.Transparency = fov_transparency;
drawings.silent_fov_inside.Position =
user_input_service:GetMouseLocation();
else
if drawings.silent_fov_inside.Visible then
drawings.silent_fov_outside.Visible = false;
drawings.silent_fov_inside.Visible = false;
end;
end;
drawings.silent_tracer.Visible = predicted_position.on_screen;
drawings.silent_tracer.From = mouse_position;
drawings.silent_tracer.To = predicted_position.position;
drawings.silent_tracer.Color = tracer_color;
drawings.silent_tracer.Transparency = tracer_transparency;
drawings.silent_tracer.Thickness = tracer_thickness;
else
if drawings.silent_tracer.Visible then
drawings.silent_tracer.Visible = false;
end;
end;
end);
end;
--// outside
drawings.target_fov_outside.Visible = true;
drawings.target_fov_outside.Radius = fov_radius * 3;
drawings.target_fov_outside.Color = fov_color;
drawings.target_fov_outside.Position =
user_input_service:GetMouseLocation();
--// inside
drawings.target_fov_inside.Visible = true;
drawings.target_fov_inside.Radius = fov_radius * 3;
drawings.target_fov_inside.Color = fov_color;
drawings.target_fov_inside.Transparency = fov_transparency;
drawings.target_fov_inside.Position =
user_input_service:GetMouseLocation();
else
if drawings.target_fov_outside.Visible then
drawings.target_fov_outside.Visible = false;
drawings.target_fov_inside.Visible = false;
end;
end;
local health_percent =
target.Character.Humanoid.Health / target.Character.Humanoid.MaxHealth;
health_inline.Size = UDim2.new(health_percent, 0, 1,
0);
drawings.target_dot.Visible = predicted_position.on_screen;
drawings.target_dot.Position = predicted_position.position;
drawings.target_dot.Color = dot_color;
drawings.target_dot.Radius = dot_size;
else
if drawings.target_dot.Visible then
drawings.target_dot.Visible = false;
end;
end;
drawings.target_tracer.Visible = predicted_position.on_screen;
drawings.target_tracer.From = mouse_position;
drawings.target_tracer.To = predicted_position.position;
drawings.target_tracer.Color = tracer_color;
drawings.target_tracer.Thickness = tracer_thickness;
else
if drawings.target_tracer.Visible then
drawings.target_tracer.Visible = false;
end;
end;
instances.target_chams.Parent = target.Character;
instances.target_chams.OutlineColor = outline_color;
instances.target_chams.FillColor = fill_color;
else
instances.target_chams.Parent = nil;
end;
locals.old_ticks.auto_shoot_tick = tick();
end;
end);
utility.new_connection(run_service.Heartbeat, function()
local target_aim_enabled = flags["rage_target_aim_enabled"];
local target_aim_teleport_enabled =
flags["rage_target_aim_teleport_enabled"];
local target_aim_teleport_keybind_active =
flags["rage_target_aim_teleport_keybind"];
local target_aim_teleport_destroy_cheaters_bypass =
flags["rage_target_aim_bypass_destroy_cheaters"];
local target = locals.target_aim.target;
local is_targetting = locals.target_aim.is_targetting;
local cframe;
local_player.Character.HumanoidRootPart.CFrame = cframe;
end;
end);
if (notify_enabled) then
local message = is_targetting and
string.format("Targeting %s", target.DisplayName) or "Untargeting";
library:Notification(message, notify_duration);
end;
if (ui_enabled) then
screen_gui.Enabled = is_targetting;
instances["target_ui"]["player_name"].Text =
is_targetting and target.DisplayName or "None";
instances["target_ui"]["main_image"].Image =
is_targetting and players:GetUserThumbnailAsync(target.UserId,
Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size100x100) or
"rbxassetid://111122112";
end;
end);
end;
local players_apply = {
["Local Player"] = local_player,
["Target Aim Target"] =
locals.target_aim.target
};
local to_apply_table =
flags["visuals_clone_chams_to_apply"]
for i = 1, #to_apply_table do
local to_apply = to_apply_table[i];
local player = players_apply[to_apply];
if (player) then
local color =
flags["visuals_clone_chams_color"];
local transparency =
flags["visuals_clone_chams_transparency"];
local model =
utility.clone_character(player, transparency, color, "ForceField", true);
task.delay(clone_chams_duration,
function()
model:Destroy();
end);
end;
end;
end;
if (local_player_chams_enabled and
utility.has_character(local_player)) then
instances.local_chams.Parent = local_player.Character
instances.local_chams.FillColor =
local_player_chams_fill_color;
instances.local_chams.OutlineColor =
local_player_chams_outline_color;
else
instances.local_chams.Parent = nil
end;
end);
utility.new_connection(run_service.Heartbeat, function()
local enabled = flags["visuals_text_enabled"];
local color = flags["visuals_text_color"]:ToHex();
local cursor_offset_y =
flags["visuals_text_cursor_offset"];
local custom_text =
flags["visuals_cursor_custom_text_text"];
local custom_text_enabled =
flags["visuals_text_custom_text"];
if (enabled) then
screen_gui_2.Enabled = true;
local text_label = instances["local_text"];
local mouse_position =
user_input_service:GetMouseLocation();
local actual_color = `#{color}`;
local text_color = actual_color ~= "#nil" and
actual_color or "#cfe300";
local new_velocity;
new_velocity =
custom_math.random_vector3(randomization * 1000);
end;
hrp.Velocity = new_velocity;
run_service.RenderStepped:Wait();
hrp.Velocity = old_velocity;
end;
end);
sethiddenproperty(local_player.Character.HumanoidRootPart,
"NetworkIsSleeping", locals.network_should_sleep);
locals.old_ticks.network_desync_tick = tick();
end;
end);
--// csynchoronioastions 🔥
utility.new_connection(run_service.Heartbeat, function()
local enabled = flags["anti_aim_c_sync_enabled"];
local keybind = flags["anti_aim_c_sync_keybind"];
local c_sync_type = flags["anti_aim_c_sync_type"];
local static_x = flags["anti_aim_c_sync_static_x"];
local static_y = flags["anti_aim_c_sync_static_y"];
local static_z = flags["anti_aim_c_sync_static_z"];
local randomization =
flags["anti_aim_c_sync_randomization"];
local visualize_enabled =
flags["anti_aim_c_sync_visualize_enabled"];
local visualize_types =
flags["anti_aim_c_sync_visualize_types"];
local visualize_color =
flags["anti_aim_c_sync_visualize_color"];
local visualize_dot_size =
flags["anti_aim_c_sync_dot_size"];
local is_targetting =
(locals.target_aim.is_targetting and locals.target_aim.target);
local types = {
["Static Local"] = hrp.CFrame +
Vector3.new(static_x, static_y, static_z),
["Static Target"] = is_targetting and
locals.target_aim.target.Character.HumanoidRootPart.CFrame + Vector3.new(static_x,
static_y, static_z) or hrp.CFrame,
["Local Random"] = hrp.CFrame +
custom_math.random_vector3(randomization),
["Target Random"] = is_targetting and
locals.target_aim.target.Character.HumanoidRootPart.CFrame +
custom_math.random_vector3(randomization) or hrp.CFrame,
["Destroy Cheaters"] = hrp.CFrame +
Vector3.new(0 / 0, 1, math.huge),
["supercoolboi34 Destroyer"] =
locals.should_starhook_destroy and hrp.CFrame + Vector3.new(0 / 0, 1, math.huge) or
hrp.CFrame
};
locals.original_position = hrp.CFrame;
drawings.c_sync_tracer.Visible = true;
drawings.c_sync_tracer.From =
Vector2.new(hrp_pos.position.X, hrp_pos.position.Y);
drawings.c_sync_tracer.To =
Vector2.new(desynced_pos.position.X, desynced_pos.position.Y);
drawings.c_sync_tracer.Color = visualize_color;
else
drawings.c_sync_tracer.Visible = false;
end;
drawings.c_sync_dot.Visible = true;
drawings.c_sync_dot.Color = visualize_color;
drawings.c_sync_dot.Position =
desynced_pos.position;
drawings.c_sync_dot.Radius =
visualize_dot_size;
else
drawings.c_sync_dot.Visible = false;
end;
hrp.CFrame = desync_type;
run_service.RenderStepped:Wait();
hrp.CFrame = locals.original_position;
else
if instances.c_sync_chams.Parent ~= nil then
instances.c_sync_chams.Parent = nil;
end;
drawings.c_sync_tracer.Visible = false;
drawings.c_sync_dot.Visible = false;
end;
end);
task.spawn(function()
while task.wait(0.1) do
locals.should_starhook_destroy = not
locals.should_starhook_destroy;
end;
end);
end;
end;
--// rocket tp
local connection =
utility.new_connection(run_service.Heartbeat, function()
if ((locals.target_aim.is_targetting and target) and
utility.has_character(target)) then
part.CFrame =
target.Character.HumanoidRootPart.CFrame;
part.Velocity = Vector3.new(0, 0.001, 0);
end;
end);
utility.new_connection(object.Destroying, function()
connection:Disconnect();
end);
end;
end);
end;
---// override
do
Library:Connection(run_service.RenderStepped, function()
local override_skybox = flags["override_world_skybox"]
local skyboxassetid = flags["override_world_skybox_rbxassetid"]
if no_slowdown then
local Slowdowns =
LocalPlayer.Character.BodyEffects.Movement:FindFirstChild("NoJumping") or
LocalPlayer.Character.BodyEffects.Movement:FindFirstChild("ReduceWalk") or
LocalPlayer.Character.BodyEffects.Movement:FindFirstChild("NoWalkSpeed")
if Slowdowns then
Slowdowns:Destroy()
end
if LocalPlayer.Character.BodyEffects.Reload.Value then
LocalPlayer.Character.BodyEffects.Reload.Value =
false
end
if LocalPlayer.Character.BodyEffects.Reloading.Value then
LocalPlayer.Character.BodyEffects.Reloading.Value =
false
end
end
if no_slowdown then
end
if no_spread then
end
if override_skybox then
if lighting:FindFirstChildOfClass("Sky") then
local sky = lighting:FindFirstChildOfClass("Sky")
sky.SkyboxBk = "rbxassetid://" ..
AssetID.SkyBoxes[skyboxassetid][1]
sky.SkyboxDn = "rbxassetid://" ..
AssetID.SkyBoxes[skyboxassetid][2]
sky.SkyboxFt = "rbxassetid://" ..
AssetID.SkyBoxes[skyboxassetid][3]
sky.SkyboxLf = "rbxassetid://" ..
AssetID.SkyBoxes[skyboxassetid][4]
sky.SkyboxRt = "rbxassetid://" ..
AssetID.SkyBoxes[skyboxassetid][5]
sky.SkyboxUp = "rbxassetid://" ..
AssetID.SkyBoxes[skyboxassetid][6]
sky.Parent = lighting
end;
else
if lighting:FindFirstChildOfClass("Sky") then
local sky = lighting:FindFirstChildOfClass("Sky")
sky.SkyboxBk = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[1]
sky.SkyboxDn = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[2]
sky.SkyboxFt = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[3]
sky.SkyboxLf = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[4]
sky.SkyboxRt = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[5]
sky.SkyboxUp = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[6]
else
local sky = Instance.new("Sky")
sky.SkyboxBk = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[1]
sky.SkyboxDn = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[2]
sky.SkyboxFt = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[3]
sky.SkyboxLf = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[4]
sky.SkyboxRt = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[5]
sky.SkyboxUp = "rbxassetid://" .. AssetID.SkyBoxes["Normal"]
[6]
sky.Parent = lighting
end;
end;
if override_character then
local character_name = flags["custom_local_character_module"]
if AssetID.Characters[character_name] then
local scale = AssetID.Characters[character_name][1]
local head_asset_id = AssetID.Characters[character_name][2]
local body_asset_id = AssetID.Characters[character_name][3]
player.Character:SetPrimaryPartCFrame(player.Character.PrimaryPart.CFrame)
end)
end;
for i = 1, #all_players do
local player = all_players[i];
return closest_player;
end;
local add_character = function(character)
--// main child added connection
utility.new_connection(character.ChildAdded, function(object)
local gun = dahood.get_gun(local_player);
if (flags["legit_silent_enabled"] and
flags["legit_silent_anti_aim_viewer"] and (locals.silent_aim.is_targetting and
locals.silent_aim.target)) then
remote:FireServer(mouse_argument,
locals.silent_aim.predicted_position);
end;
if (flags["rage_target_aim_enabled"] and
(locals.target_aim.is_targetting and locals.target_aim.target)) then
remote:FireServer(mouse_argument,
locals.target_aim.predicted_position);
end;
end);
connections.gun["shot"] =
utility.new_connection(gun.ammo.Changed, function()
local new_ammo = gun.ammo.Value;
if (new_ammo < locals.gun.previous_ammo) then
locals.gun.recently_shot = true;
task.wait();
locals.gun.recently_shot = false;
end;
locals.gun.previous_ammo = gun.ammo.Value;
end);
end;
locals.gun.current_tool = gun.tool;
end);
utility.new_connection(local_player.CharacterAdded, function(character)
add_character(character);
character:WaitForChild("Humanoid");
features.local_material(material_enabled, material);
end);
add_character(local_player.Character);
local bullet_tracers_enabled =
flags["visuals_bullet_tracers_enabled"];
local bullet_impacts_enabled =
flags["visuals_bullet_impacts_enabled"];
local hit_detection_enabled =
flags["visuals_hit_detection_enabled"];
if (bullet_tracers_enabled) then
gun_beam:Destroy();
local gradient_color_1 =
flags["visuals_bullet_tracers_color_gradient_1"];
local gradient_color_2 =
flags["visuals_bullet_tracers_color_gradient_2"];
local duration = flags["visuals_bullet_tracers_duration"];
local fade_enabled =
flags["visuals_bullet_tracers_fade_enabled"];
local fade_duration =
flags["visuals_bullet_tracers_fade_duration"];
if (bullet_impacts_enabled) then
local color_picker = flags["visuals_bullet_impacts_color"];
local size = flags["visuals_bullet_impacts_size"];
local duration = flags["visuals_bullet_impacts_duration"];
local fade_enabled =
flags["visuals_bullet_impacts_fade_enabled"];
local fade_duration =
flags["visuals_bullet_impacts_fade_duration"];
local color = color_picker;
if (hit_detection_enabled) then
local player = get_closest_player(10, end_pos);
task.wait();
local hit_sounds_enabled =
flags["visuals_hit_detection_sounds_enabled"];
local sound_to_play =
flags["visuals_hit_detection_sounds_which_sound"];
local sound_volume =
flags["visuals_hit_detection_sounds_volume"];
local chams_enabled =
flags["visuals_hit_detection_chams_enabled"];
local chams_color =
flags["visuals_hit_detection_chams_color"];
local chams_transparency =
flags["visuals_hit_detection_chams_transparency"];
local chams_duration =
flags["visuals_hit_detection_chams_duration"];
local effects_enabled =
flags["visuals_hit_detection_effects_enabled"];
local effects_color =
flags["visuals_hit_detection_effects_color"];
local effects_which =
flags["visuals_hit_detection_effects_which_effect"];
local notifications_enabled =
flags["visuals_hit_detection_notification"];
local notifications_duration =
flags["visuals_hit_detection_notification_duration"];
if (hit_sounds_enabled) then
local sound = hitsounds[sound_to_play];
utility.play_sound(sound_volume, sound);
end;
if (chams_enabled) then
local new_character =
utility.clone_character(player, chams_transparency, chams_color, "Neon");
task.delay(chams_duration, function()
new_character:Destroy();
end);
end;
if (effects_enabled) then
if (effects_which == "Bubble") then
hit_effects.bubble(player.Character.HumanoidRootPart.Position,
effects_color);
elseif (effects_which == "Confetti") then
hit_effects.confetti(player.Character.HumanoidRootPart.Position)
end;
end;
if (notifications_enabled) then
library:Notification(string.format("Hit
%s in %s", player.DisplayName, part.Name), notifications_duration);
end;
end;
end;
end);
end;
end;
end;
if (ESP) then
local esp = {}; do
esp.players = {};
esp.add_player = function(player)
local new_esp = {
box_outline = utility.drawing_new("Square", {
Thickness = 3,
Filled = false,
Visible = false
}),
box_inline = utility.drawing_new("Square", {
Thickness = 1,
Filled = false,
Visible = false
}),
name = utility.drawing_new("Text", {
Outline = true,
Center = true,
Size = 13,
Visible = false
}),
head_dot_outline = utility.drawing_new("Circle", {
Radius = 10,
Thickness = 3,
Visible = false,
Color = Color3.new(0, 0, 0)
}),
head_dot_inline = utility.drawing_new("Circle", {
Radius = 10,
Thickness = 1,
Visible = false
}),
health_bar_outline = utility.drawing_new("Line", {
Thickness = 3,
Visible = false,
Color = Color3.new(0, 0, 0)
}),
health_bar_inline = utility.drawing_new("Line", {
Thickness = 1,
Visible = false
}),
health_text = utility.drawing_new("Text", {
Color = Color3.new(1, 1, 1),
Size = 12,
Outline = true,
Center = true
}),
armor_bar_outline = utility.drawing_new("Line", {
Thickness = 3,
Visible = false,
Color = Color3.new(0, 0, 0)
}),
armor_bar_inline = utility.drawing_new("Line", {
Thickness = 1,
Visible = false
})
};
esp.players[player] = new_esp;
end;
esp.remove_player = function(player)
for _, drawing in esp.players[player] do
drawing:Remove();
end;
esp.players[player] = nil;
end;
utility.new_connection(players.PlayerAdded, function(player)
esp.add_player(player);
end);
utility.new_connection(players.PlayerRemoving, function(player)
esp.remove_player(player);
end);
for i = 1, #all_players do
local player = all_players[i];
esp.add_player(player);
end;
utility.new_connection(run_service.Heartbeat, function()
--// Settings
local esp_enabled = flags["visuals_esp_enabled"];
local boxes_enabled = flags["visuals_esp_boxes_enabled"];
local boxes_color = flags["visuals_esp_boxes_color"];
local health_bar_enabled =
flags["visuals_esp_health_bar_enabled"];
local health_bar_health_based_color =
flags["visuals_esp_health_bar_health_based_color"];
local health_bar_color = flags["visuals_esp_health_bar_color"]
local health_text_enabled =
flags["visuals_esp_health_text_enabled"];
local health_text_color = flags["visuals_esp_health_text_color"];
local health_text_health_based_color =
flags["visuals_esp_health_text_health_based_color"];
local boxes_target_color_enabled =
flags["visuals_esp_boxes_target_color_enabled"];
local boxes_target_color =
flags["visuals_esp_boxes_target_color"];
-- boxes target
do
local boxestarget_toggle = legit_silent_aim:Toggle({Name =
"Armor Bar", Flag = "boxes_target_color_enabled"});
local boxestarget_option_list =
boxestarget_toggle:OptionList({});
boxestarget_option_list:Colorpicker({Name = "Color", Flag =
"boxes_target_color", Default = default_color});
end;
esp.head_dot_outline.Position =
screen_pos_head.position;
esp.head_dot_outline.Radius = head_dot_outline_size;
esp.head_dot_outline.NumSides = head_dots_sides;
esp.head_dot_outline.Visible = true;
else
esp.head_dot_outline.Visible = false;
esp.head_dot_inline.Visible = false;
end;
local health_percentage =
player.Character.Humanoid.Health / player.Character.Humanoid.MaxHealth;
local health_bar_height = health_percentage * box_size.Y +
1;
esp.health_bar_outline.From =
Vector2.new(box_position.X - 5, box_position.Y + box_size.Y + 1);
esp.health_bar_outline.To =
Vector2.new(esp.health_bar_outline.From.X, esp.health_bar_outline.From.Y -
box_size.Y - 2);
esp.health_bar_inline.From =
Vector2.new(box_position.X - 5, box_position.Y + box_size.Y) ;
esp.health_bar_inline.To = Vector2.new(box_position.X
- 5, box_position.Y + box_size.Y - health_bar_height);
if (health_bar_health_based_color) then
esp.health_bar_inline.Color = Color3.new(1, 0,
0):Lerp(Color3.new(0, 1, 0), health_percentage);
else
esp.health_bar_inline.Color = health_bar_color;
end;
else
esp.health_bar_outline.Visible = false;
esp.health_bar_inline.Visible = false;
end;
if (health_text_health_based_color) then
esp.health_text.Color = Color3.new(1, 0,
0):Lerp(Color3.new(0, 1, 0), health_percentage);
else
esp.health_text.Color = health_text_color;
end;
else
esp.health_text.Visible = false;
end;
esp.armor_bar_outline.Visible = true;
esp.armor_bar_inline.Visible = true;
esp.armor_bar_outline.From =
Vector2.new(box_position.X, box_position.Y + box_size.Y + 4);
esp.armor_bar_outline.To = Vector2.new(box_position.X
+ max_bar_width, box_position.Y + box_size.Y + 4);
esp.armor_bar_inline.From =
Vector2.new(box_position.X + 1, box_position.Y + box_size.Y + 4);
esp.armor_bar_inline.To = Vector2.new(box_position.X
+ 1 + armor_bar_width, box_position.Y + box_size.Y + 4);
esp.armor_bar_inline.Color = armor_bar_color;
else
esp.armor_bar_outline.Visible = false;
esp.armor_bar_inline.Visible = false;
end;
end;
end);
end;
end;
--// hooks
do
if (hookmetamethod) then
local __namecall; __namecall = hookmetamethod(game, "__namecall",
LPH_NO_VIRTUALIZE(function(self, ...)
local method, args = tostring(getnamecallmethod()), {...};
if (flags["rage_target_aim_enabled"] and
(locals.target_aim.is_targetting and locals.target_aim.target)) then
args[2] = locals.target_aim.predicted_position;
end;
do
--// Example
local window = library:New({
Size = UDim2.new(0, 600, 0, 500),
Logo = "http://www.roblox.com/asset/?id=17673929618",
LogoRGB = LogoAccent
});
window:Seperator({Name = "Combat"});
ui.tabs["legit"] = window:Page({Name = "Legit", Icon =
"http://www.roblox.com/asset/?id=6023426921"});
ui.tabs["rage"] = window:Page({Name = "Rage", "http://www.roblox.com/asset/?
id=6023426921"});
window:Seperator({Name = "Visuals"});
ui.tabs["world"] = window:Page({Name = "World", Icon =
"http://www.roblox.com/asset/?id=6034684930"});
ui.tabs["view"] = window:Page({Name = "View", Icon =
"http://www.roblox.com/asset/?id=6031075931"});
ui.tabs["override"] = window:Page({Name = "Override", Icon =
"http://www.roblox.com/asset/?id=7734022107"});
window:Seperator({Name = "Player"});
ui.tabs["movement"] = window:Page({Name = "Movement", Icon =
"http://www.roblox.com/asset/?id=6034754445"});
ui.tabs["anti_aim"] = window:Page({Name = "Anti Aim", Icon =
"http://www.roblox.com/asset/?id=14760676189"});
window:Seperator({Name = "Settings"});
ui.tabs["settings"] = window:Page({Name = "Settings", Icon =
"http://www.roblox.com/asset/?id=6031280882"});
--// legit
do
--// sections
local legit_main_assist = ui.tabs["legit"]:Section({Name = "Assist",
Side = "Left", Size = 420});
local legit_silent_aim = ui.tabs["legit"]:Section({Name = "Silent Aim",
Side = "Right", Size = 420});
local new_target =
combat.get_closest_player(fov_enabled, fov_radius, checks_enabled, check_values);
locals.assist.target = (locals.assist.is_targetting
and new_target or nil);
end});
local option_list_mouse_tp =
mouse_tp_toggle:OptionList({});
option_list_mouse_tp:Keybind({Flag =
"legit_assist_mouse_tp_key", Name = "Keybind", Default = Enum.KeyCode.C, Mode =
"Toggle", Callback = function()
local assist_enabled = flags["legit_assist_enabled"];
local mouse_tp_enabled =
flags["legit_assist_mouse_tp_enabled"];
local predicted_position =
assist.get_predicted_position();
local screen_predicted_position =
utility.world_to_screen(predicted_position);
assist.move_mouse(screen_predicted_position.position,
5);
end});
--// rage
do
--// sections
local rage_main_target_aim = ui.tabs["rage"]:Section({Name = "Target
Aim", Side = "Left", Size = 427});
local rage_target_aim_visuals = ui.tabs["rage"]:Section({Name = "Target
Aim Visuals", Side = "Right", Size = 245});
local rage_target_aim_teleport = ui.tabs["rage"]:Section({Name =
"Target Aim Teleport", Side = "Right", Size = 175});
do
local main_toggle = rage_main_target_aim:Toggle({Name =
"Enabled", Flag = "rage_target_aim_enabled", Callback = function(state)
if state then return end;
screen_gui.Enabled = false;
end});
local main_toggle_option_list = main_toggle:OptionList({});
main_toggle_option_list:Toggle({Name = "Notify", Flag =
"rage_target_aim_notify"});
main_toggle_option_list:Slider({Name = "Notify Duration", Flag =
"rage_target_aim_notify_duration", Default = 2, Minimum = 1, Maximum = 10, Decimals
= 0.01, Ending = "s"});
main_toggle_option_list:Toggle({Name = "Auto Shoot", Flag =
"rage_target_aim_auto_shoot"});
main_toggle_option_list:Toggle({Name = "Look At", Flag =
"rage_target_aim_look_at"});
main_toggle_option_list:Toggle({Name = "Randomized BodyPart",
Flag = "rage_target_aim_randomized_body_part"});
main_toggle_option_list:Toggle({Name = "Movement Simulation",
Flag = "rage_target_aim_movement_simulation"});
rage_main_target_aim:Keybind({Flag = "rage_target_aim_key",
Default = Enum.KeyCode.E, Mode = "Toggle", Callback = function(key)
local target_aim_enabled =
flags["rage_target_aim_enabled"];
local checks_enabled = flags["rage_target_aim_use_checks"];
local check_values = flags["rage_target_aim_checks"];
local fov_enabled =
flags["rage_target_aim_use_field_of_view"];
local fov_radius =
flags["rage_target_aim_field_of_view_radius"];
local auto_switch = flags["rage_target_aim_auto_switch"];
locals.target_aim.target = (locals.target_aim.is_targetting
and new_target or nil);
signals.target_target_changed:Fire(locals.target_aim.target,
locals.target_aim.is_targetting);
end});
screen_gui.Enabled = false;
end});
end;
end;
--// movement
do
local cframe_speed = ui.tabs["movement"]:Section({Name = "CFrame
speed", Side = "Left", Size = 125});
local cframe_fly = ui.tabs["movement"]:Section({Name = "Fly", Side =
"Left", Size = 125});
local misc = ui.tabs["movement"]:Section({Name = "Misc", Side =
"Right", Size = 100});
--// speed
do
local main_toggle = cframe_speed:Toggle({Name = "Enabled", Flag =
"rage_cframe_speed_enabled"});
cframe_speed:Keybind({Flag = "rage_cframe_speed_keybind", Name =
"Keybind", Default = Enum.KeyCode.X, Mode = "Toggle"});
cframe_speed:Slider({Name = "Amount", Flag =
"rage_cframe_speed_amount", Default = 0.3, Minimum = 0.1, Maximum = 10, Decimals =
0.01, Ending = "%"});
end;
--// fly
do
local main_toggle = cframe_fly:Toggle({Name = "Enabled", Flag =
"rage_cframe_fly_enabled"});
cframe_fly:Keybind({Flag = "rage_cframe_fly_keybind", Name =
"Keybind", Default = Enum.KeyCode.C, Mode = "Toggle"});
cframe_fly:Slider({Name = "Speed", Flag =
"rage_cframe_fly_amount", Default = 1, Minimum = 1, Maximum = 30, Decimals = 0.01,
Ending = "%"});
end;
--// misc
do
misc:Toggle({Name = "No Jump Cooldown", Flag =
"rage_misc_movement_no_jump_cooldown", Callback = function(state)
if (not (utility.has_character(local_player))) then return
end;
local_player.Character.Humanoid.UseJumpPower = true;
end});
for i = 1, #descendants do
local object = descendants[i];
--// visuals
do
--// world
do
local visuals_bullet_tracers = ui.tabs["world"]:Section({Name =
"Bullet Tracers", Side = "Left", Size = 210});
local visuals_bullet_impacts = ui.tabs["world"]:Section({Name =
"Bullet Impacts", Side = "Right", Size = 210});
local visuals_hit_detection = ui.tabs["world"]:Section({Name =
"Hit Detection", Side = "Left"});
local visuals_clone_chams = ui.tabs["world"]:Section({Name =
"Clone Chams", Side = "Right"});
local sounds_toggle_option_list =
sounds_toggle:OptionList({});
sounds_toggle_option_list:List({Name = "Sound", Flag =
"visuals_hit_detection_sounds_which_sound", Options = sounds, Default =
sounds[1]});
sounds_toggle_option_list:Slider({Name = "Volume", Flag =
"visuals_hit_detection_sounds_volume", Default = 5, Minimum = 0.1, Maximum = 10,
Decimals = 0.01, Ending = "%"});
--// misc
do
local world_section = ui.tabs["view"]:Section({Name = "World",
Side = "Left", Size = 210});
local lplr_section = ui.tabs["view"]:Section({Name = "Local
Player", Side = "Left", Size = 210});
local cursor_text = ui.tabs["view"]:Section({Name = "Text", Side
= "Right", Size = 210});
--// world
do
local fog = world_section:Toggle({Name = "Fog", Flag =
"visuals_world_fog", Callback = function(state)
if state then
lighting.FogColor =
flags["visuals_world_fog_color"];
lighting.FogStart =
flags["visuals_world_fog_start"];
lighting.FogEnd =
flags["visuals_world_fog_end"];
else
lighting.FogColor = world.FogColor;
lighting.FogStart = world.FogStart;
lighting.FogEnd = world.FogEnd;
end;
end});
if true then
local esp_section = ui.tabs["view"]:Section({Name = "ESP",
Side = "Right", Size = 210});
--// esp section
do
esp_section:Toggle({Name = "Enabled", Flag =
"visuals_esp_enabled"});
local boxes_toggle = esp_section:Toggle({Name =
"Boxes", Flag = "visuals_esp_boxes_enabled"});
local boxes_option_list =
boxes_toggle:OptionList({});
boxes_option_list:Colorpicker({Name = "Color", Flag =
"visuals_esp_boxes_color", Default = Color3.new(1, 1, 1)});
boxes_option_list:Toggle({Name = "Target Color", Flag
= "visuals_esp_boxes_target_color_enabled"});
boxes_option_list:Colorpicker({Name = "Target Color",
Flag = "visuals_esp_boxes_target_color", Default = Color3.new(1, 0, 0)});
--// override
do
--// sections
local override_world = ui.tabs["override"]:Section({Name = "World",
Side = "Left", Size = 127});
local override_anti = ui.tabs["override"]:Section({Name = "Anti", Side
= "Right", Size = 127});
do
local override_recoil = override_anti:Toggle({Name = "Recoil", Flag =
"override_anti_recoil"});
local override_spread = override_anti:Toggle({Name = "Spread", Flag =
"override_anti_spread"});
local override_slowdown = override_anti:Toggle({Name = "Slowdown", Flag
= "override_anti_slowdown"});
end;
--// c sync
do
local main_toggle = c_sync:Toggle({Name = "Enabled", Flag =
"anti_aim_c_sync_enabled"});
local main_toggle_option_list = main_toggle:OptionList({});
--// settings
do --// credits to finobe wtv im way too lazy
local cfgs = ui.tabs["settings"]:Section({Name = "Config", Side =
"Left", Size = 427});
local window = ui.tabs["settings"]:Section({Name = "Window", Side =
"Right", Size = 170});
local tools = ui.tabs["settings"]:Section({Name = "Tool", Side =
"Right", Size = 160});
local cfg_list = cfgs:List({Name = "Config List", Flag =
"setting_configuration_list", Options = {}});
cfgs:Textbox({Flag = "settings_configuration_name", Placeholder =
"Config name"});
if is_new then
current_list = list;
cfg_list:Refresh(current_list);
end;
end;
update_config_list();
--// ui settings
window:Keybind({Name = "UI Toggle", Flag = "ui_toggle", Default =
Enum.KeyCode.Insert, UseKey = true, Callback = function(key)
Library.UIKey = key;
end});
--// tools
MakeTool = function(ToolKeybind, ToolInstanceName)
local ToolInstanceName = Instance.new("Tool");
ToolInstanceName.RequiresHandle = false
ToolInstanceName.Name = ToolKeybind
ToolInstanceName.Activated:Connect(function()
game:GetService("VirtualInputManager"):SendKeyEvent(true,
ToolKeybind, false, game)
end)
ToolInstanceName.Parent = game.Players.LocalPlayer.Backpack
local Player = game.Players.LocalPlayer
local function OnCharacterAdded(character)
ToolInstanceName.Parent = game.Players.LocalPlayer.Backpack
end;
Player.CharacterAdded:Connect(OnCharacterAdded);
Player.CharacterRemoving:Connect(function()
ToolInstanceName.Parent = game.Players.LocalPlayer.Backpack
end)
end;
MBSG.DisplayOrder = 9999
MBSG.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
MakeDraggable(Button)
Button.Name = ButtonKeybind
Button.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
Button.AnchorPoint = Vector2.new(0.5, 0.5)
Button.Position = UDim2.new(0.5, 0, 0.5, 0)
Button.Text = ButtonKeybind
Button.TextColor3 = Color3.fromRGB(255, 255, 255)
Button.BorderColor3 = Color3.new(0,0,0)
Button.AutoButtonColor = false
Button.MouseButton1Click:Connect(function()
game:GetService("VirtualInputManager"):SendKeyEvent(true,
ButtonKeybind, false, game)
end)
end;