Created
May 18, 2026 14:47
-
-
Save DuyNgao2306/1fdca35586f0595f37130214149d854b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --// CROW UI PRO FINAL (FULL FIX + FULL FEATURES) | |
| 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 | |
| local playerGui = player:WaitForChild("PlayerGui") | |
| if playerGui:FindFirstChild("CrowUI") then return end | |
| -- GUI ROOT | |
| local gui = Instance.new("ScreenGui") | |
| gui.Name = "CrowUI" | |
| gui.ResetOnSpawn = false | |
| gui.IgnoreGuiInset = true | |
| gui.Parent = playerGui | |
| -- ================= NOTIFY ================= | |
| local function notify(text) | |
| local n = Instance.new("TextLabel", gui) | |
| n.Size = UDim2.new(0,200,0,40) | |
| n.Position = UDim2.new(0.5,-100,0.1,0) | |
| n.BackgroundColor3 = Color3.fromRGB(0,0,0) | |
| n.TextColor3 = Color3.fromRGB(255,255,255) | |
| n.TextScaled = true | |
| n.Text = text | |
| Instance.new("UICorner", n) | |
| task.delay(2,function() n:Destroy() end) | |
| end | |
| -- ================= OPEN 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(240,240,240) | |
| 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 | |
| local layout = Instance.new("UIListLayout", scroll) | |
| layout.Padding = UDim.new(0,8) | |
| -- ================= DRAG ================= | |
| local function drag(frame) | |
| local dragging=false | |
| local startPos, startFrame | |
| frame.InputBegan:Connect(function(i) | |
| if i.UserInputType==Enum.UserInputType.MouseButton1 then | |
| dragging=true | |
| startPos=i.Position | |
| startFrame=frame.Position | |
| end | |
| end) | |
| frame.InputEnded:Connect(function() | |
| dragging=false | |
| end) | |
| frame.InputChanged:Connect(function(i) | |
| if dragging then | |
| local delta=i.Position-startPos | |
| frame.Position=UDim2.new( | |
| startFrame.X.Scale, | |
| startFrame.X.Offset+delta.X, | |
| startFrame.Y.Scale, | |
| startFrame.Y.Offset+delta.Y | |
| ) | |
| end | |
| end) | |
| end | |
| drag(menu) | |
| drag(openBtn) | |
| -- ================= SWITCH ================= | |
| local function createSwitch(text,order) | |
| local frame = Instance.new("Frame", scroll) | |
| frame.Size = UDim2.new(0.9,0,0,40) | |
| frame.LayoutOrder = order | |
| frame.BackgroundColor3 = Color3.fromRGB(210,210,210) | |
| 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 toggle = Instance.new("TextButton", frame) | |
| toggle.Size = UDim2.new(0,50,0,25) | |
| toggle.Position = UDim2.new(0.7,0,0.5,-12) | |
| toggle.Text = "" | |
| toggle.BackgroundColor3 = Color3.fromRGB(150,150,150) | |
| Instance.new("UICorner", toggle) | |
| local state = false | |
| frame:SetAttribute("State",false) | |
| toggle.MouseButton1Click:Connect(function() | |
| state = not state | |
| frame:SetAttribute("State",state) | |
| toggle.BackgroundColor3 = state and Color3.fromRGB(0,200,100) or Color3.fromRGB(150,150,150) | |
| 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 VIP",7) | |
| -- ================= FPS/PING ================= | |
| local fpsLabel = Instance.new("TextLabel", gui) | |
| fpsLabel.Position = UDim2.new(0,10,0,10) | |
| fpsLabel.Size = UDim2.new(0,120,0,30) | |
| fpsLabel.BackgroundTransparency = 1 | |
| local pingLabel = fpsLabel:Clone() | |
| pingLabel.Position = UDim2.new(0,10,0,45) | |
| pingLabel.Parent = gui | |
| fpsLabel.Parent = gui | |
| RunService.RenderStepped:Connect(function(dt) | |
| if fpsSw:GetAttribute("State") then | |
| fpsLabel.Text = "FPS: "..math.floor(1/dt) | |
| else fpsLabel.Text="" end | |
| 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 ================= | |
| 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 | |
| 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 FULL ================= | |
| 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(reducePart) | |
| else | |
| restoreParts() | |
| if reduceConnection then reduceConnection:Disconnect() 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") | |
| notify(antiAFK and "Anti AFK: ON" or "Anti AFK: OFF") | |
| 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 hum=player.Character and player.Character:FindFirstChildOfClass("Humanoid") | |
| if hum then hum.Jump=true 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