-------------------------------------------------- -- RAYFIELD (DARK THEME) -------------------------------------------------- local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))() local Window = Rayfield:CreateWindow({ Name = "SRing Hub", LoadingTitle = "O", LoadingSubtitle = "no author", ConfigurationSaving = { Enabled = false }, Theme = "Dark" }) -------------------------------------------------- -- SERVICES -------------------------------------------------- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer -------------------------------------------------- -- CONFIG -------------------------------------------------- local RingEnabled = false local RingParts = {} local RingSpeed = 5 local RingDistance = 30 -------------------------------------------------- -- TAB -------------------------------------------------- local MainTab = Window:CreateTab("Main", 4483362458) local FpsTab = Window:CreateTab("FPS", 4483362458) -------------------------------------------------- -- FPS COUNTER -------------------------------------------------- local fpsLabel = FpsTab:CreateLabel("FPS: ...") task.spawn(function() while task.wait(1) do local fps = math.floor(1 / RunService.RenderStepped:Wait()) fpsLabel:Set("FPS: " .. fps) end end) -------------------------------------------------- -- SUPER RING LOGIC -------------------------------------------------- LocalPlayer.ReplicationFocus = Workspace pcall(function() sethiddenproperty(LocalPlayer, "SimulationRadius", math.huge) end) local function validPart(p) return p:IsA("BasePart") and not p.Anchored and not p:IsDescendantOf(LocalPlayer.Character) end local function collectParts() RingParts = {} for _, v in ipairs(Workspace:GetDescendants()) do if validPart(v) then table.insert(RingParts, v) end end end -------------------------------------------------- -- NOCLIP TOTAL -------------------------------------------------- local NoclipConn local function setNoclip(state) if state then if NoclipConn then return end NoclipConn = RunService.Stepped:Connect(function() local char = LocalPlayer.Character if not char then return end for _, v in ipairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end) else if NoclipConn then NoclipConn:Disconnect() NoclipConn = nil end end end -------------------------------------------------- -- SUPER RING LOOP -------------------------------------------------- RunService.Heartbeat:Connect(function() if not RingEnabled then return end local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if not hrp then return end for i, part in ipairs(RingParts) do if part and part.Parent then local a = tick() * RingSpeed + i local target = hrp.Position + Vector3.new( math.cos(a) * RingDistance, 0, math.sin(a) * RingDistance ) part.Velocity = (target - part.Position) * 10 end end end) -------------------------------------------------- -- UI ELEMENTS -------------------------------------------------- MainTab:CreateToggle({ Name = "Super Ring", CurrentValue = false, Callback = function(v) RingEnabled = v setNoclip(v) if v then collectParts() end end }) MainTab:CreateInput({ Name = "Speed", PlaceholderText = "Ex: 5", RemoveTextAfterFocusLost = false, Callback = function(text) local value = tonumber(text) if value then RingSpeed = math.clamp(value, 1, 50) end end }) MainTab:CreateInput({ Name = "Distance", PlaceholderText = "Ex: 30", RemoveTextAfterFocusLost = false, Callback = function(text) local value = tonumber(text) if value then RingDistance = math.clamp(value, 5, 150) end end }) -------------------------------------------------- -- NOTIFY -------------------------------------------------- Rayfield:Notify({ Title = "SRing Hub", Content = "loaded", Duration = 4 })