
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TextChatService = game:GetService("TextChatService")
local GuiService = game:GetService("GuiService")
local Debris = game:GetService("Debris")
local Player = Players.LocalPlayer
local PlayerNameFromId = Players:GetNameFromUserIdAsync(Player.UserId)
-- // CONFIGURATION //
local IMAGE_ID = "rbxassetid://126338282700056"
local THEME_ID = "rbxassetid://82675021472003"
local KILL_SOUND_ID = "rbxassetid://135557803"
local RING_SOUND_ID = "rbxassetid://138688779679100"
local DROWN_SOUND_ID = "rbxassetid://99211443575584"
local SKID_1 = "rbxassetid://137066334962228"
local SKID_2 = "rbxassetid://82308852446079"
-- // AUDIO & PHYSICS SETTINGS //
local CURRENT_SPEED = 150
local THEME_PITCH = 0.29
local THEME_VOLUME = 7
local DROWN_PITCH = 0.09
local FALL_LIMIT = -50
-- // TABLES //
local KILL_LINES = {"YOU'RE TOO SLOW!", "COME ON STEP IT UP!", "TOOOO EZ, PEACE OF 🍰", "SORRY, BUT I GOTTA GO FAST! 🌀"}
local greetedSonics = {}
-- // CHAT FUNCTION //
local function SayInChat(msg)
if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
local channel = TextChatService.TextChannels.RBXGeneral
if channel then channel:SendAsync(msg) end
else
local event = game:GetService("ReplicatedStorage"):FindFirstChild("DefaultChatSystemChatEvents")
if event then event.SayMessageRequest:FireServer(msg, "All") end
end
end
-- // INITIAL CHAT CREDIT //
SayInChat("FE Sanic Script By: dariushstefan! (please use touch fling)")
-- // KEYWORD & SONIC CHAT DETECTION //
TextChatService.MessageReceived:Connect(function(msg)
if not msg.TextSource then return end
local sender = Players:GetPlayerByUserId(msg.TextSource.UserId)
if not sender or sender == Player then return end
local content = msg.Text:lower()
if content:find("sonic") and not greetedSonics[sender.UserId] then
greetedSonics[sender.UserId] = true
if Player.Character and sender.Character then
Player.Character:MoveTo(sender.Character.HumanoidRootPart.Position + Vector3.new(0, 3, 0))
SayInChat("YUR NAME IZ SANIC?! DUDE! I'M DA REAL SANIC!")
end
elseif content:find("report") then
SayInChat("Report? 😂✌️")
elseif content:find("bot") then
SayInChat("Me? A bot? Maybe you might be the bot 🔥")
elseif content:find("hacker") then
SayInChat("Hacker? Nah, I'm just the fastest thing alive! 🌀💨")
end
end)
-- // MAIN LOGIC //
local function ApplySanic(Character)
local Humanoid = Character:WaitForChild("Humanoid")
local RootPart = Character:WaitForChild("HumanoidRootPart")
local isDrowning = false
local isRepelling = false
local processed = {}
for _, v in pairs(Character:GetDescendants()) do
if v:IsA("BasePart") or v:IsA("Decal") then v.Transparency = 1 end
end
-- Billboard Setup
local Billboard = Instance.new("BillboardGui", RootPart)
Billboard.Size = UDim2.new(7, 0, 7, 0)
Billboard.AlwaysOnTop = true
local ImageLabel = Instance.new("ImageLabel", Billboard)
ImageLabel.Size = UDim2.new(1, 0, 1, 0)
ImageLabel.BackgroundTransparency = 1
ImageLabel.Image = IMAGE_ID
-- Audio Setup
local Music = Instance.new("Sound", RootPart)
Music.SoundId = THEME_ID; Music.PlaybackSpeed = THEME_PITCH; Music.Looped = true; Music.Volume = THEME_VOLUME; Music:Play()
local DrownMusic = Instance.new("Sound", RootPart)
DrownMusic.SoundId = DROWN_SOUND_ID; DrownMusic.PlaybackSpeed = DROWN_PITCH; DrownMusic.Volume = 8
local S1 = Instance.new("Sound", RootPart); S1.SoundId = SKID_1; S1.Volume = 3
local S2 = Instance.new("Sound", RootPart); S2.SoundId = SKID_2; S2.Volume = 3
-- WATER REPELLENT & DROWNING SYSTEM
task.spawn(function()
while Character.Parent do
local inWater = (Humanoid:GetState() == Enum.HumanoidStateType.Swimming)
if not inWater and not isRepelling then
local foundWater = false
local params = OverlapParams.new()
params.FilterDescendantsInstances = {Character}
local parts = workspace:GetPartBoundsInRadius(RootPart.Position, 18, params)
for _, p in pairs(parts) do
if p.Material == Enum.Material.Water or p.Name:lower():find("water") then
foundWater = true
break
end
end
if foundWater then
isRepelling = true
SayInChat("WHOA!")
S1:Play(); S2:Play()
local BV = Instance.new("BodyVelocity")
BV.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
BV.Velocity = (RootPart.CFrame.LookVector * -130) + Vector3.new(0, 45, 0)
BV.Parent = RootPart
Debris:AddItem(BV, 0.5)
task.wait(1)
isRepelling = false
end
end
if inWater then
if not isDrowning then
isDrowning = true
Music:Pause(); DrownMusic:Play()
SayInChat("*gurgles* HEEEELP! I CAHN'T SWEM!!! TUAIS!!!")
task.spawn(function()
while isDrowning do
Billboard.StudsOffset = Vector3.new(math.random(-20,20)/10, math.random(-20,20)/10, 0)
task.wait(0.05)
end
Billboard.StudsOffset = Vector3.new(0,0,0)
end)
DrownMusic.Ended:Connect(function()
if isDrowning then Humanoid.Health = 0 end
end)
end
elseif isDrowning then
isDrowning = false
DrownMusic:Stop(); Music:Resume()
SayInChat("Holy #### that was close, right? RIGHT?!")
end
task.wait(0.1)
end
end)
-- SPEED & FALL PROTECTION
RunService.Heartbeat:Connect(function()
if not Character.Parent then return end
Humanoid.WalkSpeed = (isRepelling or isDrowning) and 0 or CURRENT_SPEED
if RootPart.Position.Y < FALL_LIMIT then
RootPart.CFrame = CFrame.new(0, 50, 0)
end
end)
-- DAMAGE Logic (Rings Only)
local lastH = Humanoid.Health
Humanoid.HealthChanged:Connect(function(h)
if h < lastH then
ImageLabel.ImageColor3 = Color3.new(1, 0, 0)
task.delay(0.2, function() ImageLabel.ImageColor3 = Color3.new(1, 1, 1) end)
local r = Instance.new("Sound", RootPart); r.SoundId = RING_SOUND_ID; r:Play(); Debris:AddItem(r, 2)
end
lastH = h
end)
-- COLLISION CHAT (Only KILL_LINES)
RootPart.Touched:Connect(function(hit)
local m = hit.Parent
local h = m:FindFirstChildOfClass("Humanoid")
if h and m ~= Character and not processed[m] then
processed[m] = true
local s = Instance.new("Sound", RootPart); s.SoundId = KILL_SOUND_ID; s:Play(); Debris:AddItem(s, 2)
SayInChat(KILL_LINES[math.random(1, #KILL_LINES)])
task.wait(3)
processed[m] = nil
end
end)
end
-- Initialize
if Player.Character then ApplySanic(Player.Character) end
Player.CharacterAdded:Connect(ApplySanic)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

