Izolation / BABFT
Key Required

Izolation / BABFT

Build A Boat For TreasureLocalscriptLocalscript 7.8K views 385 executesUpdated May 1, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•408 lines (14222 chars)
local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer

local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "IzolationGUI"
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local function playSound(id)
    local sound = Instance.new("Sound", gui)
    sound.SoundId = "rbxassetid://"..id
    sound.Volume = 0.5
    sound:Play()
    game.Debris:AddItem(sound, 2)
end

local Theme = {
    Background = Color3.fromRGB(15, 15, 20),
    Secondary = Color3.fromRGB(25, 25, 30),
    Accent = Color3.fromRGB(0, 180, 150),
    Text = Color3.fromRGB(240, 240, 240),
    ToggleOff = Color3.fromRGB(70, 70, 80),
    ToggleOn = Color3.fromRGB(0, 150, 120),
    Shadow = Color3.fromRGB(0, 0, 0, 0.5),
    ButtonColor = Color3.fromRGB(50, 50, 50)
}

local function applyCorner(instance, radius)
    local corner = Instance.new("UICorner", instance)
    corner.CornerRadius = UDim.new(0, radius)
    return corner
end

local function applyShadow(instance)
    local shadow = Instance.new("UIStroke", instance)
    shadow.Color = Theme.Shadow
    shadow.Thickness = 2
    shadow.Transparency = 0.7
    return shadow
end

local toggleButton = Instance.new("TextButton", gui)
toggleButton.Size = UDim2.new(0, 60, 0, 60)
toggleButton.Position = UDim2.new(0, 20, 0.5, -30)
toggleButton.BackgroundColor3 = Theme.ButtonColor
toggleButton.Text = "IZ"
toggleButton.Font = Enum.Font.GothamBlack
toggleButton.TextColor3 = Theme.Text
toggleButton.TextSize = 24
toggleButton.Active = true
toggleButton.Draggable = true
applyCorner(toggleButton, 12)
applyShadow(toggleButton)

toggleButton.MouseEnter:Connect(function()
    TweenService:Create(toggleButton, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(70, 70, 70)}):Play()
end)

toggleButton.MouseLeave:Connect(function()
    TweenService:Create(toggleButton, TweenInfo.new(0.2), {BackgroundColor3 = Theme.ButtonColor}):Play()
end)

local mainFrame = Instance.new("Frame", gui)
mainFrame.Size = UDim2.new(0, 450, 0, 400)
mainFrame.Position = UDim2.new(0.5, -225, 0.5, -200)
mainFrame.BackgroundColor3 = Theme.Background
mainFrame.Visible = false
mainFrame.ZIndex = 2
local mainCorner = applyCorner(mainFrame, 14)
applyShadow(mainFrame)

local title = Instance.new("TextLabel", mainFrame)
title.Text = "IZOLATION"
title.Size = UDim2.new(1, 0, 0, 40)
title.Position = UDim2.new(0, 0, 0, 10)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBlack
title.TextColor3 = Theme.Accent
title.TextSize = 28
title.TextStrokeTransparency = 0.8

local divider = Instance.new("Frame", mainFrame)
divider.Size = UDim2.new(0.9, 0, 0, 2)
divider.Position = UDim2.new(0.05, 0, 0, 50)
divider.BackgroundColor3 = Theme.Accent
divider.BorderSizePixel = 0

local tabsFrame = Instance.new("Frame", mainFrame)
tabsFrame.Size = UDim2.new(1, -20, 0, 40)
tabsFrame.Position = UDim2.new(0, 10, 0, 60)
tabsFrame.BackgroundTransparency = 1

local function createTab(name)
    local tab = Instance.new("TextButton", tabsFrame)
    tab.Text = name
    tab.Size = UDim2.new(0.3, 0, 1, 0)
    tab.Position = UDim2.new(0.35*(#tabsFrame:GetChildren()-1), 0, 0, 0)
    tab.BackgroundColor3 = Theme.Secondary
    tab.Font = Enum.Font.GothamMedium
    tab.TextColor3 = Theme.Text
    tab.TextSize = 16
    applyCorner(tab, 8)
    
    tab.MouseEnter:Connect(function()
        if not tab:FindFirstChild("Highlight") then
            TweenService:Create(tab, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(35, 35, 40)}):Play()
        end
    end)
    
    tab.MouseLeave:Connect(function()
        if not tab:FindFirstChild("Highlight") then
            TweenService:Create(tab, TweenInfo.new(0.2), {BackgroundColor3 = Theme.Secondary}):Play()
        end
    end)
    
    return tab
end

local function createPage(parent)
    local page = Instance.new("ScrollingFrame", parent)
    page.Size = UDim2.new(1, -20, 1, -110)
    page.Position = UDim2.new(0, 10, 0, 110)
    page.BackgroundTransparency = 1
    page.ScrollBarThickness = 6
    page.ScrollBarImageColor3 = Theme.Accent
    page.CanvasSize = UDim2.new(0, 0, 0, 0)
    page.AutomaticCanvasSize = Enum.AutomaticSize.Y
    return page
end

local tabLocal = createTab("LOCAL")
local pageLocal = createPage(mainFrame)
pageLocal.Visible = true

local function highlightTab(activeTab)
    for _, tab in ipairs(tabsFrame:GetChildren()) do
        if tab:IsA("TextButton") then
            if tab == activeTab then
                tab.BackgroundColor3 = Theme.Accent
                local highlight = Instance.new("Frame", tab)
                highlight.Name = "Highlight"
                highlight.Size = UDim2.new(1, 0, 0, 3)
                highlight.Position = UDim2.new(0, 0, 1, -3)
                highlight.BackgroundColor3 = Theme.Text
                highlight.BorderSizePixel = 0
                applyCorner(highlight, 2)
            else
                if tab:FindFirstChild("Highlight") then
                    tab:FindFirstChild("Highlight"):Destroy()
                end
                tab.BackgroundColor3 = Theme.Secondary
            end
        end
    end
end

highlightTab(tabLocal)

local toggles = {}

local function createSlider(name, parent, posY, min, max, default, callback)
    local container = Instance.new("Frame", parent)
    container.Size = UDim2.new(1, -20, 0, 60)
    container.Position = UDim2.new(0, 10, 0, posY)
    container.BackgroundTransparency = 1
    
    local label = Instance.new("TextLabel", container)
    label.Text = name
    label.Size = UDim2.new(1, 0, 0, 20)
    label.Position = UDim2.new(0, 0, 0, 0)
    label.BackgroundTransparency = 1
    label.Font = Enum.Font.GothamMedium
    label.TextColor3 = Theme.Text
    label.TextSize = 16
    label.TextXAlignment = Enum.TextXAlignment.Left
    
    local sliderBack = Instance.new("Frame", container)
    sliderBack.Size = UDim2.new(1, 0, 0, 20)
    sliderBack.Position = UDim2.new(0, 0, 0, 25)
    sliderBack.BackgroundColor3 = Theme.Secondary
    applyCorner(sliderBack, 10)
    
    local sliderFill = Instance.new("Frame", sliderBack)
    sliderFill.Size = UDim2.new((default-min)/(max-min), 0, 1, 0)
    sliderFill.BackgroundColor3 = Theme.Accent
    applyCorner(sliderFill, 10)
    
    local valueLabel = Instance.new("TextLabel", container)
    valueLabel.Text = tostring(default)
    valueLabel.Size = UDim2.new(0, 50, 0, 20)
    valueLabel.Position = UDim2.new(1, -50, 0, 25)
    valueLabel.BackgroundTransparency = 1
    valueLabel.Font = Enum.Font.GothamMedium
    valueLabel.TextColor3 = Theme.Text
    valueLabel.TextSize = 16
    
    local dragging = false
    
    local function updateSlider(input)
        local x = (input.Position.X - sliderBack.AbsolutePosition.X)/sliderBack.AbsoluteSize.X
        x = math.clamp(x, 0, 1)
        local value = math.floor(min + (max-min)*x)
        sliderFill.Size = UDim2.new(x, 0, 1, 0)
        valueLabel.Text = tostring(value)
        if callback then callback(value) end
    end
    
    sliderBack.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            updateSlider(input)
        end
    end)
    
    sliderBack.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = false
        end
    end)
    
    UserInputService.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            updateSlider(input)
        end
    end)
    
    return {
        Set = function(value)
            local x = (value-min)/(max-min)
            sliderFill.Size = UDim2.new(x, 0, 1, 0)
            valueLabel.Text = tostring(value)
        end
    }
end

local function createToggle(name, parent, posY, callback)
    local container = Instance.new("Frame", parent)
    container.Size = UDim2.new(1, -20, 0, 40)
    container.Position = UDim2.new(0, 10, 0, posY)
    container.BackgroundColor3 = Theme.Secondary
    container.BackgroundTransparency = 0.5
    applyCorner(container, 8)
    
    local label = Instance.new("TextLabel", container)
    label.Text = name
    label.Size = UDim2.new(0.7, 0, 1, 0)
    label.Position = UDim2.new(0, 10, 0, 0)
    label.BackgroundTransparency = 1
    label.Font = Enum.Font.GothamMedium
    label.TextColor3 = Theme.Text
    label.TextSize = 16
    label.TextXAlignment = Enum.TextXAlignment.Left
    
    local toggle = Instance.new("Frame", container)
    toggle.Size = UDim2.new(0, 50, 0, 25)
    toggle.Position = UDim2.new(1, -60, 0.5, -12)
    toggle.BackgroundColor3 = Theme.ToggleOff
    applyCorner(toggle, 12)
    
    local toggleDot = Instance.new("Frame", toggle)
    toggleDot.Size = UDim2.new(0, 21, 0, 21)
    toggleDot.Position = UDim2.new(0, 2, 0.5, -10)
    toggleDot.BackgroundColor3 = Theme.Text
    toggleDot.ZIndex = 2
    applyCorner(toggleDot, 12)
    
    local active = false
    
    local function updateToggle()
        if active then
            TweenService:Create(toggle, TweenInfo.new(0.2), {BackgroundColor3 = Theme.ToggleOn}):Play()
            TweenService:Create(toggleDot, TweenInfo.new(0.2), {Position = UDim2.new(1, -23, 0.5, -10)}):Play()
        else
            TweenService:Create(toggle, TweenInfo.new(0.2), {BackgroundColor3 = Theme.ToggleOff}):Play()
            TweenService:Create(toggleDot, TweenInfo.new(0.2), {Position = UDim2.new(0, 2, 0.5, -10)}):Play()
        end
    end
    
    container.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            playSound("17779566040")
            active = not active
            updateToggle()
            if callback then callback(active) end
        end
    end)
    
    container.MouseEnter:Connect(function()
        TweenService:Create(container, TweenInfo.new(0.2), {BackgroundTransparency = 0.3}):Play()
    end)
    
    container.MouseLeave:Connect(function()
        TweenService:Create(container, TweenInfo.new(0.2), {BackgroundTransparency = 0.5}):Play()
    end)
    
    return {
        Set = function(value)
            active = value
            updateToggle()
        end
    }
end

local walkSpeed = 16
local jumpPower = 50

local walkSpeedSlider = createSlider("WALK SPEED", pageLocal, 0, 16, 200, 16, function(value)
    walkSpeed = value
    local char = player.Character
    if char and char:FindFirstChildOfClass("Humanoid") then
        char:FindFirstChildOfClass("Humanoid").WalkSpeed = value
    end
end)

local jumpPowerSlider = createSlider("JUMP POWER", pageLocal, 60, 50, 200, 50, function(value)
    jumpPower = value
    local char = player.Character
    if char and char:FindFirstChildOfClass("Humanoid") then
        char:FindFirstChildOfClass("Humanoid").JumpPower = value
    end
end)

player.CharacterAdded:Connect(function(char)
    char:WaitForChild("Humanoid")
    char.Humanoid.WalkSpeed = walkSpeed
    char.Humanoid.JumpPower = jumpPower
end)

local autoFarmToggle = createToggle("AUTO FARM", pageLocal, 120, function(enabled)
    if toggles.autofarm then toggles.autofarm:Disconnect() end
    if toggles.charcon then toggles.charcon:Disconnect() end
    local targetPos = Vector3.new(-26.2, 31.4, 21.8)
    local flying = false

    local function startFarm()
        if not enabled then return end
        local char = player.Character
        if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then
            local hrp = char.HumanoidRootPart
            local hum = char.Humanoid
            hrp.Anchored = true
            hrp.CFrame = CFrame.new(targetPos + Vector3.new(0, 1, 0))
            task.wait(0.5)
            hum.PlatformStand = true
            hrp.Anchored = false
            flying = true
            local startTime = tick()
            toggles.autofarm = RunService.Heartbeat:Connect(function()
                if not enabled or not flying then return end
                if hrp and tick() - startTime < 13 then
                    hrp.Velocity = -hrp.CFrame.LookVector * 500
                    hrp.RotVelocity = Vector3.zero
                end
            end)
            task.delay(13, function()
                if hum then hum.PlatformStand = false end
                flying = false
            end)
        end
    end

    toggles.charcon = player.CharacterAdded:Connect(function()
        task.wait(1)
        startFarm()
    end)

    if enabled then
        startFarm()
    end
end)

toggleButton.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        mainFrame.Visible = not mainFrame.Visible
        playSound("8816939097")
        
        if mainFrame.Visible then
            mainFrame.Size = UDim2.new(0, 0, 0, 0)
            mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
            TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back), {
                Size = UDim2.new(0, 450, 0, 400),
                Position = UDim2.new(0.5, -225, 0.5, -200)
            }):Play()
        else
            TweenService:Create(mainFrame, TweenInfo.new(0.2), {
                Size = UDim2.new(0, 0, 0, 0),
                Position = UDim2.new(0.5, 0, 0.5, 0)
            }):Play()
        end
    end
end)

tabLocal.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        pageLocal.Visible = true
        highlightTab(tabLocal)
        playSound("9080070218")
    end
end)

gui.Destroying:Connect(function()
    if toggles.autofarm then toggles.autofarm:Disconnect() end
    if toggles.charcon then toggles.charcon:Disconnect() end
end)

Features & Information

Auto Farm Speed Change Jump Power Change Key words: Build a boat for treasure. BABFT Build a boat Build a boat auto farm Have a good day with my first script :D
#buildaboat#Modmenu#babst#Autofarm#Babstautofarm

Community Comments (3)

arnu7foarnu7foMay 1, 2025

absolute trash once you hit something your just gonna bounce everywhere

LocalscriptLocalscriptMay 1, 2025

I am sorry this is my first script and this is a first version

PineCodeRebornPineCodeRebornMay 2, 2025

Good, needs some work tho!

More Scripts for Build A Boat For Treasure