Skip to content

Instantly share code, notes, and snippets.

@DuyNgao2306
Created May 18, 2026 14:33
Show Gist options
  • Select an option

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

Select an option

Save DuyNgao2306/32b5763ed44c803abdecdcb286907657 to your computer and use it in GitHub Desktop.
--// CROW UI PRO FINAL (STABLE + ANTI AFK + FULL REDUCE)
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 player = Players.LocalPlayer
-- WAIT GUI
local function getGui()
local g = player:FindFirstChildOfClass("PlayerGui")
while not g do task.wait() g = player:FindFirstChildOfClass("PlayerGui") end
return g
end
local playerGui = getGui()
if playerGui:FindFirstChild("CrowUI") then return end
-- ROOT
local gui = Instance.new("ScreenGui")
gui.Name = "CrowUI"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.Parent = playerGui
-- ================= BUTTON =================
local openBtn = Instance.new("TextButton", gui)
openBtn.Size = UDim2.new(0,50,0,50)
openBtn.Position = UDim2.new(0,15,0.5,-25)
openBtn.Text = "≡"
openBtn.TextScaled = true
openBtn.BackgroundColor3 = Color3.fromRGB(255,255,255)
Instance.new("UICorner", openBtn)
-- ================= MENU =================
local menu = Instance.new("Frame", gui)
menu.Size = UDim2.new(0,270,0,360)
menu.Position = UDim2.new(0.5,-135,0.5,-180)
menu.BackgroundColor3 = Color3.fromRGB(235,235,235)
menu.Visible = false
Instance.new("UICorner", menu)
local scroll = Instance.new("ScrollingFrame", menu)
scroll.Size = UDim2.new(1,0,1,0)
scroll.BackgroundTransparency = 1
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
Instance.new("UIListLayout", scroll)
-- ================= DRAG =================
local function drag(f)
local d=false
local s,p
f.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
d=true
s=i.Position
p=f.Position
end
end)
f.InputEnded:Connect(function()
d=false
end)
f.InputChanged:Connect(function(i)
if d then
local delta=i.Position - s
f.Position=UDim2.new(p.X.Scale,p.X.Offset+delta.X,p.Y.Scale,p.Y.Offset+delta.Y)
end
end)
end
drag(menu)
drag(openBtn)
-- ================= SWITCH =================
local function createSwitch(text,order)
local b=Instance.new("TextButton",scroll)
b.Size=UDim2.new(1,0,0,40)
b.Text=text
b.LayoutOrder=order
b.BackgroundColor3=Color3.fromRGB(200,200,200)
local state=false
b:SetAttribute("State",false)
b.MouseButton1Click:Connect(function()
state=not state
b:SetAttribute("State",state)
b.BackgroundColor3=state and Color3.fromRGB(0,200,100) or Color3.fromRGB(200,200,200)
end)
return b
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 VIP",7)
-- ================= FPS/PING =================
local fpsBox=Instance.new("TextLabel",gui)
fpsBox.Position=UDim2.new(0,10,0,10)
fpsBox.Size=UDim2.new(0,120,0,30)
fpsBox.BackgroundTransparency=1
local pingBox=fpsBox:Clone()
pingBox.Position=UDim2.new(0,10,0,45)
pingBox.Parent=gui
fpsBox.Parent=gui
RunService.RenderStepped:Connect(function(dt)
if fpsSw:GetAttribute("State") then
fpsBox.Text="FPS: "..math.floor(1/dt)
else
fpsBox.Text=""
end
if pingSw:GetAttribute("State") then
local p=0
pcall(function()
p=Stats.PerformanceStats.Ping:GetValue()
end)
pingBox.Text="Ping: "..math.floor(p)
else
pingBox.Text=""
end
end)
-- ================= GRAPHICS FIX =================
local lightingBackup = {}
gfxSw:GetAttributeChangedSignal("State"):Connect(function()
local state = gfxSw:GetAttribute("State")
if state then
lightingBackup = {
Brightness = Lighting.Brightness,
GlobalShadows = Lighting.GlobalShadows,
FogEnd = Lighting.FogEnd
}
Lighting.Brightness = 1
Lighting.GlobalShadows = false
Lighting.FogEnd = 100
-- Disable all effects safely
for _,v in ipairs(Lighting:GetDescendants()) do
if v:IsA("PostEffect") or v:IsA("Atmosphere") then
pcall(function() v.Enabled = false end)
end
end
else
for k,v in pairs(lightingBackup) do
Lighting[k] = v
end
for _,v in ipairs(Lighting:GetDescendants()) do
if v:IsA("PostEffect") or v:IsA("Atmosphere") then
pcall(function() v.Enabled = true end)
end
end
end
end)
-- ================= PART REDUCE FIX =================
local reducedParts={}
local reduceConnection
local function reducePart(v)
if v:IsA("BasePart") and not reducedParts[v] then
reducedParts[v]={Material=v.Material,Color=v.Color}
v.Material=Enum.Material.SmoothPlastic
v.Color=Color3.fromRGB(120,120,120)
v.CastShadow=false
end
if v:IsA("MeshPart") then
pcall(function() v.TextureID="" end)
end
if v:IsA("UnionOperation") then
pcall(function() v.UsePartColor=true end)
end
if v:IsA("Decal") or v:IsA("Texture") then
v.Transparency=1
end
end
local function restoreParts()
for v,data in pairs(reducedParts) do
if v and v.Parent then
v.Material=data.Material
v.Color=data.Color
end
end
reducedParts={}
end
partSw:GetAttributeChangedSignal("State"):Connect(function()
if partSw:GetAttribute("State") then
for _,v in ipairs(workspace:GetDescendants()) do
reducePart(v)
end
reduceConnection=workspace.DescendantAdded:Connect(function(v)
reducePart(v)
end)
else
restoreParts()
if reduceConnection then
reduceConnection:Disconnect()
reduceConnection=nil
end
end
end)
-- ================= FLY =================
flySw:GetAttributeChangedSignal("State"):Connect(function()
if flySw:GetAttribute("State") then
pcall(function()
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Fly-V3-X-132770"))()
end)
end
end)
-- ================= HIDE UI =================
local hidden={}
hideSw:GetAttributeChangedSignal("State"):Connect(function()
if hideSw:GetAttribute("State") then
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
hidden={}
end
end)
-- ================= ANTI AFK =================
local antiAFK=false
afkSw:GetAttributeChangedSignal("State"):Connect(function()
antiAFK=afkSw:GetAttribute("State")
end)
player.Idled:Connect(function()
if antiAFK then
VirtualUser:CaptureController()
VirtualUser:Button2Down(Vector2.new(),workspace.CurrentCamera.CFrame)
task.wait(1)
VirtualUser:Button2Up(Vector2.new(),workspace.CurrentCamera.CFrame)
end
end)
task.spawn(function()
while true do
task.wait(math.random(180,420))
if antiAFK then
local char=player.Character
if char then
local hum=char:FindFirstChildOfClass("Humanoid")
if hum then
local r=math.random(1,3)
if r==1 then
hum.Jump=true
elseif r==2 then
hum:Move(Vector3.new(math.random(-1,1),0,math.random(-1,1)),true)
else
workspace.CurrentCamera.CFrame *= CFrame.Angles(0,math.rad(math.random(-10,10)),0)
end
end
end
end
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