Created
May 1, 2026 17:50
-
-
Save DuyNgao2306/f4e6b86f5baf69117a754ef33e387d08 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 | |
| --================ CONFIG =================-- | |
| local CONFIG = { | |
| AUTO_COLLECT = true, | |
| AUTO_ISLAND = true, | |
| AUTO_PET = true | |
| } | |
| --================ UI SYSTEM =================-- | |
| local gui = Instance.new("ScreenGui", playerGui) | |
| gui.ResetOnSpawn = false | |
| local frame = Instance.new("Frame", gui) | |
| frame.Size = UDim2.new(0,180,0,100) | |
| frame.Position = UDim2.new(0,10,0,40) | |
| frame.BackgroundColor3 = Color3.fromRGB(20,20,20) | |
| 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 | |
| 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" | |
| local overlay = Instance.new("Frame", gui) | |
| overlay.Size = UDim2.new(1,0,1,0) | |
| overlay.BackgroundColor3 = Color3.new(0,0,0) | |
| overlay.Visible = false | |
| toggle.MouseButton1Click:Connect(function() | |
| overlay.Visible = not overlay.Visible | |
| toggle.Text = overlay.Visible and "Overlay ON" or "Overlay OFF" | |
| end) | |
| -- drag | |
| local dragging, startPos, startFramePos | |
| frame.InputBegan:Connect(function(i) | |
| if i.UserInputType == Enum.UserInputType.MouseButton1 then | |
| dragging = true | |
| startPos = i.Position | |
| startFramePos = frame.Position | |
| end | |
| end) | |
| Services.UIS.InputChanged:Connect(function(i) | |
| if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then | |
| local delta = i.Position - startPos | |
| frame.Position = startFramePos + UDim2.new(0,delta.X,0,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 | |
| f = math.floor(f/#fpsSamples) | |
| p = math.floor(p/#pingSamples) | |
| label.Text = "FPS: "..f.."\nPing: "..p | |
| end | |
| end) | |
| --================ ANTI AFK =================-- | |
| player.Idled:Connect(function() | |
| Services.VirtualUser:CaptureController() | |
| Services.VirtualUser:ClickButton2(Vector2.new()) | |
| end) | |
| --================ SCANNER =================-- | |
| local function getMoney() | |
| local ls = player:FindFirstChild("leaderstats") | |
| if not ls then return end | |
| for _,v in pairs(ls:GetChildren()) do | |
| if v:IsA("NumberValue") or v:IsA("IntValue") then | |
| return v | |
| end | |
| end | |
| end | |
| local function scanIslands() | |
| local list = {} | |
| for _,v in pairs(workspace:GetDescendants()) do | |
| if v:IsA("Model") and v.Name:lower():find("island") then | |
| table.insert(list,v) | |
| end | |
| end | |
| return list | |
| end | |
| --================ AUTO =================-- | |
| -- auto collect | |
| task.spawn(function() | |
| while CONFIG.AUTO_COLLECT do | |
| task.wait(1) | |
| for _,v in pairs(workspace:GetDescendants()) do | |
| if v:IsA("ProximityPrompt") then | |
| pcall(function() | |
| fireproximityprompt(v) | |
| end) | |
| end | |
| end | |
| end | |
| end) | |
| -- auto island (safe) | |
| task.spawn(function() | |
| local islands = scanIslands() | |
| local index = 1 | |
| while CONFIG.AUTO_ISLAND do | |
| task.wait(3) | |
| local money = getMoney() | |
| if not money then continue end | |
| local island = islands[index] | |
| if island then | |
| local part = island:FindFirstChildWhichIsA("Part",true) | |
| if part then | |
| player.Character:MoveTo(part.Position) | |
| end | |
| index += 1 | |
| end | |
| end | |
| end) | |
| -- auto pet | |
| task.spawn(function() | |
| while CONFIG.AUTO_PET do | |
| task.wait(3) | |
| for _,v in pairs(game:GetDescendants()) do | |
| if v:IsA("RemoteEvent") and v.Name:lower():find("pet") then | |
| pcall(function() | |
| v:FireServer() | |
| end) | |
| end | |
| end | |
| end | |
| end) | |
| --================ REJOIN =================-- | |
| if queue_on_teleport then | |
| queue_on_teleport('loadstring(game:HttpGet("https://pastebin.com/raw/your_script"))()') | |
| 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