2,256 views
Description
This is a simple open source script for loot controller in the split the sea roblox game and has few functions only.
Features
- + Loot controller
- + Cybertech
- + Plot1
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
--// SETTINGS
local CURRENT_PLOT = "Plot1"
local CURRENT_ISLAND = "Basic"
local TELEPORT_DELAY = 0.08
local ISLANDS = {"Basic", "VoidReef", "CyberTech", "RainbowReef", "RadioactiveReef"}
local PLOTS = {"Plot1", "Plot2", "Plot3", "Plot4", "Plot5"}
local lootFolder = workspace:WaitForChild("ActiveLoot")
local busy = false
--// GUI
local screenGui = Instance.new("ScreenGui", playerGui)
screenGui.ResetOnSpawn = false
local frame = Instance.new("Frame", screenGui)
frame.Size = UDim2.new(0, 260, 0, 200)
frame.Position = UDim2.new(0.1, 0, 0.2, 0)
frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
frame.Active = true
frame.Draggable = true
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1,0,0,25)
title.Text = "Loot Controller"
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)
--// DROPDOWN FUNCTION
local function createDropdown(parent, position, options, default, callback)
local container = Instance.new("Frame", parent)
container.Position = position
container.Size = UDim2.new(0, 230, 0, 25)
container.BackgroundColor3 = Color3.fromRGB(50,50,50)
container.ZIndex = 2
local button = Instance.new("TextButton", container)
button.Size = UDim2.new(1,0,1,0)
button.Text = default
button.TextColor3 = Color3.new(1,1,1)
button.BackgroundTransparency = 1
button.ZIndex = 3
local listFrame = Instance.new("Frame", container)
listFrame.Position = UDim2.new(0,0,1,0)
listFrame.Size = UDim2.new(1,0,0,#options * 25)
listFrame.BackgroundColor3 = Color3.fromRGB(40,40,40)
listFrame.Visible = false
listFrame.ZIndex = 10 -- 🔥 HIGH so it appears on top
for i, option in ipairs(options) do
local opt = Instance.new("TextButton", listFrame)
opt.Size = UDim2.new(1,0,0,25)
opt.Position = UDim2.new(0,0,0,(i-1)*25)
opt.Text = option
opt.BackgroundTransparency = 1
opt.TextColor3 = Color3.new(1,1,1)
opt.ZIndex = 11 -- above dropdown background
opt.MouseButton1Click:Connect(function()
button.Text = option
listFrame.Visible = false
callback(option)
end)
end
button.MouseButton1Click:Connect(function()
listFrame.Visible = not listFrame.Visible
end)
return button
end
-- Island dropdown
createDropdown(frame, UDim2.new(0,10,0,35), ISLANDS, CURRENT_ISLAND, function(val)
CURRENT_ISLAND = val
end)
-- Plot dropdown
createDropdown(frame, UDim2.new(0,10,0,70), PLOTS, CURRENT_PLOT, function(val)
CURRENT_PLOT = val
end)
-- Delay input
local delayBox = Instance.new("TextBox", frame)
delayBox.Position = UDim2.new(0,10,0,105)
delayBox.Size = UDim2.new(0,230,0,25)
delayBox.Text = tostring(TELEPORT_DELAY)
delayBox.FocusLost:Connect(function()
local val = tonumber(delayBox.Text)
if val then
TELEPORT_DELAY = val
end
end)
-- Buttons
local collectBtn = Instance.new("TextButton", frame)
collectBtn.Position = UDim2.new(0,10,0,140)
collectBtn.Size = UDim2.new(0,110,0,40)
collectBtn.Text = "Collect"
local homeBtn = Instance.new("TextButton", frame)
homeBtn.Position = UDim2.new(0,130,0,140)
homeBtn.Size = UDim2.new(0,110,0,40)
homeBtn.Text = "Home"
--// LOGIC
local function getSafeZone()
local island = workspace:WaitForChild("Islands"):FindFirstChild(CURRENT_ISLAND)
if not island then return nil end
local plot = island:WaitForChild("Plots"):FindFirstChild(CURRENT_PLOT)
if not plot then return nil end
return plot:WaitForChild("Important"):FindFirstChild("SafeZone")
end
local function getMatchingLoot()
local matches = {}
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
for _, model in ipairs(lootFolder:GetChildren()) do
if model:IsA("Model") and model:GetAttribute("PlotName") == CURRENT_PLOT then
local pivot = model:GetPivot()
local distance = (pivot.Position - hrp.Position).Magnitude
if distance <= 800 then
table.insert(matches, model)
end
end
end
return matches
end
local function teleportOnce()
if busy then return end
busy = true
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
for _, model in ipairs(getMatchingLoot()) do
if model and model.Parent then
hrp.CFrame = model:GetPivot() + Vector3.new(0,2,0)
end
task.wait(TELEPORT_DELAY)
end
busy = false
end
local function teleportHome()
local safeZone = getSafeZone()
if not safeZone then return end
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
hrp.CFrame = safeZone.CFrame + Vector3.new(0,3,0)
end
-- Buttons
collectBtn.MouseButton1Click:Connect(teleportOnce)
homeBtn.MouseButton1Click:Connect(teleportHome)
-- Hotkeys
UserInputService.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.G then
teleportOnce()
elseif input.KeyCode == Enum.KeyCode.F then
teleportHome()
end
end)
Script worked? 🚀 Boost it to #1 so others find it too.
Similar Scripts
403
10 hours ago
Free
Forsaken
Kuurax hub Forsaken Script OP (No Key)
751
17 hours ago
Free
Rivals
LowHub Rivals script keyless | Aimbot, Hitbox
558
17 hours ago
Free
Tap Simulator REBORN
Tap Simulator REBORN keyless Script By Kuurax Hub
494
19 hours ago
Free
Flee the Facility
Flee the Facility script by Pinokio | Beast mode
379
19 hours ago
Free
Garden Tower Defense
Garden Tower Defense Hub By Kero (No Key Required)
352
19 hours ago
Free
South Bronx: The Trenches
Foxraka Hub South Bronx: The Trenches Keyless Script
🚀
Log in to boost
Boosting rockets this script to #1 on the homepage. A free account takes 30 seconds.
Log in
🚀
Out of boosts!
Grab boosts and rocket your favorite scripts to the top — plus join the booster wall with the RGB ring.
⚡ Go Pro — 10 boosts/month + zero ads
🚀
Boost this script?
It jumps to #1 in Recent Scripts and your avatar joins the booster wall.
🚀
Boosted! You're awesome 💜
Comments (0)
Log in to add a comment.