TCO Best SCRIPT OPENSOURCE
Key Required

TCO Best SCRIPT OPENSOURCE

The Chosen OneThaiExploiterThaiExploiter 888 views 1.9K executesUpdated Jul 16, 2026
Unrated
00
Lua Script•388 lines (11527 chars)
--[[
	WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
--[[
	WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
--// =========================
--// SERVICES
--// =========================
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local SoundService = game:GetService("SoundService")
local StarterGui = game:GetService("StarterGui")
local UserInputService = game:GetService("UserInputService")

local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

--// =========================
--// CLEAR OLD UI
--// =========================
if PlayerGui:FindFirstChild("SuperRingPartsGUI") then
    PlayerGui.SuperRingPartsGUI:Destroy()
end

--// =========================
--// NETWORK
--// =========================
if not getgenv().Network then
    getgenv().Network = {
        BaseParts = {},
        Velocity = Vector3.new(14.4626,14.4626,14.4626)
    }

    Network.RetainPart = function(p)
        if p:IsA("BasePart") and p:IsDescendantOf(workspace) then
            table.insert(Network.BaseParts,p)
            p.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
            p.CanCollide = false
        end
    end

    RunService.Heartbeat:Connect(function()
        sethiddenproperty(LocalPlayer,"SimulationRadius",math.huge)
        for _,p in ipairs(Network.BaseParts) do
            if p:IsDescendantOf(workspace) then
                p.Velocity = Network.Velocity
            end
        end
    end)
end

--// =========================
--// SOUND
--// =========================
local function play(id)
    local s = Instance.new("Sound",SoundService)
    s.SoundId = "rbxassetid://"..id
    s:Play()
    s.Ended:Once(function() s:Destroy() end)
end

play("2865227271")

--// =========================
--// STATE
--// =========================
local PlayerState = {}
local OrbitRadius = {}
local parts = {}

--// =========================
--// PART COLLECTION
--// =========================
local function valid(p)
    return p:IsA("BasePart")
        and not p.Anchored
        and not p:IsDescendantOf(LocalPlayer.Character)
end

for _,d in ipairs(workspace:GetDescendants()) do
    if valid(d) then table.insert(parts,d) end
end

workspace.DescendantAdded:Connect(function(p)
    if valid(p) then table.insert(parts,p) end
end)

--// =========================
--// GUI ROOT
--// =========================
local gui = Instance.new("ScreenGui", PlayerGui)
gui.Name = "SuperRingPartsGUI"
gui.ResetOnSpawn = false

local main = Instance.new("Frame", gui)
main.Size = UDim2.new(0,260,0,360)
main.Position = UDim2.new(0.05,0,0.5,-180)
main.BackgroundColor3 = Color3.fromRGB(0,102,51)
main.BorderSizePixel = 0
Instance.new("UICorner", main).CornerRadius = UDim.new(0,20)

--// =========================
--// TITLE
--// =========================
local title = Instance.new("TextLabel", main)
title.Size = UDim2.new(1,0,0,40)
title.Text = "Super Ring Parts v8.3"
title.Font = Enum.Font.Fondamento
title.TextSize = 22
title.TextColor3 = Color3.new(1,1,1)
title.BackgroundColor3 = Color3.fromRGB(0,153,76)
Instance.new("UICorner", title)

--// =========================
--// MINIMIZE
--// =========================
local minimize = Instance.new("TextButton", title)
minimize.Size = UDim2.new(0,30,0,30)
minimize.Position = UDim2.new(1,-35,0.5,-15)
minimize.Text = "-"
minimize.Font = Enum.Font.Fondamento
minimize.TextSize = 22
minimize.BackgroundColor3 = Color3.fromRGB(0,120,60)
Instance.new("UICorner", minimize)

local collapsed = Instance.new("TextButton", gui)
collapsed.Size = UDim2.new(0,40,0,40)
collapsed.Position = UDim2.new(0,10,1,-50)
collapsed.Text = "-"
collapsed.Font = Enum.Font.Fondamento
collapsed.TextSize = 26
collapsed.BackgroundColor3 = Color3.fromRGB(0,102,51)
collapsed.Visible = false
Instance.new("UICorner", collapsed)

local lastPos = main.Position

minimize.MouseButton1Click:Connect(function()
    lastPos = main.Position
    main.Visible = false
    collapsed.Visible = true
end)

collapsed.MouseButton1Click:Connect(function()
    main.Position = lastPos
    main.Visible = true
    collapsed.Visible = false
end)

--// =========================
--// DRAG
--// =========================
do
    local dragging, dragStart, startPos

    title.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            dragStart = input.Position
            startPos = main.Position
        end
    end)

    title.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = false
        end
    end)

    UserInputService.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
            local delta = input.Position - dragStart
            main.Position = UDim2.new(
                startPos.X.Scale,
                startPos.X.Offset + delta.X,
                startPos.Y.Scale,
                startPos.Y.Offset + delta.Y
            )
        end
    end)
end

--// =========================
--// SEARCH BAR
--// =========================
local search = Instance.new("TextBox", main)
search.Size = UDim2.new(0.9,0,0,28)
search.Position = UDim2.new(0.05,0,0.13,0)
search.PlaceholderText = "Search player..."
search.Text = ""
search.Font = Enum.Font.Fondamento
search.TextSize = 14
search.BackgroundColor3 = Color3.fromRGB(90,90,90)
search.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", search)

--// =========================
--// PLAYER LIST
--// =========================
local list = Instance.new("ScrollingFrame", main)
list.Position = UDim2.new(0.05,0,0.22,0)
list.Size = UDim2.new(0.9,0,0,170)
list.ScrollBarImageTransparency = 0.3

local layout = Instance.new("UIListLayout", list)
layout.Padding = UDim.new(0,6)

local buttons = {}

--// =========================
--// CONFIRM GUI
--// =========================
local confirm = Instance.new("Frame", gui)
confirm.Size = UDim2.new(0,260,0,140)
confirm.Position = UDim2.new(0.5,-130,0.5,-70)
confirm.BackgroundColor3 = Color3.fromRGB(40,40,40)
confirm.Visible = false
Instance.new("UICorner", confirm)

local cText = Instance.new("TextLabel", confirm)
cText.Size = UDim2.new(1,0,0,70)
cText.BackgroundTransparency = 1
cText.TextWrapped = true
cText.Font = Enum.Font.Fondamento
cText.TextSize = 18
cText.TextColor3 = Color3.new(1,1,1)

local yes = Instance.new("TextButton", confirm)
yes.Size = UDim2.new(0.4,0,0,30)
yes.Position = UDim2.new(0.05,0,0.6,0)
yes.Text = "YES"
yes.BackgroundColor3 = Color3.fromRGB(0,200,0)
Instance.new("UICorner", yes)

local no = Instance.new("TextButton", confirm)
no.Size = UDim2.new(0.4,0,0,30)
no.Position = UDim2.new(0.55,0,0.6,0)
no.Text = "NO"
no.BackgroundColor3 = Color3.fromRGB(200,0,0)
Instance.new("UICorner", no)

--// =========================
--// RADIUS UI
--// =========================
local currentRadius = 50

local dec = Instance.new("TextButton", main)
dec.Size = UDim2.new(0.2,0,0,30)
dec.Position = UDim2.new(0.05,0,0.75,0)
dec.Text = "<"
dec.Font = Enum.Font.Fondamento
dec.TextSize = 18
dec.BackgroundColor3 = Color3.fromRGB(255,255,0)
Instance.new("UICorner", dec)

local inc = Instance.new("TextButton", main)
inc.Size = UDim2.new(0.2,0,0,30)
inc.Position = UDim2.new(0.75,0,0.75,0)
inc.Text = ">"
inc.Font = Enum.Font.Fondamento
inc.TextSize = 18
inc.BackgroundColor3 = Color3.fromRGB(255,255,0)
Instance.new("UICorner", inc)

local radiusLabel = Instance.new("TextLabel", main)
radiusLabel.Size = UDim2.new(0.4,0,0,30)
radiusLabel.Position = UDim2.new(0.3,0,0.75,0)
radiusLabel.Text = "Radius: 50"
radiusLabel.Font = Enum.Font.Fondamento
radiusLabel.TextSize = 15
radiusLabel.BackgroundColor3 = Color3.fromRGB(255,255,0)
Instance.new("UICorner", radiusLabel)

inc.MouseButton1Click:Connect(function()
    currentRadius += 5
    radiusLabel.Text = "Radius: "..currentRadius
end)

dec.MouseButton1Click:Connect(function()
    currentRadius = math.max(5, currentRadius - 5)
    radiusLabel.Text = "Radius: "..currentRadius
end)

--// =========================
--// PLAYER LIST LOGIC
--// =========================
local function rebuild(filter)
    for _,b in pairs(buttons) do b:Destroy() end
    table.clear(buttons)

    for _,plr in ipairs(Players:GetPlayers()) do
        if plr ~= LocalPlayer then
            local name = (plr.DisplayName.." "..plr.Name):lower()
            if filter and not name:find(filter) then continue end

            PlayerState[plr] = PlayerState[plr] or "Idle"

            local btn = Instance.new("TextButton", list)
            btn.Size = UDim2.new(1,0,0,32)
            btn.Text = plr.DisplayName.." ("..plr.Name..")"
            btn.Font = Enum.Font.Fondamento
            btn.TextSize = 14
            Instance.new("UICorner", btn)

            local function update()
                btn.BackgroundColor3 =
                    PlayerState[plr] == "Orbiting"
                    and Color3.fromRGB(200,0,0)
                    or Color3.fromRGB(70,70,70)
            end

            update()

            btn.MouseButton1Click:Connect(function()
                if PlayerState[plr] == "Orbiting" then
                    cText.Text = "Deorbit "..plr.DisplayName.."?"
                    confirm.Visible = true

                    yes.MouseButton1Click:Once(function()
                        PlayerState[plr] = "Idle"
                        confirm.Visible = false
                        update()
                    end)

                    no.MouseButton1Click:Once(function()
                        confirm.Visible = false
                    end)
                else
                    PlayerState[plr] = "Orbiting"
                    OrbitRadius[plr] = currentRadius
                    update()
                end
            end)

            table.insert(buttons, btn)
        end
    end

    list.CanvasSize = UDim2.new(0,0,0,layout.AbsoluteContentSize.Y + 10)
end

search:GetPropertyChangedSignal("Text"):Connect(function()
    rebuild(search.Text:lower())
end)

Players.PlayerAdded:Connect(function()
    rebuild(search.Text:lower())
end)

Players.PlayerRemoving:Connect(function(plr)
    PlayerState[plr] = nil
    OrbitRadius[plr] = nil
    rebuild(search.Text:lower())
end)

rebuild()

--// =========================
--// ORBIT LOOP
--// =========================
RunService.Heartbeat:Connect(function()
    for plr,state in pairs(PlayerState) do
        if state == "Orbiting" then
            local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
            if hrp then
                local center = hrp.Position
                local radius = OrbitRadius[plr] or currentRadius
                for _,part in ipairs(parts) do
                    local pos = part.Position
                    local angle = math.atan2(pos.Z-center.Z,pos.X-center.X) + 0.02
                    local target = Vector3.new(
                        center.X + math.cos(angle)*radius,
                        center.Y,
                        center.Z + math.sin(angle)*radius
                    )
                    part.Velocity = (target - pos).Unit * 1200
                end
            end
        end
    end
end)

StarterGui:SetCore("SendNotification",{
    Title="Encrypted INFO's Note",
    Text="Use and Terrorize Everyone as possible, weather for fun anything. just do it",
    Duration=5
})

Features & Information

Ever Wanted to Blame somebody for hacking? WELL you can now with this script by me, - EncryptedINFO / ThaiExploiter. But before you go use it, read the Instructions below ========== INSTRUCTIONS ========== Don't use This script blatantly, since the owner / admin might see the one who placed those blocks as "hackers" as they usually misunderstand. instead, combo it with other like Command Lines for unanchor blocks, so if admin cubes you. it will see other people. then you can feel free to use it then the admins will either decube that person, and blame them. or delcubes, or they'll just cry. anyways, don't use it too often, and because you can still be caught HAVE FUN USING MY SCRIPT! - EncryptedINFO
#The Chosen one#Grief#delete#Super Ring Parts#PC

Community Comments (0)

No comments yet for this script.

More Scripts for The Chosen One