Created
May 18, 2026 23:36
-
-
Save DuyNgao2306/84b67dd6e368b4d4a0d35fa9000cadb6 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
| --// ANTI DUPLICATE (STRONG) | |
| 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") | |
| -- REMOVE OLD UI (EXTRA SAFE) | |
| for _,v in pairs(playerGui:GetChildren()) do | |
| if v.Name == "CrowUI" then | |
| v:Destroy() | |
| end | |
| end | |
| -- GUI ROOT | |
| local gui = Instance.new("ScreenGui") | |
| gui.Name = "CrowUI" | |
| gui.ResetOnSpawn = false | |
| gui.IgnoreGuiInset = true | |
| gui.Parent = playerGui | |
| -- ================= 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 v3.0" | |
| version.TextScaled = true | |
| version.TextColor3 = Color3.fromRGB(255,255,255) | |
| version.TextXAlignment = Enum.TextXAlignment.Right | |
| -- ================= DRAG FIX ================= | |
| 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) | |
| UIS.InputChanged:Connect(function(i) | |
| if dragging and i.UserInputType==Enum.UserInputType.MouseMovement 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) | |
| frame.InputEnded:Connect(function() | |
| dragging=false | |
| 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).CornerRadius = UDim.new(0,12) | |
| 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).CornerRadius = UDim.new(0,15) | |
| 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 | |
| scroll.ScrollBarThickness = 4 | |
| local layout = Instance.new("UIListLayout", scroll) | |
| layout.Padding = UDim.new(0,8) | |
| -- ================= SWITCH ================= | |
| 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).CornerRadius = UDim.new(0,12) | |
| local label = Instance.new("TextLabel", frame) | |
| label.Size = UDim2.new(0.6,0,1,0) | |
| label.Text = text | |
| label.TextScaled = true | |
| label.BackgroundTransparency = 1 | |
| label.TextXAlignment = Enum.TextXAlignment.Left | |
| local toggle = Instance.new("Frame", frame) | |
| toggle.Size = UDim2.new(0,50,0,25) | |
| toggle.Position = UDim2.new(1,-60,0.5,-12) | |
| toggle.BackgroundColor3 = Color3.fromRGB(180,180,180) | |
| Instance.new("UICorner", toggle).CornerRadius = UDim.new(1,0) | |
| local knob = Instance.new("Frame", toggle) | |
| knob.Size = UDim2.new(0,25,0,25) | |
| knob.BackgroundColor3 = Color3.fromRGB(255,255,255) | |
| Instance.new("UICorner", knob).CornerRadius = UDim.new(1,0) | |
| local state = false | |
| frame:SetAttribute("State",false) | |
| frame.InputBegan:Connect(function(i) | |
| if i.UserInputType == Enum.UserInputType.MouseButton1 then | |
| state = not state | |
| frame:SetAttribute("State",state) | |
| toggle.BackgroundColor3 = state and Color3.fromRGB(0,200,100) or Color3.fromRGB(180,180,180) | |
| knob.Position = state and UDim2.new(1,-25,0,0) or UDim2.new(0,0,0,0) | |
| end | |
| 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 backup={} | |
| gfxSw:GetAttributeChangedSignal("State"):Connect(function() | |
| if gfxSw:GetAttribute("State") then | |
| backup={Lighting.Brightness,Lighting.GlobalShadows,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 | |
| Lighting.Brightness=backup[1] or 2 | |
| Lighting.GlobalShadows=backup[2] or true | |
| Lighting.FogEnd=backup[3] or 100000 | |
| 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 ================= | |
| 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") | |
| 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) | |
| -- ===== CLEANUP (ANTI CHỒNG + GIẢM LAG) ===== | |
| window.__cleanup__ = function() | |
| print("🛑 Cleaning CrowUI") | |
| -- xoá UI | |
| pcall(function() | |
| if gui then gui:Destroy() end | |
| end) | |
| -- tắt connection part reduce | |
| pcall(function() | |
| if conn then conn:Disconnect() end | |
| end) | |
| -- restore part | |
| pcall(function() | |
| for v,d in pairs(reduced or {}) do | |
| if v then | |
| v.Material = d[1] | |
| v.Color = d[2] | |
| end | |
| end | |
| reduced = {} | |
| end) | |
| -- reset hide UI | |
| pcall(function() | |
| for v in pairs(hidden or {}) do | |
| if v then v.Enabled = true end | |
| end | |
| hidden = {} | |
| end) | |
| -- reset graphics | |
| pcall(function() | |
| if backup then | |
| Lighting.Brightness = backup[1] or 2 | |
| Lighting.GlobalShadows = backup[2] or true | |
| Lighting.FogEnd = backup[3] or 100000 | |
| end | |
| end) | |
| -- 🔥 FIX: disconnect FPS loop | |
| pcall(function() | |
| if fpsConn then fpsConn:Disconnect() end | |
| end) | |
| -- 🔥 FIX: disconnect AFK event | |
| pcall(function() | |
| if idleConn then idleConn:Disconnect() end | |
| end) | |
| -- reset anti AFK | |
| anti = false | |
| -- reset anti duplicate | |
| getgenv().CrowUI_Loaded = false | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment