Browse
Script Types
Tools
Community
Reach players with keyless, universal, or place-specific scripts.


This Inflate Your Balloon script was created by the BobloScript.com team to automate the game’s balloon and machine progression. Auto Click keeps inflation moving, Auto Feed All handles repeated feeding actions, and Auto Launch releases the balloon when needed. Canisters, crates, upgrades, silos, and helium machines can also be managed with less manual interaction.
Auto Feed All automates the supported feeding process instead of making you interact with each available feed action manually.
It works well together with Auto Click, since the script can keep the balloon-related production loop moving while you focus on upgrades and new machines.
The script includes two launch-related functions:
Auto Launch Balloon automatically handles the supported balloon launch action.
Auto Launch Button automatically interacts with the game's launch button when its conditions are met.
This is useful because Inflate Your Balloon revolves around growing your balloon and earning Coins from the progression loop.
Auto Collect Canister collects available canisters automatically.
This removes another repeated collection step from the loop, especially when you are running the balloon and helium systems for a longer session.
Auto Open Crates automatically opens supported crates when they are available.
It saves you from repeatedly returning to the crate interface and opening them one at a time.
Auto Upgrade automatically purchases supported improvements when the required resources are available.
Upgrades are part of the normal game progression, with the official description specifically encouraging players to buy better upgrades and machines as their balloon grows.
Auto Buy Silo automatically purchases supported Silo progression when the required conditions are met.
Use it when you want the script to continue expanding that part of your setup instead of stopping every time another Silo purchase becomes available.
The script also includes automation or interaction options for:
Clicker
Silo
Helium Station
Helium Tower
These functions are aimed at the machine side of progression. Instead of being only an Auto Clicker, the BobloScript script can continue managing several systems that contribute to growing your balloon and improving production.
Yes. The script was created by the BobloScript.com team.
It is open source and no key, so there is no external key-system step before execution.
Open Inflate Your Balloon and wait for your plot and machines to load.
Copy the BobloScript.com script.
Open a compatible Roblox executor.
Paste the code and press Execute.
Start with Auto Click and Auto Feed All.
Enable Auto Launch Balloon when you want launches automated.
Add Auto Collect Canister and Auto Open Crates for collection tasks.
Enable Auto Upgrade and Silo options when you want the script to spend available resources automatically.
Turn on Helium Station or Helium Tower automation only after those systems are available on your plot.
Game updates can change balloon, machine, canister, Silo, or upgrade interactions, so individual functions may need an update even if the rest of the script still loads.
1local Players = game:GetService("Players")2local RS = game:GetService("ReplicatedStorage")3local UIS = game:GetService("UserInputService")45local player = Players.LocalPlayer6local playerGui = player:WaitForChild("PlayerGui")7local ByteNet = RS:WaitForChild("ByteNetReliable")89local function pktOp(op)10 local b = buffer.create(1)11 buffer.writeu8(b, 0, op)12 return b13end1415-- [op][u16 le len][string]16local function pktStr(op, str)17 local len = #str18 local b = buffer.create(1 + 2 + len)19 buffer.writeu8(b, 0, op)20 buffer.writeu16(b, 1, len)21 for i = 1, len do22 buffer.writeu8(b, 2 + i, string.byte(str, i)) -- i=1 -> idx 323 end24 return b25end2627-- [op][u8][u16 len][string]28local function pktU8Str(op, u8, str)29 local len = #str30 local b = buffer.create(1 + 1 + 2 + len)31 buffer.writeu8(b, 0, op)32 buffer.writeu8(b, 1, u8)33 buffer.writeu16(b, 2, len)34 for i = 1, len do35 buffer.writeu8(b, 3 + i, string.byte(str, i)) -- i=1 -> idx 436 end37 return b38end3940local function fireNet(b)41 pcall(function()42 ByteNet:FireServer(b)43 end)44end4546local cfg = {47 AutoClick = false,48 AutoFeedAll = false,49 AutoLaunch = false,50 AutoLaunchButton = false,51 AutoCollect = false,52 AutoOpenCrates = false,53 AutoUpgrade = false,54 AutoBuySilo = false,55 UpgradeTarget = "Clicker",56 ClickDelay = 0.05,57 FeedDelay = 0.35,58 LaunchDelay = 0.5,59 CollectDelay = 0.4,60 CrateDelay = 1,61 UpgradeDelay = 0.12,62}6364local UPGRADE_TARGETS = {65 "Clicker",66 "Silo",67 "Helium Station",68 "Helium Tower",69 "Pipe Maze",70 "Atmospheric Reservoir",71 "Cryo Chamber",72}7374local running, threads = {}, {}7576local function getPlot()77 local plots = workspace:FindFirstChild("Game") and workspace.Game:FindFirstChild("Plots")78 if not plots then return nil end79 local named = plots:FindFirstChild(player.Name .. "'s Plot")80 if named then return named end81 for _, p in ipairs(plots:GetChildren()) do82 if string.find(p.Name, player.Name, 1, true) then return p end83 end84 return nil85end8687local function fireClick(det)88 if det then pcall(fireclickdetector, det) end89end9091local function findClickerDet(plot)92 local gen = plot:FindFirstChild("Generators")93 local clicker = gen and gen:FindFirstChild("Clicker")94 local btn = clicker and clicker:FindFirstChild("Button")95 return btn and btn:FindFirstChildOfClass("ClickDetector")96end9798local function findBalloon(plot)99 for _, c in ipairs(plot:GetChildren()) do100 if string.find(c.Name, "Balloon", 1, true) then return c end101 end102end103104local function startLoop(key, fn)105 if threads[key] then return end106 running[key] = true107 threads[key] = task.spawn(function()108 while running[key] do109 local ok, err = pcall(fn)110 if not ok then warn("[BalloonAuto]", key, err) end111 end112 threads[key] = nil113 end)114end115116local function setFeature(key, on, fn)117 cfg[key] = on118 if on then119 startLoop(key, fn)120 else121 running[key] = false122 end123end124125local function firePrompt(prompt)126 if not prompt or not prompt:IsA("ProximityPrompt") then return end127 pcall(function()128 -- временно расширяем дистанцию / убираем hold129 local oldDist = prompt.MaxActivationDistance130 local oldHold = prompt.HoldDuration131 local oldEnabled = prompt.Enabled132 prompt.Enabled = true133 prompt.MaxActivationDistance = 999134 prompt.HoldDuration = 0135 if fireproximityprompt then136 -- разные сигнатуры executor'ов137 local ok = pcall(fireproximityprompt, prompt)138 if not ok then pcall(fireproximityprompt, prompt, 1) end139 end140 prompt.MaxActivationDistance = oldDist141 prompt.HoldDuration = oldHold142 prompt.Enabled = oldEnabled143 end)144end145146local function findCollectPrompts(plot)147 local list = {}148 if not plot then return list end149 for _, d in ipairs(plot:GetDescendants()) do150 if d:IsA("ProximityPrompt") then151 local action = string.lower(d.ActionText or "")152 local object = string.lower(d.ObjectText or "")153 local name = string.lower(d.Name or "")154 if name == "pickup"155 or action == "collect"156 or string.find(object, "canister", 1, true)157 or string.find(name, "canister", 1, true)158 then159 list[#list + 1] = d160 end161 end162 end163 -- прямой путь из дампа164 local gen = plot:FindFirstChild("Generators")165 local clicker = gen and gen:FindFirstChild("Clicker")166 local can = clicker and clicker:FindFirstChild("Canister")167 if can then168 local p = can:FindFirstChild("Pickup") or can:FindFirstChildWhichIsA("ProximityPrompt", true)169 if p and p:IsA("ProximityPrompt") then170 local exists = false171 for _, x in ipairs(list) do172 if x == p then exists = true break end173 end174 if not exists then list[#list + 1] = p end175 end176 end177 return list178end179180local function loopCollect()181 local plot = getPlot()182 local prompts = findCollectPrompts(plot)183 if #prompts == 0 then184 task.wait(0.5)185 return186 end187188 local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")189 local oldCF = hrp and hrp.CFrame190191 for _, p in ipairs(prompts) do192 -- сервер часто чекает дистанцию — короткий TP к канистре193 if hrp and p.Parent then194 local part = p.Parent:IsA("BasePart") and p.Parent or p.Parent:FindFirstChildWhichIsA("BasePart")195 if part then196 pcall(function()197 hrp.CFrame = part.CFrame * CFrame.new(0, 3, 0)198 end)199 task.wait(0.05)200 end201 end202 firePrompt(p)203 end204205 if hrp and oldCF then206 pcall(function()207 hrp.CFrame = oldCF208 end)209 end210211 if plot then212 for _, d in ipairs(plot:GetDescendants()) do213 if d:IsA("ClickDetector") then214 local parentName = string.lower(d.Parent and d.Parent.Name or "")215 if string.find(parentName, "canister", 1, true) or string.find(parentName, "pickup", 1, true) then216 fireClick(d)217 end218 end219 end220 end221 task.wait(cfg.CollectDelay)222end223224local function loopClick()225 local plot = getPlot()226 if plot then227 fireClick(findClickerDet(plot))228 local balloon = findBalloon(plot)229 local root = balloon and balloon:FindFirstChild("Root")230 local det = root and root:FindFirstChildOfClass("ClickDetector")231 fireClick(det)232 end233 fireNet(pktOp(0x19))234 task.wait(cfg.ClickDelay)235end236237local function loopFeedAll()238 local plot = getPlot()239 local balloon = plot and findBalloon(plot)240 local root = balloon and balloon:FindFirstChild("Root")241 if root then242 local p = root:FindFirstChild("FeedAll", true) or root:FindFirstChild("Feed", true)243 if p and p:IsA("ProximityPrompt") then firePrompt(p) end244 end245 task.wait(cfg.FeedDelay)246end247248local function loopLaunch()249 local plot = getPlot()250 local balloon = plot and findBalloon(plot)251 local root = balloon and balloon:FindFirstChild("Root")252 if root then253 for _, d in ipairs(root:GetDescendants()) do254 if d:IsA("ProximityPrompt") and (d.ActionText == "Launch" or d.Name == "Feed") then255 firePrompt(d)256 end257 end258 end259 task.wait(cfg.LaunchDelay)260end261262local function loopLaunchButton()263 local plot = getPlot()264 local lb = plot and plot:FindFirstChild("Launch_Button")265 local btn = lb and lb:FindFirstChild("Button")266 fireClick(btn and btn:FindFirstChildOfClass("ClickDetector"))267 task.wait(cfg.LaunchDelay)268end269270local function loopCrates()271 fireNet(pktStr(0x0A, "Crates"))272 local crates = workspace:FindFirstChild("Game") and workspace.Game.Middle and workspace.Game.Middle:FindFirstChild("Crates")273 if crates then274 for _, p in ipairs(crates:GetDescendants()) do275 if p:IsA("ProximityPrompt") then firePrompt(p) end276 end277 end278 task.wait(cfg.CrateDelay)279end280281local function loopUpgrade()282 fireNet(pktStr(0x0C, cfg.UpgradeTarget))283 task.wait(cfg.UpgradeDelay)284end285286local function loopBuySilo()287 fireNet(pktStr(0x0D, "Silo"))288 task.wait(1.2)289end290291-- UI292local gui = Instance.new("ScreenGui")293gui.Name = "BalloonAutoUI"294gui.ResetOnSpawn = false295gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling296gui.Parent = playerGui297298local frame = Instance.new("Frame")299frame.Size = UDim2.fromOffset(440, 480)300frame.Position = UDim2.new(0.5, -220, 0.12, 0)301frame.BackgroundColor3 = Color3.fromRGB(20, 22, 28)302frame.BorderSizePixel = 0303frame.Active = true304frame.Parent = gui305Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 12)306Instance.new("UIStroke", frame).Color = Color3.fromRGB(50, 55, 70)307308local title = Instance.new("TextLabel")309title.Size = UDim2.new(1, -20, 0, 26)310title.Position = UDim2.fromOffset(14, 8)311title.BackgroundTransparency = 1312title.Font = Enum.Font.GothamBold313title.TextSize = 18314title.TextXAlignment = Enum.TextXAlignment.Left315title.TextColor3 = Color3.fromRGB(240, 240, 245)316title.Text = "Balloon Auto"317title.Parent = frame318319local status = Instance.new("TextLabel")320status.Size = UDim2.new(1, -20, 0, 16)321status.Position = UDim2.fromOffset(14, 34)322status.BackgroundTransparency = 1323status.Font = Enum.Font.Gotham324status.TextSize = 12325status.TextXAlignment = Enum.TextXAlignment.Left326status.TextColor3 = Color3.fromRGB(140, 145, 160)327status.Text = "Plot: ..."328status.Parent = frame329330local scroll = Instance.new("ScrollingFrame")331scroll.Size = UDim2.new(1, -16, 1, -58)332scroll.Position = UDim2.fromOffset(8, 52)333scroll.BackgroundTransparency = 1334scroll.BorderSizePixel = 0335scroll.ScrollBarThickness = 4336scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y337scroll.CanvasSize = UDim2.new()338scroll.Parent = frame339Instance.new("UIListLayout", scroll).Padding = UDim.new(0, 5)340341local function section(t)342 local l = Instance.new("TextLabel")343 l.Size = UDim2.new(1, -8, 0, 18)344 l.BackgroundTransparency = 1345 l.Font = Enum.Font.GothamMedium346 l.TextSize = 11347 l.TextXAlignment = Enum.TextXAlignment.Left348 l.TextColor3 = Color3.fromRGB(120, 125, 140)349 l.Text = t350 l.Parent = scroll351end352353local function row(h)354 local f = Instance.new("Frame")355 f.Size = UDim2.new(1, -8, 0, h or 32)356 f.BackgroundColor3 = Color3.fromRGB(30, 33, 42)357 f.BorderSizePixel = 0358 f.Parent = scroll359 Instance.new("UICorner", f).CornerRadius = UDim.new(0, 8)360 return f361end362363local function toggle(label, key, fn)364 local r = row(32)365 local t = Instance.new("TextLabel")366 t.Size = UDim2.new(1, -56, 1, 0)367 t.Position = UDim2.fromOffset(10, 0)368 t.BackgroundTransparency = 1369 t.Font = Enum.Font.Gotham370 t.TextSize = 14371 t.TextXAlignment = Enum.TextXAlignment.Left372 t.TextColor3 = Color3.fromRGB(220, 225, 235)373 t.Text = label374 t.Parent = r375376 local btn = Instance.new("TextButton")377 btn.Size = UDim2.fromOffset(38, 20)378 btn.Position = UDim2.new(1, -46, 0.5, -10)379 btn.BackgroundColor3 = Color3.fromRGB(55, 60, 72)380 btn.Text = ""381 btn.AutoButtonColor = false382 btn.Parent = r383 Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0)384385 local knob = Instance.new("Frame")386 knob.Size = UDim2.fromOffset(16, 16)387 knob.Position = UDim2.fromOffset(2, 2)388 knob.BackgroundColor3 = Color3.fromRGB(245, 245, 250)389 knob.BorderSizePixel = 0390 knob.Parent = btn391 Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0)392393 local function refresh()394 local on = cfg[key]395 btn.BackgroundColor3 = on and Color3.fromRGB(70, 180, 100) or Color3.fromRGB(55, 60, 72)396 knob.Position = on and UDim2.fromOffset(20, 2) or UDim2.fromOffset(2, 2)397 end398 btn.MouseButton1Click:Connect(function()399 setFeature(key, not cfg[key], fn)400 refresh()401 end)402 refresh()403end404405local function numBox(label, key, minV)406 local r = row(32)407 local t = Instance.new("TextLabel")408 t.Size = UDim2.new(0.55, 0, 1, 0)409 t.Position = UDim2.fromOffset(10, 0)410 t.BackgroundTransparency = 1411 t.Font = Enum.Font.Gotham412 t.TextSize = 13413 t.TextXAlignment = Enum.TextXAlignment.Left414 t.TextColor3 = Color3.fromRGB(210, 215, 225)415 t.Text = label416 t.Parent = r417 local box = Instance.new("TextBox")418 box.Size = UDim2.new(0.4, -12, 0, 22)419 box.Position = UDim2.new(0.58, 0, 0.5, -11)420 box.BackgroundColor3 = Color3.fromRGB(42, 46, 58)421 box.Font = Enum.Font.Gotham422 box.TextSize = 13423 box.TextColor3 = Color3.fromRGB(235, 235, 240)424 box.Text = tostring(cfg[key])425 box.ClearTextOnFocus = false426 box.Parent = r427 Instance.new("UICorner", box).CornerRadius = UDim.new(0, 6)428 box.FocusLost:Connect(function()429 local n = tonumber(box.Text)430 if n then cfg[key] = math.max(minV or 0, n) end431 box.Text = tostring(cfg[key])432 end)433end434435local targetButtons = {}436437section("FEATURES")438toggle("Auto Click", "AutoClick", loopClick)439toggle("Auto Feed All", "AutoFeedAll", loopFeedAll)440toggle("Auto Launch (balloon)", "AutoLaunch", loopLaunch)441toggle("Auto Launch Button", "AutoLaunchButton", loopLaunchButton)442toggle("Auto Collect Canister", "AutoCollect", loopCollect)443toggle("Auto Open Crates", "AutoOpenCrates", loopCrates)444toggle("Auto Upgrade (0x0C)", "AutoUpgrade", loopUpgrade)445toggle("Auto Buy Silo (0x0D)", "AutoBuySilo", loopBuySilo)446447section("UPGRADE TARGET")448for _, name in ipairs(UPGRADE_TARGETS) do449 local r = row(28)450 local btn = Instance.new("TextButton")451 btn.Size = UDim2.new(1, -8, 1, -4)452 btn.Position = UDim2.fromOffset(4, 2)453 btn.BackgroundColor3 = Color3.fromRGB(42, 46, 58)454 btn.Font = Enum.Font.Gotham455 btn.TextSize = 13456 btn.TextColor3 = Color3.fromRGB(220, 225, 235)457 btn.Text = name458 btn.AutoButtonColor = false459 btn.Parent = r460 Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)461 targetButtons[name] = btn462 btn.MouseButton1Click:Connect(function()463 cfg.UpgradeTarget = name464 for n, b in pairs(targetButtons) do465 local on = n == cfg.UpgradeTarget466 b.BackgroundColor3 = on and Color3.fromRGB(70, 180, 100) or Color3.fromRGB(42, 46, 58)467 b.TextColor3 = on and Color3.fromRGB(20, 20, 24) or Color3.fromRGB(220, 225, 235)468 end469 end)470end471-- init highlight472do473 local b = targetButtons[cfg.UpgradeTarget]474 if b then475 b.BackgroundColor3 = Color3.fromRGB(70, 180, 100)476 b.TextColor3 = Color3.fromRGB(20, 20, 24)477 end478end479480section("SPEED")481numBox("Click delay", "ClickDelay", 0)482numBox("Feed delay", "FeedDelay", 0.05)483numBox("Upgrade delay", "UpgradeDelay", 0.05)484485task.spawn(function()486 while gui.Parent do487 local p = getPlot()488 status.Text = "Plot: " .. (p and p.Name or "?") .. " | Upg: " .. cfg.UpgradeTarget489 task.wait(1)490 end491end)492493local dragging, dragStart, startPos494frame.InputBegan:Connect(function(input)495 if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then496 dragging = true497 dragStart = input.Position498 startPos = frame.Position499 input.Changed:Connect(function()500 if input.UserInputState == Enum.UserInputState.End then dragging = false end501 end)502 end503end)504UIS.InputChanged:Connect(function(input)505 if not dragging then return end506 if input.UserInputType ~= Enum.UserInputType.MouseMovement and input.UserInputType ~= Enum.UserInputType.Touch then return end507 local d = input.Position - dragStart508 frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)509end)510511print("[BalloonAuto v2] loaded")Ultimate Gym Game





Comments · …
Loading comments…