BobloScript.com

Inflate Your Balloon Script – Auto Feed All & Auto Launch

Published by bebraOriginal developer: BobloScript.comPublished Jul 27
Open in Roblox
78Views
43Copies
NeverUpdated

Description

Functions

12 functions
  • Auto Click.
  • Auto Feed All.
  • Auto Launch Balloon.
  • Auto Launch Button.
  • Auto Collect Canister.
  • Auto Open Crates.
  • Auto Upgrade.
  • Auto Buy Silo.
  • Clicker.
  • Silo.
  • Helium Station.
  • Helium Tower.

Screenshots

1 image

Script Code

Raw Code
local Players = game:GetService("Players")local RS = game:GetService("ReplicatedStorage")local UIS = game:GetService("UserInputService")local player = Players.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local ByteNet = RS:WaitForChild("ByteNetReliable")local function pktOp(op)	local b = buffer.create(1)	buffer.writeu8(b, 0, op)	return bend-- [op][u16 le len][string]local function pktStr(op, str)	local len = #str	local b = buffer.create(1 + 2 + len)	buffer.writeu8(b, 0, op)	buffer.writeu16(b, 1, len)	for i = 1, len do		buffer.writeu8(b, 2 + i, string.byte(str, i)) -- i=1 -> idx 3	end	return bend-- [op][u8][u16 len][string]local function pktU8Str(op, u8, str)	local len = #str	local b = buffer.create(1 + 1 + 2 + len)	buffer.writeu8(b, 0, op)	buffer.writeu8(b, 1, u8)	buffer.writeu16(b, 2, len)	for i = 1, len do		buffer.writeu8(b, 3 + i, string.byte(str, i)) -- i=1 -> idx 4	end	return bendlocal function fireNet(b)	pcall(function()		ByteNet:FireServer(b)	end)endlocal cfg = {	AutoClick = false,	AutoFeedAll = false,	AutoLaunch = false,	AutoLaunchButton = false,	AutoCollect = false,	AutoOpenCrates = false,	AutoUpgrade = false,	AutoBuySilo = false,	UpgradeTarget = "Clicker",	ClickDelay = 0.05,	FeedDelay = 0.35,	LaunchDelay = 0.5,	CollectDelay = 0.4,	CrateDelay = 1,	UpgradeDelay = 0.12,}local UPGRADE_TARGETS = {	"Clicker",	"Silo",	"Helium Station",	"Helium Tower",	"Pipe Maze",	"Atmospheric Reservoir",	"Cryo Chamber",}local running, threads = {}, {}local function getPlot()	local plots = workspace:FindFirstChild("Game") and workspace.Game:FindFirstChild("Plots")	if not plots then return nil end	local named = plots:FindFirstChild(player.Name .. "'s Plot")	if named then return named end	for _, p in ipairs(plots:GetChildren()) do		if string.find(p.Name, player.Name, 1, true) then return p end	end	return nilendlocal function fireClick(det)	if det then pcall(fireclickdetector, det) endendlocal function findClickerDet(plot)	local gen = plot:FindFirstChild("Generators")	local clicker = gen and gen:FindFirstChild("Clicker")	local btn = clicker and clicker:FindFirstChild("Button")	return btn and btn:FindFirstChildOfClass("ClickDetector")endlocal function findBalloon(plot)	for _, c in ipairs(plot:GetChildren()) do		if string.find(c.Name, "Balloon", 1, true) then return c end	endendlocal function startLoop(key, fn)	if threads[key] then return end	running[key] = true	threads[key] = task.spawn(function()		while running[key] do			local ok, err = pcall(fn)			if not ok then warn("[BalloonAuto]", key, err) end		end		threads[key] = nil	end)endlocal function setFeature(key, on, fn)	cfg[key] = on	if on then		startLoop(key, fn)	else		running[key] = false	endendlocal function firePrompt(prompt)	if not prompt or not prompt:IsA("ProximityPrompt") then return end	pcall(function()		-- временно расширяем дистанцию / убираем hold		local oldDist = prompt.MaxActivationDistance		local oldHold = prompt.HoldDuration		local oldEnabled = prompt.Enabled		prompt.Enabled = true		prompt.MaxActivationDistance = 999		prompt.HoldDuration = 0		if fireproximityprompt then			-- разные сигнатуры executor'ов			local ok = pcall(fireproximityprompt, prompt)			if not ok then pcall(fireproximityprompt, prompt, 1) end		end		prompt.MaxActivationDistance = oldDist		prompt.HoldDuration = oldHold		prompt.Enabled = oldEnabled	end)endlocal function findCollectPrompts(plot)	local list = {}	if not plot then return list end	for _, d in ipairs(plot:GetDescendants()) do		if d:IsA("ProximityPrompt") then			local action = string.lower(d.ActionText or "")			local object = string.lower(d.ObjectText or "")			local name = string.lower(d.Name or "")			if name == "pickup"				or action == "collect"				or string.find(object, "canister", 1, true)				or string.find(name, "canister", 1, true)			then				list[#list + 1] = d			end		end	end	-- прямой путь из дампа	local gen = plot:FindFirstChild("Generators")	local clicker = gen and gen:FindFirstChild("Clicker")	local can = clicker and clicker:FindFirstChild("Canister")	if can then		local p = can:FindFirstChild("Pickup") or can:FindFirstChildWhichIsA("ProximityPrompt", true)		if p and p:IsA("ProximityPrompt") then			local exists = false			for _, x in ipairs(list) do				if x == p then exists = true break end			end			if not exists then list[#list + 1] = p end		end	end	return listendlocal function loopCollect()	local plot = getPlot()	local prompts = findCollectPrompts(plot)	if #prompts == 0 then		task.wait(0.5)		return	end	local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")	local oldCF = hrp and hrp.CFrame	for _, p in ipairs(prompts) do		-- сервер часто чекает дистанцию — короткий TP к канистре		if hrp and p.Parent then			local part = p.Parent:IsA("BasePart") and p.Parent or p.Parent:FindFirstChildWhichIsA("BasePart")			if part then				pcall(function()					hrp.CFrame = part.CFrame * CFrame.new(0, 3, 0)				end)				task.wait(0.05)			end		end		firePrompt(p)	end	if hrp and oldCF then		pcall(function()			hrp.CFrame = oldCF		end)	end	if plot then		for _, d in ipairs(plot:GetDescendants()) do			if d:IsA("ClickDetector") then				local parentName = string.lower(d.Parent and d.Parent.Name or "")				if string.find(parentName, "canister", 1, true) or string.find(parentName, "pickup", 1, true) then					fireClick(d)				end			end		end	end	task.wait(cfg.CollectDelay)endlocal function loopClick()	local plot = getPlot()	if plot then		fireClick(findClickerDet(plot))		local balloon = findBalloon(plot)		local root = balloon and balloon:FindFirstChild("Root")		local det = root and root:FindFirstChildOfClass("ClickDetector")		fireClick(det)	end	fireNet(pktOp(0x19))	task.wait(cfg.ClickDelay)endlocal function loopFeedAll()	local plot = getPlot()	local balloon = plot and findBalloon(plot)	local root = balloon and balloon:FindFirstChild("Root")	if root then		local p = root:FindFirstChild("FeedAll", true) or root:FindFirstChild("Feed", true)		if p and p:IsA("ProximityPrompt") then firePrompt(p) end	end	task.wait(cfg.FeedDelay)endlocal function loopLaunch()	local plot = getPlot()	local balloon = plot and findBalloon(plot)	local root = balloon and balloon:FindFirstChild("Root")	if root then		for _, d in ipairs(root:GetDescendants()) do			if d:IsA("ProximityPrompt") and (d.ActionText == "Launch" or d.Name == "Feed") then				firePrompt(d)			end		end	end	task.wait(cfg.LaunchDelay)endlocal function loopLaunchButton()	local plot = getPlot()	local lb = plot and plot:FindFirstChild("Launch_Button")	local btn = lb and lb:FindFirstChild("Button")	fireClick(btn and btn:FindFirstChildOfClass("ClickDetector"))	task.wait(cfg.LaunchDelay)endlocal function loopCrates()	fireNet(pktStr(0x0A, "Crates"))	local crates = workspace:FindFirstChild("Game") and workspace.Game.Middle and workspace.Game.Middle:FindFirstChild("Crates")	if crates then		for _, p in ipairs(crates:GetDescendants()) do			if p:IsA("ProximityPrompt") then firePrompt(p) end		end	end	task.wait(cfg.CrateDelay)endlocal function loopUpgrade()	fireNet(pktStr(0x0C, cfg.UpgradeTarget))	task.wait(cfg.UpgradeDelay)endlocal function loopBuySilo()	fireNet(pktStr(0x0D, "Silo"))	task.wait(1.2)end-- UIlocal gui = Instance.new("ScreenGui")gui.Name = "BalloonAutoUI"gui.ResetOnSpawn = falsegui.ZIndexBehavior = Enum.ZIndexBehavior.Siblinggui.Parent = playerGuilocal frame = Instance.new("Frame")frame.Size = UDim2.fromOffset(440, 480)frame.Position = UDim2.new(0.5, -220, 0.12, 0)frame.BackgroundColor3 = Color3.fromRGB(20, 22, 28)frame.BorderSizePixel = 0frame.Active = trueframe.Parent = guiInstance.new("UICorner", frame).CornerRadius = UDim.new(0, 12)Instance.new("UIStroke", frame).Color = Color3.fromRGB(50, 55, 70)local title = Instance.new("TextLabel")title.Size = UDim2.new(1, -20, 0, 26)title.Position = UDim2.fromOffset(14, 8)title.BackgroundTransparency = 1title.Font = Enum.Font.GothamBoldtitle.TextSize = 18title.TextXAlignment = Enum.TextXAlignment.Lefttitle.TextColor3 = Color3.fromRGB(240, 240, 245)title.Text = "Balloon Auto"title.Parent = framelocal status = Instance.new("TextLabel")status.Size = UDim2.new(1, -20, 0, 16)status.Position = UDim2.fromOffset(14, 34)status.BackgroundTransparency = 1status.Font = Enum.Font.Gothamstatus.TextSize = 12status.TextXAlignment = Enum.TextXAlignment.Leftstatus.TextColor3 = Color3.fromRGB(140, 145, 160)status.Text = "Plot: ..."status.Parent = framelocal scroll = Instance.new("ScrollingFrame")scroll.Size = UDim2.new(1, -16, 1, -58)scroll.Position = UDim2.fromOffset(8, 52)scroll.BackgroundTransparency = 1scroll.BorderSizePixel = 0scroll.ScrollBarThickness = 4scroll.AutomaticCanvasSize = Enum.AutomaticSize.Yscroll.CanvasSize = UDim2.new()scroll.Parent = frameInstance.new("UIListLayout", scroll).Padding = UDim.new(0, 5)local function section(t)	local l = Instance.new("TextLabel")	l.Size = UDim2.new(1, -8, 0, 18)	l.BackgroundTransparency = 1	l.Font = Enum.Font.GothamMedium	l.TextSize = 11	l.TextXAlignment = Enum.TextXAlignment.Left	l.TextColor3 = Color3.fromRGB(120, 125, 140)	l.Text = t	l.Parent = scrollendlocal function row(h)	local f = Instance.new("Frame")	f.Size = UDim2.new(1, -8, 0, h or 32)	f.BackgroundColor3 = Color3.fromRGB(30, 33, 42)	f.BorderSizePixel = 0	f.Parent = scroll	Instance.new("UICorner", f).CornerRadius = UDim.new(0, 8)	return fendlocal function toggle(label, key, fn)	local r = row(32)	local t = Instance.new("TextLabel")	t.Size = UDim2.new(1, -56, 1, 0)	t.Position = UDim2.fromOffset(10, 0)	t.BackgroundTransparency = 1	t.Font = Enum.Font.Gotham	t.TextSize = 14	t.TextXAlignment = Enum.TextXAlignment.Left	t.TextColor3 = Color3.fromRGB(220, 225, 235)	t.Text = label	t.Parent = r	local btn = Instance.new("TextButton")	btn.Size = UDim2.fromOffset(38, 20)	btn.Position = UDim2.new(1, -46, 0.5, -10)	btn.BackgroundColor3 = Color3.fromRGB(55, 60, 72)	btn.Text = ""	btn.AutoButtonColor = false	btn.Parent = r	Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0)	local knob = Instance.new("Frame")	knob.Size = UDim2.fromOffset(16, 16)	knob.Position = UDim2.fromOffset(2, 2)	knob.BackgroundColor3 = Color3.fromRGB(245, 245, 250)	knob.BorderSizePixel = 0	knob.Parent = btn	Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0)	local function refresh()		local on = cfg[key]		btn.BackgroundColor3 = on and Color3.fromRGB(70, 180, 100) or Color3.fromRGB(55, 60, 72)		knob.Position = on and UDim2.fromOffset(20, 2) or UDim2.fromOffset(2, 2)	end	btn.MouseButton1Click:Connect(function()		setFeature(key, not cfg[key], fn)		refresh()	end)	refresh()endlocal function numBox(label, key, minV)	local r = row(32)	local t = Instance.new("TextLabel")	t.Size = UDim2.new(0.55, 0, 1, 0)	t.Position = UDim2.fromOffset(10, 0)	t.BackgroundTransparency = 1	t.Font = Enum.Font.Gotham	t.TextSize = 13	t.TextXAlignment = Enum.TextXAlignment.Left	t.TextColor3 = Color3.fromRGB(210, 215, 225)	t.Text = label	t.Parent = r	local box = Instance.new("TextBox")	box.Size = UDim2.new(0.4, -12, 0, 22)	box.Position = UDim2.new(0.58, 0, 0.5, -11)	box.BackgroundColor3 = Color3.fromRGB(42, 46, 58)	box.Font = Enum.Font.Gotham	box.TextSize = 13	box.TextColor3 = Color3.fromRGB(235, 235, 240)	box.Text = tostring(cfg[key])	box.ClearTextOnFocus = false	box.Parent = r	Instance.new("UICorner", box).CornerRadius = UDim.new(0, 6)	box.FocusLost:Connect(function()		local n = tonumber(box.Text)		if n then cfg[key] = math.max(minV or 0, n) end		box.Text = tostring(cfg[key])	end)endlocal targetButtons = {}section("FEATURES")toggle("Auto Click", "AutoClick", loopClick)toggle("Auto Feed All", "AutoFeedAll", loopFeedAll)toggle("Auto Launch (balloon)", "AutoLaunch", loopLaunch)toggle("Auto Launch Button", "AutoLaunchButton", loopLaunchButton)toggle("Auto Collect Canister", "AutoCollect", loopCollect)toggle("Auto Open Crates", "AutoOpenCrates", loopCrates)toggle("Auto Upgrade (0x0C)", "AutoUpgrade", loopUpgrade)toggle("Auto Buy Silo (0x0D)", "AutoBuySilo", loopBuySilo)section("UPGRADE TARGET")for _, name in ipairs(UPGRADE_TARGETS) do	local r = row(28)	local btn = Instance.new("TextButton")	btn.Size = UDim2.new(1, -8, 1, -4)	btn.Position = UDim2.fromOffset(4, 2)	btn.BackgroundColor3 = Color3.fromRGB(42, 46, 58)	btn.Font = Enum.Font.Gotham	btn.TextSize = 13	btn.TextColor3 = Color3.fromRGB(220, 225, 235)	btn.Text = name	btn.AutoButtonColor = false	btn.Parent = r	Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)	targetButtons[name] = btn	btn.MouseButton1Click:Connect(function()		cfg.UpgradeTarget = name		for n, b in pairs(targetButtons) do			local on = n == cfg.UpgradeTarget			b.BackgroundColor3 = on and Color3.fromRGB(70, 180, 100) or Color3.fromRGB(42, 46, 58)			b.TextColor3 = on and Color3.fromRGB(20, 20, 24) or Color3.fromRGB(220, 225, 235)		end	end)end-- init highlightdo	local b = targetButtons[cfg.UpgradeTarget]	if b then		b.BackgroundColor3 = Color3.fromRGB(70, 180, 100)		b.TextColor3 = Color3.fromRGB(20, 20, 24)	endendsection("SPEED")numBox("Click delay", "ClickDelay", 0)numBox("Feed delay", "FeedDelay", 0.05)numBox("Upgrade delay", "UpgradeDelay", 0.05)task.spawn(function()	while gui.Parent do		local p = getPlot()		status.Text = "Plot: " .. (p and p.Name or "?") .. " | Upg: " .. cfg.UpgradeTarget		task.wait(1)	endend)local dragging, dragStart, startPosframe.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)	endend)UIS.InputChanged:Connect(function(input)	if not dragging then return end	if input.UserInputType ~= Enum.UserInputType.MouseMovement and input.UserInputType ~= Enum.UserInputType.Touch then return end	local d = input.Position - dragStart	frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)end)print("[BalloonAuto v2] loaded")
Latest changeScript publishedJul 27

Comments

Loading comments…