Created
May 18, 2026 15:04
-
-
Save DuyNgao2306/c41b4e768db349070e2e63c81bee8ea0 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 PERFECT) | |
| 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 UserInputService = game:GetService("UserInputService") | |
| 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,180,0,35) | |
| n.Position = UDim2.new(0.5,-90,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 | |
| -- ================= DRAG FIX ================= | |
| local function drag(frame) | |
| local dragging = false | |
| local dragInput, startPos, startFramePos | |
| frame.InputBegan:Connect(function(input) | |
| if input.UserInputType == Enum.UserInputType.MouseButton1 then | |
| dragging = true | |
| startPos = input.Position | |
| startFramePos = frame.Position | |
| dragInput = input | |
| end | |
| end) | |
| frame.InputEnded:Connect(function(input) | |
| if input.UserInputType == Enum.UserInputType.MouseButton1 then | |
| dragging = false | |
| end | |
| end) | |
| UserInputService.InputChanged:Connect(function(input) | |
| if dragging and input == dragInput then | |
| local delta = input.Position - startPos | |
| frame.Position = UDim2.new( | |
| startFramePos.X.Scale, | |
| startFramePos.X.Offset + delta.X, | |
| startFramePos.Y.Scale, | |
| startFramePos.Y.Offset + delta.Y | |
| ) | |
| end | |
| end) | |
| end | |
| -- ================= OPEN BUTTON ================= | |
| local openBtn = Instance.new("TextButton", gui) | |
| openBtn.Size = UDim2.new(0,45,0,45) | |
| openBtn.Position = UDim2.new(0,10,0.5,-22) | |
| openBtn.Text = "≡" | |
| openBtn.TextScaled = true | |
| openBtn.BackgroundColor3 = Color3.fromRGB(255,255,255) | |
| Instance.new("UICorner", openBtn) | |
| -- ================= MENU (NHỎ GỌN) ================= | |
| local menu = Instance.new("Frame", gui) | |
| menu.Size = UDim2.new(0,230,0,300) -- nhỏ hơn | |
| menu.Position = UDim2.new(0.5,-115,0.5,-150) | |
| 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,6) | |
| drag(menu) | |
| drag(openBtn) | |
| -- ================= SWITCH ================= | |
| local function createSwitch(text,order) | |
| local frame = Instance.new("Frame", scroll) | |
| frame.Size = UDim2.new(0.9,0,0,35) | |
| 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,45,0,22) | |
| toggle.Position = UDim2.new(0.7,0,0.5,-11) | |
| 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",7) | |
| -- ================= FPS / PING ================= | |
| 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 | |
| local pingLabel = fpsLabel:Clone() | |
| pingLabel.Position = UDim2.new(0,10,0,35) | |
| pingLabel.Parent = gui | |
| fpsLabel.Parent = gui | |
| RunService.RenderStepped:Connect(function(dt) | |
| fpsLabel.Text = fpsSw:GetAttribute("State") and ("FPS: "..math.floor(1/dt)) or "" | |
| 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 s=gfxSw:GetAttribute("State") | |
| if s 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 ================= | |
| local reduced={} | |
| local conn | |
| local function reduce(v) | |
| if v:IsA("BasePart") and not reduced[v] then | |
| reduced[v]={v.Material,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 restore() | |
| for v,d in pairs(reduced) do | |
| if v then v.Material=d[1] v.Color=d[2] end | |
| end | |
| reduced={} | |
| end | |
| partSw:GetAttributeChangedSignal("State"):Connect(function() | |
| if partSw:GetAttribute("State") then | |
| for _,v in ipairs(workspace:GetDescendants()) do reduce(v) end | |
| conn=workspace.DescendantAdded:Connect(reduce) | |
| else | |
| restore() | |
| if conn then conn:Disconnect() end | |
| end | |
| end) | |
| -- ================= HIDE UI FIX ================= | |
| 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 | |
| hidden={} | |
| 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) | |
| -- ================= ANTI AFK ================= | |
| local anti=false | |
| afkSw:GetAttributeChangedSignal("State"):Connect(function() | |
| anti=afkSw:GetAttribute("State") | |
| notify(anti and "Anti AFK ON" or "Anti AFK OFF") | |
| 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) | |
| task.spawn(function() | |
| while true do | |
| task.wait(math.random(180,420)) | |
| if anti 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