if game.PlaceId == 140374914197602 then local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() -- Function to copy Discord invite to clipboard local function copyDiscordInvite() local invite = "https://discord.gg/9yrkuaaZ" pcall(function() if setclipboard then setclipboard(invite) elseif syn and syn.setclipboard then syn.setclipboard(invite) elseif clipboard and clipboard.set then clipboard.set(invite) end end) pcall(function() game.StarterGui:SetCore("SendNotification", { Title = "Pineapple Hub", Text = "Discord invite copied to clipboard!", Duration = 5 }) end) end -- Load Rayfield UI safely local success, rayfieldCode = pcall(function() return game:HttpGet("https://sirius.menu/rayfield") end) if not success or not rayfieldCode or rayfieldCode == "" then warn("Failed to load Rayfield UI. Check your internet connection.") return end local Rayfield = loadstring(rayfieldCode)() -- Create Rayfield Window with key system enabled and mobile support local Window = Rayfield:CreateWindow({ Name = "Pineapple Hub", Icon = 0, LoadingTitle = "Pineapple Hub", LoadingSubtitle = "by Pineapple", ShowText = "Show UI", -- For mobile users, they can tap this to unhide UI Theme = "Default", ToggleUIKeybind = nil, -- Disable keybind toggle (no keyboard for mobile) DisableRayfieldPrompts = false, DisableBuildWarnings = false, ConfigurationSaving = { Enabled = false, -- Disable config saving to force key prompt every run FolderName = nil, FileName = "Big Hub" }, Discord = { Enabled = false, Invite = "", RememberJoins = true }, KeySystem = true, KeySettings = { Title = "Pineapple Hub Key", Subtitle = "Enter the key to continue", Note = "Join our Discord to access the key:\nhttps://discord.gg/MXbcYJ2c\n(The key is: pineapple)", FileName = "PineappleKey", SaveKey = false, GrabKeyFromSite = false, Key = {"pineapple"} } }) -- Show UI automatically on mobile devices if UserInputService.TouchEnabled then Window:Show() end -- Info Tab with copy Discord invite button local InfoTab = Window:CreateTab("Info", 4483362458) InfoTab:CreateButton({ Name = "Copy Discord Invite Link", Callback = function() copyDiscordInvite() end, Tooltip = "Copies the Discord invite link to your clipboard" }) -- Auto Farm variables and functions local AutoFarmClick = false local AutoWinEnabled = false local function AutoClick() while AutoFarmClick do pcall(function() ReplicatedStorage.IncreaseSpeed:FireServer() end) task.wait(0.05) -- 20 times per second end end local function AutoWin() -- Find Earth parts local earthParts = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA("BasePart") and string.lower(part.Name) == "earth" then table.insert(earthParts, part) end end if #earthParts == 0 then warn("No parts named 'Earth' found in workspace.") return end while AutoWinEnabled do -- Refresh character in case of respawn Character = LocalPlayer.Character if Character and Character:FindFirstChild("HumanoidRootPart") then local hrp = Character.HumanoidRootPart -- Choose random Earth part local targetPart = earthParts[math.random(1, #earthParts)] -- Teleport slightly above it (5 studs above) hrp.CFrame = targetPart.CFrame + Vector3.new(0, 5, 0) end task.wait(2) end end -- Auto Farm tab and toggles local FarmTab = Window:CreateTab("Auto Farm", 4483362458) FarmTab:CreateSection("Auto Farm") FarmTab:CreateToggle({ Name = "Auto Farm Clicks", CurrentValue = false, Flag = "ToggleAutoFarm", Callback = function(state) AutoFarmClick = state if state then AutoClick() end end }) FarmTab:CreateToggle({ Name = "Auto Win", CurrentValue = false, Flag = "ToggleAutoWin", Callback = function(state) AutoWinEnabled = state if state then coroutine.wrap(AutoWin)() end end }) end