--[[ SCRIPT COM UI PRÓPRIA - COM BOTÃO DE SUICÍDIO Funcionalidades: - Godmode toggle - Autofarm toggle (com kill switch) - Kick toggle - Anti-spectator toggle - Botão de SUICÍDIO (mata o próprio personagem) --]] -- ============================ SERVIÇOS ============================ local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local CoreGui = game:GetService("CoreGui") -- ============================ BIBLIOTECA DE NOTIFICAÇÕES (FE2Notifs EMBUTIDA) ============================ do local lib = {} local table1 = {} local cloneref = cloneref or function(o) return o end local coregui = CoreGui local _SGUI = Instance.new('ScreenGui', coregui) _SGUI.Name = 'FE2Notifs' local TopFrame = Instance.new("Frame") local UIAspectRatioConstraint = Instance.new("UIAspectRatioConstraint") TopFrame.Name = ";3" TopFrame.Parent = _SGUI TopFrame.BackgroundColor3 = Color3.new(1, 1, 1) TopFrame.BackgroundTransparency = 1 TopFrame.Position = UDim2.new(0.371764719, 0, 0, 0) TopFrame.Size = UDim2.new(0.255882353, 0, 0.0865671635, 0) _SGUI.IgnoreGuiInset = false _SGUI.ResetOnSpawn = false UIAspectRatioConstraint.Parent = TopFrame UIAspectRatioConstraint.AspectRatio = 8.039999961853027 function lib.handleAlert(p56, p57, p58, p59) if p57.Parent == _SGUI[';3'] then local v48 = (p56 > 4 or p58) and p56 or p56 - 1; local v49 = (p56 > 4 or p58) and "In" or "Out"; if p56 > 4 or p58 then p57.ZIndex = 0; table.remove(table1, p56); local TweenInfo_new_ret13 = TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.In); cloneref(TweenService):Create(p57.Alert_Shadow, TweenInfo_new_ret13, { ImageTransparency = 1 }):Play(); cloneref(TweenService):Create(p57.Alert, TweenInfo_new_ret13, { TextTransparency = 1.1, TextStrokeTransparency = 1 }):Play(); task.delay(0.3, function() p57:Destroy(); end); return; end p57:TweenPosition(UDim2.new(0.5, 0, v48, 0), v49, "Sine", 0.325, true); end end function lib.alert(text, clr, tim, special) task.spawn(function() local _TIME = tim or 4.5; local Frame = Instance.new("Frame"); local ImageLabel = Instance.new("ImageLabel"); local TextLabel = Instance.new("TextLabel"); Frame.Name = "Alert_Frame"; Frame.Size = UDim2.new(1, 0, 1, 0); Frame.Position = UDim2.new(0.5, 0, -1, 0); Frame.AnchorPoint = Vector2.new(0.5, 0); Frame.BackgroundTransparency = 1; local UIScale = Instance.new("UIScale"); UIScale.Scale = 0; UIScale.Parent = Frame; ImageLabel.Name = "Alert_Shadow"; ImageLabel.BackgroundTransparency = 1; ImageLabel.Image = "rbxassetid://1057492965"; ImageLabel.ImageTransparency = 0.5; ImageLabel.Size = UDim2.new(1, 0, 1, 0); ImageLabel.Parent = Frame; TextLabel.Name = "Alert"; TextLabel.ZIndex = 3; TextLabel.Text = text; TextLabel.TextColor3 = clr or Color3.new(1, 1, 1); TextLabel.TextScaled = true; TextLabel.Font = "Ubuntu"; TextLabel.TextStrokeTransparency = 0; TextLabel.BackgroundTransparency = 1; TextLabel.BackgroundColor3 = Color3.new(); TextLabel.BorderSizePixel = 0; TextLabel.Size = UDim2.new(1, 0, 1, 0); local UIGradient = Instance.new("UIGradient"); UIGradient.Color = ColorSequence.new(Color3.fromRGB(255, 255, 255), Color3.fromRGB(159, 159, 159)); UIGradient.Rotation = 90; UIGradient.Parent = TextLabel; TextLabel.Parent = Frame; Frame.Parent = _SGUI[';3']; if _TIME > 8 then local Frame2 = Instance.new("Frame", TextLabel); Frame2.BorderSizePixel = 0; Frame2.BackgroundColor3 = clr or Color3.new(1, 1, 1); Frame2.AnchorPoint = Vector2.new(0.5, 0.5); Frame2.Position = UDim2.new(0.5); Frame2.Size = UDim2.new(1, 0, 0.1, 0); Frame2:TweenSize(UDim2.new(0, 0, 0.1, 0), "Out", "Linear", _TIME); local ImageLabel2 = Instance.new("ImageLabel", Frame2); ImageLabel2.Image = "rbxassetid://156579757"; ImageLabel2.Size = UDim2.new(1, 0, 1, 0); ImageLabel2.BackgroundTransparency = 1; ImageLabel2.ImageTransparency = 0.5; end if special == "rainbow" then task.spawn(function() local v85 = 0; while TextLabel and task.wait() do if v85 > 1 then v85 = 0; end TextLabel.TextColor3 = Color3.fromHSV(v85, 1, 1); v85 = v85 + 1 / 120; end end); end local v55 = 1; table.insert(table1, v55, Frame); for index6 = 1, #table1 do lib.handleAlert(index6, table1[index6]); end local TweenInfo_new_ret14 = TweenInfo.new(0.325, Enum.EasingStyle.Quint, Enum.EasingDirection.Out); cloneref(TweenService):Create(Frame.UIScale, TweenInfo_new_ret14, { Scale = 1 }):Play(); cloneref(TweenService):Create(TextLabel, TweenInfo_new_ret14, { TextTransparency = 0, TextStrokeTransparency = 0.1 }):Play(); task.wait(_TIME) if Frame and TextLabel and TextLabel.TextTransparency <= 0 then local v78 = 1; for index10 = 1, #table1 do if table1[index10] == Frame then v78 = index10; break; end end lib.handleAlert(v78, Frame, true, _TIME); end for index7 = 1, #table1 do lib.handleAlert(index7, table1[index7]); end return TextLabel; end) end Notifs = lib end -- ============================ CONFIGURAÇÕES ============================ local Config = { Godmode = { Enabled = false }, Autofarm = { Enabled = false }, Kick = { Enabled = false }, AntiSpectator = { Enabled = false } } -- ============================ VARIÁVEIS GLOBAIS ============================ getgenv().TomatoAutoFarm = false -- ============================ AUTOFARM COM KILL SWITCH ============================ local AutofarmLoaded = false local AutofarmLoadSuccess = false local AutofarmStatusText = "❌ Não carregado" local AutofarmThreads = {} local AutofarmConnections = {} local function killAutofarm() for _, thread in ipairs(AutofarmThreads) do if coroutine.status(thread) == "suspended" or coroutine.status(thread) == "running" then task.cancel(thread) end end AutofarmThreads = {} for _, conn in ipairs(AutofarmConnections) do pcall(function() conn:Disconnect() end) end AutofarmConnections = {} pcall(function() for _, gui in ipairs(CoreGui:GetChildren()) do if gui.Name:lower():match("autofarm") or gui.Name:lower():match("farm") then gui:Destroy() end end end) getgenv().TomatoAutoFarm = false for name, value in pairs(getgenv()) do if type(value) == "function" and tostring(name):lower():match("autofarm") then getgenv()[name] = nil end end Notifs.alert("💀 Autofarm exterminado!", Color3.new(1,0,0), 3) end local function loadAutofarmScripts(attempt) attempt = attempt or 1 local maxAttempts = 3 killAutofarm() Notifs.alert("🔄 Tentativa "..attempt.." de carregar autofarm...", Color3.new(1,1,0), 2) local function wrapScriptLoad(url) local thread = coroutine.create(function() local success, result = pcall(function() return loadstring(game:HttpGet(url))() end) if success then return result else return nil end end) table.insert(AutofarmThreads, thread) coroutine.resume(thread) task.wait(0.5) return true end local success1 = pcall(function() wrapScriptLoad("https://raw.githubusercontent.com/vericodified/AutofarmX/refs/heads/main/Source.lua") end) local success2 = pcall(function() wrapScriptLoad("https://raw.githubusercontent.com/vericodified/AutofarmX/refs/heads/main/Source2.lua") end) AutofarmLoadSuccess = success1 and success2 if AutofarmLoadSuccess then AutofarmLoaded = true AutofarmStatusText = "✅ Carregado" Notifs.alert("✅ Autofarm carregado na tentativa "..attempt.."!", Color3.new(0,1,0), 3) if AutofarmStatusLabel then AutofarmStatusLabel.Text = "Autofarm: " .. AutofarmStatusText end return true else if attempt < maxAttempts then Notifs.alert("⚠️ Falha na tentativa "..attempt..", tentando novamente...", Color3.new(1,0.5,0), 2) task.wait(2) return loadAutofarmScripts(attempt + 1) else AutofarmLoaded = false AutofarmLoadSuccess = false AutofarmStatusText = "❌ Falhou" Notifs.alert("❌ Autofarm não carregado após "..maxAttempts.." tentativas.", Color3.new(1,0,0), 4) if AutofarmStatusLabel then AutofarmStatusLabel.Text = "Autofarm: " .. AutofarmStatusText end return false end end end local function setAutofarmState(state) Config.Autofarm.Enabled = state if state then if not AutofarmLoadSuccess then Notifs.alert("🔄 Autofarm não carregado. Tentando carregar...", Color3.new(1,1,0), 2) task.spawn(function() local success = loadAutofarmScripts() if success then getgenv().TomatoAutoFarm = true Notifs.alert("✅ Autofarm ativado!", Color3.new(0,1,0), 2) else Config.Autofarm.Enabled = false getgenv().TomatoAutoFarm = false end end) else getgenv().TomatoAutoFarm = true Notifs.alert("✅ Autofarm ativado!", Color3.new(0,1,0), 2) end else Notifs.alert("☠️ Exterminando autofarm...", Color3.new(1,0,0), 2) killAutofarm() Notifs.alert("Autofarm desativado permanentemente", Color3.new(1,0,0), 2) end end task.spawn(loadAutofarmScripts) -- ============================ GODMODE ============================ local GodmodeConnection = nil local function setupGodmode(character) if not character then return end local humanoid = character:WaitForChild("Humanoid", 5) if not humanoid then return end if GodmodeConnection then GodmodeConnection:Disconnect() GodmodeConnection = nil end if Config.Godmode.Enabled then GodmodeConnection = humanoid:GetPropertyChangedSignal("Health"):Connect(function() if humanoid and humanoid.Parent then humanoid.Health = 9e9 end end) humanoid.Health = 9e9 end end if LocalPlayer.Character then setupGodmode(LocalPlayer.Character) end LocalPlayer.CharacterAdded:Connect(setupGodmode) -- ============================ KICK (JOINWATCHER) ============================ local KickCooldown = false local function kickOnJoin(playerWhoJoined) if not Config.Kick.Enabled or KickCooldown then return end KickCooldown = true local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.Health = 0 end for i = 5, 1, -1 do Notifs.alert("⚠️ Kick em "..i.."s (jogador entrou)", Color3.new(1,0.5,0), 1) task.wait(1) end if Config.Kick.Enabled then LocalPlayer:Kick("Kick por entrada de jogador.") end KickCooldown = false end for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then task.spawn(function() kickOnJoin(player) end) end end Players.PlayerAdded:Connect(function(player) if player ~= LocalPlayer then kickOnJoin(player) end end) -- ============================ DETECTOR DE ESPECTADORES ============================ local SpectatorDisplay = Instance.new("ScreenGui") SpectatorDisplay.Name = "SpectatorDisplay" SpectatorDisplay.ResetOnSpawn = false SpectatorDisplay.Parent = CoreGui local SpectatorFrame = Instance.new("Frame") SpectatorFrame.Size = UDim2.new(0, 220, 0, 50) SpectatorFrame.Position = UDim2.new(0.8, -110, 0.9, -25) SpectatorFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) SpectatorFrame.BackgroundTransparency = 0.3 SpectatorFrame.BorderSizePixel = 0 SpectatorFrame.Parent = SpectatorDisplay SpectatorFrame.Visible = false local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 8) UICorner.Parent = SpectatorFrame local SpectatorText = Instance.new("TextLabel") SpectatorText.Size = UDim2.new(1, 0, 1, 0) SpectatorText.BackgroundTransparency = 1 SpectatorText.Text = "👀 Nenhum espectador" SpectatorText.TextColor3 = Color3.new(1, 1, 1) SpectatorText.TextScaled = true SpectatorText.Font = Enum.Font.GothamBold SpectatorText.Parent = SpectatorFrame local function isPlayerLookingAtMe(player) if player == LocalPlayer then return false end local character = player.Character if not character then return false end local head = character:FindFirstChild("Head") if not head then return false end local myChar = LocalPlayer.Character if not myChar then return false end local myHead = myChar:FindFirstChild("Head") if not myHead then return false end local lookVector = head.CFrame.LookVector local toMe = (myHead.Position - head.Position).Unit local dot = lookVector:Dot(toMe) local angle = math.deg(math.acos(dot)) if angle > 30 then return false end local distance = (head.Position - myHead.Position).Magnitude if distance > 100 then return false end local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Blacklist raycastParams.FilterDescendantsInstances = {character, myChar} local rayResult = Workspace:Raycast(head.Position, toMe * distance, raycastParams) if rayResult then return false end return true end task.spawn(function() while task.wait(0.5) do if Config.AntiSpectator.Enabled then local count = 0 local names = {} for _, player in ipairs(Players:GetPlayers()) do if isPlayerLookingAtMe(player) then count = count + 1 table.insert(names, player.Name) end end if count == 0 then SpectatorText.Text = "👀 Nenhum espectador" else SpectatorText.Text = "👀 " .. count .. " espectador(es): " .. table.concat(names, ", ") end SpectatorFrame.Visible = true else SpectatorFrame.Visible = false end end end) -- ============================ UI PRÓPRIA (COM BOTÃO DE SUICÍDIO) ============================ local UIGui = Instance.new("ScreenGui") UIGui.Name = "MeuHubUI" UIGui.ResetOnSpawn = false UIGui.Parent = CoreGui local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 340, 0, 500) -- Mais espaço para o botão novo MainFrame.Position = UDim2.new(0.5, -170, 0.4, -250) MainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 45) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.Parent = UIGui local UICornerMain = Instance.new("UICorner") UICornerMain.CornerRadius = UDim.new(0, 12) UICornerMain.Parent = MainFrame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 40) Title.Position = UDim2.new(0, 0, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "⚡ HUB UNIFICADO" Title.TextColor3 = Color3.new(1, 1, 1) Title.Font = Enum.Font.GothamBold Title.TextSize = 20 Title.Parent = MainFrame -- Função para criar um toggle local function createToggle(parent, name, yPos, defaultState, callback) local bg = Instance.new("Frame") bg.Size = UDim2.new(0.9, 0, 0, 40) bg.Position = UDim2.new(0.05, 0, 0, yPos) bg.BackgroundColor3 = Color3.fromRGB(50, 50, 60) bg.BackgroundTransparency = 0.5 bg.BorderSizePixel = 0 bg.Parent = parent local bgCorner = Instance.new("UICorner") bgCorner.CornerRadius = UDim.new(0, 8) bgCorner.Parent = bg local label = Instance.new("TextLabel") label.Size = UDim2.new(0.6, 0, 1, 0) label.Position = UDim2.new(0, 10, 0, 0) label.BackgroundTransparency = 1 label.Text = name label.TextColor3 = Color3.new(1, 1, 1) label.Font = Enum.Font.Gotham label.TextSize = 16 label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = bg local button = Instance.new("TextButton") button.Size = UDim2.new(0, 60, 0, 30) button.Position = UDim2.new(1, -70, 0.5, -15) button.BackgroundColor3 = defaultState and Color3.new(0, 170, 0) or Color3.new(170, 0, 0) button.Text = defaultState and "ON" or "OFF" button.TextColor3 = Color3.new(1, 1, 1) button.Font = Enum.Font.GothamBold button.TextSize = 14 button.BorderSizePixel = 0 button.Parent = bg local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = button local state = defaultState button.MouseButton1Click:Connect(function() state = not state button.BackgroundColor3 = state and Color3.new(0, 170, 0) or Color3.new(170, 0, 0) button.Text = state and "ON" or "OFF" callback(state) end) return button end -- Criar os toggles createToggle(MainFrame, "Godmode", 50, false, function(state) Config.Godmode.Enabled = state setupGodmode(LocalPlayer.Character) Notifs.alert("Godmode " .. (state and "ATIVADO" or "DESATIVADO"), state and Color3.new(0,1,0) or Color3.new(1,0,0), 2) end) createToggle(MainFrame, "Autofarm", 100, false, setAutofarmState) createToggle(MainFrame, "Kick (Join)", 150, false, function(state) Config.Kick.Enabled = state Notifs.alert("Kick " .. (state and "ATIVADO" or "DESATIVADO"), state and Color3.new(0,1,0) or Color3.new(1,0,0), 2) end) createToggle(MainFrame, "Anti-Spectator", 200, false, function(state) Config.AntiSpectator.Enabled = state if not state then SpectatorFrame.Visible = false end Notifs.alert("Anti-Spectator " .. (state and "ATIVADO" or "DESATIVADO"), state and Color3.new(0,1,0) or Color3.new(1,0,0), 2) end) -- Status do autofarm local StatusBg = Instance.new("Frame") StatusBg.Size = UDim2.new(0.9, 0, 0, 30) StatusBg.Position = UDim2.new(0.05, 0, 0, 260) StatusBg.BackgroundColor3 = Color3.fromRGB(40, 40, 50) StatusBg.BorderSizePixel = 0 StatusBg.Parent = MainFrame local StatusCorner = Instance.new("UICorner") StatusCorner.CornerRadius = UDim.new(0, 6) StatusCorner.Parent = StatusBg local StatusLabel = Instance.new("TextLabel") StatusLabel.Size = UDim2.new(1, 0, 1, 0) StatusLabel.BackgroundTransparency = 1 StatusLabel.Text = "Autofarm: " .. AutofarmStatusText StatusLabel.TextColor3 = Color3.new(1,1,1) StatusLabel.Font = Enum.Font.Gotham StatusLabel.TextSize = 14 StatusLabel.Parent = StatusBg AutofarmStatusLabel = StatusLabel -- Botão para recarregar autofarm local ReloadBtn = Instance.new("TextButton") ReloadBtn.Size = UDim2.new(0.8, 0, 0, 30) ReloadBtn.Position = UDim2.new(0.1, 0, 0, 300) ReloadBtn.BackgroundColor3 = Color3.fromRGB(70, 130, 180) ReloadBtn.Text = "🔄 Recarregar Autofarm" ReloadBtn.TextColor3 = Color3.new(1,1,1) ReloadBtn.Font = Enum.Font.Gotham ReloadBtn.TextSize = 14 ReloadBtn.BorderSizePixel = 0 ReloadBtn.Parent = MainFrame local ReloadCorner = Instance.new("UICorner") ReloadCorner.CornerRadius = UDim.new(0, 8) ReloadCorner.Parent = ReloadBtn ReloadBtn.MouseButton1Click:Connect(function() loadAutofarmScripts() end) -- Botão KILL SWITCH (para autofarm) local KillBtn = Instance.new("TextButton") KillBtn.Size = UDim2.new(0.8, 0, 0, 30) KillBtn.Position = UDim2.new(0.1, 0, 0, 340) KillBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0) KillBtn.Text = "💀 KILL AUTOFARM" KillBtn.TextColor3 = Color3.new(1,1,1) KillBtn.Font = Enum.Font.GothamBold KillBtn.TextSize = 14 KillBtn.BorderSizePixel = 0 KillBtn.Parent = MainFrame local KillCorner = Instance.new("UICorner") KillCorner.CornerRadius = UDim.new(0, 8) KillCorner.Parent = KillBtn KillBtn.MouseButton1Click:Connect(function() Config.Autofarm.Enabled = false killAutofarm() Notifs.alert("💀 KILL SWITCH ATIVADO! Autofarm exterminado.", Color3.new(1,0,0), 4) end) -- ==================== BOTÃO DE SUICÍDIO ==================== local SuicideBtn = Instance.new("TextButton") SuicideBtn.Size = UDim2.new(0.8, 0, 0, 40) SuicideBtn.Position = UDim2.new(0.1, 0, 0, 390) SuicideBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) SuicideBtn.Text = "💀 SUICÍDIO (matar a si mesmo)" SuicideBtn.TextColor3 = Color3.new(1,1,1) SuicideBtn.Font = Enum.Font.GothamBold SuicideBtn.TextSize = 16 SuicideBtn.BorderSizePixel = 0 SuicideBtn.Parent = MainFrame local SuicideCorner = Instance.new("UICorner") SuicideCorner.CornerRadius = UDim.new(0, 10) SuicideCorner.Parent = SuicideBtn SuicideBtn.MouseButton1Click:Connect(function() Notifs.alert("💀 Suicidando...", Color3.new(1,0,0), 2) local char = LocalPlayer.Character if char then local humanoid = char:FindFirstChildOfClass("Humanoid") if humanoid then -- Desativa godmode temporariamente se necessário local godmodeWasOn = Config.Godmode.Enabled if godmodeWasOn then Config.Godmode.Enabled = false if GodmodeConnection then GodmodeConnection:Disconnect() GodmodeConnection = nil end end -- Mata humanoid.Health = 0 -- Reativa godmode se estava ativo (para o próximo spawn) if godmodeWasOn then Config.Godmode.Enabled = true LocalPlayer.CharacterAdded:Wait() -- espera o novo personagem setupGodmode(LocalPlayer.Character) end else Notifs.alert("❌ Sem humanoid!", Color3.new(1,0,0), 2) end else Notifs.alert("❌ Sem personagem!", Color3.new(1,0,0), 2) end end) -- Botão para fechar local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0, 30, 0, 30) CloseButton.Position = UDim2.new(1, -35, 0, 5) CloseButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CloseButton.Text = "X" CloseButton.TextColor3 = Color3.new(1, 1, 1) CloseButton.Font = Enum.Font.GothamBold CloseButton.TextSize = 16 CloseButton.BorderSizePixel = 0 CloseButton.Parent = MainFrame local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 8) CloseCorner.Parent = CloseButton CloseButton.MouseButton1Click:Connect(function() UIGui:Destroy() Notifs.alert("Hub fechado", Color3.new(1,0,0), 2) end) -- Notificação inicial Notifs.alert("🔥 Hub com botão de suicídio carregado!", Color3.new(0,1,0), 3) print("✅ Script com botão de SUICÍDIO rodando!")