Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
TextChatService = :()
GuiService = :()
Debris = :()
Player = Players.LocalPlayer
PlayerNameFromId = Players:(Player.UserId)
IMAGE_ID =
THEME_ID =
KILL_SOUND_ID =
RING_SOUND_ID =
DROWN_SOUND_ID =
SKID_1 =
SKID_2 =
CURRENT_SPEED =
THEME_PITCH =
THEME_VOLUME =
DROWN_PITCH =
FALL_LIMIT = -
KILL_LINES = {, , , }
greetedSonics = {}
(msg)
TextChatService.ChatVersion == .ChatVersion.TextChatService
channel = TextChatService.TextChannels.RBXGeneral
channel channel:(msg)
event = :():()
event event.SayMessageRequest:(msg, )
()
TextChatService.MessageReceived:((msg)
msg.TextSource
sender = Players:(msg.TextSource.UserId)
sender sender == Player
content = msg.Text:()
content:() greetedSonics[sender.UserId]
greetedSonics[sender.UserId] =
Player.Character sender.Character
Player.Character:(sender.Character.HumanoidRootPart.Position + .(, , ))
()
content:()
()
content:()
()
content:()
()
)
(Character)
Humanoid = Character:()
RootPart = Character:()
isDrowning =
isRepelling =
processed = {}
_, v (Character:())
v:() v:() v.Transparency =
Billboard = .(, RootPart)
Billboard.Size = .(, , , )
Billboard.AlwaysOnTop =
ImageLabel = .(, Billboard)
ImageLabel.Size = .(, , , )
ImageLabel.BackgroundTransparency =
ImageLabel.Image = IMAGE_ID
Music = .(, RootPart)
Music.SoundId = THEME_ID; Music.PlaybackSpeed = THEME_PITCH; Music.Looped = ; Music.Volume = THEME_VOLUME; Music:()
DrownMusic = .(, RootPart)
DrownMusic.SoundId = DROWN_SOUND_ID; DrownMusic.PlaybackSpeed = DROWN_PITCH; DrownMusic.Volume =
S1 = .(, RootPart); S1.SoundId = SKID_1; S1.Volume =
S2 = .(, RootPart); S2.SoundId = SKID_2; S2.Volume =
.(()
Character.Parent
inWater = (Humanoid:() == .HumanoidStateType.Swimming)
inWater isRepelling
foundWater =
params = OverlapParams.()
params.FilterDescendantsInstances = {Character}
parts = :(RootPart.Position, , params)
_, p (parts)
p.Material == .Material.Water p.Name:():()
foundWater =
foundWater
isRepelling =
()
S1:(); S2:()
BV = .()
BV.MaxForce = .(.huge, .huge, .huge)
BV.Velocity = (RootPart.CFrame.LookVector * -) + .(, , )
BV.Parent = RootPart
Debris:(BV, )
.()
isRepelling =
inWater
isDrowning
isDrowning =
Music:(); DrownMusic:()
()
.(()
isDrowning
Billboard.StudsOffset = .(.(-,)/, .(-,)/, )
.()
Billboard.StudsOffset = .(,,)
)
DrownMusic.Ended:(()
isDrowning Humanoid.Health =
)
isDrowning
isDrowning =
DrownMusic:(); Music:()
()
.()
)
RunService.Heartbeat:(()
Character.Parent
Humanoid.WalkSpeed = (isRepelling isDrowning) CURRENT_SPEED
RootPart.Position.Y < FALL_LIMIT
RootPart.CFrame = .(, , )
)
lastH = Humanoid.Health
Humanoid.HealthChanged:((h)
h < lastH
ImageLabel.ImageColor3 = .(, , )
.(, () ImageLabel.ImageColor3 = .(, , ) )
r = .(, RootPart); r.SoundId = RING_SOUND_ID; r:(); Debris:(r, )
lastH = h
)
RootPart.Touched:((hit)
m = hit.Parent
h = m:()
h m ~= Character processed[m]
processed[m] =
s = .(, RootPart); s.SoundId = KILL_SOUND_ID; s:(); Debris:(s, )
(KILL_LINES[.(, #KILL_LINES)])
.()
processed[m] =
)
Player.Character (Player.Character)
Player.CharacterAdded:(ApplySanic)
Pls use touch fling so it works

Universal