DuckScripts
Home
Upload
Login
← Back to Home
Natural Disaster Survival RING SCRIPT
fly
auto
ring
Works on any executor, showcased on our tiktok channel! Basic gui allowing you to pick up parts and have them form a "ring" spinning around yourself. use at your own risk.
--[[ 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 SoundService = game:GetService("SoundService") local StarterGui = game:GetService("StarterGui") local HttpService = game:GetService("HttpService") local LocalPlayer = Players.LocalPlayer -- Sound Effects 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 -- Play initial sound playSound("2865227271") -- GUI Creation local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SuperRingPartsGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 300, 0, 500) MainFrame.Position = UDim2.new(0.5, -150, 0.5, -250) MainFrame.BorderSizePixel = 0 MainFrame.Parent = ScreenGui -- Make the GUI round 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 = "Super Ring Parts V6 by lukas" Title.TextColor3 = Color3.fromRGB(0, 0, 0) Title.BackgroundColor3 = Color3.fromRGB(0, 204, 204) Title.Font = Enum.Font.Fondamento Title.TextSize = 22 Title.Parent = MainFrame -- Round the title local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 20) TitleCorner.Parent = Title local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0.8, 0, 0, 40) ToggleButton.Position = UDim2.new(0.1, 0, 0.1, 0) ToggleButton.Text = "Ring Off" ToggleButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0) ToggleButton.TextColor3 = Color3.fromRGB(0, 0, 0) ToggleButton.Font = Enum.Font.Fondamento ToggleButton.TextSize = 18 ToggleButton.Parent = MainFrame -- Round the toggle button local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(0, 10) ToggleCorner.Parent = ToggleButton -- Configuration table local config = { radius = 50, height = 100, rotationSpeed = 10, attractionStrength = 1000, } -- Save and load functions local function saveConfig() local configStr = HttpService:JSONEncode(config) writefile("SuperRingPartsConfig.txt", configStr) end local function loadConfig() if isfile("SuperRingPartsConfig.txt") then local configStr = readfile("SuperRingPartsConfig.txt") config = HttpService:JSONDecode(configStr) end end loadConfig() -- Function to create control buttons and textboxes local function createControl(name, positionY, color, labelText, defaultValue, callback) local DecreaseButton = Instance.new("TextButton") DecreaseButton.Size = UDim2.new(0.2, 0, 0, 40) DecreaseButton.Position = UDim2.new(0.1, 0, positionY, 0) DecreaseButton.Text = "-" DecreaseButton.BackgroundColor3 = color DecreaseButton.TextColor3 = Color3.fromRGB(0, 0, 0) DecreaseButton.Font = Enum.Font.Fondamento DecreaseButton.TextSize = 18 DecreaseButton.Parent = MainFrame local IncreaseButton = Instance.new("TextButton") IncreaseButton.Size = UDim2.new(0.2, 0, 0, 40) IncreaseButton.Position = UDim2.new(0.7, 0, positionY, 0) IncreaseButton.Text = "+" IncreaseButton.BackgroundColor3 = color IncreaseButton.TextColor3 = Color3.fromRGB(0, 0, 0) IncreaseButton.Font = Enum.Font.Fondamento IncreaseButton.TextSize = 18 IncreaseButton.Parent = MainFrame local Display = Instance.new("TextLabel") Display.Size = UDim2.new(0.4, 0, 0, 40) Display.Position = UDim2.new(0.3, 0, positionY, 0) Display.Text = labelText .. ": " .. defaultValue Display.BackgroundColor3 = Color3.fromRGB(255, 153, 51) Display.TextColor3 = Color3.fromRGB(0, 0, 0) Display.Font = Enum.Font.Fondamento Display.TextSize = 18 Display.Parent = MainFrame -- Add TextBox for input local TextBox = Instance.new("TextBox") TextBox.Size = UDim2.new(0.8, 0, 0, 35) TextBox.Position = UDim2.new(0.1, 0, positionY + 0.1, 0) TextBox.PlaceholderText = "Enter " .. labelText TextBox.BackgroundColor3 = Color3.fromRGB(0, 0, 255) TextBox.TextColor3 = Color3.fromRGB(0, 0, 0) TextBox.Font = Enum.Font.Fondamento TextBox.TextSize = 18 TextBox.Parent = MainFrame local TextBoxCorner = Instance.new("UICorner") TextBoxCorner.CornerRadius = UDim.new(0, 10) TextBoxCorner.Parent = TextBox DecreaseButton.MouseButton1Click:Connect(function() local value = tonumber(Display.Text:match("%d+")) value = math.max(0, value - 10) Display.Text = labelText .. ": " .. value callback(value) playSound("12221967") saveConfig() end) IncreaseButton.MouseButton1Click:Connect(function() local value = tonumber(Display.Text:match("%d+")) value = math.min(10000, value + 10) Display.Text = labelText .. ": " .. value callback(value) playSound("12221967") saveConfig() end) TextBox.FocusLost:Connect(function(enterPressed) if enterPressed then local newValue = tonumber(TextBox.Text) if newValue then newValue = math.clamp(newValue, 0, 10000) Display.Text = labelText .. ": " .. newValue TextBox.Text = "" callback(newValue) playSound("12221967") saveConfig() else TextBox.Text = "" end end end) end createControl("Radius", 0.2, Color3.fromRGB(153, 153, 0), "Radius", config.radius, function(value) config.radius = value saveConfig() end) createControl("Height", 0.4, Color3.fromRGB(153, 0, 153), "Height", config.height, function(value) config.height = value saveConfig() end) createControl("RotationSpeed", 0.6, Color3.fromRGB(0, 153, 153), "Rotation Speed", config.rotationSpeed, function(value) config.rotationSpeed = value saveConfig() end) createControl("AttractionStrength", 0.8, Color3.fromRGB(153, 0, 0), "Attraction Strength", config.attractionStrength, function(value) config.attractionStrength = value saveConfig() end) -- Add minimize button local MinimizeButton = Instance.new("TextButton") MinimizeButton.Size = UDim2.new(0, 30, 0, 30) MinimizeButton.Position = UDim2.new(1, -35, 0, 5) MinimizeButton.Text = "-" MinimizeButton.BackgroundColor3 = Color3.fromRGB(255, 255, 0) MinimizeButton.TextColor3 = Color3.fromRGB(0, 0, 0) MinimizeButton.Font = Enum.Font.Fondamento MinimizeButton.TextSize = 15 MinimizeButton.Parent = MainFrame -- Round the minimize button local MinimizeCorner = Instance.new("UICorner") MinimizeCorner.CornerRadius = UDim.new(0, 15) MinimizeCorner.Parent = MinimizeButton -- Minimize functionality local minimized = false MinimizeButton.MouseButton1Click:Connect(function() minimized = not minimized if minimized then MainFrame:TweenSize(UDim2.new(0, 300, 0, 40), "Out", "Quad", 0.3, true) MinimizeButton.Text = "+" for _, child in pairs(MainFrame:GetChildren()) do if child:IsA("GuiObject") and child ~= Title and child ~= MinimizeButton then child.Visible = false end end else MainFrame:TweenSize(UDim2.new(0, 300, 0, 500), "Out", "Quad", 0.3, true) MinimizeButton.Text = "-" for _, child in pairs(MainFrame:GetChildren()) do if child:IsA("GuiObject") then child.Visible = true end end end playSound("12221967") end) -- Make GUI draggable local dragging local dragInput local dragStart local startPos local function update(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 MainFrame.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) MainFrame.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 update(input) end end) -- Ring Parts Claim local Workspace = game:GetService("Workspace") local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") 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 if not getgenv().Network then getgenv().Network = { BaseParts = {}, Velocity = Vector3.new(14.46262424, 14.46262424, 14.46262424) } Network.RetainPart = function(Part) if typeof(Part) == "Instance" and Part:IsA("BasePart") and Part:IsDescendantOf(Workspace) then table.insert(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(Network.BaseParts) do if Part:IsDescendantOf(Workspace) then Part.Velocity = Network.Velocity end end end) end EnablePartControl() end 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:FindFirstChild("Attachment"):Destroy() end if v:FindFirstChild("AlignPosition") then v:FindFirstChild("AlignPosition"):Destroy() end if v:FindFirstChild("Torque") then v:FindFirstChild("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 = 9999999999999999999999999999999 AlignPosition.MaxVelocity = math.huge AlignPosition.Responsiveness = 200 AlignPosition.Attachment0 = Attachment2 AlignPosition.Attachment1 = Attachment1 end end -- Edits local ringPartsEnabled = false 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 parts = {} local function addPart(part) if RetainPart(part) then if not table.find(parts, part) then table.insert(parts, part) end end end local function removePart(part) local index = table.find(parts, part) if index then table.remove(parts, index) end end for _, part in pairs(workspace:GetDescendants()) do addPart(part) end workspace.DescendantAdded:Connect(addPart) workspace.DescendantRemoving:Connect(removePart) RunService.Heartbeat:Connect(function() if not ringPartsEnabled then return end local humanoidRootPart = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if humanoidRootPart then local tornadoCenter = humanoidRootPart.Position for _, part in pairs(parts) do if part.Parent and not part.Anchored then local pos = part.Position local distance = (Vector3.new(pos.X, tornadoCenter.Y, pos.Z) - tornadoCenter).Magnitude local angle = math.atan2(pos.Z - tornadoCenter.Z, pos.X - tornadoCenter.X) local newAngle = angle + math.rad(config.rotationSpeed) local targetPos = Vector3.new( tornadoCenter.X + math.cos(newAngle) * math.min(config.radius, distance), tornadoCenter.Y + (config.height * (math.abs(math.sin((pos.Y - tornadoCenter.Y) / config.height)))), tornadoCenter.Z + math.sin(newAngle) * math.min(config.radius, distance) ) local directionToTarget = (targetPos - part.Position).unit part.Velocity = directionToTarget * config.attractionStrength end end end end) -- Button functionality ToggleButton.MouseButton1Click:Connect(function() ringPartsEnabled = not ringPartsEnabled ToggleButton.Text = ringPartsEnabled and "Tornado On" or "Tornado Off" ToggleButton.BackgroundColor3 = ringPartsEnabled and Color3.fromRGB(50, 205, 50) or Color3.fromRGB(160, 82, 45) playSound("12221967") end) -- Get player thumbnail local userId = Players:GetUserIdFromNameAsync("Robloxlukasgames") local thumbType = Enum.ThumbnailType.HeadShot local thumbSize = Enum.ThumbnailSize.Size420x420 local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize) StarterGui:SetCore("SendNotification", { Title = "Hey", Text = "Enjoy the Script!", Icon = content, Duration = 5 }) StarterGui:SetCore("SendNotification", { Title = "TIPS", Text = "Click Textbox To edit Any of them", Icon = content, Duration = 5 }) StarterGui:SetCore("SendNotification", { Title = "Credits", Text = "On scriptblox!", Icon = content, Duration = 5 }) -- Rainbow Background Effect local hue = 0 RunService.Heartbeat:Connect(function() hue = (hue + 0.01) % 1 MainFrame.BackgroundColor3 = Color3.fromHSV(hue, 1, 1) end) -- Rainbow TextLabel local textHue = 0 RunService.Heartbeat:Connect(function() textHue = (textHue + 0.01) % 1 Title.TextColor3 = Color3.fromHSV(textHue, 1, 1) end) -- fly gui local TextButton1 = Instance.new("TextButton") TextButton1.Parent = MainFrame TextButton1.Name = "Fly gui" TextButton1.BackgroundColor3 = Color3.fromRGB(0,0,255) TextButton1.BackgroundTransparency = 0 TextButton1.BorderSizePixel = 1 TextButton1.BorderColor3 = Color3.fromRGB(17,17,17) TextButton1.Position = UDim2.new(1,0,1) TextButton1.Size = UDim2.new(0.08,0,0.1) TextButton1.Font = Enum.Font.Legacy TextButton1.TextColor3 = Color3.fromRGB(242,243,243) TextButton1.Text = "Fly Gui" TextButton1.TextSize = 18 TextButton1.TextScaled = true TextButton1.TextWrapped = true TextButton1.Visible = true TextButton1.Active = true TextButton1.MouseButton1Click:Connect(function() loadstring(game:HttpGet('https://pastebin.com/raw/YSL3xKYU'))() end) -- no fall damage local TextButton1 = Instance.new("TextButton") TextButton1.Parent = MainFrame TextButton1.Name = "no fall damage" TextButton1.BackgroundColor3 = Color3.fromRGB(255,0,0) TextButton1.BackgroundTransparency = 0 TextButton1.BorderSizePixel = 1 TextButton1.BorderColor3 = Color3.fromRGB(17,17,17) TextButton1.Position = UDim2.new(0.9,0,1) TextButton1.Size = UDim2.new(0.08,0,0.1) TextButton1.Font = Enum.Font.Legacy TextButton1.TextColor3 = Color3.fromRGB(242,243,243) TextButton1.Text = "No fall Damage" TextButton1.TextSize = 18 TextButton1.TextScaled = true TextButton1.TextWrapped = true TextButton1.Visible = true TextButton1.Active = true TextButton1.MouseButton1Click:Connect(function() -- No Fall Damage by Pio (Discord: piomanly or ID: 311397526399877122) -- local runsvc = game:GetService("RunService") local heartbeat = runsvc.Heartbeat local rstepped = runsvc.RenderStepped local lp = game.Players.LocalPlayer local novel = Vector3.zero local function nofalldamage(chr) local root = chr:WaitForChild("HumanoidRootPart") if root then local con con = heartbeat:Connect(function() if not root.Parent then con:Disconnect() end local oldvel = root.AssemblyLinearVelocity root.AssemblyLinearVelocity = novel rstepped:Wait() root.AssemblyLinearVelocity = oldvel end) end end nofalldamage(lp.Character) lp.CharacterAdded:Connect(nofalldamage) end) -- noclip local TextButton1 = Instance.new("TextButton") TextButton1.Parent = MainFrame TextButton1.Name = "noclip" TextButton1.BackgroundColor3 = Color3.fromRGB(0,0,0) TextButton1.BackgroundTransparency = 0 TextButton1.BorderSizePixel = 1 TextButton1.BorderColor3 = Color3.fromRGB(17,17,17) TextButton1.Position = UDim2.new(0.8,0,1) TextButton1.Size = UDim2.new(0.08,0,0.1) TextButton1.Font = Enum.Font.Legacy TextButton1.TextColor3 = Color3.fromRGB(242,243,243) TextButton1.Text = "Noclip" TextButton1.TextSize = 18 TextButton1.TextScaled = true TextButton1.TextWrapped = true TextButton1.Visible = true TextButton1.Active = true TextButton1.MouseButton1Click:Connect(function() local Noclip = nil local Clip = nil function noclip() Clip = false local function Nocl() if Clip == false and game.Players.LocalPlayer.Character ~= nil then for _,v in pairs(game.Players.LocalPlayer.Character:GetDescendants()) do if v:IsA('BasePart') and v.CanCollide and v.Name ~= floatName then v.CanCollide = false end end end wait(0.21) -- basic optimization end Noclip = game:GetService('RunService').Stepped:Connect(Nocl) end function clip() if Noclip then Noclip:Disconnect() end Clip = true end noclip() -- to toggle noclip() and clip() end) -- Inf jump local TextButton1 = Instance.new("TextButton") TextButton1.Parent = MainFrame TextButton1.Name = "Inf jump" TextButton1.BackgroundColor3 = Color3.fromRGB(0,255,0) TextButton1.BackgroundTransparency = 0 TextButton1.BorderSizePixel = 1 TextButton1.BorderColor3 = Color3.fromRGB(17,17,17) TextButton1.Position = UDim2.new(0.7,0,1) TextButton1.Size = UDim2.new(0.08,0,0.1) TextButton1.Font = Enum.Font.Legacy TextButton1.TextColor3 = Color3.fromRGB(242,243,243) TextButton1.Text = "Inf jump" TextButton1.TextSize = 18 TextButton1.TextScaled = true TextButton1.TextWrapped = true TextButton1.Visible = true TextButton1.Active = true TextButton1.MouseButton1Click:Connect(function() local InfiniteJumpEnabled = true game:GetService("UserInputService").JumpRequest:connect(function() if InfiniteJumpEnabled then game:GetService"Players".LocalPlayer.Character:FindFirstChildOfClass'Humanoid':ChangeState("Jumping") end end) end) -- Inf yield local TextButton1 = Instance.new("TextButton") TextButton1.Parent = MainFrame TextButton1.Name = "Inf yield" TextButton1.BackgroundColor3 = Color3.fromRGB(0,255,255) TextButton1.BackgroundTransparency = 0 TextButton1.BorderSizePixel = 1 TextButton1.BorderColor3 = Color3.fromRGB(17,17,17) TextButton1.Position = UDim2.new(0.6,0,1) TextButton1.Size = UDim2.new(0.08,0,0.1) TextButton1.Font = Enum.Font.Legacy TextButton1.TextColor3 = Color3.fromRGB(242,243,243) TextButton1.Text = "Inf yield" TextButton1.TextSize = 18 TextButton1.TextScaled = true TextButton1.TextWrapped = true TextButton1.Visible = true TextButton1.Active = true TextButton1.MouseButton1Click:Connect(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))() end) -- nameless admin local TextButton1 = Instance.new("TextButton") TextButton1.Parent = MainFrame TextButton1.Name = "nameless admin" TextButton1.BackgroundColor3 = Color3.fromRGB(0,0,0) TextButton1.BackgroundTransparency = 0 TextButton1.BorderSizePixel = 1 TextButton1.BorderColor3 = Color3.fromRGB(17,17,17) TextButton1.Position = UDim2.new(0.5,0,1) TextButton1.Size = UDim2.new(0.08,0,0.1) TextButton1.Font = Enum.Font.Legacy TextButton1.TextColor3 = Color3.fromRGB(242,243,243) TextButton1.Text = "NAMELESS" TextButton1.TextSize = 18 TextButton1.TextScaled = true TextButton1.TextWrapped = true TextButton1.Visible = true TextButton1.Active = true TextButton1.MouseButton1Click:Connect(function() loadstring(game:HttpGet("https://scriptblox.com/raw/Universal-Script-Nameless-Admin-FE-11243"))() end) -- fps local TextButton1 = Instance.new("TextButton") TextButton1.Parent = MainFrame TextButton1.Name = "FPS" TextButton1.BackgroundColor3 = Color3.fromRGB(0,0,0) TextButton1.BackgroundTransparency = 0 TextButton1.BorderSizePixel = 1 TextButton1.BorderColor3 = Color3.fromRGB(17,17,17) TextButton1.Position = UDim2.new(0.4,0,1) TextButton1.Size = UDim2.new(0.08,0,0.1) TextButton1.Font = Enum.Font.Legacy TextButton1.TextColor3 = Color3.fromRGB(242,243,243) TextButton1.Text = "FPS" TextButton1.TextSize = 18 TextButton1.TextScaled = true TextButton1.TextWrapped = true TextButton1.Visible = true TextButton1.Active = true TextButton1.MouseButton1Click:Connect(function() loadstring(game:HttpGet("https://pastebin.com/raw/ySHJdZpb",true))() end)
Copy Script
👍 Like
0
👎 Dislike
0
Views: 2
You May Also Like
Simple GUI
gui, troll, panel
-Noclip -Increase Speed -Decrease Speed -Teleport Tool -Go to specific player //------features ...
Universal PC Silent Aim DaStrikev1.2
REALISTIC, dastrike
Credits to @OriginalTragic - ALSO WORKS ON ALL OTHER DAHOOD GAMES - FOV - TARGET BOX - SILENT ...
insanity XYZ [ UNPATCHED ]
slient, fly, aimbot
works on executors that has: getgc, hookfunction, getconstant, getupvalues, setupvalue btw this v...
UNDETECTED DIG: Auto Farm, Auto Sell, Auto Quests
auto, farm, esp
Auto Farm a program that can provide you with all the necessary game resources such as money, experi...
Copied to clipboard!