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 TextChatService = game:GetService("TextChatService") 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 = "CloudThemeGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 220, 0, 190) MainFrame.Position = UDim2.new(0.5, -110, 0.5, -95) MainFrame.BackgroundColor3 = Color3.fromRGB(173, 216, 230) -- Light blue (sky color) 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 = "Cloudbound" Title.TextColor3 = Color3.fromRGB(255, 255, 255) -- White Title.BackgroundColor3 = Color3.fromRGB(135, 206, 235) -- Light sky blue Title.Font = Enum.Font.GothamSemibold -- Modern and soft font Title.TextSize = 24 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, 35) ToggleButton.Position = UDim2.new(0.1, 0, 0.3, 0) ToggleButton.Text = "Ring Parts Off" ToggleButton.BackgroundColor3 = Color3.fromRGB(255, 250, 250) -- Soft off-white ToggleButton.TextColor3 = Color3.fromRGB(70, 130, 180) -- Steel blue ToggleButton.Font = Enum.Font.GothamSemibold ToggleButton.TextSize = 18 ToggleButton.Parent = MainFrame -- Round the toggle button local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(0, 10) ToggleCorner.Parent = ToggleButton local DecreaseRadius = Instance.new("TextButton") DecreaseRadius.Size = UDim2.new(0.2, 0, 0, 35) DecreaseRadius.Position = UDim2.new(0.1, 0, 0.6, 0) DecreaseRadius.Text = "<" DecreaseRadius.BackgroundColor3 = Color3.fromRGB(240, 248, 255) -- Alice blue DecreaseRadius.TextColor3 = Color3.fromRGB(70, 130, 180) -- Steel blue DecreaseRadius.Font = Enum.Font.GothamSemibold DecreaseRadius.TextSize = 18 DecreaseRadius.Parent = MainFrame -- Round the decrease button local DecreaseCorner = Instance.new("UICorner") DecreaseCorner.CornerRadius = UDim.new(0, 10) DecreaseCorner.Parent = DecreaseRadius local IncreaseRadius = Instance.new("TextButton") IncreaseRadius.Size = UDim2.new(0.2, 0, 0, 35) IncreaseRadius.Position = UDim2.new(0.7, 0, 0.6, 0) IncreaseRadius.Text = ">" IncreaseRadius.BackgroundColor3 = Color3.fromRGB(240, 248, 255) -- Alice blue IncreaseRadius.TextColor3 = Color3.fromRGB(70, 130, 180) -- Steel blue IncreaseRadius.Font = Enum.Font.GothamSemibold IncreaseRadius.TextSize = 18 IncreaseRadius.Parent = MainFrame -- Round the increase button local IncreaseCorner = Instance.new("UICorner") IncreaseCorner.CornerRadius = UDim.new(0, 10) IncreaseCorner.Parent = IncreaseRadius local RadiusDisplay = Instance.new("TextLabel") RadiusDisplay.Size = UDim2.new(0.4, 0, 0, 35) RadiusDisplay.Position = UDim2.new(0.3, 0, 0.6, 0) RadiusDisplay.Text = "Radius:50" RadiusDisplay.BackgroundColor3 = Color3.fromRGB(240, 248, 255) -- Alice blue RadiusDisplay.TextColor3 = Color3.fromRGB(70, 130, 180) -- Steel blue RadiusDisplay.Font = Enum.Font.GothamSemibold RadiusDisplay.TextSize = 18 RadiusDisplay.Parent = MainFrame -- Round the radius display local RadiusCorner = Instance.new("UICorner") RadiusCorner.CornerRadius = UDim.new(0, 10) RadiusCorner.Parent = RadiusDisplay local Watermark = Instance.new("TextLabel") Watermark.Size = UDim2.new(1, 0, 0, 20) Watermark.Position = UDim2.new(0, 0, 1, -20) Watermark.Text = "Thanks NeymarJR and ChatGPT" Watermark.TextColor3 = Color3.fromRGB(70, 130, 180) -- Steel blue Watermark.BackgroundTransparency = 1 Watermark.Font = Enum.Font.GothamSemibold Watermark.TextSize = 14 Watermark.Parent = MainFrame -- 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(135, 206, 235) -- Sky blue MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255) -- White MinimizeButton.Font = Enum.Font.GothamSemibold MinimizeButton.TextSize = 18 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, 220, 0, 40), "Out", "Quad", 0.3, true) MinimizeButton.Text = "+" ToggleButton.Visible = false DecreaseRadius.Visible = false IncreaseRadius.Visible = false RadiusDisplay.Visible = false Watermark.Visible = false else MainFrame:TweenSize(UDim2.new(0, 220, 0, 190), "Out", "Quad", 0.3, true) MinimizeButton.Text = "-" ToggleButton.Visible = true DecreaseRadius.Visible = true IncreaseRadius.Visible = true RadiusDisplay.Visible = true Watermark.Visible = true end playSound("12221967") end) -- The rest of your code remains unchanged -- 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 Logic 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) if not Part.Anchored then Part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) Part.CanCollide = false else Part.CanCollide = true -- Ensures you don't phase through anchored parts end 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 radius = 100 local height = 150 local baseAttractionStrength = 5000 local rotationSpeed = 0 local ringPartsEnabled = false local maxPullDistance = 2000 local velocityIncrease = 20000 local function RetainPart(Part) if Part:IsA("BasePart") and Part:IsDescendantOf(workspace) then if Part.Parent == LocalPlayer.Character or Part:IsDescendantOf(LocalPlayer.Character) then return false end if not Part.Anchored then Part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) Part.CanCollide = false else Part.CanCollide = true -- Keep collision for anchored parts end 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 = (pos - tornadoCenter).Magnitude local randomDirection = Vector3.new( math.random() * 4 - 2, math.random() * 4 - 2, math.random() * 4 - 2 ).unit local randomAttractionStrength = baseAttractionStrength + math.random(-1500, 1500) local directionToCenter = (tornadoCenter - part.Position).unit local finalDirection = directionToCenter + randomDirection * 1.2 finalDirection = finalDirection.unit local velocity = finalDirection * randomAttractionStrength * 0.1 if distance > maxPullDistance then velocity = velocity + (directionToCenter * (distance / maxPullDistance)) * velocityIncrease end local verticalForce = math.random(-height, height) * 0.08 velocity = velocity + Vector3.new(0, verticalForce, 0) local horizontalRandomness = Vector3.new( math.random() * 4 - 2, 0, math.random() * 4 - 2 ).unit * math.random(700, 1800) local finalVelocity = velocity + horizontalRandomness local angle = math.atan2(pos.Z - tornadoCenter.Z, pos.X - tornadoCenter.X) local newAngle = angle + math.rad(rotationSpeed) local targetPos = Vector3.new( tornadoCenter.X + math.cos(newAngle) * math.min(radius, distance), tornadoCenter.Y + (height * (math.abs(math.sin((pos.Y - tornadoCenter.Y) / height)))), tornadoCenter.Z + math.sin(newAngle) * math.min(radius, distance) ) if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local teleportCheck = (LocalPlayer.Character.HumanoidRootPart.Position - tornadoCenter).Magnitude if teleportCheck > 50 then part.Velocity = Vector3.new(0, 0, 0) end end part.Velocity = finalVelocity end end end end) -- Button functionality ToggleButton.MouseButton1Click:Connect(function() ringPartsEnabled = not ringPartsEnabled ToggleButton.Text = ringPartsEnabled and "Afloat" or "Hazy" ToggleButton.BackgroundColor3 = ringPartsEnabled and Color3.fromRGB(255,255,224) or Color3.fromRGB(255,153,153) playSound("12221967") end) DecreaseRadius.MouseButton1Click:Connect(function() radius = math.max(0, radius - 5) RadiusDisplay.Text = "Radius: " .. radius playSound("12221967") end) IncreaseRadius.MouseButton1Click:Connect(function() radius = math.min(1000000, radius + 5) RadiusDisplay.Text = "Radius: " .. radius playSound("12221967") end) -- Notifications StarterGui:SetCore("SendNotification", { Title = "Follow me!", Text = "Thanks, ChatGPT, NeymarJR, and YummKiller!", Duration = 5 }) StarterGui:SetCore("SendNotification", { Title = "Thank you!", Text = "I Cannot Thank You Guys enough for using my script", Duration = 5 }) -- Get player thumbnail local userId = Players:GetUserIdFromNameAsync("ineedfruitpls915") local thumbType = Enum.ThumbnailType.HeadShot local thumbSize = Enum.ThumbnailSize.Size420x420 local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize) StarterGui:SetCore("SendNotification", { Title = "Enjoy My Script", Text = "Made By Skybounder", Icon = content, Duration = 5 }) -- Chat message (Updated for new chat system) 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 -- Send the chat message SendChatMessage("") -- i could not know what to put here!