-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- Serviços do Roblox local Players = game:GetService("Players") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local AlvoAtual = nil local NomeDoAlvo = "" local LockOnAtivo = false local ImasAtivo = false --------------------------------------------------------- -- CREATION DA INTERFACE (Via CoreGui para evitar detecção) --------------------------------------------------------- -- Cria a estrutura básica da tela local ScreenGui = Instance.new("ScreenGui") -- Tenta injetar no CoreGui (esconde de ferramentas de print comuns), se falhar usa PlayerGui pcall(function() ScreenGui.Parent = CoreGui end) if not ScreenGui.Parent then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end -- Painel Principal local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 220, 0, 200) MainFrame.Position = UDim2.new(0.05, 0, 0.3, 0) -- Canto esquerdo da tela MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.BorderSizePixel = 2 MainFrame.BorderColor3 = Color3.fromRGB(0, 0, 0) MainFrame.Active = true MainFrame.Draggable = true -- Você pode arrastar o menu pela tela MainFrame.Parent = ScreenGui -- Título do Menu local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundColor3 = Color3.fromRGB(45, 45, 45) Title.Text = "PAINEL DE TESTES V1" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.SourceSansBold Title.TextSize = 14 Title.Parent = MainFrame -- Caixa de Texto para o Nickname local TextBox = Instance.new("TextBox") TextBox.Size = UDim2.new(0.9, 0, 0, 35) TextBox.Position = UDim2.new(0.05, 0, 0.2, 0) TextBox.BackgroundColor3 = Color3.fromRGB(20, 20, 20) TextBox.TextColor3 = Color3.fromRGB(255, 255, 255) TextBox.PlaceholderText = "Digitar parte do Nick..." TextBox.Text = "" TextBox.Font = Enum.Font.SourceSans TextBox.TextSize = 14 TextBox.Parent = MainFrame -- Botão de Lock-on local BtnLock = Instance.new("TextButton") BtnLock.Size = UDim2.new(0.9, 0, 0, 35) BtnLock.Position = UDim2.new(0.05, 0, 0.45, 0) BtnLock.BackgroundColor3 = Color3.fromRGB(150, 50, 50) -- Vermelho (Inativo) BtnLock.Text = "LOCK-ON: DESATIVADO" BtnLock.TextColor3 = Color3.fromRGB(255, 255, 255) BtnLock.Font = Enum.Font.SourceSansBold BtnLock.TextSize = 14 BtnLock.Parent = MainFrame -- Botão do Ímã local BtnIma = Instance.new("TextButton") BtnIma.Size = UDim2.new(0.9, 0, 0, 35) BtnIma.Position = UDim2.new(0.05, 0, 0.7, 0) BtnIma.BackgroundColor3 = Color3.fromRGB(150, 50, 50) -- Vermelho (Inativo) BtnIma.Text = "ÍMÃ: DESATIVADO" BtnIma.TextColor3 = Color3.fromRGB(255, 255, 255) BtnIma.Font = Enum.Font.SourceSansBold BtnIma.TextSize = 14 BtnIma.Parent = MainFrame --------------------------------------------------------- -- LÓGICA DE FUNCIONAMENTO E INTERAÇÃO --------------------------------------------------------- -- Atualiza o nome do alvo quando você terminar de digitar TextBox.FocusLost:Connect(function(enterPressed) NomeDoAlvo = TextBox.Text AlvoAtual = nil -- Reseta o alvo anterior para buscar o novo nick inserido end) -- Alterna o estado do Lock-on ao clicar BtnLock.MouseButton1Click:Connect(function() LockOnAtivo = not LockOnAtivo if LockOnAtivo then BtnLock.BackgroundColor3 = Color3.fromRGB(50, 150, 50) -- Verde BtnLock.Text = "LOCK-ON: ATIVADO" else BtnLock.BackgroundColor3 = Color3.fromRGB(150, 50, 50) -- Vermelho BtnLock.Text = "LOCK-ON: DESATIVADO" end end) -- Alterna o estado do Ímã ao clicar BtnIma.MouseButton1Click:Connect(function() ImasAtivo = not ImasAtivo if ImasAtivo then BtnIma.BackgroundColor3 = Color3.fromRGB(50, 150, 50) -- Verde BtnIma.Text = "ÍMÃ: ATIVADO" else BtnIma.BackgroundColor3 = Color3.fromRGB(150, 50, 50) -- Vermelho BtnIma.Text = "ÍMÃ: DESATIVADO" end end) -- Função de busca estruturada local function buscarJogador(nomeParcial) if nomeParcial == "" then return nil end for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then if string.sub(string.lower(player.Name), 1, string.len(nomeParcial)) == string.lower(nomeParcial) then return player end end end return nil end -- Loop centralizado de física e câmera RunService.RenderStepped:Connect(function() -- Procura o alvo se as funções estiverem ligadas e não houver um alvo fixado if (LockOnAtivo or ImasAtivo) and not AlvoAtual then local jogadorEncontrado = buscarJogador(NomeDoAlvo) if jogadorEncontrado and jogadorEncontrado.Character then AlvoAtual = jogadorEncontrado.Character end end local MeuChar = LocalPlayer.Character if AlvoAtual and AlvoAtual:FindFirstChild("HumanoidRootPart") and MeuChar and MeuChar:FindFirstChild("HumanoidRootPart") then local PosicaoAlvo = AlvoAtual.HumanoidRootPart.Position local MinhaPosicao = MeuChar.HumanoidRootPart.Position -- Executa o Lock-on se o botão estiver verde if LockOnAtivo then Camera.CFrame = CFrame.new(Camera.CFrame.Position, PosicaoAlvo) end -- Executa o Ímã se o botão estiver verde if ImasAtivo then local Distancia = (PosicaoAlvo - MinhaPosicao).Magnitude if Distancia > 4 then local Direcao = (PosicaoAlvo - MinhaPosicao).Unit MeuChar.HumanoidRootPart.CFrame = CFrame.new(MinhaPosicao + Direcao * 1.5, PosicaoAlvo) end end else -- Limpa o alvo se ele sumir ou morrer AlvoAtual = nil end end)