Created
May 1, 2026 18:58
-
-
Save DuyNgao2306/062e0c6fca9d1c2bf49e2b9feb9b62a4 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
| --================ CORE =================-- | |
| local Services = { | |
| Players = game:GetService("Players"), | |
| RunService = game:GetService("RunService"), | |
| Stats = game:GetService("Stats"), | |
| UIS = game:GetService("UserInputService"), | |
| TweenService = game:GetService("TweenService"), | |
| VirtualUser = game:GetService("VirtualUser"), | |
| TeleportService = game:GetService("TeleportService") | |
| } | |
| local player = Services.Players.LocalPlayer | |
| local playerGui = player:WaitForChild("PlayerGui") | |
| if not game:IsLoaded() then game.Loaded:Wait() end | |
| --================ LOADING =================-- | |
| local loadingGui = Instance.new("ScreenGui", playerGui) | |
| loadingGui.IgnoreGuiInset = true | |
| loadingGui.ResetOnSpawn = false | |
| local loadingFrame = Instance.new("Frame", loadingGui) | |
| loadingFrame.Size = UDim2.new(1,0,1,0) | |
| loadingFrame.BackgroundColor3 = Color3.fromRGB(10,10,15) | |
| local title = Instance.new("TextLabel", loadingFrame) | |
| title.Size = UDim2.new(1,0,0.4,0) | |
| title.Position = UDim2.new(0,0,0.3,0) | |
| title.BackgroundTransparency = 1 | |
| title.Text = "SCRIPT LOADING..." | |
| title.Font = Enum.Font.GothamBlack | |
| title.TextScaled = true | |
| title.TextColor3 = Color3.fromRGB(0,255,170) | |
| local author = Instance.new("TextLabel", loadingFrame) | |
| author.Size = UDim2.new(1,0,0.2,0) | |
| author.Position = UDim2.new(0,0,0.7,0) | |
| author.BackgroundTransparency = 1 | |
| author.Text = "By: Crow" | |
| author.Font = Enum.Font.GothamBold | |
| author.TextScaled = true | |
| author.TextColor3 = Color3.fromRGB(180,180,180) | |
| for i = 1,3 do | |
| title.Text = "SCRIPT LOADING" .. string.rep(".", i) | |
| task.wait(0.4) | |
| end | |
| task.wait(1) | |
| for i = 1,10 do | |
| loadingFrame.BackgroundTransparency += 0.1 | |
| title.TextTransparency += 0.1 | |
| author.TextTransparency += 0.1 | |
| task.wait(0.05) | |
| end | |
| loadingGui:Destroy() | |
| --================ CONFIG =================-- | |
| local CONFIG = { | |
| AUTO_COLLECT = true, | |
| AUTO_ISLAND = true, | |
| AUTO_PET = true | |
| } | |
| --================ UI =================-- | |
| local gui = Instance.new("ScreenGui", playerGui) | |
| gui.ResetOnSpawn = false | |
| local frame = Instance.new("Frame", gui) | |
| frame.Size = UDim2.new(0,200,0,110) | |
| frame.Position = UDim2.new(0,10,0,40) | |
| frame.BackgroundColor3 = Color3.fromRGB(20,20,30) | |
| Instance.new("UICorner", frame) | |
| local label = Instance.new("TextLabel", frame) | |
| label.Size = UDim2.new(1,0,0.7,0) | |
| label.BackgroundTransparency = 1 | |
| label.Font = Enum.Font.GothamBold | |
| label.TextScaled = true | |
| label.TextColor3 = Color3.fromRGB(0,255,170) | |
| local toggle = Instance.new("TextButton", frame) | |
| toggle.Size = UDim2.new(1,0,0.3,0) | |
| toggle.Position = UDim2.new(0,0,0.7,0) | |
| toggle.Text = "Overlay OFF" | |
| toggle.TextColor3 = Color3.fromRGB(255,255,255) | |
| toggle.BackgroundColor3 = Color3.fromRGB(40,40,60) | |
| local overlay = Instance.new("Frame", gui) | |
| overlay.Size = UDim2.new(1,0,1,0) | |
| overlay.BackgroundColor3 = Color3.new(0,0,0) | |
| overlay.BackgroundTransparency = 0.5 | |
| overlay.Visible = false | |
| toggle.MouseButton1Click:Connect(function() | |
| overlay.Visible = not overlay.Visible | |
| toggle.Text = overlay.Visible and "Overlay ON" or "Overlay OFF" | |
| end) | |
| --================ DRAG (PC + MOBILE) =================-- | |
| local dragging = false | |
| local dragInput, 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 | |
| input.Changed:Connect(function() | |
| if input.UserInputState == Enum.UserInputState.End then | |
| dragging = false | |
| end | |
| end) | |
| end | |
| end) | |
| frame.InputChanged:Connect(function(input) | |
| if input.UserInputType == Enum.UserInputType.MouseMovement | |
| or input.UserInputType == Enum.UserInputType.Touch then | |
| dragInput = input | |
| end | |
| end) | |
| Services.UIS.InputChanged:Connect(function(input) | |
| if input == dragInput and dragging 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) | |
| --================ FPS + PING =================-- | |
| local fpsSamples, pingSamples = {}, {} | |
| local lastUpdate = 0 | |
| Services.RunService.RenderStepped:Connect(function(dt) | |
| local fps = math.floor(1/dt) | |
| local ping = math.floor(Services.Stats.Network.ServerStatsItem["Data Ping"]:GetValue()) | |
| table.insert(fpsSamples,fps) | |
| table.insert(pingSamples,ping) | |
| if #fpsSamples > 20 then table.remove(fpsSamples,1) end | |
| if #pingSamples > 20 then table.remove(pingSamples,1) end | |
| if tick() - lastUpdate > 0.5 then | |
| lastUpdate = tick() | |
| local f,p = 0,0 | |
| for _,v in ipairs(fpsSamples) do f+=v end | |
| for _,v in ipairs(pingSamples) do p+=v end | |
| label.Text = "⚡ FPS: "..math.floor(f/#fpsSamples).."\n📡 Ping: "..math.floor(p/#pingSamples) | |
| end | |
| end) | |
| --================ ANTI AFK =================-- | |
| player.Idled:Connect(function() | |
| Services.VirtualUser:CaptureController() | |
| Services.VirtualUser:ClickButton2(Vector2.new()) | |
| end) | |
| --================ HELPER =================-- | |
| local function getMoney() | |
| local ls = player:FindFirstChild("leaderstats") | |
| if not ls then return 0 end | |
| for _,v in pairs(ls:GetChildren()) do | |
| if v:IsA("NumberValue") or v:IsA("IntValue") then | |
| return v.Value | |
| end | |
| end | |
| return 0 | |
| end | |
| local function scanIslands() | |
| local list = {} | |
| for _,v in pairs(workspace:GetChildren()) do | |
| if v:IsA("Model") and v.Name:lower():find("island") then | |
| table.insert(list,v) | |
| end | |
| end | |
| table.sort(list,function(a,b) return a.Name < b.Name end) | |
| return list | |
| end | |
| --================ AUTO COLLECT (FIX FULL) =================-- | |
| task.spawn(function() | |
| while CONFIG.AUTO_COLLECT do | |
| task.wait(1) | |
| local char = player.Character | |
| if not char or not char:FindFirstChild("HumanoidRootPart") then continue end | |
| local hrp = char.HumanoidRootPart | |
| -- Proximity prompt | |
| for _,v in pairs(workspace:GetDescendants()) do | |
| if v:IsA("ProximityPrompt") and v.Enabled then | |
| local parent = v.Parent | |
| if parent and parent:IsA("BasePart") then | |
| if (hrp.Position - parent.Position).Magnitude < 12 then | |
| pcall(function() | |
| fireproximityprompt(v) | |
| end) | |
| end | |
| end | |
| end | |
| end | |
| -- Item rơi (vacuum) | |
| for _,v in pairs(workspace:GetDescendants()) do | |
| if v:IsA("BasePart") then | |
| local name = v.Name:lower() | |
| if name:find("coin") or name:find("drop") or name:find("reward") then | |
| if (hrp.Position - v.Position).Magnitude < 50 then | |
| pcall(function() | |
| v.CFrame = hrp.CFrame | |
| end) | |
| end | |
| end | |
| end | |
| end | |
| end | |
| end) | |
| --================ AUTO ISLAND =================-- | |
| task.spawn(function() | |
| local islands = scanIslands() | |
| local index = 1 | |
| while CONFIG.AUTO_ISLAND do | |
| task.wait(3) | |
| local money = getMoney() | |
| local island = islands[index] | |
| if island then | |
| local costObj = island:FindFirstChild("Cost") | |
| local part = island:FindFirstChildWhichIsA("BasePart", true) | |
| if costObj and money >= costObj.Value then | |
| if part and player.Character then | |
| player.Character:MoveTo(part.Position) | |
| end | |
| index += 1 | |
| end | |
| end | |
| end | |
| end) | |
| --================ AUTO PET (EQUIP BEST) =================-- | |
| task.spawn(function() | |
| while CONFIG.AUTO_PET do | |
| task.wait(5) | |
| local pets = player:FindFirstChild("Pets") | |
| if not pets then continue end | |
| local best, bestPower = nil, 0 | |
| for _,pet in pairs(pets:GetChildren()) do | |
| local power = pet:FindFirstChild("Power") | |
| if power and power.Value > bestPower then | |
| bestPower = power.Value | |
| best = pet | |
| end | |
| end | |
| if best then | |
| print("Equipping best pet:", best.Name) | |
| -- auto tìm remote equip | |
| for _,remote in pairs(game:GetDescendants()) do | |
| if remote:IsA("RemoteEvent") and remote.Name:lower():find("equip") then | |
| pcall(function() | |
| remote:FireServer(best.Name) | |
| end) | |
| end | |
| end | |
| end | |
| end | |
| end) | |
| --================ REJOIN =================-- | |
| local SCRIPT_URL = "https://gist.githubusercontent.com/DuyNgao2306/e24a1f4c7fdd3b17a8ea3a3b9ed42092/raw/3729cc63e683e9ebe0c893ac974a2a64506ed8ee/Slime_Rng.lua" | |
| if queue_on_teleport then | |
| queue_on_teleport('task.wait(2); loadstring(game:HttpGet("'..SCRIPT_URL..'"))()') | |
| end | |
| game:GetService("CoreGui").RobloxPromptGui.promptOverlay.ChildAdded:Connect(function(child) | |
| if child.Name == "ErrorPrompt" then | |
| task.wait(2) | |
| Services.TeleportService:Teleport(game.PlaceId, player) | |
| end | |
| end) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment