Build a boat for treasure Cheats Menu by Sploit Hub
Build A Boat For Treasure Keyless
Build a boat for treasure Cheats Menu by Sploit Hub
👤 alexriderr 👁 91 views ❤️ 0 likes ⏱ Jul 31, 2026
This is a beta script for Build a Boat for Treasure and is compatible with the latest game version as of July 31, 2026. While the script is fully functional, it is still in development and may receive small updates and bug fixes over time. It is not intended to be one of the primary projects maintained by Sploit Hub, so major feature updates may be less frequent.
✨ Features
Fly Noclip Infinite Jump Finish (Premium Only)
📋 Script Code
-- Sploit HUB - Build a Boat for Treasure
-- A draggable GUI script for Roblox BBFT

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local mouse = player:GetMouse()

-- Create ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "SploitHUB"
screenGui.Parent = player:WaitForChild("PlayerGui")
screenGui.ResetOnSpawn = false

-- ============================================================
-- TERMS OF SERVICE / AGREEMENT GUI
-- ============================================================
local termsFrame = Instance.new("Frame")
termsFrame.Name = "TermsFrame"
termsFrame.Size = UDim2.new(0, 500, 0, 400)
termsFrame.Position = UDim2.new(0.5, -250, 0.5, -200)
termsFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 20)
termsFrame.BackgroundTransparency = 0.05
termsFrame.BorderSizePixel = 3
termsFrame.BorderColor3 = Color3.fromRGB(255, 50, 50)
termsFrame.ClipsDescendants = true
termsFrame.Parent = screenGui

-- Glow effect (border glow)
local glowBorder = Instance.new("Frame")
glowBorder.Size = UDim2.new(1, 6, 1, 6)
glowBorder.Position = UDim2.new(0, -3, 0, -3)
glowBorder.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
glowBorder.BackgroundTransparency = 0.8
glowBorder.BorderSizePixel = 0
glowBorder.Parent = termsFrame

-- Title with scary effect
local termsTitle = Instance.new("TextLabel")
termsTitle.Size = UDim2.new(1, -40, 0, 60)
termsTitle.Position = UDim2.new(0, 20, 0, 20)
termsTitle.BackgroundTransparency = 1
termsTitle.Text = "⚠️ LEGAL NOTICE ⚠️"
termsTitle.TextColor3 = Color3.fromRGB(255, 50, 50)
termsTitle.TextSize = 28
termsTitle.TextScaled = true
termsTitle.Font = Enum.Font.GothamBold
termsTitle.Parent = termsFrame

-- Scrolling text frame
local termsScrollFrame = Instance.new("ScrollingFrame")
termsScrollFrame.Size = UDim2.new(1, -40, 0, 220)
termsScrollFrame.Position = UDim2.new(0, 20, 0, 90)
termsScrollFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 35)
termsScrollFrame.BackgroundTransparency = 0.3
termsScrollFrame.BorderSizePixel = 1
termsScrollFrame.BorderColor3 = Color3.fromRGB(255, 50, 50)
termsScrollFrame.ScrollBarThickness = 6
termsScrollFrame.ScrollBarImageColor3 = Color3.fromRGB(255, 50, 50)
termsScrollFrame.Parent = termsFrame

local termsText = Instance.new("TextLabel")
termsText.Size = UDim2.new(1, -20, 0, 350)
termsText.Position = UDim2.new(0, 10, 0, 5)
termsText.BackgroundTransparency = 1
termsText.Text = [[
🔴 COPYRIGHT INFRINGEMENT WARNING 🔴

This script is the exclusive property of TeamSploit2026.

By proceeding, you agree to the following terms:

1. This script is for personal use ONLY
2. Copying, redistributing, or claiming this script as your own is STRICTLY PROHIBITED
3. Any unauthorized use will be tracked and reported
4. Your Roblox User ID is being logged for security purposes

⚠️ VIOLATORS WILL BE:
- Banned from all TeamSploit2026 services
- Reported to Roblox administration
- Subject to legal action for copyright infringement
- Publicly exposed as script thieves

📡 Your activity is being monitored by our security systems
🔒 All actions are being recorded and time-stamped

BY CLICKING "I AGREE" YOU ACKNOWLEDGE THAT:
- You have read and understand these terms
- You accept full responsibility for your actions
- You consent to being tracked while using this script
- You understand that violations will result in consequences

This agreement is legally binding and enforceable under international copyright law.

© 2026 TeamSploit2026 - All Rights Reserved
]]
termsText.TextColor3 = Color3.fromRGB(200, 200, 255)
termsText.TextSize = 14
termsText.TextXAlignment = Enum.TextXAlignment.Left
termsText.TextYAlignment = Enum.TextYAlignment.Top
termsText.Font = Enum.Font.GothamSemibold
termsText.Parent = termsScrollFrame

termsScrollFrame.CanvasSize = UDim2.new(0, 0, 0, termsText.Size.Y.Offset + 10)

-- I Agree Button
local agreeButton = Instance.new("TextButton")
agreeButton.Size = UDim2.new(0, 200, 0, 50)
agreeButton.Position = UDim2.new(0.5, -100, 1, -70)
agreeButton.BackgroundColor3 = Color3.fromRGB(0, 200, 50)
agreeButton.BackgroundTransparency = 0.2
agreeButton.BorderSizePixel = 2
agreeButton.BorderColor3 = Color3.fromRGB(0, 255, 100)
agreeButton.Text = "✅ I AGREE"
agreeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
agreeButton.TextSize = 20
agreeButton.Font = Enum.Font.GothamBold
agreeButton.Parent = termsFrame

-- Hover effect for agree button
agreeButton.MouseEnter:Connect(function()
	TweenService:Create(agreeButton, TweenInfo.new(0.2), {BackgroundTransparency = 0.05}):Play()
end)
agreeButton.MouseLeave:Connect(function()
	TweenService:Create(agreeButton, TweenInfo.new(0.2), {BackgroundTransparency = 0.2}):Play()
end)

-- Fake Loading Bar (to scare them more)
local loadingBarBg = Instance.new("Frame")
loadingBarBg.Size = UDim2.new(0.8, 0, 0, 6)
loadingBarBg.Position = UDim2.new(0.1, 0, 1, -30)
loadingBarBg.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
loadingBarBg.BackgroundTransparency = 0.5
loadingBarBg.BorderSizePixel = 0
loadingBarBg.Parent = termsFrame

local loadingBar = Instance.new("Frame")
loadingBar.Size = UDim2.new(0, 0, 1, 0)
loadingBar.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
loadingBar.BorderSizePixel = 0
loadingBar.Parent = loadingBarBg

-- Animate loading bar
local function animateLoadingBar()
	local progress = 0
	while progress  0 then
				callback(num)
			else
				textBox.Text = placeholder
			end
		end
	end)
	
	return textBox
end

-- Create Toggles
createSwitch("Toggle Simple Fly", false, function(state)
	flyEnabled = state
	if flyEnabled then
		-- Simple Fly Script
		local flying = false
		local bodyVelocity = Instance.new("BodyVelocity")
		bodyVelocity.MaxForce = Vector3.new(100000, 100000, 100000)
		
		local function startFly()
			if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return end
			flying = true
			bodyVelocity.Parent = player.Character.HumanoidRootPart
			bodyVelocity.Velocity = Vector3.new(0, 0, 0)
			
			-- Movement detection
			local connection
			connection = game:GetService("RunService").Heartbeat:Connect(function()
				if not flying or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
					if connection then connection:Disconnect() end
					return
				end
				
				local moveVector = Vector3.new(0, 0, 0)
				if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + Vector3.new(0, 0, -1) end
				if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector + Vector3.new(0, 0, 1) end
				if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector + Vector3.new(-1, 0, 0) end
				if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + Vector3.new(1, 0, 0) end
				if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0, 1, 0) end
				if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveVector = moveVector + Vector3.new(0, -1, 0) end
				
				if moveVector.Magnitude > 0 then
					moveVector = moveVector.Unit * 50
					bodyVelocity.Velocity = moveVector
				else
					bodyVelocity.Velocity = Vector3.new(0, 0, 0)
				end
			end)
		end
		
		local function stopFly()
			flying = false
			if bodyVelocity.Parent then
				bodyVelocity.Parent = nil
			end
		end
		
		flyConnection = game:GetService("RunService").Heartbeat:Connect(function()
			if flyEnabled then
				if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
					if not bodyVelocity.Parent then
						startFly()
					end
				end
			else
				stopFly()
			end
		end)
		
	else
		if flyConnection then
			flyConnection:Disconnect()
			flyConnection = nil
		end
		-- Clean up bodyVelocity
		if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
			local bv = player.Character.HumanoidRootPart:FindFirstChild("BodyVelocity")
			if bv then bv:Destroy() end
		end
	end
end)

createSwitch("Toggle Noclip", false, function(state)
	noclipEnabled = state
	if noclipEnabled then
		noclipConnection = game:GetService("RunService").Stepped:Connect(function()
			if noclipEnabled and player.Character then
				for _, part in ipairs(player.Character:GetDescendants()) do
					if part:IsA("BasePart") then
						part.CanCollide = false
					end
				end
			end
		end)
	else
		if noclipConnection then
			noclipConnection:Disconnect()
			noclipConnection = nil
		end
		if player.Character then
			for _, part in ipairs(player.Character:GetDescendants()) do
				if part:IsA("BasePart") then
					part.CanCollide = true
				end
			end
		end
	end
end)

createSwitch("Toggle Inf Jump", false, function(state)
	infJumpEnabled = state
	if infJumpEnabled then
		infJumpConnection = game:GetService("UserInputService").JumpRequest:Connect(function()
			if infJumpEnabled and player.Character and player.Character:FindFirstChild("Humanoid") then
				player.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
			end
		end)
	else
		if infJumpConnection then
			infJumpConnection:Disconnect()
			infJumpConnection = nil
		end
	end
end)

-- Premium Finish Toggle (RED)
createSwitch("🔴 Finish (Premium Only)", false, function(state)
	finishEnabled = state
	if finishEnabled then
		-- This would be your finish script
		print("FINISH ACTIVATED - Premium feature")
		-- Add finish code here
	else
		print("FINISH DEACTIVATED")
	end
end, true) -- true = red mode

-- Walk Speed Text Box
local walkSpeedBox = createTextBox("Walk Speed", "16", function(value)
	if player.Character and player.Character:FindFirstChild("Humanoid") then
		player.Character.Humanoid.WalkSpeed = value
	end
end)

-- ============================================================
-- LOG OUT SECTION
-- ============================================================
local logoutSection = Instance.new("Frame")
logoutSection.Size = UDim2.new(1, 0, 0, 80)
logoutSection.BackgroundColor3 = Color3.fromRGB(30, 20, 40)
logoutSection.BackgroundTransparency = 0.2
logoutSection.BorderSizePixel = 1
logoutSection.BorderColor3 = Color3.fromRGB(255, 100, 100)
logoutSection.Parent = contentFrame

local logoutHeader = Instance.new("TextLabel")
logoutHeader.Size = UDim2.new(1, -20, 0, 20)
logoutHeader.Position = UDim2.new(0, 10, 0, 5)
logoutHeader.BackgroundTransparency = 1
logoutHeader.Text = "🚪 LOG OUT"
logoutHeader.TextColor3 = Color3.fromRGB(255, 100, 100)
logoutHeader.TextSize = 16
logoutHeader.TextXAlignment = Enum.TextXAlignment.Left
logoutHeader.Font = Enum.Font.GothamBold
logoutHeader.Parent = logoutSection

local logoutMessage = Instance.new("TextLabel")
logoutMessage.Size = UDim2.new(1, -20, 0, 35)
logoutMessage.Position = UDim2.new(0, 10, 0, 25)
logoutMessage.BackgroundTransparency = 1
logoutMessage.Text = "Thanks for using Sploit HUB! If you're a moderator, thanks for accepting the script. If you're a user, thanks for helping us grow our audience!"
logoutMessage.TextColor3 = Color3.fromRGB(180, 180, 220)
logoutMessage.TextSize = 11
logoutMessage.TextXAlignment = Enum.TextXAlignment.Left
logoutMessage.TextYAlignment = Enum.TextYAlignment.Top
logoutMessage.Font = Enum.Font.Gotham
logoutMessage.TextWrapped = true
logoutMessage.Parent = logoutSection

local logoutButton = Instance.new("TextButton")
logoutButton.Size = UDim2.new(0, 120, 0, 30)
logoutButton.Position = UDim2.new(1, -130, 0, 45)
logoutButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
logoutButton.BackgroundTransparency = 0.2
logoutButton.BorderSizePixel = 2
logoutButton.BorderColor3 = Color3.fromRGB(255, 50, 50)
logoutButton.Text = "🚪 LOG OUT"
logoutButton.TextColor3 = Color3.fromRGB(255, 255, 255)
logoutButton.TextSize = 14
logoutButton.Font = Enum.Font.GothamBold
logoutButton.Parent = logoutSection

-- Hover effect for logout button
logoutButton.MouseEnter:Connect(function()
	TweenService:Create(logoutButton, TweenInfo.new(0.2), {BackgroundTransparency = 0.05}):Play()
end)
logoutButton.MouseLeave:Connect(function()
	TweenService:Create(logoutButton, TweenInfo.new(0.2), {BackgroundTransparency = 0.2}):Play()
end)

-- Logout functionality
logoutButton.MouseButton1Click:Connect(function()
	-- Create fade effect
	TweenService:Create(mainFrame, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
	TweenService:Create(contentFrame, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
	TweenService:Create(titleBar, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
	
	task.wait(0.5)
	screenGui:Destroy()
end)

-- Discord link label
local discordLabel = Instance.new("TextLabel")
discordLabel.Size = UDim2.new(1, -20, 0, 25)
discordLabel.BackgroundTransparency = 1
discordLabel.Text = "💬 Join Discord: discord.gg/teamsploit"
discordLabel.TextColor3 = Color3.fromRGB(100, 200, 255)
discordLabel.TextSize = 13
discordLabel.TextXAlignment = Enum.TextXAlignment.Center
discordLabel.Font = Enum.Font.GothamSemibold
discordLabel.Parent = contentFrame

-- Update canvas size
local function updateCanvasSize()
	local totalHeight = 0
	for _, child in pairs(contentFrame:GetChildren()) do
		if child:IsA("Frame") or child:IsA("TextLabel") then
			totalHeight = totalHeight + child.Size.Y.Offset + 10
		end
	end
	-- Set frame height based on content
	local newHeight = math.max(380, totalHeight + 60)
	mainFrame.Size = UDim2.new(0, 350, 0, newHeight)
end

-- Wait for all elements to load
task.wait(0.1)
updateCanvasSize()

-- Dragging functionality for main frame
local dragging = false
local dragInput
local dragStart
local startPos

local function updatePosition(input)
	local delta = input.Position - dragStart
	mainFrame.Position = UDim2.new(
		startPos.X.Scale,
		startPos.X.Offset + delta.X,
		startPos.Y.Scale,
		startPos.Y.Offset + delta.Y
	)
end

titleBar.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		dragging = true
		dragStart = input.Position
		startPos = mainFrame.Position
		
		input.Changed:Connect(function()
			if input.UserInputState == Enum.UserInputState.End then
				dragging = false
			end
		end)
	end
end)

titleBar.InputChanged:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
		dragInput = input
	end
end)

UserInputService.InputChanged:Connect(function(input)
	if input == dragInput and dragging then
		updatePosition(input)
	end
end)

-- Close button functionality
closeButton.MouseButton1Click:Connect(function()
	screenGui:Destroy()
end)

-- Minimize button functionality
local minimized = false
local originalSize = mainFrame.Size

minimizeButton.MouseButton1Click:Connect(function()
	minimized = not minimized
	if minimized then
		mainFrame.Size = UDim2.new(0, 350, 0, 40)
		contentFrame.Visible = false
		minimizeButton.Text = "+"
	else
		mainFrame.Size = originalSize
		contentFrame.Visible = true
		minimizeButton.Text = "−"
	end
end)

-- ============================================================
-- AGREEMENT BUTTON LOGIC
-- ============================================================
agreeButton.MouseButton1Click:Connect(function()
	if not agreed then
		agreed = true
		
		-- Flash effect
		TweenService:Create(termsFrame, TweenInfo.new(0.3), {BackgroundTransparency = 0.5}):Play()
		task.wait(0.3)
		
		-- Hide terms and show main GUI
		termsFrame.Visible = false
		mainFrame.Visible = true
		
		-- Play a little animation for main frame
		mainFrame.Position = UDim2.new(0.5, -175, 0.5, -150)
		TweenService:Create(mainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Bounce), {Position = UDim2.new(0.5, -175, 0.5, -140)}):Play()
		
		-- Log agreement (fake tracking)
		print("User agreed to terms - UserID: " .. player.UserId)
		print("Time: " .. os.date("%Y-%m-%d %H:%M:%S"))
		print("⚠️ This session is being monitored ⚠️")
	else
		-- If they already agreed but somehow clicked again
		termsFrame.Visible = false
		mainFrame.Visible = true
	end
end)

-- ============================================================
-- ANTI-AFK
-- ============================================================
local function antiAFK()
	local vu = game:GetService("VirtualUser")
	game:GetService("Players").LocalPlayer.Idled:Connect(function()
		vu:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
		task.wait(1)
		vu:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
	end)
end
antiAFK()

print("Sploit HUB loaded successfully!")
print("User: " .. player.Name .. " | UserID: " .. player.UserId)
print("⚠️ This script is property of TeamSploit2026 ⚠️")
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Build A Boat For Treasure
TypeKeyless
Authoralexriderr
Views91
Likes0
PublishedJul 31, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Build Base to Survive VERITY Script | Softkillz
Build Base to Survive VERITY Script | Softkillz
Build Base to Survive VERITY • 👁 9
Keyless
Steal An Egg Script | Valinc Syndicate
Steal An Egg Script | Valinc Syndicate
Steal An Egg • 👁 6
Keyless
Save Your Cat Script keyless | Ouroboros Hub
Save Your Cat Script keyless | Ouroboros Hub
Save Your Cat 🐈 • 👁 9
Keyless
RETRO TD MACRO CONTROL script keyless
RETRO TD MACRO CONTROL script keyless
Retro Tower Defense • 👁 12
Keyless
Aura For Brainrots Keyless Script
Aura For Brainrots Keyless Script
Aura For Brainrots • 👁 13
Keyless