local Players = game:GetService("Players") local TeleportService = game:GetService("TeleportService") local HttpService = game:GetService("HttpService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local CocoXLoadingGui = nil local function makeFallbackLoader(parent) local bg = Instance.new("Frame") bg.Name = "FallbackBackground" bg.Size = UDim2.fromScale(1, 1) bg.BackgroundColor3 = Color3.fromRGB(0, 0, 0) bg.BorderSizePixel = 0 bg.ZIndex = 1 bg.Parent = parent local c = Instance.new("TextLabel") c.Name = "BigC" c.Size = UDim2.fromScale(0.7, 0.7) c.Position = UDim2.fromScale(0.15, 0.12) c.BackgroundTransparency = 1 c.Text = "C" c.Font = Enum.Font.GothamBlack c.TextScaled = true c.TextColor3 = Color3.fromRGB(255, 140, 0) c.TextStrokeTransparency = 0.3 c.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) c.ZIndex = 2 c.Parent = bg local label = Instance.new("TextLabel") label.Name = "Status" label.Size = UDim2.new(1, -40, 0, 34) label.Position = UDim2.new(0, 20, 1, -70) label.BackgroundTransparency = 1 label.Text = "Loading CocoX Authentication" label.Font = Enum.Font.GothamBold label.TextSize = 18 label.TextColor3 = Color3.fromRGB(255, 140, 0) label.TextXAlignment = Enum.TextXAlignment.Center label.ZIndex = 2 label.Parent = bg end local function startCocoXLoadingScreen() CocoXLoadingGui = Instance.new("ScreenGui") CocoXLoadingGui.Name = "CocoXLoadingScreen" CocoXLoadingGui.ResetOnSpawn = false CocoXLoadingGui.IgnoreGuiInset = true CocoXLoadingGui.DisplayOrder = 100000 CocoXLoadingGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling if not pcall(function() CocoXLoadingGui.Parent = CoreGui end) then CocoXLoadingGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end makeFallbackLoader(CocoXLoadingGui) end local function stopCocoXLoadingScreen() pcall(function() if CocoXLoadingGui then CocoXLoadingGui:Destroy() end end) CocoXLoadingGui = nil end local CocoXWarningGui = nil local function showCocoXWarning() local TweenService = game:GetService("TweenService") CocoXWarningGui = Instance.new("ScreenGui") CocoXWarningGui.Name = "CocoXWarningScreen" CocoXWarningGui.ResetOnSpawn = false CocoXWarningGui.IgnoreGuiInset = true CocoXWarningGui.DisplayOrder = 100001 CocoXWarningGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local guiParented = pcall(function() CocoXWarningGui.Parent = CoreGui end) if not guiParented then CocoXWarningGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end -- Dark overlay leaves the underlying CocoX loading text just visible. local shade = Instance.new("Frame") shade.Name = "Overlay" shade.Size = UDim2.fromScale(1, 1) shade.BackgroundColor3 = Color3.fromRGB(0, 0, 0) shade.BackgroundTransparency = 0.08 shade.BorderSizePixel = 0 shade.Active = true shade.Parent = CocoXWarningGui -- Solid-black warning card with a bright orange outline. local card = Instance.new("Frame") card.Name = "WarningCard" card.AnchorPoint = Vector2.new(0.5, 0.5) card.Position = UDim2.fromScale(0.5, 0.5) card.Size = UDim2.fromOffset(560, 320) card.BackgroundColor3 = Color3.fromRGB(0, 0, 0) card.BackgroundTransparency = 0 card.BorderSizePixel = 0 card.Parent = shade local cardScale = Instance.new("UIScale") cardScale.Scale = 1 cardScale.Parent = card local function updateCardScale() local camera = workspace.CurrentCamera local viewport = camera and camera.ViewportSize or Vector2.new(560, 320) cardScale.Scale = math.min(1, math.max(0.5, (viewport.X - 24) / 560), math.max(0.5, (viewport.Y - 24) / 320)) end updateCardScale() local viewportConnection if workspace.CurrentCamera then viewportConnection = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(updateCardScale) end local cardCorner = Instance.new("UICorner") cardCorner.CornerRadius = UDim.new(0, 20) cardCorner.Parent = card local border = Instance.new("UIStroke") border.Color = Color3.fromRGB(255, 145, 0) border.Transparency = 0 border.Thickness = 2 border.Parent = card local logo = Instance.new("TextLabel") logo.Name = "Logo" logo.Size = UDim2.fromOffset(58, 58) logo.Position = UDim2.new(0.5, -29, 0, 18) logo.BackgroundTransparency = 1 logo.Text = "C" logo.Font = Enum.Font.GothamBlack logo.TextSize = 54 logo.TextColor3 = Color3.fromRGB(255, 140, 0) logo.TextStrokeColor3 = Color3.fromRGB(95, 43, 0) logo.TextStrokeTransparency = 0.35 logo.ZIndex = 3 logo.Parent = card local title = Instance.new("TextLabel") title.Name = "Title" title.Size = UDim2.new(1, -32, 0, 34) title.Position = UDim2.new(0, 16, 0, 78) title.BackgroundTransparency = 1 title.Text = "Warning" title.Font = Enum.Font.GothamBold title.TextSize = 22 title.TextColor3 = Color3.fromRGB(255, 174, 72) title.TextXAlignment = Enum.TextXAlignment.Center title.ZIndex = 3 title.Parent = card local warning = Instance.new("TextLabel") warning.Name = "Warning" warning.Size = UDim2.new(1, -48, 0, 126) warning.Position = UDim2.new(0, 24, 0, 102) warning.BackgroundTransparency = 1 warning.Text = "Deobfuscating this script could lead to you getting permanently banned from CocoX and could also lead to your Roblox account being banned." warning.Font = Enum.Font.GothamBold warning.TextSize = 17 warning.TextColor3 = Color3.fromRGB(255, 105, 72) warning.TextWrapped = true warning.TextXAlignment = Enum.TextXAlignment.Center warning.TextYAlignment = Enum.TextYAlignment.Center warning.ZIndex = 3 warning.Parent = card local continueButton = Instance.new("TextButton") continueButton.Name = "ContinueButton" continueButton.Size = UDim2.new(1, -48, 0, 48) continueButton.Position = UDim2.new(0, 24, 1, -72) continueButton.BackgroundColor3 = Color3.fromRGB(255, 140, 0) continueButton.BorderSizePixel = 0 continueButton.AutoButtonColor = false continueButton.Text = "CONTINUE" continueButton.Font = Enum.Font.GothamBold continueButton.TextSize = 14 continueButton.TextColor3 = Color3.fromRGB(0, 0, 0) continueButton.ZIndex = 4 continueButton.Parent = card local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 11) buttonCorner.Parent = continueButton local continued = false continueButton.MouseEnter:Connect(function() TweenService:Create(continueButton, TweenInfo.new(0.15), { BackgroundColor3 = Color3.fromRGB(255, 166, 40) }):Play() end) continueButton.MouseLeave:Connect(function() TweenService:Create(continueButton, TweenInfo.new(0.15), { BackgroundColor3 = Color3.fromRGB(255, 140, 0) }):Play() end) continueButton.Activated:Connect(function() if continued then return end continued = true continueButton.Active = false continueButton.Text = "CONTINUING..." continueButton.BackgroundColor3 = Color3.fromRGB(75, 215, 120) TweenService:Create(card, TweenInfo.new(0.22), { BackgroundTransparency = 1 }):Play() TweenService:Create(shade, TweenInfo.new(0.22), { BackgroundTransparency = 1 }):Play() TweenService:Create(border, TweenInfo.new(0.22), { Transparency = 1 }):Play() task.wait(0.25) if viewportConnection then viewportConnection:Disconnect() end if CocoXWarningGui then CocoXWarningGui:Destroy() end CocoXWarningGui = nil end) while not continued and CocoXWarningGui and CocoXWarningGui.Parent do task.wait() end end local function showCocoXAIIntro() local gui = Instance.new("ScreenGui") gui.Name = "CocoXAIIntro" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.DisplayOrder = 100002 gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling if not pcall(function() gui.Parent = CoreGui end) then gui.Parent = LocalPlayer:WaitForChild("PlayerGui") end local Images = { "rbxassetid://90082193310359", "rbxassetid://140111217806195", "rbxassetid://113259892662011", "rbxassetid://131132202280501", "rbxassetid://119205939792116", "rbxassetid://88418000250691", "rbxassetid://120238785712873", "rbxassetid://83808651896724", "rbxassetid://105345289833569", "rbxassetid://94330536346405", "rbxassetid://136006381271922", "rbxassetid://87906794545741", "rbxassetid://112714840439381", "rbxassetid://135185412807788", "rbxassetid://137259627256626", "rbxassetid://120220914912790", "rbxassetid://93523282075094", "rbxassetid://136732688200255", "rbxassetid://138525844130589", "rbxassetid://140334678801360", "rbxassetid://134105611692204", "rbxassetid://89336885265398", "rbxassetid://101990250036387", "rbxassetid://75637145908292", "rbxassetid://116874353510206", "rbxassetid://109499593730240", "rbxassetid://93246503182802", "rbxassetid://72860360932966", "rbxassetid://99337238315017", "rbxassetid://97845911184347", "rbxassetid://131590118496375", "rbxassetid://94049526088192", "rbxassetid://129600097997101", "rbxassetid://93840405668970", "rbxassetid://102532764909158", "rbxassetid://124718361223677", "rbxassetid://140151979212906", "rbxassetid://77069622782367", "rbxassetid://94639382197235", "rbxassetid://98828480242667", "rbxassetid://135083086902172", "rbxassetid://109318742417115", "rbxassetid://117259790998663", "rbxassetid://124917742187190", "rbxassetid://111964888652172", "rbxassetid://117782207065349", "rbxassetid://72406282546539", "rbxassetid://124069160042945", "rbxassetid://137758638233258", "rbxassetid://98296136420850" } local ContentProvider = game:GetService("ContentProvider") local background = Instance.new("Frame") background.Size = UDim2.fromScale(1, 1) background.BackgroundColor3 = Color3.new(0, 0, 0) background.BorderSizePixel = 0 background.Parent = gui local image = Instance.new("ImageLabel") image.Size = UDim2.fromScale(1, 1) image.Position = UDim2.fromScale(0.5, 0.5) image.AnchorPoint = Vector2.new(0.5, 0.5) image.BackgroundTransparency = 1 image.ScaleType = Enum.ScaleType.Fit image.Image = Images[1] image.Parent = background -- Preload real image instances. PreloadAsync does not accept raw strings. local preload = {} for _, id in ipairs(Images) do local temp = Instance.new("ImageLabel") temp.Size = UDim2.fromOffset(1, 1) temp.BackgroundTransparency = 1 temp.Image = id temp.Parent = gui preload[#preload + 1] = temp end pcall(function() ContentProvider:PreloadAsync(preload) end) for _, temp in ipairs(preload) do temp:Destroy() end -- Show the animation once for exactly 3 seconds. local started = os.clock() local frame = 1 while os.clock() - started < 2 do image.Image = Images[frame] frame += 1 if frame > #Images then frame = 1 end task.wait(1 / 30) end gui:Destroy() end local function startRedeemer() local player = LocalPlayer local pg = player:WaitForChild("PlayerGui") task.wait(0.15) for i = 1, 10 do task.wait(0.05) end showCocoXWarning() showCocoXAIIntro() stopCocoXLoadingScreen() local cloneref = cloneref or function(object) return object end local Players = cloneref(game:GetService("Players")) local ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage")) local RunService = cloneref(game:GetService("RunService")) local UserInputService = cloneref(game:GetService("UserInputService")) local HttpService = cloneref(game:GetService("HttpService")) if getgenv and getgenv().StopAura then pcall(getgenv().StopAura) end local CONFIG_FILE = "cocox_redeemer_config.json" local savedConfig = { codeSniper = true, autoSubmit = true, submitAfter = 1, submitDelay = 0.0, submitDelayEnabled = false, retypeInvalid = false, showBrainrotSpawned = false, brainrotManualOff = false, autoBuy = false, riddleSolver = false, riddleAutoSubmit = true, } pcall(function() if type(isfile) == "function" and type(readfile) == "function" and isfile(CONFIG_FILE) then local decoded = HttpService:JSONDecode(readfile(CONFIG_FILE)) if type(decoded) == "table" then if type(decoded.codeSniper) == "boolean" then savedConfig.codeSniper = decoded.codeSniper end if type(decoded.autoSubmit) == "boolean" then savedConfig.autoSubmit = decoded.autoSubmit end savedConfig.submitAfter = 1 if type(decoded.submitDelay) == "number" then savedConfig.submitDelay = math.clamp(decoded.submitDelay, 0.0, 5.0) end if type(decoded.submitDelayEnabled) == "boolean" then savedConfig.submitDelayEnabled = decoded.submitDelayEnabled end if type(decoded.retypeInvalid) == "boolean" then savedConfig.retypeInvalid = decoded.retypeInvalid end if type(decoded.showBrainrotSpawned) == "boolean" then savedConfig.showBrainrotSpawned = decoded.showBrainrotSpawned end if type(decoded.brainrotManualOff) == "boolean" then savedConfig.brainrotManualOff = decoded.brainrotManualOff end if type(decoded.autoBuy) == "boolean" then savedConfig.autoBuy = decoded.autoBuy end -- Riddle Solver intentionally starts OFF on every execution. if type(decoded.riddleAutoSubmit) == "boolean" then savedConfig.riddleAutoSubmit = decoded.riddleAutoSubmit end end end end) local function saveConfig() if type(writefile) ~= "function" then return end pcall(function() writefile(CONFIG_FILE, HttpService:JSONEncode({ codeSniper = savedConfig.codeSniper, autoSubmit = savedConfig.autoSubmit, submitAfter = savedConfig.submitAfter, submitDelay = savedConfig.submitDelay, submitDelayEnabled = savedConfig.submitDelayEnabled, retypeInvalid = savedConfig.retypeInvalid, showBrainrotSpawned = savedConfig.showBrainrotSpawned, brainrotManualOff = savedConfig.brainrotManualOff, autoBuy = savedConfig.autoBuy, riddleSolver = savedConfig.riddleSolver, riddleAutoSubmit = savedConfig.riddleAutoSubmit, })) end) end local _enabled = savedConfig.codeSniper local _seen = {} local _focused = nil local _lastBox = nil local _autoAccept = savedConfig.autoSubmit local _submitAfter = math.clamp(savedConfig.submitAfter, 0, 5) local _submitDelay = math.clamp(tonumber(savedConfig.submitDelay) or 0.0, 0.0, 5.0) local _submitDelayEnabled = savedConfig.submitDelayEnabled == true local _capturedParts = {} local _lastWatchedBox = nil local _boxTextConn = nil local _boxAncestryConn = nil local _boxVisibilityConns = {} local _retypeInvalid = savedConfig.retypeInvalid local _showBrainrotSpawned = savedConfig.showBrainrotSpawned local _brainrotManualOff = savedConfig.brainrotManualOff local _autoBuy = savedConfig.autoBuy == true savedConfig.riddleSolver = false local _riddleEnabled = false local _riddleAutoSubmit = savedConfig.riddleAutoSubmit == true local _lastRiddleQuestion = "" local _lastRiddleAnswer = "" local _lastRiddleAt = 0 local RiddleQuestionLabel local RiddleAnswerLabel local autoBuyToken = 0 local _lastNonBlankBoxText = "" local _pendingRejectedText = nil local _pendingRejectedBox = nil local _pendingRejectedUntil = 0 local _pendingRejectedToken = 0 local ACE_CASE_MODE = "EXACT" local ACE_WORD_COUNT = 1 local startBrainrotSpawnWatcher local stopBrainrotSpawnWatcher local function isCodeActivationMessage(text) if type(text) ~= "string" then return false end local clean = text:lower():gsub("<[^>]->", " "):gsub("[%c]", " "):gsub("%s+", " ") return clean:find("%f[%a]code+%s+is%f[%A]") ~= nil or clean:find("%f[%a]the%s+code+%f[%A]") ~= nil or clean:find("%f[%a]use%s+code+%f[%A]") ~= nil end local autoEnableRedeemer = function() if _enabled then return end _enabled = true savedConfig.codeSniper = true saveConfig() end local debugAny: any = debug local getupvalues = (debugAny and debugAny.getupvalues) or getupvalues local getconns = getconnections or (debugAny and debugAny.getconnections) local setupv = (debugAny and debugAny.setupvalue) or setupvalue local function isOurGui(instance) local p = instance for _ = 1, 10 do if not p then break end if p.Name == "CocoXRedeemerUI" or p.Name == "SourcesHubRedeemerGui" then return true end p = p.Parent end return false end local function isVisibleChain(inst) local current = inst while current do if current:IsA("GuiObject") and not current.Visible then return false end if current:IsA("ScreenGui") then return current.Enabled end current = current.Parent end return true end local function findAllTextBoxes(pgui) local boxes = {} for _, gui in ipairs(pgui:GetChildren()) do if gui:IsA("ScreenGui") and gui.Enabled and not isOurGui(gui) then for _, d in ipairs(gui:GetDescendants()) do if d:IsA("TextBox") and not isOurGui(d) then boxes[#boxes+1] = d end end end end return boxes end local function findCodeButtons(pgui) local btns = {} for _, gui in ipairs(pgui:GetChildren()) do if gui:IsA("ScreenGui") and gui.Enabled and not isOurGui(gui) then for _, d in ipairs(gui:GetDescendants()) do if (d:IsA("TextButton") or d:IsA("ImageButton")) and not isOurGui(d) then local n = d.Name:lower() local pn = (d.Parent and d.Parent.Name or ""):lower() if (n:find("code") or n:find("redeem") or pn:find("code") or pn:find("redeem")) and isVisibleChain(d) then btns[#btns+1] = d end end end end end return btns end local function clickButton(btn) if not btn then return false end if typeof(firesignal) == "function" then local ok = pcall(function() firesignal(btn.Activated) end) if ok then return true end end if typeof(getconns) == "function" then local ok, connections = pcall(getconns, btn.Activated) if ok and type(connections) == "table" then for _, connection in ipairs(connections) do local fired = pcall(function() connection:Fire() end) if fired then return true end end end end if typeof(fireclick) == "function" then return pcall(function() fireclick(btn) end) end return false end local function fireBoxFocusLost(box) if not box then return false end local anyFired = false if typeof(firesignal) == "function" then local ok = pcall(firesignal, box.FocusLost, true) anyFired = anyFired or ok end if typeof(getconns) == "function" then local ok, cs = pcall(getconns, box.FocusLost) if ok and type(cs) == "table" then for _, c in ipairs(cs) do local fn pcall(function() fn = c.Function end) if fn and typeof(getupvalues) == "function" and typeof(setupv) == "function" then local uOk, ups = pcall(getupvalues, fn) if uOk and type(ups) == "table" then for i, v in pairs(ups) do if type(v) == "boolean" and v == true then pcall(setupv, fn, i, false) end end end end local fOk = pcall(function() if c.Enabled ~= false then c:Fire(true) end end) anyFired = anyFired or fOk end end end return anyFired end local _fastCodesGui, _fastCodesBox, _fastCodesButton local function getFastCodeControls(pgui) if _fastCodesGui and _fastCodesGui.Parent and _fastCodesBox and _fastCodesBox.Parent then return _fastCodesGui, _fastCodesBox, _fastCodesButton end _fastCodesGui, _fastCodesBox, _fastCodesButton = nil, nil, nil local codesGui = pgui and pgui:FindFirstChild("Codes") if not codesGui then return nil, nil, nil end local codesFrame = codesGui:FindFirstChild("Codes") or codesGui for _, d in ipairs(codesFrame:GetDescendants()) do if not _fastCodesBox and d:IsA("TextBox") and not isOurGui(d) then _fastCodesBox = d elseif not _fastCodesButton and (d:IsA("TextButton") or d:IsA("ImageButton")) and not isOurGui(d) then local n = d.Name:lower() local txt = "" pcall(function() txt = d.Text:lower() end) if n:find("submit") or txt:find("submit") or n:find("redeem") or txt:find("redeem") or n:find("claim") or txt:find("claim") or n:find("confirm") or txt:find("confirm") or n:find("enter") or txt:find("enter") then _fastCodesButton = d end end end _fastCodesGui = codesGui return codesGui, _fastCodesBox, _fastCodesButton end local function waitForSubmitDelay() if _submitDelayEnabled then task.wait(_submitDelay) end end local function typeAndSubmitCode(code) local pgui = pg or player:FindFirstChildOfClass("PlayerGui") if not pgui then return false, "no PlayerGui" end local fastGui, fastBox, fastButton = getFastCodeControls(pgui) if fastGui and fastBox then if fastGui:IsA("ScreenGui") then fastGui.Enabled = true end pcall(function() fastBox.Text = code end) waitForSubmitDelay() if fastButton and fastButton.Parent then clickButton(fastButton) else fireBoxFocusLost(fastBox) end return true, "submitted via cached fast path" end local codesGui = pgui:FindFirstChild("Codes") if codesGui then if codesGui:IsA("ScreenGui") then codesGui.Enabled = true end local codesFrame = codesGui:FindFirstChild("Codes") or codesGui if codesFrame then if codesFrame:IsA("GuiObject") then codesFrame.Visible = true end local cur = codesFrame while cur and cur ~= codesGui do if cur:IsA("GuiObject") then cur.Visible = true end cur = cur.Parent end local box = nil for _, d in ipairs(codesFrame:GetDescendants()) do if d:IsA("TextBox") and not isOurGui(d) then box = d break end end local submitBtn = nil for _, d in ipairs(codesFrame:GetDescendants()) do if (d:IsA("TextButton") or d:IsA("ImageButton")) and not isOurGui(d) then local n = d.Name:lower() local txt = "" pcall(function() txt = d.Text:lower() end) if n:find("submit") or txt:find("submit") or n:find("redeem") or txt:find("redeem") or n:find("claim") or txt:find("confirm") or n:find("enter") then submitBtn = d break end end end if not submitBtn then for _, d in ipairs(codesFrame:GetDescendants()) do if (d:IsA("TextButton") or d:IsA("ImageButton")) and not isOurGui(d) then local n = d.Name:lower() if not n:find("close") and not n:find("x") and not n:find("toggle") then submitBtn = d break end end end end if box then pcall(function() box.Text = code end) waitForSubmitDelay() if submitBtn then clickButton(submitBtn) else fireBoxFocusLost(box) end return true, "submitted via PlayerGui.Codes" end end end local btns = findCodeButtons(pgui) for _, btn in ipairs(btns) do clickButton(btn) end local box = nil local deadline = tick() + 0.03 while tick() < deadline do local allBoxes = findAllTextBoxes(pgui) for _, d in ipairs(allBoxes) do if isVisibleChain(d) then local n = d.Name:lower() local pn = (d.Parent and d.Parent.Name or ""):lower() if n:find("code") or pn:find("code") or n:find("redeem") or pn:find("redeem") or n:find("input") or pn:find("textbox") or n:find("enter") then box = d break end end end if not box then for _, d in ipairs(allBoxes) do if isVisibleChain(d) then box = d; break end end end if box then break end task.wait() end if not box then return false, "no codebox visible" end pcall(function() box.Text = code end) local redeemBtn = nil local searchNames = {"submit","redeem","claim","confirm","enter","send","apply","ok","use","go","check"} local p = box.Parent for _ = 1, 8 do if not p then break end for _, d in ipairs(p:GetDescendants()) do if (d:IsA("TextButton") or d:IsA("ImageButton")) and not isOurGui(d) and d ~= box then local n = d.Name:lower() local txt = "" pcall(function() txt = d.Text:lower() end) for _, sn in ipairs(searchNames) do if n:find(sn) or txt:find(sn) then if isVisibleChain(d) then redeemBtn = d break end end end if redeemBtn then break end end end if redeemBtn then break end p = p.Parent end waitForSubmitDelay() if redeemBtn then clickButton(redeemBtn) else fireBoxFocusLost(box) end return true, "submitted via dynamic search" end local function aceCodeBox() local pgui = pg local allBoxes = findAllTextBoxes(pgui) for _, box in ipairs(allBoxes) do if isVisibleChain(box) then return box end end return nil end local function resolveNotifyRemote() if _G.PhiNotifyRemote then return _G.PhiNotifyRemote end if not ReplicatedStorage then return nil end local packages = ReplicatedStorage:FindFirstChild("Packages") if not packages then return nil end local net = packages:FindFirstChild("Net") if not net then return nil end local getinfo = debugAny and (debugAny.getinfo or debugAny.info) if not (getgc and getinfo and getconnections) then return nil end for _, d in ipairs(net:GetDescendants()) do if d:IsA("RemoteEvent") then local ok, cs = pcall(getconnections, d.OnClientEvent) if ok then for _, c in ipairs(cs) do local f, fn = pcall(function() return c.Function end) if f and type(fn) == "function" then local i, info = pcall(getinfo, fn) if i and tostring(info.short_src or info.source or ""):find("NotificationController", 1, true) then return d end end end end end end return nil end local function aceStripRich(text) if type(text) ~= "string" then return tostring(text) end return (text:gsub("<[^>]->", "")) end local function aceExtractText(...) local args = table.pack(...) local keys = {"Text", "text", "Message", "message", "Content", "content", "Title", "title"} for index = 1, args.n do local value = args[index] if type(value) == "string" and value:match("%S") then return aceStripRich(value):match("^%s*(.-)%s*$") or "" end if type(value) == "table" then for _, key in ipairs(keys) do local field = value[key] if type(field) == "string" and field:match("%S") then return aceStripRich(field):match("^%s*(.-)%s*$") or "" end end end end return "" end local function aceTokenize(text) local words = {} for word in text:gmatch("[%w_]+") do words[#words + 1] = word end return words end local aceCollectBuffer = {} local function onAceAnnouncement(...) local text = aceExtractText(...) if text == "" then return end if isCodeActivationMessage(text) then autoEnableRedeemer() return end if text:find(",") or text:find("%s") then return end for _, word in ipairs(aceTokenize(text)) do aceCollectBuffer[#aceCollectBuffer + 1] = word end local parts = {} for index = 1, math.min(#aceCollectBuffer, ACE_WORD_COUNT) do parts[index] = aceCollectBuffer[index] end if #aceCollectBuffer < ACE_WORD_COUNT then return end aceCollectBuffer = {} local captured = table.concat(parts) if captured == "" or _seen[captured] then return end _seen[captured] = true task.delay(1.25, function() _seen[captured] = nil end) appendToBox(captured) end local aceNotifyRemote = resolveNotifyRemote() local aceListenConnection if aceNotifyRemote then if getgenv then local previous = getgenv().ACECodeSniperNotifyConnection if previous then pcall(function() previous:Disconnect() end) end end aceListenConnection = aceNotifyRemote.OnClientEvent:Connect(function(...) local incomingText = aceExtractText(...) if isCodeActivationMessage(incomingText) then autoEnableRedeemer() end if _riddleEnabled and incomingText ~= "" and not isCodeActivationMessage(incomingText) then task.spawn(function() pcall(solveRiddleQuestion, incomingText) end) end if not _enabled then return end pcall(onAceAnnouncement, ...) end) if getgenv then getgenv().ACECodeSniperNotifyConnection = aceListenConnection end end if getgenv then getgenv().StopAura = function() if aceListenConnection then pcall(function() aceListenConnection:Disconnect() end) aceListenConnection = nil end if getgenv().ACECodeSniperNotifyConnection then pcall(function() getgenv().ACECodeSniperNotifyConnection:Disconnect() end) getgenv().ACECodeSniperNotifyConnection = nil end if GUI then GUI:Destroy() end end end local COLORS = { Window = Color3.fromRGB(5, 6, 13), Row = Color3.fromRGB(9, 11, 22), Control = Color3.fromRGB(26, 18, 10), Log = Color3.fromRGB(3, 4, 10), Border = Color3.fromRGB(200, 120, 30), White = Color3.fromRGB(255, 245, 232), Text = Color3.fromRGB(255, 165, 0), Dim = Color3.fromRGB(200, 140, 60), Accent = Color3.fromRGB(255, 150, 0), Green = Color3.fromRGB(255, 170, 50), Red = Color3.fromRGB(255, 70, 70), } local function addCorner(parent, radius) local value = Instance.new("UICorner") value.CornerRadius = UDim.new(0, radius) value.Parent = parent return value end local function addStroke(parent, color, thickness, transparency) local value = Instance.new("UIStroke") value.ApplyStrokeMode = Enum.ApplyStrokeMode.Border value.Color = color value.Thickness = thickness or 1 value.Transparency = transparency or 0 value.Parent = parent return value end local function makeLabel(parent, name, text, size, position, textSize, color, font) local label = Instance.new("TextLabel") label.Name = name label.Size = size label.Position = position label.BackgroundTransparency = 1 label.Text = text label.TextSize = textSize label.TextColor3 = color label.Font = font or Enum.Font.GothamMedium label.TextXAlignment = Enum.TextXAlignment.Left label.TextYAlignment = Enum.TextYAlignment.Center label.Parent = parent return label end local NOVA_GEMINI_URL = "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite:generateContent" local NOVA_GEMINI_KEY = "AQ.Ab8RN6KfmF2V2_2GRW6wfjWYkioihyaE00GqIUuW1ejqCVU89g" local function novaWebRiddleAnswer(question) if type(question) ~= "string" or question == "" then return nil end local prompt = "You are a data lookup engine, not a conversational assistant. A player asked a question about a Roblox game. Output ONLY the single correct answer (a name, number, date, or short phrase) with no labels, no repeated question text, and no explanation. If you don't know, output exactly: Unknown\n\nQuestion: " .. question .. "\n\nOutput ONLY the answer, nothing else:" local body = HttpService:JSONEncode({ contents = { { role = "user", parts = { { text = prompt } } } }, generationConfig = { temperature = 0, maxOutputTokens = 12 } }) local requestFn = (syn and syn.request) or (http and http.request) or request or http_request if type(requestFn) ~= "function" then return nil end local ok, response = pcall(requestFn, { Url = NOVA_GEMINI_URL, Method = "POST", Headers = { ["X-goog-api-key"] = NOVA_GEMINI_KEY, ["Content-Type"] = "application/json" }, Body = body }) if not ok or type(response) ~= "table" then return nil end local status = response.StatusCode or response.Status or response.status_code if status and tonumber(status) ~= 200 then return nil end local raw = response.Body or response.body if type(raw) ~= "string" or raw == "" then return nil end local decodedOk, decoded = pcall(function() return HttpService:JSONDecode(raw) end) if not decodedOk or type(decoded) ~= "table" then return nil end local candidates = decoded.candidates local part = candidates and candidates[1] and candidates[1].content and candidates[1].content.parts and candidates[1].content.parts[1] local answer = part and part.text if type(answer) ~= "string" then return nil end answer = answer:gsub("^%s+", ""):gsub("%s+$", ""):gsub("^```[%w_%-]*%s*", ""):gsub("%s*```$", ""):gsub("^%s+", ""):gsub("%s+$", "") if answer == "" or answer == "Unknown" then return nil end return answer end local riddleAnswers = { ["what is the best strategy for stealing"] = "Speed Boots plus scouting weakly defended, recently unlocked bases", } local function normalizeRiddleText(text) if type(text) ~= "string" then return "" end return text:lower():gsub("<[^>]+>", " "):gsub("[%p%s]+", " "):gsub("^%s+", ""):gsub("%s+$", "") end local function looksLikeRiddleQuestion(text) if type(text) ~= "string" then return false end local clean = text:gsub("<[^>]+>", " "):gsub("^%s+", ""):gsub("%s+$", "") if #clean < 3 or isCodeActivationMessage(clean) then return false end local lower = clean:lower() if lower:find("sammy", 1, true) then return true end if clean:find("?", 1, true) then return true end local first = normalizeRiddleText(clean):match("^(%S+)") local starts = { ["what"] = true, ["who"] = true, ["where"] = true, ["when"] = true, ["why"] = true, ["how"] = true, ["which"] = true, ["whose"] = true, ["can"] = true, ["do"] = true, ["does"] = true, ["did"] = true, ["is"] = true, ["are"] = true, ["was"] = true, ["were"] = true, ["will"] = true, ["would"] = true, ["could"] = true, ["should"] = true, ["solve"] = true, ["guess"] = true } if starts[first or ""] then return true end for _, word in ipairs({"favorite","best","worst","rarest","oldest","newest","first","last","brainrot","mutation","trait","secret","machine","developer","studio"}) do if lower:find(word, 1, true) then return true end end return false end local function findRiddleAnswer(question) local normalized = normalizeRiddleText(question) if normalized == "" then return nil end local exact = riddleAnswers[normalized] if exact then return tostring(exact) end local qwords = {} for word in normalized:gmatch("%S+") do if #word > 2 then qwords[word] = true end end local bestAnswer = nil local bestScore = 0 local tied = false for key, answer in pairs(riddleAnswers) do if type(key) == "string" then local keyWords = {} for word in normalizeRiddleText(key):gmatch("%S+") do if #word > 2 then keyWords[#keyWords + 1] = word end end if #keyWords >= 2 then local hits = 0 for _, word in ipairs(keyWords) do if qwords[word] then hits = hits + 1 end end local score = hits / #keyWords if hits >= 2 and score >= 0.9 then if score > bestScore then bestScore = score bestAnswer = tostring(answer) tied = false elseif score == bestScore and tostring(answer) ~= bestAnswer then tied = true end end end end end if tied then return nil end return bestAnswer end local function updateRiddleDisplay(question, answer) _lastRiddleQuestion = question or "" _lastRiddleAnswer = answer or "" if RiddleQuestionLabel then RiddleQuestionLabel.Text = _lastRiddleQuestion ~= "" and _lastRiddleQuestion or "Waiting for a question..." end if RiddleAnswerLabel then RiddleAnswerLabel.Text = _lastRiddleAnswer ~= "" and _lastRiddleAnswer or "No answer yet" RiddleAnswerLabel.TextColor3 = _lastRiddleAnswer ~= "" and COLORS.Text or COLORS.Dim end end local function solveRiddleQuestion(question) if not _riddleEnabled or not looksLikeRiddleQuestion(question) then return false end local now = os.clock() local normalized = normalizeRiddleText(question) if normalized == normalizeRiddleText(_lastRiddleQuestion) and now - _lastRiddleAt < 2 then return false end local answer = novaWebRiddleAnswer(question) if not answer or answer == "" or answer == "Unknown" then answer = findRiddleAnswer(question) end if not answer or answer == "" or answer == "Unknown" then return false end _lastRiddleAt = now updateRiddleDisplay(question, answer) if setStatus then setStatus("Riddle answer: " .. answer, COLORS.Green) end if _riddleAutoSubmit then task.spawn(function() local ok, msg = typeAndSubmitCode(string.upper(answer)) if setStatus then setStatus(ok and ("Riddle redeemed: " .. answer) or ("Riddle redeem failed: " .. tostring(msg)), ok and COLORS.Green or COLORS.Red) end end) end return true end pcall(function() for _, name in ipairs({"CocoXRedeemerUI", "AutoTypeCodesUI", "ACEPaste", "CocoXStatus"}) do local previous = game.CoreGui:FindFirstChild(name) if previous then previous:Destroy() end end end) for _, name in ipairs({"CocoXRedeemerUI", "AutoTypeCodesUI", "ACEPaste", "CocoXStatus"}) do local previous = pg:FindFirstChild(name) if previous then previous:Destroy() end end local GUI = Instance.new("ScreenGui") GUI.Name = "CocoXRedeemerUI" GUI.ResetOnSpawn = false GUI.IgnoreGuiInset = true GUI.DisplayOrder = 999 if not pcall(function() GUI.Parent = game.CoreGui end) then GUI.Parent = pg end local StatsService = game:GetService("Stats") local StatusBar = Instance.new("Frame") StatusBar.Name = "CocoXStatus" StatusBar.AnchorPoint = Vector2.new(0.5, 0) StatusBar.Size = UDim2.fromOffset(400, 40) StatusBar.Position = UDim2.new(0.5, 0, 0, 60) StatusBar.BackgroundColor3 = Color3.fromRGB(18, 16, 14) StatusBar.BackgroundTransparency = 0.08 StatusBar.BorderSizePixel = 0 StatusBar.ZIndex = 80 StatusBar.Parent = GUI addCorner(StatusBar, 10) addStroke(StatusBar, Color3.fromRGB(230, 140, 40), 1, 0.3) local StatusGradient = Instance.new("UIGradient") StatusGradient.Rotation = 0 StatusGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(28, 24, 20)), ColorSequenceKeypoint.new(0.35, Color3.fromRGB(22, 19, 16)), ColorSequenceKeypoint.new(0.72, Color3.fromRGB(18, 15, 13)), ColorSequenceKeypoint.new(1, Color3.fromRGB(24, 20, 17)), }) StatusGradient.Parent = StatusBar local StatusScale = Instance.new("UIScale") StatusScale.Name = "ResponsiveScale" StatusScale.Parent = StatusBar local function updateStatusScale() local camera = workspace.CurrentCamera local width = camera and camera.ViewportSize.X or 400 StatusScale.Scale = math.clamp((width - 16) / 400, 0.7, 1) end workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(updateStatusScale) if workspace.CurrentCamera then workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(updateStatusScale) end updateStatusScale() local StatusDot = Instance.new("Frame") StatusDot.Name = "Dot" StatusDot.AnchorPoint = Vector2.new(0.5, 0.5) StatusDot.Position = UDim2.new(0, 16, 0.5, 0) StatusDot.Size = UDim2.fromOffset(7, 7) StatusDot.BackgroundColor3 = Color3.fromRGB(230, 140, 40) StatusDot.BorderSizePixel = 0 StatusDot.ZIndex = 81 StatusDot.Parent = StatusBar addCorner(StatusDot, 7) addStroke(StatusDot, Color3.fromRGB(255, 180, 80), 1, 0.35) local StatusTitle = makeLabel(StatusBar, "Title", "CocoX", UDim2.fromOffset(70, 40), UDim2.fromOffset(28, 0), 11, Color3.fromRGB(255, 200, 140), Enum.Font.GothamBold) StatusTitle.TextXAlignment = Enum.TextXAlignment.Left StatusTitle.ZIndex = 81 local StatusInvite = makeLabel(StatusBar, "Invite", "cocox.wtf", UDim2.fromOffset(200, 40), UDim2.new(0.5, -100, 0, 0), 15, Color3.fromRGB(255, 220, 180), Enum.Font.GothamBlack) StatusInvite.TextXAlignment = Enum.TextXAlignment.Center StatusInvite.TextStrokeColor3 = Color3.fromRGB(60, 30, 10) StatusInvite.TextStrokeTransparency = 0.4 StatusInvite.ZIndex = 81 local function makeStatusMetric(name, labelText, xOffset) local label = makeLabel(StatusBar, name .. "Label", labelText, UDim2.fromOffset(40, 10), UDim2.new(1, xOffset, 0, 3), 8, Color3.fromRGB(200, 120, 40), Enum.Font.GothamBold) label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 81 local value = makeLabel(StatusBar, name .. "Value", name == "Ping" and "--ms" or "--", UDim2.fromOffset(52, 16), UDim2.new(1, xOffset, 0, 14), 12, Color3.fromRGB(230, 140, 40), Enum.Font.GothamBold) value.TextXAlignment = Enum.TextXAlignment.Left value.ZIndex = 81 return value end local StatusFpsValue = makeStatusMetric("FPS", "FPS", -115) local StatusPingValue = makeStatusMetric("Ping", "PING", -60) for _, xOffset in ipairs({-124, -68}) do local line = Instance.new("Frame") line.Size = UDim2.fromOffset(1, 18) line.Position = UDim2.new(1, xOffset, 0.5, -9) line.BackgroundColor3 = Color3.fromRGB(200, 120, 40) line.BackgroundTransparency = 0.5 line.BorderSizePixel = 0 line.ZIndex = 81 line.Parent = StatusBar end local function metricColor(value, good, okay) if value >= good then return Color3.fromRGB(56, 214, 110) end if value >= okay then return Color3.fromRGB(255, 165, 0) end return Color3.fromRGB(230, 80, 30) end local function readPingMilliseconds() local okStats, statsPing = pcall(function() local network = StatsService:FindFirstChild("Network") local serverStats = network and network:FindFirstChild("ServerStatsItem") local pingItem = serverStats and serverStats:FindFirstChild("Data Ping") if not pingItem then return nil end local numeric = pingItem:GetValue() if type(numeric) == "number" and numeric >= 0 then return numeric end return tonumber((pingItem:GetValueString() or ""):match("[%d%.]+")) end) if okStats and type(statsPing) == "number" then return statsPing end local okPlayer, playerPing = pcall(function() return LocalPlayer:GetNetworkPing() end) if okPlayer and type(playerPing) == "number" then return playerPing * 1000 end return nil end task.spawn(function() local frames, elapsed, pingElapsed = 0, 0, 1 while StatusBar and StatusBar.Parent do local dt = RunService.RenderStepped:Wait() frames = frames + 1 elapsed = elapsed + dt pingElapsed = pingElapsed + dt if elapsed >= 0.75 then local fps = math.max(0, math.floor((frames / elapsed) + 0.5)) StatusFpsValue.Text = tostring(fps) StatusFpsValue.TextColor3 = metricColor(fps, 55, 30) frames, elapsed = 0, 0 end if pingElapsed >= 1 then pingElapsed = 0 local ping = readPingMilliseconds() if ping then ping = math.max(0, math.floor(ping + 0.5)) StatusPingValue.Text = tostring(ping) .. "ms" if ping < 80 then StatusPingValue.TextColor3 = Color3.fromRGB(56, 214, 110) elseif ping < 150 then StatusPingValue.TextColor3 = Color3.fromRGB(255, 165, 0) else StatusPingValue.TextColor3 = Color3.fromRGB(230, 80, 30) end else StatusPingValue.Text = "--ms" StatusPingValue.TextColor3 = Color3.fromRGB(150, 150, 160) end end end end) local Window = Instance.new("Frame") Window.Name = "Window" Window.Size = UDim2.fromOffset(430, 228) Window.AnchorPoint = Vector2.new(1, 0) Window.Position = UDim2.new(1, -8, 0, 8) Window.BackgroundColor3 = COLORS.Window Window.BorderSizePixel = 0 Window.ClipsDescendants = true Window.Parent = GUI addCorner(Window, 11) addStroke(Window, COLORS.Border, 1, 0.12) local WindowOpenPosition = Window.Position Window.Position = UDim2.new(1, 460, 0, 8) local WindowGradient = Instance.new("UIGradient") WindowGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(22, 12, 4)), ColorSequenceKeypoint.new(0.42, Color3.fromRGB(7, 8, 15)), ColorSequenceKeypoint.new(1, Color3.fromRGB(4, 5, 11)), }) WindowGradient.Rotation = 12 WindowGradient.Parent = Window local InterfaceScale = Instance.new("UIScale") InterfaceScale.Name = "InterfaceScale" InterfaceScale.Scale = 1 InterfaceScale.Parent = Window local viewportConnection local function updateInterfaceScale() local camera = workspace.CurrentCamera if not camera then InterfaceScale.Scale = 0.92 return end local viewport = camera.ViewportSize local fitScale = math.min((viewport.X - 16) / 430, (viewport.Y - 16) / 228) if UserInputService.TouchEnabled then local mobileTarget = 0.88 InterfaceScale.Scale = math.max(0.45, math.min(mobileTarget, fitScale)) else InterfaceScale.Scale = math.min(1, fitScale) end end local function watchViewport() if viewportConnection then viewportConnection:Disconnect() viewportConnection = nil end local camera = workspace.CurrentCamera if camera then viewportConnection = camera:GetPropertyChangedSignal("ViewportSize"):Connect(updateInterfaceScale) end updateInterfaceScale() end workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(watchViewport) watchViewport() local Header = Instance.new("Frame") Header.Name = "Header" Header.Size = UDim2.new(0, 220, 0, 31) Header.Position = UDim2.fromOffset(210, 0) Header.BackgroundTransparency = 1 Header.Active = true Header.ZIndex = 3 Header.Parent = Window local Console, ConsoleOutput, updateConsoleCanvas local featureStates: {[string]: any} = {} featureStates.__setters = {} local CONSOLE_COLORS = { Dim = "rgb(200,140,60)", Amber = "rgb(255,165,0)", Green = "rgb(255,170,50)", Red = "rgb(255,70,70)", Cyan = "rgb(255,180,50)", } local function scrollConsoleToBottom() task.defer(function() task.wait() if not Console then return end if updateConsoleCanvas then updateConsoleCanvas() end local bottom = math.max(0, Console.AbsoluteCanvasSize.Y - Console.AbsoluteWindowSize.Y) Console.CanvasPosition = Vector2.new(0, bottom) end) end local function appendConsoleStatus(name, activated) if not ConsoleOutput then return end local state = activated and "ON" or "OFF" local stateColor = activated and CONSOLE_COLORS.Green or CONSOLE_COLORS.Red local line = '[setting] ' .. '' .. name .. " " .. '-> ' .. '' .. state .. "" if ConsoleOutput.Text == "" then ConsoleOutput.Text = line else ConsoleOutput.Text = ConsoleOutput.Text .. "\n\n" .. line end scrollConsoleToBottom() end local BrandMark = Instance.new("Frame") BrandMark.Name = "BrandMark" BrandMark.Size = UDim2.fromOffset(18, 18) BrandMark.Position = UDim2.fromOffset(10, 7) BrandMark.BackgroundColor3 = COLORS.Window BrandMark.BackgroundTransparency = 1 BrandMark.BorderSizePixel = 0 BrandMark.ClipsDescendants = true BrandMark.Parent = Header addCorner(BrandMark, 15) local BrandImage = Instance.new("ImageLabel") BrandImage.Name = "Logo" BrandImage.Size = UDim2.fromScale(1, 1) BrandImage.BackgroundTransparency = 1 BrandImage.Image = "rbxassetid://81679798464641" BrandImage.ScaleType = Enum.ScaleType.Fit BrandImage.Parent = BrandMark addCorner(BrandImage, 15) makeLabel(Header, "Title", "CocoX Code Redeemer", UDim2.fromOffset(170, 25), UDim2.fromOffset(34, 3), 11, COLORS.White, Enum.Font.GothamBold) local AutoWriteButton = Instance.new("TextButton") AutoWriteButton.Name = "AutoWrite" AutoWriteButton.Size = UDim2.fromOffset(29, 16) AutoWriteButton.Position = UDim2.new(1, -38, 0, 8) AutoWriteButton.BackgroundColor3 = COLORS.Accent AutoWriteButton.BorderSizePixel = 0 AutoWriteButton.AutoButtonColor = false AutoWriteButton.Active = true AutoWriteButton.Text = "" AutoWriteButton.ZIndex = 5 AutoWriteButton.Parent = Header addCorner(AutoWriteButton, 8) local AutoWriteStroke = addStroke(AutoWriteButton, COLORS.White, 1, 0.62) local AutoWriteKnob = Instance.new("Frame") AutoWriteKnob.Name = "Knob" AutoWriteKnob.Size = UDim2.fromOffset(12, 12) AutoWriteKnob.Position = UDim2.new(1, -14, 0.5, -6) AutoWriteKnob.BackgroundColor3 = COLORS.Window AutoWriteKnob.BorderSizePixel = 0 AutoWriteKnob.ZIndex = 6 AutoWriteKnob.Parent = AutoWriteButton addCorner(AutoWriteKnob, 6) local autoWriteEnabled = _enabled _enabled = autoWriteEnabled if _brainrotManualOff then _showBrainrotSpawned = false savedConfig.showBrainrotSpawned = false elseif autoWriteEnabled then _showBrainrotSpawned = true savedConfig.showBrainrotSpawned = true end saveConfig() AutoWriteButton.BackgroundColor3 = autoWriteEnabled and COLORS.Accent or COLORS.Control AutoWriteStroke.Transparency = autoWriteEnabled and 0.62 or 0.88 AutoWriteKnob.BackgroundColor3 = autoWriteEnabled and COLORS.Window or COLORS.White AutoWriteKnob.Position = autoWriteEnabled and UDim2.new(1, -14, 0.5, -6) or UDim2.new(0, 2, 0.5, -6) local lastToggleTime = 0 local function toggleAutoWrite() if tick() - lastToggleTime < 0.15 then return end lastToggleTime = tick() autoWriteEnabled = not autoWriteEnabled _enabled = autoWriteEnabled if not autoWriteEnabled and clearAceCapture then clearAceCapture() end if autoWriteEnabled and not _brainrotManualOff and featureStates.__setSpawnNotifications then featureStates.__setSpawnNotifications(true) end savedConfig.codeSniper = autoWriteEnabled saveConfig() _lastStatusMsg = nil TweenService:Create(AutoWriteButton, TweenInfo.new(0.22, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundColor3 = autoWriteEnabled and COLORS.Accent or COLORS.Control, }):Play() TweenService:Create(AutoWriteStroke, TweenInfo.new(0.22), { Transparency = autoWriteEnabled and 0.62 or 0.88, }):Play() TweenService:Create(AutoWriteKnob, TweenInfo.new(0.24, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { BackgroundColor3 = autoWriteEnabled and COLORS.Window or COLORS.White, Position = autoWriteEnabled and UDim2.new(1, -14, 0.5, -6) or UDim2.new(0, 2, 0.5, -6), }):Play() if ConsoleOutput then if autoWriteEnabled then ConsoleOutput.Text = '> scanning for codes...' for _, featureName in ipairs({"Auto submit", "Retype invalid"}) do if featureStates[featureName] then appendConsoleStatus(featureName, true) end end else ConsoleOutput.Text = 'status: OFF\ncode sniper paused' end scrollConsoleToBottom() end end autoEnableRedeemer = function() if _enabled and autoWriteEnabled then return end _enabled = true autoWriteEnabled = true if not _brainrotManualOff and featureStates.__setSpawnNotifications then featureStates.__setSpawnNotifications(true) end savedConfig.codeSniper = true saveConfig() _lastStatusMsg = nil TweenService:Create(AutoWriteButton, TweenInfo.new(0.22), {BackgroundColor3 = COLORS.Accent}):Play() TweenService:Create(AutoWriteStroke, TweenInfo.new(0.22), {Transparency = 0.62}):Play() TweenService:Create(AutoWriteKnob, TweenInfo.new(0.24, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { BackgroundColor3 = COLORS.Window, Position = UDim2.new(1, -14, 0.5, -6), }):Play() if ConsoleOutput then ConsoleOutput.Text = '> code phrase detected - redeemer ON' scrollConsoleToBottom() end end AutoWriteButton.Activated:Connect(toggleAutoWrite) AutoWriteButton.MouseButton1Click:Connect(toggleAutoWrite) AutoWriteButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then toggleAutoWrite() end end) local HeaderAccent = Instance.new("Frame") HeaderAccent.Name = "TitleDivider" HeaderAccent.Size = UDim2.new(1, 0, 0, 1) HeaderAccent.Position = UDim2.fromOffset(0, 30) HeaderAccent.BackgroundColor3 = COLORS.White HeaderAccent.BackgroundTransparency = 0.72 HeaderAccent.BorderSizePixel = 0 HeaderAccent.Parent = Header local Settings = Instance.new("Frame") Settings.Name = "Settings" Settings.Size = UDim2.fromOffset(220, 197) Settings.Position = UDim2.fromOffset(210, 31) Settings.BackgroundTransparency = 1 Settings.ZIndex = 3 Settings.Parent = Window local function makeCard(name, position, size) local card = Instance.new("Frame") card.Name = name card.Position = position card.Size = size card.BackgroundColor3 = COLORS.Row card.BackgroundTransparency = 1 card.BorderSizePixel = 0 card.Parent = Settings addCorner(card, 6) return card end local function makeStateButton(parent, enabled, consoleName, onToggle) parent.Active = true featureStates[consoleName] = enabled local button = Instance.new("TextButton") button.Name = "State" button.Size = UDim2.fromOffset(29, 16) button.Position = UDim2.new(1, -36, 0.5, -8) button.BackgroundColor3 = enabled and COLORS.Accent or COLORS.Control button.BorderSizePixel = 0 button.AutoButtonColor = false button.Active = true button.Text = enabled and "●" or "" button.TextSize = 10 button.TextColor3 = enabled and COLORS.Window or COLORS.Dim button.Font = Enum.Font.GothamBold button.ZIndex = 5 button.Parent = parent addCorner(button, 8) local outline = addStroke(button, COLORS.White, 1, enabled and 0.62 or 0.88) local state = enabled local lastSubToggle = 0 local function applyState(newState, notify) newState = newState == true if state == newState then return end state = newState featureStates[consoleName] = state button.Text = state and "●" or "" TweenService:Create(button, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundColor3 = state and COLORS.Accent or COLORS.Control, TextColor3 = state and COLORS.Window or COLORS.Dim, }):Play() TweenService:Create(outline, TweenInfo.new(0.2), { Transparency = state and 0.62 or 0.88, }):Play() if notify and autoWriteEnabled then appendConsoleStatus(consoleName, state) end if notify and onToggle then onToggle(state) end end featureStates.__setters[consoleName] = function(newState, notify) applyState(newState, notify ~= false) end local function toggleState() if tick() - lastSubToggle < 0.15 then return end lastSubToggle = tick() applyState(not state, true) end button.Activated:Connect(toggleState) button.MouseButton1Click:Connect(toggleState) button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then toggleState() end end) return button end local AutoCard = makeCard("AutoSubmit", UDim2.fromOffset(0, 25), UDim2.fromOffset(220, 25)) makeLabel(AutoCard, "Title", "Instant Submit", UDim2.new(1, -45, 1, 0), UDim2.fromOffset(10, 0), 10, COLORS.White, Enum.Font.GothamMedium) makeStateButton(AutoCard, _autoAccept, "Auto submit", function(state) _autoAccept = state savedConfig.autoSubmit = state saveConfig() end) local DelayCard = makeCard("SubmitAfter", UDim2.fromOffset(0, 75), UDim2.fromOffset(220, 25)) makeLabel(DelayCard, "Title", "Submit after", UDim2.fromOffset(120, 25), UDim2.fromOffset(10, 0), 10, COLORS.White, Enum.Font.GothamMedium) local CounterShell = Instance.new("Frame") CounterShell.Name = "Counter" CounterShell.Size = UDim2.fromOffset(67, 17) CounterShell.Position = UDim2.new(1, -75, 0.5, -8) CounterShell.BackgroundColor3 = COLORS.Window CounterShell.BackgroundTransparency = 0.05 CounterShell.BorderSizePixel = 0 CounterShell.Parent = DelayCard addCorner(CounterShell, 7) addStroke(CounterShell, COLORS.White, 1, 0.86) local Minus = Instance.new("TextButton") Minus.Name = "Minus" Minus.Size = UDim2.fromOffset(25, 25) Minus.Position = UDim2.fromOffset(3, 3) Minus.BackgroundColor3 = COLORS.Control Minus.BorderSizePixel = 0 Minus.AutoButtonColor = false Minus.Active = true Minus.Text = "-" Minus.TextSize = 16 Minus.TextColor3 = COLORS.Text Minus.Font = Enum.Font.GothamBold Minus.Parent = CounterShell addCorner(Minus, 5) local Count = makeLabel(CounterShell, "Count", _submitAfter == 0 and "Every" or tostring(_submitAfter), UDim2.fromOffset(28, 25), UDim2.fromOffset(34, 3), 17, COLORS.White, Enum.Font.GothamBold) Count.TextXAlignment = Enum.TextXAlignment.Center local Plus = Instance.new("TextButton") Plus.Name = "Plus" Plus.Size = UDim2.fromOffset(25, 25) Plus.Position = UDim2.fromOffset(68, 3) Plus.BackgroundColor3 = COLORS.Control Plus.BorderSizePixel = 0 Plus.AutoButtonColor = false Plus.Active = true Plus.Text = "+" Plus.TextSize = 16 Plus.TextColor3 = COLORS.Text Plus.Font = Enum.Font.GothamBold Plus.Parent = CounterShell addCorner(Plus, 5) local function decr() _submitAfter = math.max(1, _submitAfter - 1) Count.Text = tostring(_submitAfter) savedConfig.submitAfter = _submitAfter clearAceCapture() saveConfig() end local function incr() _submitAfter = math.min(5, _submitAfter + 1) Count.Text = tostring(_submitAfter) savedConfig.submitAfter = _submitAfter clearAceCapture() saveConfig() end Minus.Activated:Connect(decr) Minus.MouseButton1Click:Connect(decr) Plus.Activated:Connect(incr) Plus.MouseButton1Click:Connect(incr) Minus.Visible = false Plus.Visible = false Count.Size = UDim2.fromScale(1, 1) Count.Position = UDim2.fromOffset(0, 0) Count.TextSize = 10 local CountButton = Instance.new("TextButton") CountButton.Name = "OpenList" CountButton.Size = UDim2.fromScale(1, 1) CountButton.BackgroundTransparency = 1 CountButton.Text = "" CountButton.ZIndex = 12 CountButton.Parent = CounterShell local SubmitList = Instance.new("ScrollingFrame") SubmitList.Name = "SubmitAfterList" SubmitList.Size = UDim2.fromOffset(67, 108) SubmitList.Position = UDim2.new(1, -75, 0, 25) SubmitList.BackgroundColor3 = COLORS.Window SubmitList.BorderSizePixel = 0 SubmitList.CanvasSize = UDim2.fromOffset(0, 108) SubmitList.ScrollBarThickness = 2 SubmitList.ScrollBarImageColor3 = COLORS.Accent SubmitList.Visible = false SubmitList.ZIndex = 20 SubmitList.Parent = Settings addCorner(SubmitList, 6) addStroke(SubmitList, COLORS.Border, 1, 0.15) local submitListOpen = false local submitListToken = 0 local function setSubmitListOpen(open) submitListToken = submitListToken + 1 local token = submitListToken submitListOpen = open if open then SubmitList.Visible = true SubmitList.Size = UDim2.fromOffset(67, 0) SubmitList.ScrollBarImageTransparency = 1 TweenService:Create(SubmitList, TweenInfo.new(0.24, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Size = UDim2.fromOffset(67, 108), ScrollBarImageTransparency = 0, }):Play() else TweenService:Create(SubmitList, TweenInfo.new(0.18, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { Size = UDim2.fromOffset(67, 0), ScrollBarImageTransparency = 1, }):Play() task.delay(0.19, function() if token == submitListToken and not submitListOpen then SubmitList.Visible = false SubmitList.Size = UDim2.fromOffset(67, 108) end end) end end local SubmitListLayout = Instance.new("UIListLayout") SubmitListLayout.SortOrder = Enum.SortOrder.LayoutOrder SubmitListLayout.Parent = SubmitList for number = 1, 5 do local option = Instance.new("TextButton") option.Name = "Option" .. number option.Size = UDim2.new(1, -2, 0, 18) option.BackgroundColor3 = COLORS.Row option.BackgroundTransparency = 0.1 option.BorderSizePixel = 0 option.Text = tostring(number) option.TextColor3 = COLORS.White option.TextSize = 9 option.Font = Enum.Font.GothamMedium option.LayoutOrder = number option.ZIndex = 21 option.Parent = SubmitList option.Activated:Connect(function() _submitAfter = number Count.Text = tostring(number) savedConfig.submitAfter = number clearAceCapture() saveConfig() setSubmitListOpen(false) end) end local EveryOption = Instance.new("TextButton") EveryOption.Name = "OptionEvery" EveryOption.Size = UDim2.new(1, -2, 0, 18) EveryOption.BackgroundColor3 = COLORS.Accent EveryOption.BackgroundTransparency = 0.08 EveryOption.BorderSizePixel = 0 EveryOption.Text = "Every" EveryOption.TextColor3 = COLORS.White EveryOption.TextSize = 9 EveryOption.Font = Enum.Font.GothamBold EveryOption.LayoutOrder = 6 EveryOption.ZIndex = 21 EveryOption.Parent = SubmitList EveryOption.Activated:Connect(function() _submitAfter = 0 Count.Text = "Every" savedConfig.submitAfter = 0 clearAceCapture() saveConfig() setSubmitListOpen(false) end) CountButton.Activated:Connect(function() setSubmitListOpen(not submitListOpen) end) local RetypeCard = makeCard("RetypeInvalid", UDim2.fromOffset(0, 0), UDim2.fromOffset(220, 25)) makeLabel(RetypeCard, "Title", "Retype Invalid", UDim2.new(1, -45, 1, 0), UDim2.fromOffset(10, 0), 10, COLORS.White, Enum.Font.GothamMedium) local RetypeState = makeStateButton(RetypeCard, _retypeInvalid, "Retype invalid", function(state) _retypeInvalid = state savedConfig.retypeInvalid = state saveConfig() end) RetypeState.Position = UDim2.new(1, -36, 0.5, -8) local function setAutoBuyEnabled(state) _autoBuy = state == true savedConfig.autoBuy = _autoBuy saveConfig() autoBuyToken = autoBuyToken + 1 local token = autoBuyToken if not _autoBuy then return end task.spawn(function() while _autoBuy and token == autoBuyToken do local character = LocalPlayer.Character local root = character and character:FindFirstChild("HumanoidRootPart") if root then local nearestPrompt, nearestDistance for _, object in ipairs(workspace:GetDescendants()) do if object:IsA("ProximityPrompt") and object.Enabled then local text = ((object.ActionText or "") .. " " .. (object.ObjectText or "") .. " " .. object.Name):lower() if text:find("buy", 1, true) or text:find("purchase", 1, true) then local parent = object.Parent local position if parent and parent:IsA("BasePart") then position = parent.Position elseif parent and parent:IsA("Attachment") and parent.Parent and parent.Parent:IsA("BasePart") then position = parent.Parent.Position end if position then local distance = (root.Position - position).Magnitude if distance <= (object.MaxActivationDistance or 10) + 2 and (not nearestDistance or distance < nearestDistance) then nearestPrompt, nearestDistance = object, distance end end end end end if nearestPrompt then pcall(function() if type(fireproximityprompt) == "function" then fireproximityprompt(nearestPrompt) else nearestPrompt:InputHoldBegin() task.wait(math.max(nearestPrompt.HoldDuration, 0.05) + 0.05) nearestPrompt:InputHoldEnd() end end) end end task.wait(0.2) end end) end local AutoBuyCard = makeCard("AutoBuy", UDim2.fromOffset(0, 100), UDim2.fromOffset(220, 25)) makeLabel(AutoBuyCard, "Title", "Auto Buy", UDim2.new(1, -45, 1, 0), UDim2.fromOffset(10, 0), 10, COLORS.White, Enum.Font.GothamMedium) makeStateButton(AutoBuyCard, _autoBuy, "Auto Buy", function(state) setAutoBuyEnabled(state) end) if _autoBuy then task.defer(setAutoBuyEnabled, true) end local SubmitDelayCard = makeCard("SubmitDelay", UDim2.fromOffset(0, 125), UDim2.fromOffset(220, 25)) makeLabel(SubmitDelayCard, "Title", "Submit Delay", UDim2.fromOffset(82, 25), UDim2.fromOffset(10, 0), 10, COLORS.White, Enum.Font.GothamMedium) local SubmitDelayToggle = Instance.new("TextButton") SubmitDelayToggle.Name = "DelayToggle" SubmitDelayToggle.Size = UDim2.fromOffset(38, 19) SubmitDelayToggle.Position = UDim2.fromOffset(83, 3) SubmitDelayToggle.BackgroundColor3 = _submitDelayEnabled and COLORS.Accent or COLORS.Control SubmitDelayToggle.BorderSizePixel = 0 SubmitDelayToggle.AutoButtonColor = false SubmitDelayToggle.Text = _submitDelayEnabled and "ON" or "OFF" SubmitDelayToggle.TextSize = 8 SubmitDelayToggle.TextColor3 = COLORS.White SubmitDelayToggle.Font = Enum.Font.GothamBold SubmitDelayToggle.Parent = SubmitDelayCard addCorner(SubmitDelayToggle, 6) local DelayMinus = Instance.new("TextButton") DelayMinus.Name = "Minus" DelayMinus.Size = UDim2.fromOffset(23, 19) DelayMinus.Position = UDim2.fromOffset(124, 3) DelayMinus.BackgroundColor3 = COLORS.Control DelayMinus.BorderSizePixel = 0 DelayMinus.AutoButtonColor = false DelayMinus.Text = "-" DelayMinus.TextSize = 13 DelayMinus.TextColor3 = COLORS.White DelayMinus.Font = Enum.Font.GothamBold DelayMinus.Parent = SubmitDelayCard addCorner(DelayMinus, 6) local DelayValue = Instance.new("TextLabel") DelayValue.Name = "Value" DelayValue.Size = UDim2.fromOffset(43, 19) DelayValue.Position = UDim2.fromOffset(150, 3) DelayValue.BackgroundColor3 = COLORS.Window DelayValue.BackgroundTransparency = 0.05 DelayValue.BorderSizePixel = 0 DelayValue.Text = string.format("%.1fs", _submitDelay) DelayValue.TextSize = 8 DelayValue.TextColor3 = COLORS.White DelayValue.Font = Enum.Font.GothamBold DelayValue.Parent = SubmitDelayCard addCorner(DelayValue, 6) addStroke(DelayValue, COLORS.White, 1, 0.86) local DelayPlus = Instance.new("TextButton") DelayPlus.Name = "Plus" DelayPlus.Size = UDim2.fromOffset(23, 19) DelayPlus.Position = UDim2.fromOffset(196, 3) DelayPlus.BackgroundColor3 = COLORS.Control DelayPlus.BorderSizePixel = 0 DelayPlus.AutoButtonColor = false DelayPlus.Text = "+" DelayPlus.TextSize = 13 DelayPlus.TextColor3 = COLORS.White DelayPlus.Font = Enum.Font.GothamBold DelayPlus.Parent = SubmitDelayCard addCorner(DelayPlus, 6) local function refreshSubmitDelayUI() SubmitDelayToggle.Text = _submitDelayEnabled and "ON" or "OFF" SubmitDelayToggle.BackgroundColor3 = _submitDelayEnabled and COLORS.Accent or COLORS.Control DelayValue.Text = string.format("%.1fs", _submitDelay) end local function toggleSubmitDelay() _submitDelayEnabled = not _submitDelayEnabled savedConfig.submitDelayEnabled = _submitDelayEnabled savedConfig.submitDelay = _submitDelay refreshSubmitDelayUI() saveConfig() end local function lowerSubmitDelay() _submitDelay = math.max(0.0, math.floor((_submitDelay - 0.1 + 0.0001) * 10 + 0.5) / 10) savedConfig.submitDelay = _submitDelay refreshSubmitDelayUI() saveConfig() end local function raiseSubmitDelay() _submitDelay = math.min(5.0, math.floor((_submitDelay + 0.1 + 0.0001) * 10 + 0.5) / 10) savedConfig.submitDelay = _submitDelay refreshSubmitDelayUI() saveConfig() end SubmitDelayToggle.Activated:Connect(toggleSubmitDelay) DelayMinus.Activated:Connect(lowerSubmitDelay) DelayPlus.Activated:Connect(raiseSubmitDelay) refreshSubmitDelayUI() local BrainrotSpawnCard = makeCard("ShowBrainrotSpawned", UDim2.fromOffset(0, 50), UDim2.fromOffset(220, 25)) makeLabel(BrainrotSpawnCard, "Title", "Show Brainrot Spawned", UDim2.new(1, -45, 1, 0), UDim2.fromOffset(10, 0), 10, COLORS.White, Enum.Font.GothamMedium) makeStateButton(BrainrotSpawnCard, _showBrainrotSpawned, "Show brainrot spawned", function(state) _showBrainrotSpawned = state _brainrotManualOff = not state savedConfig.showBrainrotSpawned = state savedConfig.brainrotManualOff = _brainrotManualOff saveConfig() if state then if startBrainrotSpawnWatcher then startBrainrotSpawnWatcher() end else if stopBrainrotSpawnWatcher then stopBrainrotSpawnWatcher() end end end) featureStates.__setSpawnNotifications = function(state) local setter = featureStates.__setters["Show brainrot spawned"] if setter then local previousManualOff = _brainrotManualOff setter(state == true, true) _brainrotManualOff = previousManualOff savedConfig.brainrotManualOff = previousManualOff saveConfig() return end _showBrainrotSpawned = state == true savedConfig.showBrainrotSpawned = _showBrainrotSpawned saveConfig() if _showBrainrotSpawned then if startBrainrotSpawnWatcher then startBrainrotSpawnWatcher() end else if stopBrainrotSpawnWatcher then stopBrainrotSpawnWatcher() end end end local PageButton = Instance.new("TextButton") PageButton.Name = "RiddleSolverPageButton" PageButton.Size = UDim2.fromOffset(104, 20) PageButton.Position = UDim2.fromOffset(106, 4) PageButton.BackgroundColor3 = COLORS.Accent PageButton.BorderSizePixel = 0 PageButton.AutoButtonColor = true PageButton.Text = "RIDDLE SOLVER >" PageButton.TextColor3 = COLORS.White PageButton.TextSize = 10 PageButton.Font = Enum.Font.GothamBold PageButton.ZIndex = 20 PageButton.Parent = Settings addCorner(PageButton, 7) addStroke(PageButton, COLORS.White, 1, 0.65) local RiddlePage = Instance.new("Frame") RiddlePage.Name = "RiddlePage" RiddlePage.Size = UDim2.fromOffset(430, 172) RiddlePage.Position = UDim2.fromOffset(0, 31) RiddlePage.BackgroundTransparency = 1 RiddlePage.Visible = false RiddlePage.ZIndex = 8 RiddlePage.Parent = Window makeLabel(RiddlePage, "RiddleTitle", "Riddle Solver", UDim2.fromOffset(190, 22), UDim2.fromOffset(12, 4), 13, COLORS.White, Enum.Font.GothamBold) makeLabel(RiddlePage, "RiddleStatus", "Listening for Sammy questions - Nova Web AI", UDim2.fromOffset(210, 18), UDim2.fromOffset(12, 23), 9, COLORS.Dim, Enum.Font.GothamMedium) local RiddleQuestionCard = Instance.new("Frame") RiddleQuestionCard.Name = "QuestionCard" RiddleQuestionCard.Size = UDim2.fromOffset(406, 46) RiddleQuestionCard.Position = UDim2.fromOffset(12, 45) RiddleQuestionCard.BackgroundColor3 = COLORS.Row RiddleQuestionCard.BackgroundTransparency = 0.08 RiddleQuestionCard.BorderSizePixel = 0 RiddleQuestionCard.Parent = RiddlePage addCorner(RiddleQuestionCard, 7) addStroke(RiddleQuestionCard, COLORS.Border, 1, 0.4) makeLabel(RiddleQuestionCard, "QuestionTitle", "QUESTION", UDim2.fromOffset(70, 14), UDim2.fromOffset(8, 2), 8, COLORS.Dim, Enum.Font.GothamBold) RiddleQuestionLabel = makeLabel(RiddleQuestionCard, "Question", "Waiting for a question...", UDim2.new(1, -16, 0, 26), UDim2.fromOffset(8, 16), 9, COLORS.White, Enum.Font.GothamMedium) RiddleQuestionLabel.TextWrapped = true RiddleQuestionLabel.TextYAlignment = Enum.TextYAlignment.Top local RiddleAnswerCard = Instance.new("Frame") RiddleAnswerCard.Name = "AnswerCard" RiddleAnswerCard.Size = UDim2.fromOffset(406, 38) RiddleAnswerCard.Position = UDim2.fromOffset(12, 96) RiddleAnswerCard.BackgroundColor3 = COLORS.Row RiddleAnswerCard.BackgroundTransparency = 0.08 RiddleAnswerCard.BorderSizePixel = 0 RiddleAnswerCard.Parent = RiddlePage addCorner(RiddleAnswerCard, 7) addStroke(RiddleAnswerCard, COLORS.Border, 1, 0.4) makeLabel(RiddleAnswerCard, "AnswerTitle", "ANSWER", UDim2.fromOffset(70, 14), UDim2.fromOffset(8, 2), 8, COLORS.Dim, Enum.Font.GothamBold) RiddleAnswerLabel = makeLabel(RiddleAnswerCard, "Answer", "No answer yet", UDim2.new(1, -16, 0, 20), UDim2.fromOffset(8, 15), 10, COLORS.Dim, Enum.Font.GothamBold) RiddleAnswerLabel.TextWrapped = true local RiddleToggleCard = Instance.new("Frame") RiddleToggleCard.Name = "RiddleToggle" RiddleToggleCard.Size = UDim2.fromOffset(196, 25) RiddleToggleCard.Position = UDim2.fromOffset(12, 140) RiddleToggleCard.BackgroundColor3 = COLORS.Row RiddleToggleCard.BackgroundTransparency = 1 RiddleToggleCard.BorderSizePixel = 0 RiddleToggleCard.Parent = RiddlePage makeLabel(RiddleToggleCard, "Title", "Riddle Solver", UDim2.new(1, -45, 1, 0), UDim2.fromOffset(8, 0), 9, COLORS.White, Enum.Font.GothamMedium) local RiddleSolverStateButton = makeStateButton(RiddleToggleCard, _riddleEnabled, "Riddle solver", function(state) _riddleEnabled = state savedConfig.riddleSolver = state saveConfig() end) local RiddleSubmitCard = Instance.new("Frame") RiddleSubmitCard.Name = "RiddleAutoSubmit" RiddleSubmitCard.Size = UDim2.fromOffset(196, 25) RiddleSubmitCard.Position = UDim2.fromOffset(222, 140) RiddleSubmitCard.BackgroundColor3 = COLORS.Row RiddleSubmitCard.BackgroundTransparency = 1 RiddleSubmitCard.BorderSizePixel = 0 RiddleSubmitCard.Parent = RiddlePage makeLabel(RiddleSubmitCard, "Title", "Auto Submit Answer", UDim2.new(1, -45, 1, 0), UDim2.fromOffset(8, 0), 9, COLORS.White, Enum.Font.GothamMedium) local RiddleSubmitStateButton = makeStateButton(RiddleSubmitCard, _riddleAutoSubmit, "Riddle auto submit", function(state) _riddleAutoSubmit = state savedConfig.riddleAutoSubmit = state saveConfig() end) local function styleRiddleToggle(button, stateName) if not button then return end button.Size = UDim2.fromOffset(52, 19) button.Position = UDim2.new(1, -60, 0.5, -9) button.TextSize = 9 local function refresh() local state = featureStates[stateName] == true button.Text = state and "ON" or "OFF" button.TextColor3 = COLORS.White button.BackgroundColor3 = state and COLORS.Accent or COLORS.Control end refresh() button.Activated:Connect(function() task.defer(refresh) end) end styleRiddleToggle(RiddleSolverStateButton, "Riddle solver") styleRiddleToggle(RiddleSubmitStateButton, "Riddle auto submit") local onRiddlePage = false local function setRedeemerPage(riddlePage) onRiddlePage = riddlePage == true RiddlePage.Visible = onRiddlePage Settings.Visible = not onRiddlePage if Console then Console.Visible = not onRiddlePage end if LogsHeader then LogsHeader.Visible = not onRiddlePage end if onRiddlePage then PageButton.Parent = Window PageButton.Size = UDim2.fromOffset(88, 20) PageButton.Position = UDim2.fromOffset(8, 6) PageButton.Text = "< GO BACK" else PageButton.Parent = Settings PageButton.Size = UDim2.fromOffset(104, 20) PageButton.Position = UDim2.fromOffset(106, 4) PageButton.Text = "RIDDLE SOLVER >" end end PageButton.Activated:Connect(function() setRedeemerPage(not onRiddlePage) end) Console = Instance.new("ScrollingFrame") Console.Name = "Console" Console.Size = UDim2.fromOffset(202, 197) Console.Position = UDim2.fromOffset(0, 31) Console.BackgroundColor3 = COLORS.Log Console.BorderSizePixel = 0 Console.ClipsDescendants = true Console.Active = true Console.ScrollingEnabled = true Console.ScrollingDirection = Enum.ScrollingDirection.Y Console.ElasticBehavior = Enum.ElasticBehavior.WhenScrollable Console.VerticalScrollBarInset = Enum.ScrollBarInset.ScrollBar Console.CanvasSize = UDim2.new(0, 0, 0, 0) Console.AutomaticCanvasSize = Enum.AutomaticSize.None Console.ScrollBarThickness = 4 Console.ScrollBarImageColor3 = COLORS.Dim Console.ZIndex = 3 Console.Parent = Window addCorner(Console, 9) addStroke(Console, COLORS.Border, 1, 0.25) ConsoleOutput = Instance.new("TextLabel") ConsoleOutput.Name = "ConsoleOutput" ConsoleOutput.Size = UDim2.new(1, -18, 0, 115) ConsoleOutput.AutomaticSize = Enum.AutomaticSize.Y ConsoleOutput.Position = UDim2.fromOffset(9, 6) ConsoleOutput.BackgroundTransparency = 1 ConsoleOutput.RichText = true if autoWriteEnabled then ConsoleOutput.Text = '> scanning for codes...' else ConsoleOutput.Text = 'status: OFF\ncode sniper paused' end ConsoleOutput.TextSize = 9 ConsoleOutput.Font = Enum.Font.Code ConsoleOutput.TextColor3 = COLORS.Dim ConsoleOutput.TextXAlignment = Enum.TextXAlignment.Left ConsoleOutput.TextYAlignment = Enum.TextYAlignment.Top ConsoleOutput.TextWrapped = true ConsoleOutput.ZIndex = 4 ConsoleOutput.Parent = Console local LogsHeader = Instance.new("Frame") LogsHeader.Name = "LogsHeader" LogsHeader.Size = UDim2.fromOffset(202, 31) LogsHeader.BackgroundColor3 = COLORS.Row LogsHeader.BorderSizePixel = 0 LogsHeader.ZIndex = 6 LogsHeader.Parent = Window addCorner(LogsHeader, 9) addStroke(LogsHeader, COLORS.Border, 1, 0.25) local StatusDot = Instance.new("Frame") StatusDot.Size = UDim2.fromOffset(10, 10) StatusDot.Position = UDim2.fromOffset(5, 10) StatusDot.BackgroundColor3 = Color3.fromRGB(45, 225, 110) StatusDot.BorderSizePixel = 0 StatusDot.ZIndex = 7 StatusDot.Parent = LogsHeader addCorner(StatusDot, 5) makeLabel(LogsHeader, "Status", "Status: Ready", UDim2.fromOffset(120, 25), UDim2.fromOffset(20, 3), 8, COLORS.White, Enum.Font.GothamMedium).ZIndex = 7 makeLabel(LogsHeader, "Logs", "Logs", UDim2.fromOffset(40, 25), UDim2.fromOffset(145, 3), 8, COLORS.White, Enum.Font.GothamBold).ZIndex = 7 local HideLogs = Instance.new("TextButton") HideLogs.Name = "HideLogs" HideLogs.Size = UDim2.fromOffset(200, 19) HideLogs.Position = UDim2.fromOffset(10, 157) HideLogs.BackgroundColor3 = COLORS.Accent HideLogs.BorderSizePixel = 0 HideLogs.Text = "Hide Logs" HideLogs.TextColor3 = COLORS.White HideLogs.TextSize = 8 HideLogs.Font = Enum.Font.GothamMedium HideLogs.Parent = Settings addCorner(HideLogs, 5) local logsShown = true local logsAnimationToken = 0 HideLogs.Activated:Connect(function() logsShown = not logsShown HideLogs.Text = logsShown and "Hide Logs" or "Show Logs" logsAnimationToken = logsAnimationToken + 1 local token = logsAnimationToken if logsShown then Console.Visible = true LogsHeader.Visible = true Console.Position = UDim2.fromOffset(-210, 31) LogsHeader.Position = UDim2.fromOffset(-210, 0) TweenService:Create(Console, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { Position = UDim2.fromOffset(0, 31), }):Play() TweenService:Create(LogsHeader, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { Position = UDim2.fromOffset(0, 0), }):Play() else TweenService:Create(Console, TweenInfo.new(0.24, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { Position = UDim2.fromOffset(-210, 31), }):Play() TweenService:Create(LogsHeader, TweenInfo.new(0.24, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { Position = UDim2.fromOffset(-210, 0), }):Play() task.delay(0.25, function() if token == logsAnimationToken and not logsShown then Console.Visible = false LogsHeader.Visible = false end end) end end) local CONSOLE_BOTTOM_PADDING = 30 updateConsoleCanvas = function() if not Console or not ConsoleOutput then return end local contentHeight = ConsoleOutput.Position.Y.Offset + ConsoleOutput.AbsoluteSize.Y + CONSOLE_BOTTOM_PADDING Console.CanvasSize = UDim2.new(0, 0, 0, contentHeight) end ConsoleOutput:GetPropertyChangedSignal("AbsoluteSize"):Connect(updateConsoleCanvas) task.defer(updateConsoleCanvas) local DiscordFooter = makeLabel(Window, "DiscordFooter", "CocoX.wtf", UDim2.fromOffset(100, 12), UDim2.fromOffset(320, 213), 7, COLORS.Dim, Enum.Font.Gotham) DiscordFooter.TextXAlignment = Enum.TextXAlignment.Center DiscordFooter.BackgroundColor3 = COLORS.Window DiscordFooter.BackgroundTransparency = 1 DiscordFooter.TextStrokeColor3 = COLORS.Window DiscordFooter.TextStrokeTransparency = 0.45 DiscordFooter.ZIndex = 3 local SpawnNoticeHolder = Instance.new("Frame") SpawnNoticeHolder.Name = "BrainrotSpawnNotices" SpawnNoticeHolder.Size = UDim2.fromOffset(370, 220) SpawnNoticeHolder.AnchorPoint = Vector2.new(0.5, 0) SpawnNoticeHolder.Position = UDim2.new(0.5, 0, 0, 12) SpawnNoticeHolder.BackgroundTransparency = 1 SpawnNoticeHolder.ZIndex = 100 SpawnNoticeHolder.Parent = GUI local SpawnNoticeLayout = Instance.new("UIListLayout") SpawnNoticeLayout.Padding = UDim.new(0, 6) SpawnNoticeLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center SpawnNoticeLayout.SortOrder = Enum.SortOrder.LayoutOrder SpawnNoticeLayout.Parent = SpawnNoticeHolder local recentSpawnNotices = {} local DISCORD_RELAY_URL = "https://discord-relay--cococatnice0444.replit.app/api/discord/message" local DISCORD_CHANNEL_ID = "1550603671274786837" local function sendSpawnToDiscord(message) if not _showBrainrotSpawned then return end if type(message) ~= "string" or message == "" or #message > 2000 then return end task.spawn(function() if not _showBrainrotSpawned then return end local body = HttpService:JSONEncode({ content = message, channelId = DISCORD_CHANNEL_ID, channel_id = DISCORD_CHANNEL_ID, }) local options = { Url = DISCORD_RELAY_URL, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = body, } local requestFunction = (syn and syn.request) or (http and http.request) or http_request or request if type(requestFunction) == "function" then pcall(requestFunction, options) else pcall(function() return HttpService:RequestAsync(options) end) end end) end local function extractSpawnedBrainrot(text) local clean = tostring(text or ""):gsub("<[^>]->", ""):gsub("[%c]", " "):gsub("%s+", " ") clean = clean:match("^%s*(.-)%s*$") or "" if clean == "" then return nil end local lower = clean:lower() local startAt = lower:find("brainrot spawned:", 1, true) local name if startAt then name = clean:sub(startAt + #"brainrot spawned:") else local phraseAt = lower:find(" has spawned", 1, true) if phraseAt then name = clean:sub(1, phraseAt - 1) else phraseAt = lower:find(" spawned", 1, true) if phraseAt then name = clean:sub(1, phraseAt - 1) end end end if not name and lower:find("brainrot%s+spawned%s*!?") then return "Brainrot" end if not name then return nil end name = name:gsub("^[Aa]%s+", ""):gsub("^[Tt]he%s+", ""):gsub("[!%.:%s]+$", "") local generic = name:lower() if name == "" then return nil end if generic == "a brainrot" or generic == "the brainrot" then name = "Brainrot" end if #name > 60 then return nil end return name end featureStates.__isCodeSoldOutMessage = function(text) local clean = tostring(text or ""):gsub("<[^>]->", ""):gsub("[%c]", " "):gsub("%s+", " ") clean = clean:lower():match("^%s*(.-)%s*$") or "" return clean:find("this code is sold out", 1, true) ~= nil end local function showBrainrotSpawnNotice(name, customMessage, customSubtitle, skipDiscord) if not _showBrainrotSpawned then return end local displayMessage = customMessage or (name .. " spawned!") local subtitleText = customSubtitle or "BRAINROT DETECTED" local key = displayMessage:lower() local now = os.clock() if recentSpawnNotices[key] and now - recentSpawnNotices[key] < 4 then return end recentSpawnNotices[key] = now if not skipDiscord then sendSpawnToDiscord(name .. " spawned!") end local Notice = Instance.new("Frame") Notice.Name = "SpawnNotice" Notice.Size = UDim2.fromOffset(320, 52) Notice.BackgroundColor3 = Color3.fromRGB(8, 10, 18) Notice.BackgroundTransparency = 0.04 Notice.BorderSizePixel = 0 Notice.ZIndex = 101 Notice.Parent = SpawnNoticeHolder addCorner(Notice, 11) local NoticeStroke = addStroke(Notice, COLORS.Accent, 2, 1) local NoticeScale = Instance.new("UIScale") NoticeScale.Scale = 0.72 NoticeScale.Parent = Notice local NoticeGradient = Instance.new("UIGradient") NoticeGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(38, 20, 5)), ColorSequenceKeypoint.new(0.48, Color3.fromRGB(12, 13, 22)), ColorSequenceKeypoint.new(1, Color3.fromRGB(5, 6, 13)), }) NoticeGradient.Rotation = 8 NoticeGradient.Parent = Notice local Dot = Instance.new("Frame") Dot.Size = UDim2.fromOffset(11, 11) Dot.Position = UDim2.fromOffset(14, 20) Dot.BackgroundColor3 = COLORS.Accent Dot.BorderSizePixel = 0 Dot.ZIndex = 102 Dot.Parent = Notice addCorner(Dot, 6) local DotStroke = addStroke(Dot, Color3.fromRGB(255, 214, 150), 2, 0.25) local Message = makeLabel(Notice, "Message", displayMessage, UDim2.new(1, -54, 0, 28), UDim2.fromOffset(38, 2), 15, COLORS.White, Enum.Font.GothamBold) Message.ZIndex = 102 local Subtitle = makeLabel(Notice, "Subtitle", subtitleText, UDim2.new(1, -54, 0, 13), UDim2.fromOffset(38, 30), 8, COLORS.Dim, Enum.Font.GothamBold) Subtitle.ZIndex = 102 local ProgressTrack = Instance.new("Frame") ProgressTrack.Name = "ProgressTrack" ProgressTrack.Size = UDim2.new(1, -20, 0, 2) ProgressTrack.Position = UDim2.new(0, 10, 1, -4) ProgressTrack.BackgroundColor3 = Color3.fromRGB(55, 40, 25) ProgressTrack.BorderSizePixel = 0 ProgressTrack.ZIndex = 102 ProgressTrack.Parent = Notice addCorner(ProgressTrack, 1) local Progress = Instance.new("Frame") Progress.Name = "Progress" Progress.Size = UDim2.fromScale(1, 1) Progress.BackgroundColor3 = COLORS.Accent Progress.BorderSizePixel = 0 Progress.ZIndex = 103 Progress.Parent = ProgressTrack addCorner(Progress, 1) Notice.BackgroundTransparency = 1 Message.TextTransparency = 1 Subtitle.TextTransparency = 1 TweenService:Create(NoticeScale, TweenInfo.new(0.42, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Scale = 1}):Play() TweenService:Create(Notice, TweenInfo.new(0.25, Enum.EasingStyle.Quad), {BackgroundTransparency = 0.04}):Play() TweenService:Create(NoticeStroke, TweenInfo.new(0.3), {Transparency = 0.08}):Play() TweenService:Create(Message, TweenInfo.new(0.28), {TextTransparency = 0}):Play() TweenService:Create(Subtitle, TweenInfo.new(0.35), {TextTransparency = 0}):Play() TweenService:Create(Progress, TweenInfo.new(4, Enum.EasingStyle.Linear), {Size = UDim2.new(0, 0, 1, 0)}):Play() local Pulse = TweenService:Create(Dot, TweenInfo.new(0.55, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), { BackgroundColor3 = Color3.fromRGB(255, 215, 145), Size = UDim2.fromOffset(14, 14), Position = UDim2.fromOffset(12, 19), }) Pulse:Play() local GlowPulse = TweenService:Create(DotStroke, TweenInfo.new(0.55, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {Transparency = 0.8}) GlowPulse:Play() task.delay(4, function() if not Notice.Parent then return end Pulse:Cancel() GlowPulse:Cancel() TweenService:Create(NoticeScale, TweenInfo.new(0.28, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Scale = 0.7}):Play() TweenService:Create(Notice, TweenInfo.new(0.25), {BackgroundTransparency = 1}):Play() TweenService:Create(NoticeStroke, TweenInfo.new(0.22), {Transparency = 1}):Play() TweenService:Create(Message, TweenInfo.new(0.2), {TextTransparency = 1}):Play() TweenService:Create(Subtitle, TweenInfo.new(0.18), {TextTransparency = 1}):Play() task.wait(0.3) if Notice then Notice:Destroy() end end) end local lagNoticeVisible = false local lastLagNoticeAt = 0 local lagNoticeSuppressedUntil = 0 local fpsBoostApplied = false featureStates.__spawnNotificationPauseToken = 0 local function applyLocalFpsBoost() if fpsBoostApplied then return end fpsBoostApplied = true pcall(function() UserSettings().GameSettings.SavedQualityLevel = Enum.SavedQualitySetting.QualityLevel1 end) pcall(function() local lighting = game:GetService("Lighting") lighting.GlobalShadows = false for _, effect in ipairs(lighting:GetChildren()) do if effect:IsA("PostEffect") then effect.Enabled = false end end end) pcall(function() for _, object in ipairs(workspace:GetDescendants()) do if object:IsA("ParticleEmitter") or object:IsA("Trail") or object:IsA("Beam") or object:IsA("Smoke") or object:IsA("Fire") or object:IsA("Sparkles") then object.Enabled = false end end end) end featureStates.__pauseSpawnNotificationsForTenMinutes = function() featureStates.__spawnNotificationPauseToken = featureStates.__spawnNotificationPauseToken + 1 local token = featureStates.__spawnNotificationPauseToken lagNoticeSuppressedUntil = os.clock() + 600 if featureStates.__setSpawnNotifications then featureStates.__setSpawnNotifications(false) end task.delay(600, function() if token ~= featureStates.__spawnNotificationPauseToken then return end if not GUI or not GUI.Parent then return end if not _brainrotManualOff and featureStates.__setSpawnNotifications then featureStates.__setSpawnNotifications(true) end end) end local function showLagNotice(fps) if lagNoticeVisible then return end lagNoticeVisible = true local notice = Instance.new("Frame") notice.Name = "LagNotice" notice.Size = UDim2.fromOffset(340, 100) notice.BackgroundColor3 = Color3.fromRGB(8, 10, 18) notice.BorderSizePixel = 0 notice.ZIndex = 110 notice.Parent = SpawnNoticeHolder addCorner(notice, 11) local stroke = addStroke(notice, COLORS.Accent, 2, 0.08) local title = makeLabel(notice, "Title", "You are lagging", UDim2.new(1, -20, 0, 25), UDim2.fromOffset(10, 8), 15, COLORS.White, Enum.Font.GothamBold) title.ZIndex = 111 local detail = makeLabel(notice, "Detail", string.format("FPS is around %d", math.max(1, math.floor(fps))), UDim2.new(1, -20, 0, 16), UDim2.fromOffset(10, 32), 9, COLORS.Dim, Enum.Font.GothamMedium) detail.ZIndex = 111 local stop = Instance.new("TextButton") stop.Name = "StopLagging" stop.Size = UDim2.fromOffset(145, 25) stop.Position = UDim2.fromOffset(14, 64) stop.BackgroundColor3 = COLORS.Accent stop.BorderSizePixel = 0 stop.AutoButtonColor = true stop.Text = "Stop Lagging" stop.TextColor3 = COLORS.White stop.TextSize = 10 stop.Font = Enum.Font.GothamBold stop.ZIndex = 111 stop.Parent = notice addCorner(stop, 6) local continueButton = stop:Clone() continueButton.Name = "ContinueAnyway" continueButton.Position = UDim2.fromOffset(181, 64) continueButton.BackgroundColor3 = COLORS.Control continueButton.Text = "Continue Anyway" continueButton.Parent = notice local function closeNotice() lagNoticeVisible = false if notice then notice:Destroy() end end stop.Activated:Connect(function() applyLocalFpsBoost() featureStates.__pauseSpawnNotificationsForTenMinutes() closeNotice() end) continueButton.Activated:Connect(function() lagNoticeSuppressedUntil = os.clock() + 600 closeNotice() end) notice.BackgroundTransparency = 1 title.TextTransparency = 1 detail.TextTransparency = 1 TweenService:Create(notice, TweenInfo.new(0.22), {BackgroundTransparency = 0.04}):Play() TweenService:Create(stroke, TweenInfo.new(0.22), {Transparency = 0.08}):Play() TweenService:Create(title, TweenInfo.new(0.22), {TextTransparency = 0}):Play() TweenService:Create(detail, TweenInfo.new(0.28), {TextTransparency = 0}):Play() end task.spawn(function() local frames, elapsed = 0, 0 while GUI and GUI.Parent do local dt = RunService.RenderStepped:Wait() if autoWriteEnabled then local now = os.clock() if now >= lagNoticeSuppressedUntil and dt > 0.25 and now - lastLagNoticeAt > 15 then lastLagNoticeAt = now showLagNotice(1 / math.max(dt, 0.001)) end frames = frames + 1 elapsed = elapsed + dt if elapsed >= 1 then local fps = frames / elapsed frames, elapsed = 0, 0 now = os.clock() if now >= lagNoticeSuppressedUntil and fps < 35 and now - lastLagNoticeAt > 15 then lastLagNoticeAt = now showLagNotice(fps) end end else frames, elapsed = 0, 0 end end end) local COCOX_PRESENCE_URL = "https://coco-x-user--52fgnzd64s.replit.app/api/presence" local COCOX_TAG_NAME = "CocoXUserTag" local function removeCocoXTag(player) local character = player and player.Character if not character then return end local head = character:FindFirstChild("Head") local oldTag = head and head:FindFirstChild(COCOX_TAG_NAME) if oldTag then oldTag:Destroy() end end local function ensureCocoXTag(player) local character = player and player.Character local head = character and character:FindFirstChild("Head") if not head then return end local tag = head:FindFirstChild(COCOX_TAG_NAME) if not tag then tag = Instance.new("BillboardGui") tag.Name = COCOX_TAG_NAME tag.Adornee = head tag.Size = UDim2.fromOffset(190, 27) tag.StudsOffset = Vector3.new(0, 2.85, 0) tag.AlwaysOnTop = true tag.MaxDistance = 120 tag.LightInfluence = 0 tag.Parent = head end tag.Size = UDim2.fromOffset(190, 27) tag.StudsOffset = Vector3.new(0, 2.85, 0) tag.AlwaysOnTop = true tag.MaxDistance = 120 tag.LightInfluence = 0 local panel = tag:FindFirstChild("Panel") if not panel then panel = Instance.new("Frame") panel.Name = "Panel" panel.Size = UDim2.fromScale(1, 1) panel.BackgroundColor3 = Color3.fromRGB(7, 8, 16) panel.BackgroundTransparency = 0.04 panel.BorderSizePixel = 0 panel.ZIndex = 1 panel.Parent = tag addCorner(panel, 14) addStroke(panel, COLORS.Accent, 1, 0.18) local dot = Instance.new("Frame") dot.Name = "Dot" dot.Size = UDim2.fromOffset(9, 9) dot.Position = UDim2.fromOffset(8, 9) dot.BackgroundColor3 = COLORS.Accent dot.BorderSizePixel = 0 dot.ZIndex = 2 dot.Parent = panel addCorner(dot, 5) addStroke(dot, Color3.fromRGB(255, 205, 120), 1, 0.2) end local label = panel:FindFirstChild("Label") or tag:FindFirstChild("Label") if not label then label = Instance.new("TextLabel") label.Name = "Label" label.Size = UDim2.new(1, -28, 1, 0) label.Position = UDim2.fromOffset(24, 0) label.BackgroundTransparency = 1 label.Font = Enum.Font.GothamBold label.TextSize = 12 label.TextColor3 = COLORS.Accent label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) label.TextStrokeTransparency = 0.65 label.TextXAlignment = Enum.TextXAlignment.Left label.TextYAlignment = Enum.TextYAlignment.Center label.TextScaled = false label.ZIndex = 2 label.Parent = panel elseif label.Parent ~= panel then label.Parent = panel label.Size = UDim2.new(1, -28, 1, 0) label.Position = UDim2.fromOffset(24, 0) label.ZIndex = 2 end if label then label.TextColor3 = COLORS.Accent label.Font = Enum.Font.GothamBold label.TextSize = 12 label.TextXAlignment = Enum.TextXAlignment.Left label.TextYAlignment = Enum.TextYAlignment.Center label.Text = tostring(player.UserId) == "10260353484" and "CocoX [OWNER]" or "CocoX [USER]" end end local function updateCocoXTags(users) local activeIds = {} for _, user in ipairs(type(users) == "table" and users or {}) do if type(user) == "table" and user.userId ~= nil then activeIds[tostring(user.userId)] = true end end for _, player in ipairs(Players:GetPlayers()) do if activeIds[tostring(player.UserId)] then ensureCocoXTag(player) else removeCocoXTag(player) end end end local function sendCocoXPresenceHeartbeat() local body = HttpService:JSONEncode({ userId = tostring(LocalPlayer.UserId), username = LocalPlayer.Name, }) local options = { Url = COCOX_PRESENCE_URL, Method = "POST", Headers = { ["Content-Type"] = "application/json" }, Body = body, } local requestFunction = (syn and syn.request) or (http and http.request) or http_request or request local success, response if type(requestFunction) == "function" then success, response = pcall(requestFunction, options) else success, response = pcall(function() return HttpService:RequestAsync(options) end) end if not success or not response then return end local status = tonumber(response.StatusCode or response.Status or response.status_code) if response.Success ~= true and not (status and status >= 200 and status < 300) then return end local responseBody = response.Body or response.body if type(responseBody) ~= "string" then return end local decodedOk, decoded = pcall(function() return HttpService:JSONDecode(responseBody) end) if decodedOk and type(decoded) == "table" and decoded.success == true then updateCocoXTags(decoded.users) end end Players.PlayerRemoving:Connect(removeCocoXTag) task.spawn(function() while GUI and GUI.Parent do pcall(sendCocoXPresenceHeartbeat) task.wait(6) end end) local brainrotWatcherConnections = {} local brainrotWatcherRunning = false local brainrotWatcherToken = 0 local brainrotWatched = setmetatable({}, {__mode = "k"}) local function addBrainrotWatcherConnection(connection) brainrotWatcherConnections[#brainrotWatcherConnections + 1] = connection return connection end stopBrainrotSpawnWatcher = function() brainrotWatcherRunning = false brainrotWatcherToken = brainrotWatcherToken + 1 for _, connection in ipairs(brainrotWatcherConnections) do pcall(function() connection:Disconnect() end) end brainrotWatcherConnections = {} brainrotWatched = setmetatable({}, {__mode = "k"}) for _, child in ipairs(SpawnNoticeHolder:GetChildren()) do if child.Name == "SpawnNotice" then pcall(function() child:Destroy() end) end end end startBrainrotSpawnWatcher = function() if brainrotWatcherRunning or not _showBrainrotSpawned then return end brainrotWatcherRunning = true brainrotWatcherToken = brainrotWatcherToken + 1 local thisToken = brainrotWatcherToken brainrotWatched = setmetatable({}, {__mode = "k"}) recentSpawnNotices = {} local function isRunning() return _showBrainrotSpawned and brainrotWatcherRunning and thisToken == brainrotWatcherToken and GUI and GUI.Parent end local function readObjectText(object) local text = "" pcall(function() text = object.ContentText end) if text == "" then pcall(function() text = object.Text end) end return tostring(text or "") end local function watch(object) if not isRunning() or not object or not object.Parent then return end if not (object:IsA("TextLabel") or object:IsA("TextButton") or object:IsA("TextBox")) then return end if isOurGui(object) or brainrotWatched[object] then return end brainrotWatched[object] = {lastText = nil, lastNotifiedText = nil} local function check() if not isRunning() or not object.Parent then return end local text = readObjectText(object) local state = brainrotWatched[object] if not state or text == state.lastText then return end state.lastText = text local soldOut = featureStates.__isCodeSoldOutMessage(text) local name = extractSpawnedBrainrot(text) if soldOut and state.lastNotifiedText ~= text then state.lastNotifiedText = text showBrainrotSpawnNotice("CodeSoldOut", "Try Again Son 😭", "CODE SOLD OUT", true) elseif name and state.lastNotifiedText ~= text then state.lastNotifiedText = text showBrainrotSpawnNotice(name) elseif not name and not soldOut then state.lastNotifiedText = nil end end check() addBrainrotWatcherConnection(object:GetPropertyChangedSignal("Text"):Connect(check)) local contentOk, contentConnection = pcall(function() return object:GetPropertyChangedSignal("ContentText"):Connect(check) end) if contentOk and contentConnection then addBrainrotWatcherConnection(contentConnection) end addBrainrotWatcherConnection(object:GetPropertyChangedSignal("Visible"):Connect(check)) end addBrainrotWatcherConnection(pg.DescendantAdded:Connect(function(object) if not isRunning() then return end task.defer(function() watch(object) end) end)) task.spawn(function() local initialObjects = pg:GetDescendants() for index, object in ipairs(initialObjects) do if not isRunning() then return end watch(object) if index % 25 == 0 then task.wait() end end end) task.spawn(function() while isRunning() do task.wait(4) if not isRunning() then break end for object, state in pairs(brainrotWatched) do if not isRunning() then break end if object and object.Parent and state and not isOurGui(object) then local text = readObjectText(object) local soldOut = featureStates.__isCodeSoldOutMessage(text) local name = extractSpawnedBrainrot(text) if soldOut and state.lastNotifiedText ~= text then state.lastText = text state.lastNotifiedText = text showBrainrotSpawnNotice("CodeSoldOut", "Try Again Son 😭", "CODE SOLD OUT", true) elseif name and state.lastNotifiedText ~= text then state.lastText = text state.lastNotifiedText = text showBrainrotSpawnNotice(name) elseif not name and not soldOut then state.lastText = text state.lastNotifiedText = nil end end end end end) end TweenService:Create(Window, TweenInfo.new(0.55, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Position = WindowOpenPosition, }):Play() do local dragging = false local activeDragInput local dragStart local startPosition local dragMoved = false local DRAG_THRESHOLD = UserInputService.TouchEnabled and 10 or 3 local function isOverHeaderControl(position) local btnPos = AutoWriteButton.AbsolutePosition local btnSize = AutoWriteButton.AbsoluteSize return position.X >= (btnPos.X - 10) and position.X <= (btnPos.X + btnSize.X + 10) and position.Y >= (btnPos.Y - 10) and position.Y <= (btnPos.Y + btnSize.Y + 10) end local function stopDragging(input) if input ~= activeDragInput then return end dragging = false activeDragInput = nil dragStart = nil startPosition = nil local targetScale = InterfaceScale.Scale TweenService:Create(InterfaceScale, TweenInfo.new(0.08, Enum.EasingStyle.Quad), { Scale = targetScale * 0.975, }):Play() task.delay(0.08, function() if InterfaceScale and InterfaceScale.Parent then TweenService:Create(InterfaceScale, TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Scale = targetScale, }):Play() end end) end Header.InputBegan:Connect(function(input) if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then return end if dragging or isOverHeaderControl(input.Position) then return end dragging = true activeDragInput = input dragStart = Vector2.new(input.Position.X, input.Position.Y) startPosition = Window.Position dragMoved = false input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End or input.UserInputState == Enum.UserInputState.Cancel then stopDragging(input) end end) end) UserInputService.InputChanged:Connect(function(input) if not dragging or not activeDragInput then return end local isTrackedTouch = activeDragInput.UserInputType == Enum.UserInputType.Touch and input == activeDragInput local isTrackedMouse = activeDragInput.UserInputType == Enum.UserInputType.MouseButton1 and input.UserInputType == Enum.UserInputType.MouseMovement if not isTrackedTouch and not isTrackedMouse then return end local current = Vector2.new(input.Position.X, input.Position.Y) local delta = current - dragStart if not dragMoved then if delta.Magnitude < DRAG_THRESHOLD then return end dragMoved = true end Window.Position = UDim2.new( startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y ) end) end local function col3ToRich(col) if col == COLORS.Green then return CONSOLE_COLORS.Green end if col == COLORS.Red then return CONSOLE_COLORS.Red end if col == COLORS.Text then return CONSOLE_COLORS.Amber end if col == COLORS.White then return CONSOLE_COLORS.Cyan end if col == COLORS.Dim then return CONSOLE_COLORS.Dim end return string.format("rgb(%d,%d,%d)", math.floor(col.R * 255 + 0.5), math.floor(col.G * 255 + 0.5), math.floor(col.B * 255 + 0.5)) end function setStatus(msg, col) if not ConsoleOutput or not _enabled then return end if msg == _lastStatusMsg then return end _lastStatusMsg = msg col = col or COLORS.Dim local line = '' .. tostring(msg) .. "" if ConsoleOutput.Text == "" then ConsoleOutput.Text = line else ConsoleOutput.Text = ConsoleOutput.Text .. "\n\n" .. line end scrollConsoleToBottom() end function flashCode(code, col) if not code or code == "" or code == "—" then return end setStatus("[code] -> " .. tostring(code), col or COLORS.White) end local function resetPasteCounter() _capturedParts = {} end clearAceCapture = function() _capturedParts = {} end local function clearBoxWatchers() if _boxTextConn then pcall(function() _boxTextConn:Disconnect() end) end if _boxAncestryConn then pcall(function() _boxAncestryConn:Disconnect() end) end for _, connection in ipairs(_boxVisibilityConns) do pcall(function() connection:Disconnect() end) end _boxTextConn = nil _boxAncestryConn = nil _boxVisibilityConns = {} _lastWatchedBox = nil end local function watchBoxForBlankReset(box) if not box or _lastWatchedBox == box then return end clearBoxWatchers() _lastWatchedBox = box if box.Text ~= "" then _lastNonBlankBoxText = box.Text end _boxTextConn = box:GetPropertyChangedSignal("Text"):Connect(function() if box.Text == "" then if _submitAfter ~= 0 then resetPasteCounter() end else _lastNonBlankBoxText = box.Text end end) _boxAncestryConn = box.AncestryChanged:Connect(function(_, parent) if not parent and _submitAfter ~= 0 then resetPasteCounter() end clearBoxWatchers() end) end if UserInputService and UserInputService.TextBoxFocused then UserInputService.TextBoxFocused:Connect(function(box) if box:IsDescendantOf(GUI) then return end if box ~= aceCodeBox() then return end _focused = box _lastBox = box watchBoxForBlankReset(box) if _enabled then setStatus("Ready", COLORS.Green) end end) UserInputService.TextBoxFocusReleased:Connect(function(box) if box:IsDescendantOf(GUI) then return end local codeBox = aceCodeBox() if box ~= codeBox and box ~= _lastBox then return end if _retypeInvalid and rememberPendingSubmission and (box == codeBox or box == _lastBox) then local submittedText = box.Text ~= "" and box.Text or _lastNonBlankBoxText rememberPendingSubmission(box, submittedText, false) end if _focused == box then _focused = nil if _enabled then setStatus((_lastBox and _lastBox.Parent) and "Ready" or "Click code box first", (_lastBox and _lastBox.Parent) and COLORS.Green or COLORS.Dim) end end end) end clearPendingSubmission = function() _pendingRejectedToken = _pendingRejectedToken + 1 _pendingRejectedText = nil _pendingRejectedBox = nil _pendingRejectedUntil = 0 end rememberPendingSubmission = function(box, text, replaceExisting) if not _retypeInvalid or not text or text == "" then return end if not replaceExisting and _pendingRejectedText and os.clock() <= _pendingRejectedUntil then return end _pendingRejectedToken = _pendingRejectedToken + 1 local token = _pendingRejectedToken _pendingRejectedText = text _pendingRejectedBox = box _pendingRejectedUntil = os.clock() + 8 task.delay(8, function() if token == _pendingRejectedToken then clearPendingSubmission() end end) end local function restoreRejectedText(box, previousText) if not _retypeInvalid or not previousText or previousText == "" then return false end RunService.Heartbeat:Wait() local repasteBox = aceCodeBox() or box if not repasteBox or not isVisibleChain(repasteBox) then return false end local restored = pcall(function() repasteBox.Text = previousText end) if restored then _lastBox = repasteBox watchBoxForBlankReset(repasteBox) end return restored end handleRedemptionFeedback = function(text, feedbackObject) if feedbackObject and feedbackObject:IsDescendantOf(GUI) then return end local lower = tostring(text or ""):lower() if _submitAfter == 0 then local accepted = lower:find("successfully redeemed", 1, true) or lower:find("code redeemed", 1, true) or lower:find("redeemed successfully", 1, true) or lower:find("code accepted", 1, true) or lower:find("success", 1, true) if accepted then resetPasteCounter() clearPendingSubmission() setStatus("Valid code - Every chain reset", COLORS.Green) return end end if not _retypeInvalid or not _pendingRejectedText then return end if os.clock() > _pendingRejectedUntil then clearPendingSubmission() return end local rejected = lower:find("invalid code", 1, true) or lower:find("code is invalid", 1, true) or lower:find("expired", 1, true) or lower:find("already redeemed", 1, true) or lower:find("already used", 1, true) or lower:find("doesn't exist", 1, true) or lower:find("does not exist", 1, true) or lower:find("not found", 1, true) or lower:find("rejected", 1, true) if not rejected then return end local previousText = _pendingRejectedText local previousBox = _pendingRejectedBox local restored = restoreRejectedText(previousBox, previousText) clearPendingSubmission() if restored then setStatus("Invalid - repasted: " .. previousText, COLORS.Text) flashCode(previousText, COLORS.Red) end end function appendToBox(text) if not text or text == "" then return end if text == "I don't know" and _capturedParts[#_capturedParts] == "I don't know" then return end if _lastWatchedBox and not isVisibleChain(_lastWatchedBox) then resetPasteCounter() clearBoxWatchers() end local box = aceCodeBox() local cleanText = text:gsub("%s+", "") _capturedParts[#_capturedParts + 1] = cleanText local combinedCode = table.concat(_capturedParts) local capturedCount = #_capturedParts if box then _lastBox = box watchBoxForBlankReset(box) local boxWasFocused = UserInputService and UserInputService:GetFocusedTextBox() == box or false box.Text = combinedCode if boxWasFocused then pcall(function() local caretEnd = #combinedCode + 1 box.CursorPosition = caretEnd box.SelectionStart = caretEnd end) end else setStatus("Captured; opening & searching UI...", COLORS.Text) end local submitTarget = _submitAfter == 0 and "Every" or tostring(_submitAfter) setStatus("Pasted " .. tostring(capturedCount) .. "/" .. submitTarget, COLORS.Green) flashCode(combinedCode, COLORS.Green) if _submitAfter == 0 or capturedCount >= _submitAfter then if _submitAfter ~= 0 then _capturedParts = {} end if _autoAccept then rememberPendingSubmission(box, combinedCode, true) local ok, statusMsg = typeAndSubmitCode(combinedCode) if ok then setStatus("Redeemed: " .. combinedCode, COLORS.Green) else local restored = restoreRejectedText(box, combinedCode) clearPendingSubmission() if restored then setStatus("Invalid - repasted: " .. combinedCode, COLORS.Text) flashCode(combinedCode, COLORS.Red) else setStatus("Failed: " .. tostring(statusMsg), COLORS.Red) end end end end end local function watchRedemptionFeedbackObject(obj) if not (obj:IsA("TextLabel") or obj:IsA("TextButton")) then return end handleRedemptionFeedback(obj.Text or "", obj) obj:GetPropertyChangedSignal("Text"):Connect(function() handleRedemptionFeedback(obj.Text or "", obj) end) end for _, obj in ipairs(pg:GetDescendants()) do watchRedemptionFeedbackObject(obj) end pg.DescendantAdded:Connect(function(obj) task.wait(0.04) watchRedemptionFeedbackObject(obj) end) -- Riddle Solver uses the same Ace notification/message source as Code Typer. -- It is handled inside aceNotifyRemote.OnClientEvent above. -- Riddle Solver also watches visible game question labels because some Sammy -- questions are rendered directly on-screen and do not pass through the Ace -- notification remote used by Code Typer. local riddleVisibleWatched = setmetatable({}, {__mode = "k"}) local function watchVisibleRiddleLabel(obj) if riddleVisibleWatched[obj] then return end if not (obj:IsA("TextLabel") or obj:IsA("TextButton")) then return end if isOurGui(obj) then return end riddleVisibleWatched[obj] = true local last = "" local function check() if not _riddleEnabled or not obj.Parent or isOurGui(obj) then return end local value = tostring(obj.Text or ""):gsub("<[^>]->", ""):match("^%s*(.-)%s*$") or "" if value == "" or value == last then return end if not isVisibleChain(obj) then return end last = value if looksLikeRiddleQuestion(value) then task.spawn(function() pcall(solveRiddleQuestion, value) end) end end check() obj:GetPropertyChangedSignal("Text"):Connect(check) obj:GetPropertyChangedSignal("Visible"):Connect(check) end for _, obj in ipairs(pg:GetDescendants()) do pcall(watchVisibleRiddleLabel, obj) end pg.DescendantAdded:Connect(function(obj) task.wait() pcall(watchVisibleRiddleLabel, obj) end) task.wait(0.05) if _showBrainrotSpawned then startBrainrotSpawnWatcher() end task.wait(0.05) end -- Show the Big C loader first, then run the redeemer. pcall(startCocoXLoadingScreen) task.wait(0.35) -- let it render before startRedeemer swaps in the warning startRedeemer()