--[[ DOOMSENSE v2 for outcome memories V0.2 by V3R0 AND TAILS4L1F3 ]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local Workspace = game:GetService("Workspace") local CoreGui = game:GetService("CoreGui") local Lighting = game:GetService("Lighting") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TeleportService = game:GetService("TeleportService") local SoundService = game:GetService("SoundService") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera local IsScriptActive = true local Connections = {} -- ============================================================================ -- CENTRAL SYNC CONTROLLER -- ============================================================================ local SyncManager = {} SyncManager.Toggles = {} SyncManager.Functions = {} -- ============================================================================ -- MOBILE CONTROL MODULE -- ============================================================================ local MobileControl = {} MobileControl.Buttons = {} MobileControl.IsMobile = true MobileControl.EditMode = false -- Assets local MOB_ICONS = { Menu = "rbxassetid://7539983773", Fly = "rbxassetid://13288142767", Speed = "rbxassetid://6684648436", Taunt = "rbxassetid://12099513379", ART = "rbxassetid://136991531643800", EditOff = "rbxassetid://4772171909", EditOn = "rbxassetid://9735358798", TT = "rbxassetid://12941020168" } local function Darken(color, amount) local h, s, v = color:ToHSV() return Color3.fromHSV(h, s, math.clamp(v * (1 - amount), 0, 1)) end local function CheckDevice() if UserInputService.TouchEnabled and not UserInputService.MouseEnabled then return true end return false end MobileControl.IsMobile = CheckDevice() function MobileControl:CreateButton(id, icon, defaultPos, callback) if self.Buttons[id] and self.Buttons[id].Frame then self.Buttons[id].Frame:Destroy() end local ScreenGui = CoreGui:FindFirstChild("Doomsense_Mobile") if not ScreenGui then ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Doomsense_Mobile" ScreenGui.Parent = CoreGui ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling end local pos = defaultPos if self.Buttons[id] and self.Buttons[id].SavedPos then pos = self.Buttons[id].SavedPos end local Frame = Instance.new("Frame") Frame.Name = id Frame.Size = UDim2.new(0, 50, 0, 50) Frame.Position = pos Frame.BackgroundTransparency = 1 Frame.Visible = (self.IsMobile) Frame.Parent = ScreenGui local Rotator = Instance.new("Frame") Rotator.Name = "Rotator" Rotator.Size = UDim2.new(1, 0, 1, 0) Rotator.AnchorPoint = Vector2.new(0.5, 0.5) Rotator.Position = UDim2.new(0.5, 0, 0.5, 0) Rotator.BorderSizePixel = 0 Rotator.Parent = Frame local Stroke = Instance.new("UIStroke") Stroke.Thickness = 2 Stroke.Parent = Rotator local IconImg = Instance.new("ImageLabel") IconImg.Size = UDim2.new(0.6, 0, 0.6, 0) IconImg.AnchorPoint = Vector2.new(0.5, 0.5) IconImg.Position = UDim2.new(0.5, 0, 0.5, 0) IconImg.BackgroundTransparency = 1 IconImg.Image = icon IconImg.ZIndex = 5 IconImg.Parent = Frame local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1.4, 0, 0.3, 0) Label.Position = UDim2.new(-0.2, 0, 1.1, 0) Label.BackgroundTransparency = 1 Label.Text = id Label.Font = Enum.Font.Cartoon Label.TextSize = 14 Label.TextStrokeTransparency = 0 Label.Parent = Frame local ClickHitbox = Instance.new("TextButton") ClickHitbox.Size = UDim2.new(1, 0, 1, 0) ClickHitbox.BackgroundTransparency = 1 ClickHitbox.Text = "" ClickHitbox.ZIndex = 10 ClickHitbox.Parent = Frame local DragHitbox = Instance.new("TextButton") DragHitbox.Size = UDim2.new(1.2, 0, 1.2, 0) DragHitbox.Position = UDim2.new(-0.1, 0, -0.1, 0) DragHitbox.BackgroundColor3 = Color3.fromRGB(255, 255, 0) DragHitbox.BackgroundTransparency = 0.7 DragHitbox.Text = "DRAG" DragHitbox.Visible = false DragHitbox.ZIndex = 20 DragHitbox.Parent = Frame local isActive = false if self.Buttons[id] then isActive = self.Buttons[id].State end local function UpdateVisuals() local Theme = _G.DoomsenseTheme or { Background = Color3.fromRGB(43,43,43), Text = Color3.fromRGB(224,224,224), Accent = Color3.fromHex("4FD1C5"), Stroke = Color3.fromRGB(30,30,30) } Label.TextColor3 = Theme.Text Label.TextStrokeColor3 = Theme.Background IconImg.ImageColor3 = Theme.Text local targetRot = isActive and 45 or 0 local targetColor = isActive and Darken(Theme.Accent, 0.5) or Theme.Background local targetStroke = isActive and Theme.Accent or Theme.Stroke local targetTransp = isActive and 0.2 or 0.1 TweenService:Create(Rotator, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Rotation = targetRot, BackgroundColor3 = targetColor, BackgroundTransparency = targetTransp }):Play() Stroke.Color = targetStroke end ClickHitbox.MouseButton1Click:Connect(function() if not self.EditMode then if callback then callback() end end end) local dragging, dragInput, dragStart, startPos DragHitbox.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true; dragStart = input.Position; startPos = Frame.Position end end) DragHitbox.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart Frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) if self.Buttons[id] then self.Buttons[id].SavedPos = Frame.Position end end end) DragHitbox.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) self.Buttons[id] = { Frame = Frame, Rotator = Rotator, ClickHitbox = ClickHitbox, DragHitbox = DragHitbox, Update = UpdateVisuals, State = isActive, SavedPos = Frame.Position, SetState = function(val) isActive = val; UpdateVisuals() end } UpdateVisuals() end function MobileControl:UpdateAllThemes() for _, btn in pairs(self.Buttons) do if btn.Update then btn.Update() end end end function MobileControl:ToggleEditMode(state) self.EditMode = state for _, btn in pairs(self.Buttons) do if btn.Frame then btn.ClickHitbox.Visible = not state btn.DragHitbox.Visible = state end end end -- ============================================================================ -- LMS SYSTEM -- ============================================================================ local LMS_FOLDER = "Doomsense.custom.lms" local LMS_State = { UseCustom = false, SelectedTrack = "AW SHUCKS", Volume = 1.2, IsActive = false, LastState = "UNKNOWN" } local LMS_Library = { ["AW SHUCKS"] = "https://files.catbox.moe/s46doh.ogg", ["NO MORE GAME"] = "https://files.catbox.moe/1c4g8w.ogg", ["New World"] = "https://files.catbox.moe/k29d2o.ogg", ["MODERN SONIC"] = "https://files.catbox.moe/t698xi.ogg", ["HIS CHALLENGE"] = "https://files.catbox.moe/h0ok1e.ogg", ["EGGSOLO(remix)"] = "https://files.catbox.moe/3u22j4.ogg", ["dead or live v0.1"] = "https://files.catbox.moe/ncxotb.ogg", ["Beyond The Painting"] = "https://files.catbox.moe/j27pbt.ogg", ["BadTime"] = "https://files.catbox.moe/5tm79x.ogg" ["his world] = "https://files.catbox.moe/3zb9dz.mp3" } local LMS_Originals = { ["AmySolo"] = "rbxassetid://123535390530506", ["BlazeSolo"] = "rbxassetid://132006407031162", ["CreamSolo"] = "rbxassetid://101771084079612", ["EggmanSolo"] = "rbxassetid://86981182369115", ["KnucklesSolo"] = "rbxassetid://100259476227315", ["MetalSonicSolo"] = "rbxassetid://82965945880276", ["SilverSolo"] = "rbxassetid://77138683500819", ["SonicSolo"] = "https://files.catbox.moe/3zb9dz.mp3", ["TailsSolo"] = "https://files.catbox.moe/ofd63c.mp4" } -- Helpers local function GetGameState() if Workspace:FindFirstChild("GameProperties") and Workspace.GameProperties:FindFirstChild("State") then return Workspace.GameProperties.State.Value end return "UNKNOWN" end local CachedSoloFolder = nil local function GetSoloFolder() if CachedSoloFolder and CachedSoloFolder.Parent then return CachedSoloFolder end local success, result = pcall(function() return ReplicatedStorage.ClientAssets.Sounds.mus.Game.Round.SoloTheme end) if success and result then CachedSoloFolder = result return result end return nil end local function IsEXE(model) if not model then return false end local charAttr = model:GetAttribute("Character") local targetName = charAttr or model.Name local killers = {"TailsDoll", "Kolossos", "2011x", "Fleetway", "Tripwire", "Furnace", "Lord X", "EXE"} for _, k in pairs(killers) do if string.find(string.lower(tostring(targetName)), string.lower(k)) then return true end end return false end local function GetCustomAsset(path) if getcustomasset then return getcustomasset(path) end return "" end -- Download Logic task.spawn(function() if not isfolder(LMS_FOLDER) then makefolder(LMS_FOLDER) end for name, url in pairs(LMS_Library) do local path = LMS_FOLDER .. "/" .. name .. ".ogg" if not isfile(path) then pcall(function() local content = game:HttpGet(url) if content and #content > 0 then writefile(path, content) end end) end end end) -- ============================================================================ -- MAIN LMS LOGIC LOOP -- ============================================================================ task.spawn(function() while true do if not IsScriptActive then break end task.wait(0.1) local CurrentState = GetGameState() local Folder = GetSoloFolder() local PlayerClient = Players.LocalPlayer local PlayerInGame = Workspace:FindFirstChild("Players") and Workspace.Players:FindFirstChild(PlayerClient.Name) local ShouldActivate = false if PlayerClient and PlayerInGame and (CurrentState == "ING" or CurrentState == "80s") then local Survivors = 0 local Killers = 0 local AmISurvivor = false for _, p in pairs(Workspace.Players:GetChildren()) do if p.Name ~= "Default" then if IsEXE(p) then Killers = Killers + 1 else Survivors = Survivors + 1 if p == PlayerInGame then AmISurvivor = true end end end end if AmISurvivor and Survivors == 1 and Killers >= 1 then ShouldActivate = true end end LMS_State.IsActive = ShouldActivate if Folder then if CurrentState == "RE" or CurrentState == "INT" or CurrentState == "SEC" or CurrentState == "MS" then LMS_State.IsActive = false for soundName, originalId in pairs(LMS_Originals) do local s = Folder:FindFirstChild(soundName) if s then if s.SoundId ~= originalId then s.SoundId = originalId s.TimePosition = 0 end if CurrentState == "RE" then if s.Volume > 0 then s.Volume = 0 end else if s.Volume == LMS_State.Volume then s.Volume = 1.2 end end end end else for soundName, originalId in pairs(LMS_Originals) do local s = Folder:FindFirstChild(soundName) if s then local targetId = originalId if LMS_State.IsActive and LMS_State.UseCustom then local trackName = LMS_State.SelectedTrack local path = LMS_FOLDER .. "/" .. trackName .. ".ogg" if isfile(path) then targetId = GetCustomAsset(path) end end if s.Playing then if s.SoundId ~= targetId then local currentTime = s.TimePosition s.SoundId = targetId s.TimePosition = currentTime s.Volume = LMS_State.Volume s:Play() else if s.Volume ~= LMS_State.Volume then s.Volume = LMS_State.Volume end end else if s.SoundId ~= targetId and not LMS_State.IsActive then s.SoundId = targetId end end end end end end end end) -- ============================================================================ -- GAME LOGIC: CHEATS & DATA -- ============================================================================ local AppConfig = { FlySpeed = 60, WalkSpeed = 45, NoCDJump = false, AutoRing = false, ESP = false, Glow = false, PadESP = false, SelectedChar = "2011X", Noclip = false, Fly = false } local VisCache = {} local function SetCharInvisible(state) local char = LocalPlayer.Character if not char then return end if state then for _, v in pairs(char:GetDescendants()) do if v:IsA("BasePart") or v:IsA("Decal") or v:IsA("Texture") then if VisCache[v] == nil then VisCache[v] = v.Transparency end v.Transparency = 1 end end else for obj, trans in pairs(VisCache) do if obj and obj.Parent then obj.Transparency = trans end end table.clear(VisCache) end end local State = { IsFlying = false, IsSpeeding = false, SelectedPlayer = nil } local AnimDB = { ["Sonic"] = {{Name = "Relaxing", Id = "104062552147146"}, {Name = "Waiting", Id = "132709141019647"}, {Name = "RingWalk", Id = "123377580352862"}, {Name = "TickTock", Id = "93800356049298"}, {Name = "Baby Dance", Id = "79203936383675"}, {Name = "Shonic", Id = "124702409687881"}, {Name = "Medicine", Id = "86397585701161"}, {Name = "Paced", Id = "117900173410005"}, {Name = "Impatience", Id = "87992356942409"}, {Name = "PBJ", Id = "113910526539334"}, {Name = "Pipebomb", Id = "130034868708651"}, {Name = "Diaries", Id = "92897830029002"}}, ["Tails"] = {{Name = "Helicopter", Id = "89515158858178"}, {Name = "Sit", Id = "132926716277265"}, {Name = "Rat Dance", Id = "73313302543888"}, {Name = "Cory", Id = "118810363050448"}, {Name = "Pipebomb", Id = "137946742808216"}, {Name = "Who", Id = "84541229170186"}, {Name = "Horse", Id = "93036777474390"}, {Name = "GoodbyeForever", Id = "96963375850749"}}, ["Knuckles"] = {{Name = "ChillOut", Id = "96036373262427"}, {Name = "Stephanie", Id = "140682945610579"}, {Name = "Aura", Id = "97453636614232"}, {Name = "Sitting", Id = "79209172925447"}, {Name = "DoThatThing", Id = "78791270212133"}, {Name = "HitEveryBeat", Id = "80597715589852"}, {Name = "FallenKingdom", Id = "108656705089262"}}, ["Amy"] = {{Name = "DanceOfJustice", Id = "97841662978305"}, {Name = "Smiley", Id = "83086430858295"}, {Name = "Surprised", Id = "95622465731556"}, {Name = "Headbang", Id = "113537674050921"}, {Name = "Doodle", Id = "107060462123341"}, {Name = "Static", Id = "91094123750588"}, {Name = "LoveNCavity", Id = "76749834700097"}, {Name = "Noodle", Id = "111017557755415"}, {Name = "Eek!", Id = "83310660894486"}}, ["Cream"] = {{Name = "Overdrive", Id = "126157584199051"}, {Name = "CatSwing", Id = "119996423025347"}, {Name = "JevilHop", Id = "137069582420732"}, {Name = "Penguin", Id = "136126837988845"}, {Name = "Waving", Id = "101475077691415"}, {Name = "Griddy", Id = "88275250559180"}}, ["Eggman"] = {{Name = "Egg Rolled", Id = "109633747241470"}, {Name = "Sturdy", Id = "123633884307468"}, {Name = "Boohoo", Id = "118361359360130"}, {Name = "MasterPlan", Id = "135726076356843"}, {Name = "WhyPost", Id = "75695304745148"}, {Name = "Eggly", Id = "125599236186100"}, {Name = "BirdWord", Id = "126886074967700"}, {Name = "Forklift", Id = "127435576488001"}}, ["Silver"] = {{Name = "Levitate", Id = "127010236869854"}, {Name = "ReleaseGhouls", Id = "76998542362740"}}, ["Metal Sonic"] = {{Name = "Egg Rolled 2", Id = "128123227077719"}, {Name = "Thinking", Id = "116585917682409"}, {Name = "FancyStyle", Id = "124654816579604"}, {Name = "Lonely", Id = "116357078780443"}, {Name = "ComeCloser", Id = "76249045959187"}}, ["Blaze"] = {{Name = "ReleaseTheGhouls", Id = "104705063785739"}, {Name = "ChineseCat", Id = "129541820196808"}, {Name = "Skachacha", Id = "128435480269503"}}, ["2011X"] = {{Name = "Laugh", Id = "73313302543888"}, {Name = "Maria Carey", Id = "92888638699962"}, {Name = "Hype", Id = "78545771079470"}, {Name = "Jersey Hog", Id = "127191399093079"}}, ["Kolossos"] = {{Name = "Point", Id = "140180851930686"}, {Name = "MissMe", Id = "81730809348394"}, {Name = "Metroman", Id = "107195453398060"}, {Name = "Laugh", Id = "102779996718354"}}, ["TailsDoll"] = {{Name = "TripwireTime", Id = "112656139256072"}, {Name = "TripwireSit", Id = "92259033776440"}, {Name = "Imposter", Id = "100732265533480"}, {Name = "Caramel", Id = "81240310070946"}} } local NameToKey = { ["Tripwire"] = "TailsDoll" } local OrderedCharacters = {"2011X", "Tripwire", "Kolossos", "Metal Sonic", "Knuckles", "Eggman", "Cream", "Silver", "Sonic", "Blaze", "Tails", "Amy"} local BodyVel, BodyGyro, AnimTrack local function CleanPhysics() if BodyVel then BodyVel:Destroy() BodyVel = nil end if BodyGyro then BodyGyro:Destroy() BodyGyro = nil end local char = LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then for _, v in pairs(char.HumanoidRootPart:GetChildren()) do if v.Name == "DoomVel" or v.Name == "DoomGyro" then v:Destroy() end end char.HumanoidRootPart.Velocity = Vector3.new(0,0,0) local hum = char:FindFirstChild("Humanoid") if hum then hum.PlatformStand = false end char:SetAttribute("State", "default") end end local function EnableFly() local char = LocalPlayer.Character if not char then return end local hum = char:FindFirstChild("Humanoid") local root = char:FindFirstChild("HumanoidRootPart") if not hum or not root then return end CleanPhysics() BodyVel = Instance