CCCPaste

0df5cf04eb98b

-- Grok's Mobile Steal a Brainrot Script for KRNL (Oct 2025)
-- Comandos en chat: /steal on/off, /speed on/off, /tp (teleport a brainrot cercano)
-- Escribe en chat de Roblox para activar

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer

-- Variables
getgenv().AutoSteal = false
getgenv().SpeedEnabled = false
getgenv().WalkSpeed = 16

-- Anti-Kick Bypass (básico para móvil)
local mt = getrawmetatable(game)
local old = mt.__namecall
setreadonly(mt, false)
mt.__namecall = newcclosure(function(self, ...)
    if getnamecallmethod() == "Kick" then return end
    return old(self, ...)
end)
setreadonly(mt, true)

-- Noclip simple (siempre activo para móvil)
local function noclip()
    local char = player.Character
    if char then
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    end
end
RunService.Stepped:Connect(noclip)

-- Auto Steal Function
local function autoSteal()
    if not getgenv().AutoSteal then return end
    local char = player.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    
    for _, obj in pairs(workspace:GetChildren()) do
        if string.find(obj.Name, "Brainrot") and obj:FindFirstChild("Owner") and obj.Owner.Value ~= player then
            char.HumanoidRootPart.CFrame = obj.CFrame * CFrame.new(0, 3, 0)
            wait(0.2)
            local remotes = ReplicatedStorage:FindFirstChild("Remotes")
            if remotes then
                local stealRemote = remotes:FindFirstChild("Steal") or remotes:FindFirstChild("StealRemote")
                if stealRemote then
                    stealRemote:FireServer(obj)
                    print("¡Robado: " .. obj.Name .. "!")
                end
            end
            wait(0.5)
        end
    end
end

-- Speed Update
local function updateSpeed()
    local char = player.Character
    if char and char:FindFirstChild("Humanoid") then
        char.Humanoid.WalkSpeed = getgenv().SpeedEnabled and 40 or getgenv().WalkSpeed  -- 40 para móvil sin lag
    end
end

-- Teleport Function
local function tpToBrainrot()
    local char = player.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    local closest = nil
    local minDist = math.huge
    for _, obj in pairs(workspace:GetChildren()) do
        if string.find(obj.Name, "Brainrot") and obj:FindFirstChild("Owner") and obj.Owner.Value ~= player then
            local dist = (char.HumanoidRootPart.Position - obj.Position).Magnitude
            if dist < minDist then
                minDist = dist
                closest = obj
            end
        end
    end
    if closest then
        char.HumanoidRootPart.CFrame = closest.CFrame
        print("¡TP a " .. closest.Name .. "!")
    else
        print("¡No hay brainrots cerca!")
    end
end

-- Chat Commands (para móvil: escribe en chat)
player.Chatted:Connect(function(msg)
    local lowerMsg = string.lower(msg)
    if lowerMsg == "/steal on" then
        getgenv().AutoSteal = true
        print("Auto Steal: ON")
    elseif lowerMsg == "/steal off" then
        getgenv().AutoSteal = false
        print("Auto Steal: OFF")
    elseif lowerMsg == "/speed on" then
        getgenv().SpeedEnabled = true
        print("Speed: ON")
    elseif lowerMsg == "/speed off" then
        getgenv().SpeedEnabled = false
        print("Speed: OFF")
    elseif lowerMsg == "/tp" then
        tpToBrainrot()
    elseif lowerMsg == "/help" then
        print("Comandos: /steal on/off, /speed on/off, /tp, /help")
    end
end)

-- Loops principales
RunService.Heartbeat:Connect(function()
    autoSteal()
    updateSpeed()
end)

print("¡Script móvil cargado! Usa /help en chat para comandos.")