-- [[ NEXAL HUB: ULTIMATE PURPLE ECLIPSE - DARK THEME ]] -- local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local UserInputService = game:GetService("UserInputService") local VirtualUser = game:GetService("VirtualUser") local TweenService = game:GetService("TweenService") local localPlayer = Players.LocalPlayer -- [[ NETWORKING ]] -- local netManaged = ReplicatedStorage:WaitForChild("rbxts_include"):WaitForChild("node_modules"):WaitForChild("@rbxts"):WaitForChild("net"):WaitForChild("out"):WaitForChild("_NetManaged") local remotes = { pickup = netManaged:WaitForChild("CLIENT_TOOL_PICKUP_REQUEST"), swing = netManaged:WaitForChild("CIENT_SWING_SWORD"), plow = netManaged:WaitForChild("CLIENT_PLOW_BLOCK_REQUEST"), harvest = netManaged:WaitForChild("CLIENT_HARVEST_CROP_REQUEST"), place = netManaged:WaitForChild("BLOCK_PLACE_REQUEST") } -- [[ STATES ]] -- local running = true local pickupEnabled, auraEnabled, clearEnabled, farmEnabled = false, false, false, false local selectedCrop = "wheat" local activeTargets = {} -- [[ UI REBUILD ]] -- if CoreGui:FindFirstChild("NexalHub_Purple_Elite") then CoreGui.NexalHub_Purple_Elite:Destroy() end local screenGui = Instance.new("ScreenGui", CoreGui) screenGui.Name = "NexalHub_Purple_Elite" screenGui.ResetOnSpawn = false local main = Instance.new("Frame", screenGui) main.Size = UDim2.new(0, 550, 0, 380) main.Position = UDim2.new(0.5, -275, 0.4, -190) main.BackgroundColor3 = Color3.fromRGB(8, 8, 12) main.BorderSizePixel = 0 Instance.new("UICorner", main).CornerRadius = UDim.new(0, 12) -- Shadow local shadow = Instance.new("ImageLabel", screenGui) shadow.BackgroundTransparency = 1 shadow.Image = "rbxassetid://6014261993" shadow.ImageColor3 = Color3.fromRGB(0,0,0) shadow.ImageTransparency = 0.65 shadow.Size = UDim2.new(0, 580, 0, 410) shadow.Position = UDim2.new(0.5, -290, 0.4, -205) shadow.ZIndex = 0 -- [[ SIDEBAR ]] -- local side = Instance.new("Frame", main) side.Size = UDim2.new(0, 160, 1, 0) side.BackgroundColor3 = Color3.fromRGB(12, 10, 18) side.BorderSizePixel = 0 Instance.new("UICorner", side).CornerRadius = UDim.new(0, 12) local sep = Instance.new("Frame", side) sep.Size = UDim2.new(0, 1, 0.8, 0) sep.Position = UDim2.new(1, -1, 0.1, 0) sep.BackgroundColor3 = Color3.fromRGB(25, 20, 35) sep.BorderSizePixel = 0 local title = Instance.new("TextLabel", side) title.Size = UDim2.new(1, 0, 0, 65) title.Text = "NEXAL HUB" title.TextColor3 = Color3.new(1,1,1) title.Font = "GothamBold" title.TextSize = 20 title.BackgroundTransparency = 1 local grad = Instance.new("UIGradient", title) grad.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 60, 200)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(120, 60, 200)) }) task.spawn(function() while running do local t = TweenService:Create(grad, TweenInfo.new(3, Enum.EasingStyle.Linear), {Offset = Vector2.new(1, 0)}) grad.Offset = Vector2.new(-1, 0) t:Play() t.Completed:Wait() end end) -- [[ PAGES ]] -- local container = Instance.new("Frame", main) container.Position = UDim2.new(0, 170, 0, 20) container.Size = UDim2.new(1, -190, 1, -40) container.BackgroundTransparency = 1 local pages = {} local buttons = {} local function createPage(name, y) local p = Instance.new("ScrollingFrame", container) p.Size = UDim2.new(1, 0, 1, 0) p.BackgroundTransparency = 1 p.Visible = (name == "AUTO") p.ScrollBarThickness = 0 p.CanvasSize = UDim2.new(0,0,0,0) p.AutomaticCanvasSize = Enum.AutomaticSize.Y local layout = Instance.new("UIListLayout", p) layout.Padding = UDim.new(0, 10) layout.SortOrder = Enum.SortOrder.LayoutOrder pages[name] = p local b = Instance.new("TextButton", side) b.Size = UDim2.new(0.8, 0, 0, 35) b.Position = UDim2.new(0.1, 0, 0, y) b.Text = name b.BackgroundColor3 = (name == "AUTO") and Color3.fromRGB(45, 20, 80) or Color3.fromRGB(20, 18, 28) b.TextColor3 = Color3.new(1,1,1) b.Font = "GothamSemibold" b.TextSize = 12 b.AutoButtonColor = false Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6) buttons[name] = b b.MouseButton1Click:Connect(function() for _, v in pairs(pages) do v.Visible = false end for _, btn in pairs(buttons) do btn.BackgroundColor3 = Color3.fromRGB(20, 18, 28) end p.Visible = true b.BackgroundColor3 = Color3.fromRGB(45, 20, 80) end) end local function addToggle(name, parent, callback) local frame = Instance.new("Frame", parent) frame.Size = UDim2.new(1, 0, 0, 45) frame.BackgroundColor3 = Color3.fromRGB(15, 12, 22) Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8) local t = Instance.new("TextLabel", frame) t.Size = UDim2.new(1, -50, 1, 0) t.Position = UDim2.new(0, 15, 0, 0) t.Text = name t.TextColor3 = Color3.fromRGB(220, 220, 220) t.Font = "GothamSemibold" t.TextSize = 13 t.TextXAlignment = Enum.TextXAlignment.Left t.BackgroundTransparency = 1 local btn = Instance.new("TextButton", frame) btn.Size = UDim2.new(0, 40, 0, 20) btn.Position = UDim2.new(1, -55, 0.5, -10) btn.BackgroundColor3 = Color3.fromRGB(35, 35, 45) btn.Text = "" Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0) local circle = Instance.new("Frame", btn) circle.Size = UDim2.new(0, 16, 0, 16) circle.Position = UDim2.new(0, 2, 0.5, -8) circle.BackgroundColor3 = Color3.new(1,1,1) Instance.new("UICorner", circle).CornerRadius = UDim.new(1, 0) local state = false btn.MouseButton1Click:Connect(function() state = not state callback(state) TweenService:Create(circle, TweenInfo.new(0.2), {Position = state and UDim2.new(1, -18, 0.5, -8) or UDim2.new(0, 2, 0.5, -8)}):Play() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = state and Color3.fromRGB(90, 30, 180) or Color3.fromRGB(35, 35, 45)}):Play() end) end -- Setup Pages createPage("AUTO", 80) createPage("FARM", 125) createPage("NAV", 170) addToggle("Kill Aura", pages.AUTO, function(v) auraEnabled = v end) addToggle("Auto Pickup", pages.AUTO, function(v) pickupEnabled = v end) addToggle("Auto Clear", pages.AUTO, function(v) clearEnabled = v end) addToggle("Master Farm", pages.FARM, function(v) farmEnabled = v end) local cropLabel = Instance.new("TextLabel", pages.FARM) cropLabel.Size = UDim2.new(1,0,0,25) cropLabel.Text = "SELECTED CROP: " .. selectedCrop:upper() cropLabel.TextColor3 = Color3.fromRGB(160, 80, 255) cropLabel.Font = "GothamBold" cropLabel.BackgroundTransparency = 1 cropLabel.TextSize = 11 for _, crop in pairs({"wheat", "onion", "carrot", "tomato"}) do local b = Instance.new("TextButton", pages.FARM) b.Size = UDim2.new(1, 0, 0, 35) b.Text = "Select " .. crop:sub(1,1):upper()..crop:sub(2) b.BackgroundColor3 = Color3.fromRGB(18, 16, 28) b.TextColor3 = Color3.new(0.8,0.8,0.8) b.Font = "GothamSemibold" b.TextSize = 12 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6) b.MouseButton1Click:Connect(function() selectedCrop = crop cropLabel.Text = "SELECTED CROP: " .. crop:upper() end) end -- [[ LOOPS ]] -- -- 🔥🔥🔥 MAX‑SPEED FARMING LOOP (ONLY PART MODIFIED) 🔥🔥🔥 task.spawn(function() while running do if farmEnabled then local island = workspace:FindFirstChild("Islands") and workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island") if island then local blocks = island:WaitForChild("Blocks"):GetChildren() local occupied = {} -- mark existing crop positions for _, b in ipairs(blocks) do local n = b.Name:lower() if n:find("wheat") or n:find("onion") or n:find("carrot") or n:find("tomato") then occupied[math.floor(b.Position.X) .. "," .. math.floor(b.Position.Z)] = true end end -- ultra‑fast harvest + place for _, block in ipairs(blocks) do if not farmEnabled then break end local name = string.lower(block.Name) if name:find(selectedCrop) then remotes.harvest:InvokeServer({player = localPlayer, model = block}) elseif block.Name == "farmland" or block.Name == "soil" then local key = math.floor(block.Position.X) .. "," .. math.floor(block.Position.Z) if not occupied[key] then remotes.place:InvokeServer({ cframe = CFrame.new(block.Position + Vector3.new(0, 3, 0)), blockType = selectedCrop }) occupied[key] = true end end end end end task.wait(0.005) end end) task.spawn(function() while running do if auraEnabled and workspace:FindFirstChild("Entities") then for _, entity in ipairs(workspace.Entities:GetChildren()) do if auraEnabled and entity:IsA("Model") and entity ~= localPlayer.Character and not activeTargets[entity] then activeTargets[entity] = true task.spawn(function() while running and auraEnabled and entity.Parent and entity:FindFirstChild("Humanoid") and entity.Humanoid.Health > 0 do remotes.swing:InvokeServer({ hitUnit = entity }); task.wait(0.01) end activeTargets[entity] = nil end) end end end task.wait(0.03) end end) task.spawn(function() while running do if pickupEnabled then local isl = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island") if isl and isl:FindFirstChild("Drops") then for _, item in ipairs(isl.Drops:GetChildren()) do remotes.pickup:InvokeServer({ tool = item }) end end end task.wait(0.01) end end) task.spawn(function() while running do if clearEnabled then local isl = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island") if isl and isl:FindFirstChild("Blocks") then for _, b in ipairs(isl.Blocks:GetChildren()) do if b.Name == "tallGrass" or b.Name == "naturalRock1" then remotes.plow:InvokeServer({ block = b }); task.wait(0.1) end end end end task.wait(1) end end) -- [[ NAVIGATION ]] -- local function addTele(name, callback) local b = Instance.new("TextButton", pages.NAV) b.Size = UDim2.new(1, 0, 0, 40) b.Text = "Go to " .. name b.BackgroundColor3 = Color3.fromRGB(20, 20, 30) b.TextColor3 = Color3.new(1,1,1) b.Font = "GothamSemibold" b.TextSize = 12 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6) b.MouseButton1Click:Connect(callback) end addTele("Home Island", function() local island = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island") if island and localPlayer.Character:FindFirstChild("HumanoidRootPart") then local spawnLoc = island.Blocks:FindFirstChild("SpawnLocation") localPlayer.Character.HumanoidRootPart.CFrame = spawnLoc and spawnLoc.CFrame + Vector3.new(0, 3, 0) or island.Blocks:GetChildren()[1].CFrame + Vector3.new(0, 5, 0) end end) addTele("Main Hub", function() if localPlayer.Character:FindFirstChild("HumanoidRootPart") then localPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(276.45, 97.40, -561.03) end end) addTele("Slime Island", function() if localPlayer.Character:FindFirstChild("HumanoidRootPart") then localPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(926.19, 224.69, -401.42) end end) -- [[ DRAGGING ]] -- local drag, dragStart, startPos main.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag, dragStart, startPos = true, i.Position, main.Position end end) UserInputService.InputChanged:Connect(function(i) if drag and i.UserInputType == Enum.UserInputType.MouseMovement then local d = i.Position - dragStart local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y) main.Position = newPos shadow.Position = UDim2.new(newPos.X.Scale, newPos.X.Offset - 15, newPos.Y.Scale, newPos.Y.Offset - 15) end end) UserInputService.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag = false end end) UserInputService.InputBegan:Connect(function(i, p) if not p and i.KeyCode == Enum.KeyCode.J then main.Visible = not main.Visible shadow.Visible = main.Visible end end) localPlayer.Idled:Connect(function() VirtualUser:CaptureController(); VirtualUser:ClickButton2(Vector2.new()) end) local exit = Instance.new("TextButton", side) exit.Size = UDim2.new(0.8, 0, 0, 35) exit.Position = UDim2.new(0.1, 0, 1, -50) exit.BackgroundColor3 = Color3.fromRGB(90, 20, 20) exit.Text = "UNLOAD" exit.TextColor3 = Color3.new(1,1,1) exit.Font = "GothamBold" exit.TextSize = 12 Instance.new("UICorner", exit).CornerRadius = UDim.new(0, 6) exit.MouseButton1Click:Connect(function() running = false screenGui:Destroy() end) print("NEXAL HUB")