Run it
Copy the script and paste it into your executor.
player = .Players.LocalPlayer
character = player.Character player.CharacterAdded:()
humanoid = character:()
rootPart = character:()
camera = .CurrentCamera
submerged =
swimSpeed =
submergeOffset =
riseMultiplier =
noclipParts = {}
originalCameraCFrame =
savedSubmergePosition =
animationPlaying =
animationToggleButton =
playerData = {
buttonPosition = .(, -, , -),
animationButtonPosition = .(, -, , -)
}
animation = .()
animation.AnimationId =
animator = humanoid:()
animationTrack = animator:(animation)
animationTrack.Looped =
gui = .()
gui.Name =
gui.Parent = player:()
button = .()
button.Name =
button.Parent = gui
button.Size = .(, , , )
button.Position = playerData.buttonPosition
button.AnchorPoint = .(, )
button.BackgroundColor3 = .(, , )
button.TextColor3 = .(, , )
button.Text =
button.Font = .Font.GothamBold
button.TextSize =
button.TextStrokeTransparency =
button.TextStrokeColor3 = .(, , )
button.BackgroundTransparency =
button.BorderSizePixel =
button.AutoButtonColor =
button.Draggable =
corner = .()
corner.CornerRadius = .(, )
corner.Parent = button
animationToggleButton = .()
animationToggleButton.Name =
animationToggleButton.Parent = gui
animationToggleButton.Size = .(, , , )
animationToggleButton.Position = playerData.animationButtonPosition
animationToggleButton.AnchorPoint = .(, )
animationToggleButton.BackgroundColor3 = .(, , )
animationToggleButton.TextColor3 = .(, , )
animationToggleButton.Text =
animationToggleButton.Font = .Font.GothamBold
animationToggleButton.TextSize =
animationToggleButton.TextStrokeTransparency =
animationToggleButton.TextStrokeColor3 = .(, , )
animationToggleButton.BackgroundTransparency =
animationToggleButton.BorderSizePixel =
animationToggleButton.AutoButtonColor =
animationToggleButton.Draggable =
animCorner = .()
animCorner.CornerRadius = .(, )
animCorner.Parent = animationToggleButton
highlight = .()
highlight.Enabled =
highlight.FillTransparency =
highlight.OutlineTransparency =
highlight.OutlineColor = .(, , )
highlight.Parent = character
_, part (character:())
part.Name == part.Name ==
.(noclipParts, part)
(state)
_, part (character:())
part:()
.(noclipParts, part)
part.CanCollide =
part.CanCollide = state
()
originalCameraCFrame = camera.CFrame
camera.CameraType = .CameraType.Custom
savedSubmergePosition = rootPart.Position - .(, submergeOffset, )
()
rootPart.CFrame = .(savedSubmergePosition)
humanoid.PlatformStand =
highlight.Enabled =
submerged =
button.Text =
()
()
humanoid.PlatformStand =
rootPart.CFrame = rootPart.CFrame + .(, submergeOffset * riseMultiplier, )
highlight.Enabled =
submerged =
button.Text =
camera.CFrame = originalCameraCFrame
()
animationPlaying
animationTrack:()
animationToggleButton.Text =
animationPlaying =
animationPlaying =
animationToggleButton.Text =
animationPlaying
animationTrack:()
animationTrack.TimePosition =
.()
:().Stepped:(()
submerged
()
)
:().RenderStepped:(()
submerged
rootPart.CFrame = .(rootPart.Position.X, savedSubmergePosition.Y, rootPart.Position.Z)
rootPart.Velocity = humanoid.MoveDirection * swimSpeed
)
button.MouseButton1Click:(()
submerged
()
()
)
animationToggleButton.MouseButton1Click:(toggleAnimation)
button:():(()
playerData.buttonPosition = button.Position
)
animationToggleButton:():(()
playerData.animationButtonPosition = animationToggleButton.Position
)
.Players.LocalPlayer.CharacterAdded:(()
.()
button.Position = playerData.buttonPosition
animationToggleButton.Position = playerData.animationButtonPosition
)FE SUBMERGE/UNDERGROUND

Universal