Skip to content

Instantly share code, notes, and snippets.

@DuyNgao2306
Created May 19, 2026 00:05
Show Gist options
  • Select an option

  • Save DuyNgao2306/a68ea574f8fde52e61b05bdef05f7142 to your computer and use it in GitHub Desktop.

Select an option

Save DuyNgao2306/a68ea574f8fde52e61b05bdef05f7142 to your computer and use it in GitHub Desktop.
--// ANTI DUPLICATE
if getgenv().CrowUI_Loaded then return end
getgenv().CrowUI_Loaded = true
-- SERVICES
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Stats = game:GetService("Stats")
local VirtualUser = game:GetService("VirtualUser")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- CLEAR OLD
for _,v in pairs(playerGui:GetChildren()) do
if v.Name == "CrowUI" then v:Destroy() end
end
-- GUI
local gui = Instance.new("ScreenGui", playerGui)
gui.Name = "CrowUI"
gui.ResetOnSpawn = false
-- VERSION
local version = Instance.new("TextLabel", gui)
version.Size = UDim2.new(0,120,0,20)
version.Position = UDim2.new(1,-10,1,-10)
version.AnchorPoint = Vector2.new(1,1)
version.BackgroundTransparency = 1
version.Text = "Crow UI vFINAL"
version.TextScaled = true
version.TextColor3 = Color3.new(1,1,1)
-- ================= DRAG (FIX MOBILE + PC) =================
local function drag(frame)
local dragging = false
local dragStart, startPos
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
end
end)
frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and (
input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch
) then
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
end
-- ================= OPEN BUTTON =================
local openBtn = Instance.new("TextButton", gui)
openBtn.Size = UDim2.new(0,55,0,55)
openBtn.Position = UDim2.new(0,20,0.5,-25)
openBtn.Text = "≡"
openBtn.TextScaled = true
openBtn.BackgroundColor3 = Color3.fromRGB(255,255,255)
Instance.new("UICorner", openBtn)
drag(openBtn)
-- ================= MENU =================
local menu = Instance.new("Frame", gui)
menu.Size = UDim2.new(0,240,0,320)
menu.Position = UDim2.new(0.5,-120,0.5,-160)
menu.BackgroundColor3 = Color3.fromRGB(245,245,245)
menu.Visible = false
Instance.new("UICorner", menu)
drag(menu)
-- TITLE
local title = Instance.new("TextLabel", menu)
title.Size = UDim2.new(1,0,0,40)
title.Text = "Setting ⚙️"
title.TextScaled = true
title.BackgroundTransparency = 1
title.TextColor3 = Color3.fromRGB(0,200,200)
-- SCROLL
local scroll = Instance.new("ScrollingFrame", menu)
scroll.Size = UDim2.new(1,0,1,-45)
scroll.Position = UDim2.new(0,0,0,45)
scroll.BackgroundTransparency = 1
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
local layout = Instance.new("UIListLayout", scroll)
layout.Padding = UDim.new(0,8)
-- ================= SWITCH (FIX CLICK) =================
local function createSwitch(text,order)
local frame = Instance.new("Frame", scroll)
frame.Size = UDim2.new(0.9,0,0,45)
frame.LayoutOrder = order
frame.BackgroundColor3 = Color3.fromRGB(230,230,230)
Instance.new("UICorner", frame)
local label = Instance.new("TextLabel", frame)
label.Size = UDim2.new(0.6,0,1,0)
label.Text = text
label.BackgroundTransparency = 1
label.TextScaled = true
local toggleBtn = Instance.new("TextButton", frame)
toggleBtn.Size = UDim2.new(0,50,0,25)
toggleBtn.Position = UDim2.new(1,-60,0.5,-12)
toggleBtn.Text = ""
toggleBtn.BackgroundColor3 = Color3.fromRGB(180,180,180)
Instance.new("UICorner", toggleBtn)
local knob = Instance.new("Frame", toggleBtn)
knob.Size = UDim2.new(0,25,0,25)
knob.BackgroundColor3 = Color3.new(1,1,1)
Instance.new("UICorner", knob)
local state = false
frame:SetAttribute("State",false)
local function set(s)
state = s
frame:SetAttribute("State",s)
toggleBtn.BackgroundColor3 = s and Color3.fromRGB(0,200,100) or Color3.fromRGB(180,180,180)
knob.Position = s and UDim2.new(1,-25,0,0) or UDim2.new(0,0,0,0)
end
toggleBtn.MouseButton1Click:Connect(function()
set(not state)
end)
toggleBtn.Activated:Connect(function()
set(not state)
end)
return frame
end
-- SWITCHES
local fpsSw = createSwitch("FPS",1)
local pingSw = createSwitch("Ping",2)
local gfxSw = createSwitch("Graphics",3)
local partSw = createSwitch("Part Reduce",4)
local hideSw = createSwitch("Hide UI",5)
local flySw = createSwitch("Fly",6)
local afkSw = createSwitch("Anti AFK",7)
-- ================= FPS =================
local fpsLabel = Instance.new("TextLabel", gui)
fpsLabel.Position = UDim2.new(0,10,0,10)
fpsLabel.Size = UDim2.new(0,120,0,25)
fpsLabel.BackgroundTransparency = 1
RunService.RenderStepped:Connect(function(dt)
if fpsSw:GetAttribute("State") then
fpsLabel.Text = "FPS: "..math.floor(1/dt)
else
fpsLabel.Text = ""
end
end)
-- ================= PING =================
local pingLabel = Instance.new("TextLabel", gui)
pingLabel.Position = UDim2.new(0,10,0,35)
pingLabel.Size = UDim2.new(0,120,0,25)
pingLabel.BackgroundTransparency = 1
RunService.RenderStepped:Connect(function()
if pingSw:GetAttribute("State") then
local p=0
pcall(function() p=Stats.PerformanceStats.Ping:GetValue() end)
pingLabel.Text = "Ping: "..math.floor(p)
else
pingLabel.Text=""
end
end)
-- ================= GRAPHICS =================
gfxSw:GetAttributeChangedSignal("State"):Connect(function()
local s = gfxSw:GetAttribute("State")
Lighting.GlobalShadows = not s
end)
-- ================= PART REDUCE =================
partSw:GetAttributeChangedSignal("State"):Connect(function()
local s = partSw:GetAttribute("State")
for _,v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") then
v.Material = s and Enum.Material.SmoothPlastic or Enum.Material.Plastic
end
end
end)
-- ================= HIDE UI =================
local hidden={}
hideSw:GetAttributeChangedSignal("State"):Connect(function()
if hideSw:GetAttribute("State") then
hidden={}
for _,v in ipairs(playerGui:GetChildren()) do
if v:IsA("ScreenGui") and v~=gui then
hidden[v]=true
v.Enabled=false
end
end
else
for v in pairs(hidden) do
if v then v.Enabled=true end
end
end
end)
-- ================= FLY =================
flySw:GetAttributeChangedSignal("State"):Connect(function()
if flySw:GetAttribute("State") then
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Fly-V3-X-132770"))()
end
end)
-- ================= ANTI AFK =================
local anti=false
afkSw:GetAttributeChangedSignal("State"):Connect(function()
anti=afkSw:GetAttribute("State")
end)
player.Idled:Connect(function()
if anti then
VirtualUser:CaptureController()
VirtualUser:Button2Down(Vector2.new(),workspace.CurrentCamera.CFrame)
task.wait(1)
VirtualUser:Button2Up(Vector2.new(),workspace.CurrentCamera.CFrame)
end
end)
-- MENU
openBtn.MouseButton1Click:Connect(function()
menu.Visible = not menu.Visible
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment