--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local SoundService = game:GetService("SoundService") local StarterGui = game:GetService("StarterGui") local TextChatService = game:GetService("TextChatService") local LocalPlayer = Players.LocalPlayer local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") -- Folder e Part para controle local local Folder = Instance.new("Folder", Workspace) local Part = Instance.new("Part", Folder) local Attachment1 = Instance.new("Attachment", Part) Part.Anchored = true Part.CanCollide = false Part.Transparency = 1 -- Network global if not getgenv().Network then getgenv().Network = { BaseParts = {}, Velocity = Vector3.new(1000, 1000, 1000) -- aumento de força global } end getgenv().Network.RetainPart = function(Part) if typeof(Part) == "Instance" and Part:IsA("BasePart") and Part:IsDescendantOf(Workspace) then table.insert(getgenv().Network.BaseParts, Part) Part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) Part.CanCollide = false end end local function EnablePartControl() LocalPlayer.ReplicationFocus = Workspace RunService.Heartbeat:Connect(function() sethiddenproperty(LocalPlayer, "SimulationRadius", math.huge) for _, Part in pairs(getgenv().Network.BaseParts) do if Part:IsDescendantOf(Workspace) then Part.Velocity = getgenv().Network.Velocity end end end) end EnablePartControl() -- Forçar parts local function ForcePart(v) if v:IsA("Part") and not v.Anchored and not v.Parent:FindFirstChild("Humanoid") and not v.Parent:FindFirstChild("Head") and v.Name ~= "Handle" then for _, x in next, v:GetChildren() do if x:IsA("BodyAngularVelocity") or x:IsA("BodyForce") or x:IsA("BodyGyro") or x:IsA("BodyPosition") or x:IsA("BodyThrust") or x:IsA("BodyVelocity") or x:IsA("RocketPropulsion") then x:Destroy() end end if v:FindFirstChild("Attachment") then v.Attachment:Destroy() end if v:FindFirstChild("AlignPosition") then v.AlignPosition:Destroy() end if v:FindFirstChild("Torque") then v.Torque:Destroy() end v.CanCollide = false local Torque = Instance.new("Torque", v) Torque.Torque = Vector3.new(100000, 100000, 100000) local AlignPosition = Instance.new("AlignPosition", v) local Attachment2 = Instance.new("Attachment", v) Torque.Attachment0 = Attachment2 AlignPosition.MaxForce = 9999999999999999 AlignPosition.MaxVelocity = math.huge AlignPosition.Responsiveness = 200 AlignPosition.Attachment0 = Attachment2 AlignPosition.Attachment1 = Attachment1 end end -- Sound local function playSound(soundId) local sound = Instance.new("Sound") sound.SoundId = "rbxassetid://"..soundId sound.Parent = SoundService sound:Play() sound.Ended:Connect(function() sound:Destroy() end) end playSound("2865227271") -- GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "ReverseRingsPartsGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 220, 0, 200) MainFrame.Position = UDim2.new(0.5, -110, 0.5, -100) MainFrame.BackgroundColor3 = Color3.fromRGB(0, 102, 204) MainFrame.BorderSizePixel = 0 MainFrame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 20) UICorner.Parent = MainFrame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 40) Title.Position = UDim2.new(0, 0, 0, 0) Title.Text = "Reverse Rings Parts" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.BackgroundColor3 = Color3.fromRGB(0, 51, 102) Title.Font = Enum.Font.Fondamento Title.TextSize = 22 Title.Parent = MainFrame local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 20) TitleCorner.Parent = Title -- Toggle Ring Parts local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0.8, 0, 0, 35) ToggleButton.Position = UDim2.new(0.1, 0, 0.3, 0) ToggleButton.Text = "Reverse Rings Off" ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 255) ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleButton.Font = Enum.Font.Fondamento ToggleButton.TextSize = 18 ToggleButton.Parent = MainFrame local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(0, 10) ToggleCorner.Parent = ToggleButton -- Minimize e Close local MinimizeButton = Instance.new("TextButton") MinimizeButton.Size = UDim2.new(0, 30, 0, 30) MinimizeButton.Position = UDim2.new(1, -65, 0, 5) MinimizeButton.Text = "-" MinimizeButton.BackgroundColor3 = Color3.fromRGB(0, 51, 102) MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeButton.Font = Enum.Font.Fondamento MinimizeButton.TextSize = 18 MinimizeButton.Parent = MainFrame local MinimizeCorner = Instance.new("UICorner") MinimizeCorner.CornerRadius = UDim.new(0, 15) MinimizeCorner.Parent = MinimizeButton local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0, 30, 0, 30) CloseButton.Position = UDim2.new(1, -30, 0, 5) CloseButton.Text = "X" CloseButton.BackgroundColor3 = Color3.fromRGB(255, 51, 51) CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.Font = Enum.Font.Fondamento CloseButton.TextSize = 18 CloseButton.Parent = MainFrame local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 15) CloseCorner.Parent = CloseButton -- Minimize funcionalidade local minimized = false MinimizeButton.MouseButton1Click:Connect(function() minimized = not minimized if minimized then MainFrame:TweenSize(UDim2.new(0, 220, 0, 40), "Out", "Quad", 0.3, true) MinimizeButton.Text = "+" ToggleButton.Visible = false for _, btn in pairs(RadiusButtons or {}) do btn.Visible = false end RadiusDisplay.Visible = false Watermark.Visible = false else MainFrame:TweenSize(UDim2.new(0, 220, 0, 200), "Out", "Quad", 0.3, true) MinimizeButton.Text = "-" ToggleButton.Visible = true for _, btn in pairs(RadiusButtons or {}) do btn.Visible = true end RadiusDisplay.Visible = true Watermark.Visible = true end playSound("12221967") end) -- Close funcionalidade CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Radius display local RadiusDisplay = Instance.new("TextLabel") RadiusDisplay.Size = UDim2.new(0.6, 0, 0, 30) RadiusDisplay.Position = UDim2.new(0.2, 0, 0.6, 0) RadiusDisplay.Text = "Area: 99999999999" RadiusDisplay.BackgroundColor3 = Color3.fromRGB(0, 51, 102) RadiusDisplay.TextColor3 = Color3.fromRGB(255, 255, 255) RadiusDisplay.Font = Enum.Font.Fondamento RadiusDisplay.TextSize = 16 RadiusDisplay.Parent = MainFrame local RadiusCorner = Instance.new("UICorner") RadiusCorner.CornerRadius = UDim.new(0, 10) RadiusCorner.Parent = RadiusDisplay -- Watermark local Watermark = Instance.new("TextLabel") Watermark.Size = UDim2.new(1, 0, 0, 20) Watermark.Position = UDim2.new(0, 0, 1, -20) Watermark.Text = "By CryptoCodeSupreme" Watermark.TextColor3 = Color3.fromRGB(255, 255, 255) Watermark.BackgroundTransparency = 1 Watermark.Font = Enum.Font.Fondamento Watermark.TextSize = 14 Watermark.Parent = MainFrame -- Botões de alcance fixos local radiusOptions = {999999999, 100, 50, 25, 10, 1} local RadiusButtons = {} local function createRadiusButton(value,posX) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.12, 0, 0, 30) btn.Position = UDim2.new(posX,0,0.75,0) btn.Text = tostring(value) btn.BackgroundColor3 = Color3.fromRGB(0,0,255) btn.TextColor3 = Color3.fromRGB(255,255,255) btn.Font = Enum.Font.Fondamento btn.TextSize = 14 btn.Parent = MainFrame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0,5) corner.Parent = btn btn.MouseButton1Click:Connect(function() radius = value RadiusDisplay.Text = "Area: "..value playSound("12221967") end) table.insert(RadiusButtons,btn) end for i,value in ipairs(radiusOptions) do local posX = 0.05 + (i-1)*0.16 createRadiusButton(value,posX) end -- Parts logic (Reverse / repulsão) local ringPartsEnabled = false local parts = {} local function RetainPart(Part) if Part:IsA("BasePart") and not Part.Anchored and Part:IsDescendantOf(Workspace) then if Part.Parent == LocalPlayer.Character or Part:IsDescendantOf(LocalPlayer.Character) then return false end Part.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0) Part.CanCollide = false return true end return false end local function addPart(part) if RetainPart(part) and not table.find(parts,part) then table.insert(parts,part) end end local function removePart(part) local index = table.find(parts,part) if index then table.remove(parts,index) end end for _,p in pairs(Workspace:GetDescendants()) do addPart(p) end Workspace.DescendantAdded:Connect(addPart) Workspace.DescendantRemoving:Connect(removePart) -- RunService Heartbeat modificado (só desanchored) RunService.Heartbeat:Connect(function() if not ringPartsEnabled then return end local humanoidRootPart = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if humanoidRootPart then local center = humanoidRootPart.Position for _, part in pairs(parts) do if part.Parent and not part.Anchored then -- só desanchored local pos = part.Position local distance = (Vector3.new(pos.X, center.Y, pos.Z) - center).Magnitude local angle = math.atan2(pos.Z - center.Z, pos.X - center.X) local newAngle = angle + math.rad(5) local radiusValue = math.max(radius or 999999999, distance) local targetPos = Vector3.new( center.X + math.cos(newAngle) * radiusValue, center.Y + (100 * math.abs(math.sin((pos.Y - center.Y)/100))), center.Z + math.sin(newAngle) * radiusValue ) local direction = (pos - targetPos).Unit local pushStrength = 5000 part.Velocity = direction * pushStrength * (distance/10) end end end end) ToggleButton.MouseButton1Click:Connect(function() ringPartsEnabled = not ringPartsEnabled ToggleButton.Text = ringPartsEnabled and "Reverse Rings On" or "Reverse Rings Off" ToggleButton.BackgroundColor3 = ringPartsEnabled and Color3.fromRGB(50,205,50) or Color3.fromRGB(0,0,255) playSound("12221967") end) -- Notificação StarterGui:SetCore("SendNotification",{ Title="Reverse Rings Parts", Text="Enjoy", Duration=5 }) -- Chat local function SendChatMessage(message) if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local textChannel = TextChatService.TextChannels.RBXGeneral textChannel:SendAsync(message) else game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(message,"All") end end SendChatMessage("Reverse Rings Parts By CryptoCodeSupreme")