Brookhaven Redz Hub Cracked
Key Required

Brookhaven Redz Hub Cracked

Brookhaven 🏡RPjurstukajurstuka 18.4K views 16.1K executesUpdated Dec 23, 2025
2.5/ 5(4 votes)
2250% Positive
Lua Script•6211 lines (215147 chars)
-- script create BY ghost

-- Serviços
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

-- GUI principal
local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "ComemoracaoScreen"

local frame = Instance.new("Frame", gui)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
frame.Size = UDim2.new(0, 0, 0, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BorderSizePixel = 0
frame.BackgroundTransparency = 1

local corner = Instance.new("UICorner", frame)
corner.CornerRadius = UDim.new(0, 20)

local stroke = Instance.new("UIStroke", frame)
stroke.Thickness = 2
stroke.Color = Color3.fromRGB(255, 255, 255)
stroke.Transparency = 0.4

local gradient = Instance.new("UIGradient", frame)
gradient.Rotation = 45

-- Título
local title = Instance.new("TextLabel", frame)
title.Text = "✨ OFICIALMENTE LANÇADO ✨"
title.Size = UDim2.new(1, 0, 0, 60)
title.Position = UDim2.new(0, 0, 0.1, 0)
title.BackgroundTransparency = 1
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextStrokeTransparency = 0.7
title.Font = Enum.Font.GothamBlack
title.TextScaled = true
title.TextTransparency = 1

-- Descrição
local desc = Instance.new("TextLabel", frame)
desc.Text = [[
Nosso script foi lançado oficialmente!
Agradeço todo o apoio de vocês ❤️
Divulgue e você pode ganhar até ADMIN 🎩
Tchauu! ( não temos Discord somente o da Redz que não e meu)
]]
desc.Size = UDim2.new(0.9, 0, 0.5, 0)
desc.Position = UDim2.new(0.05, 0, 0.4, 0)
desc.BackgroundTransparency = 1
desc.TextColor3 = Color3.fromRGB(230, 230, 230)
desc.Font = Enum.Font.Gotham
desc.TextScaled = true
desc.TextWrapped = true
desc.TextTransparency = 1

-- Botão Fechar
local closeBtn = Instance.new("TextButton", frame)
closeBtn.Text = "Fechar"
closeBtn.Size = UDim2.new(0.35, 0, 0.15, 0)
closeBtn.Position = UDim2.new(0.325, 0, 0.8, 0)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 60, 60)
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextScaled = true
closeBtn.TextTransparency = 1

local btnCorner = Instance.new("UICorner", closeBtn)
btnCorner.CornerRadius = UDim.new(0, 10)

local btnStroke = Instance.new("UIStroke", closeBtn)
btnStroke.Color = Color3.fromRGB(255, 255, 255)
btnStroke.Thickness = 1.5
btnStroke.Transparency = 0.5

-- Partículas decorativas
for i = 1, 25 do
	local spark = Instance.new("Frame", frame)
	spark.Size = UDim2.new(0, math.random(3,6), 0, math.random(3,6))
	spark.Position = UDim2.new(math.random(), 0, math.random(), 0)
	spark.BackgroundColor3 = Color3.fromHSV(math.random(), 1, 1)
	spark.BackgroundTransparency = 0
	spark.BorderSizePixel = 0
	spark.ZIndex = 10
	task.spawn(function()
		while spark.Parent do
			local newPos = UDim2.new(math.random(), 0, math.random(), 0)
			local newColor = Color3.fromHSV(math.random(), 1, 1)
			local tween = TweenService:Create(spark, TweenInfo.new(2 + math.random(), Enum.EasingStyle.Linear), {
				Position = newPos,
				BackgroundColor3 = newColor
			})
			tween:Play()
			task.wait(2)
		end
	end)
end

-- Animação de entrada
TweenService:Create(frame, TweenInfo.new(1, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
	Size = UDim2.new(0, 500, 0, 280),
	BackgroundTransparency = 0
}):Play()

TweenService:Create(title, TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0.5), {
	TextTransparency = 0
}):Play()

TweenService:Create(desc, TweenInfo.new(1.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 1.2), {
	TextTransparency = 0
}):Play()

TweenService:Create(closeBtn, TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 2), {
	TextTransparency = 0
}):Play()

-- Loop de cores do fundo
task.spawn(function()
	while frame.Parent do
		for hue = 0, 255, 2 do
			gradient.Color = ColorSequence.new{
				ColorSequenceKeypoint.new(0, Color3.fromHSV(hue/255, 1, 1)),
				ColorSequenceKeypoint.new(1, Color3.fromHSV((hue+85)/255, 1, 1))
			}
			task.wait(0.05)
		end
	end
end)

-- Efeito hover no botão
closeBtn.MouseEnter:Connect(function()
	TweenService:Create(closeBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 90, 90)}):Play()
end)
closeBtn.MouseLeave:Connect(function()
	TweenService:Create(closeBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 60, 60)}):Play()
end)

-- Efeito pulsante no botão
task.spawn(function()
	while closeBtn.Parent do
		TweenService:Create(closeBtn, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {Size = UDim2.new(0.37, 0, 0.16, 0)}):Play()
		task.wait(0.8)
		TweenService:Create(closeBtn, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {Size = UDim2.new(0.35, 0, 0.15, 0)}):Play()
		task.wait(0.8)
	end
end)

-- Fechar
closeBtn.MouseButton1Click:Connect(function()
	TweenService:Create(frame, TweenInfo.new(0.6, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
		Size = UDim2.new(0, 0, 0, 0),
		BackgroundTransparency = 1
	}):Play()
	TweenService:Create(title, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
	TweenService:Create(desc, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
	TweenService:Create(closeBtn, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
	task.wait(0.6)
	gui:Destroy()
end)

wait(4)

-- script create BY ghost
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")

-- Cria ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "RedzHubIntro"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = PlayerGui

-- Fundo preto
local bg = Instance.new("Frame")
bg.Size = UDim2.fromScale(1, 1)
bg.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
bg.BackgroundTransparency = 1
bg.Parent = screenGui

-- Texto principal
local logo = Instance.new("TextLabel")
logo.Size = UDim2.new(0.6, 0, 0.2, 0)
logo.Position = UDim2.new(0.5, 0, -0.2, 0)
logo.AnchorPoint = Vector2.new(0.5, 0.5)
logo.BackgroundTransparency = 1
logo.Text = "{ .•° Redz Hub 2025 🎩 °•. }"
logo.TextScaled = true
logo.Font = Enum.Font.GothamBold
logo.TextColor3 = Color3.fromRGB(255, 0, 0)
logo.TextStrokeTransparency = 0.3
logo.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
logo.Parent = screenGui

local gradient = Instance.new("UIGradient", logo)
gradient.Color = ColorSequence.new{
	ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
	ColorSequenceKeypoint.new(0.5, Color3.fromRGB(60, 0, 0)),
	ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0))
}
gradient.Rotation = 45

-- Texto secundário animado
local subtitle = Instance.new("TextLabel")
subtitle.Size = UDim2.new(0, 200, 0, 25)
subtitle.Position = UDim2.new(0.5, 0, 0.58, 0)
subtitle.AnchorPoint = Vector2.new(0.5, 0.5)
subtitle.BackgroundTransparency = 1
subtitle.Text = "Not From Oficial"
subtitle.TextColor3 = Color3.fromRGB(255, 255, 255)
subtitle.TextTransparency = 1
subtitle.TextScaled = true
subtitle.Font = Enum.Font.Gotham
subtitle.Parent = screenGui

-- Barra de carregamento
local loadFrame = Instance.new("Frame")
loadFrame.Size = UDim2.new(0, 0, 0.02, 0)
loadFrame.Position = UDim2.new(0.5, 0, 0.85, 0)
loadFrame.AnchorPoint = Vector2.new(0.5, 0)
loadFrame.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
loadFrame.BorderSizePixel = 0
loadFrame.Parent = screenGui

local function tween(obj, info, props)
	return TweenService:Create(obj, info, props)
end

-- Fade-in fundo
tween(bg, TweenInfo.new(0.5), {BackgroundTransparency = 0}):Play()
task.wait(0.6)

-- Entrada do logo
tween(logo, TweenInfo.new(1, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
	Position = UDim2.new(0.5, 0, 0.4, 0)
}):Play()

task.wait(1)
tween(logo, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
	TextSize = logo.TextSize * 1.05
}):Play()

-- Fade-in do subtítulo + animação de pulsar
tween(subtitle, TweenInfo.new(1), {TextTransparency = 0}):Play()
task.wait(1.2)
task.spawn(function()
	while subtitle and subtitle.Parent do
		tween(subtitle, TweenInfo.new(1.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {TextTransparency = 0.5}):Play()
		task.wait(1.2)
		tween(subtitle, TweenInfo.new(1.2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {TextTransparency = 0}):Play()
		task.wait(1.2)
	end
end)

-- Barra de carregamento
tween(loadFrame, TweenInfo.new(2, Enum.EasingStyle.Linear), {
	Size = UDim2.new(0.8, 0, 0.02, 0)
}):Play()

-- Som
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://107004225739474"
sound.Volume = 2
sound.Parent = screenGui
sound:Play()

-- Saída
task.wait(2.5)
tween(bg, TweenInfo.new(0.8), {BackgroundTransparency = 1}):Play()
tween(logo, TweenInfo.new(0.8), {TextTransparency = 1}):Play()
tween(subtitle, TweenInfo.new(0.8), {TextTransparency = 1}):Play()
tween(loadFrame, TweenInfo.new(0.8), {BackgroundTransparency = 1}):Play()

task.wait(1)
screenGui:Destroy()


local TweenService = game:GetService("TweenService")
local Player = game.Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")

-- GUI principal
local NotifyGui = PlayerGui:FindFirstChild("NotifyGui") or Instance.new("ScreenGui")
NotifyGui.Name = "NotifyGui"
NotifyGui.Parent = PlayerGui
NotifyGui.ResetOnSpawn = false

-- Pasta das notificações
local NotifFolder = NotifyGui:FindFirstChild("NotifFolder") or Instance.new("Folder")
NotifFolder.Name = "NotifFolder"
NotifFolder.Parent = NotifyGui

-- Configurações visuais
local NOTIF_WIDTH = 280
local NOTIF_HEIGHT = 70
local NOTIF_SPACING = 8
local MAX_NOTIFS = 4
local BASE_POSITION = UDim2.new(1, -300, 1, -80)

function Notify(imageId, text, time)
	local ok, err = pcall(function()
		time = time or 3
		imageId = imageId or 6031075932
		text = text or "Notificação"

		for _, oldNotif in ipairs(NotifFolder:GetChildren()) do
			if oldNotif:IsA("Frame") then
				local newY = oldNotif.Position.Y.Offset - (NOTIF_HEIGHT + NOTIF_SPACING)
				TweenService:Create(oldNotif, TweenInfo.new(0.25, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
					Position = UDim2.new(1, -300, 1, newY)
				}):Play()
			end
		end

		if #NotifFolder:GetChildren() >= MAX_NOTIFS then
			local oldest = NotifFolder:GetChildren()[1]
			if oldest then oldest:Destroy() end
		end

		local Frame = Instance.new("Frame")
		Frame.Size = UDim2.new(0, NOTIF_WIDTH, 0, NOTIF_HEIGHT)
		Frame.Position = UDim2.new(1, 300, 1, -80)
		Frame.AnchorPoint = Vector2.new(0, 1)
		Frame.BackgroundTransparency = 0
		Frame.BorderSizePixel = 0
		Frame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
		Frame.Parent = NotifFolder
		Frame.ZIndex = 10

		local UICorner = Instance.new("UICorner", Frame)
		UICorner.CornerRadius = UDim.new(0, 10)

		local UIStroke = Instance.new("UIStroke", Frame)
		UIStroke.Thickness = 1.6
		UIStroke.Color = Color3.fromRGB(255, 0, 80)
		UIStroke.Transparency = 0.05

		local Gradient = Instance.new("UIGradient", Frame)
		Gradient.Color = ColorSequence.new({
			ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 20, 20)),
			ColorSequenceKeypoint.new(1, Color3.fromRGB(60, 0, 30))
		})
		Gradient.Rotation = 0

		-- Ícone
		local Image = Instance.new("ImageLabel", Frame)
		Image.Size = UDim2.new(0, 50, 0, 50)
		Image.Position = UDim2.new(0, 10, 0.5, -25)
		Image.BackgroundTransparency = 1
		Image.Image = "rbxassetid://" .. tostring(imageId)
		Image.ZIndex = 11

		-- Texto principal
		local Label = Instance.new("TextLabel", Frame)
		Label.Size = UDim2.new(1, -75, 1, -10)
		Label.Position = UDim2.new(0, 65, 0, 5)
		Label.BackgroundTransparency = 1
		Label.Text = text
		Label.TextColor3 = Color3.fromRGB(255, 255, 255)
		Label.TextSize = 17
		Label.Font = Enum.Font.GothamBold
		Label.TextWrapped = true
		Label.TextXAlignment = Enum.TextXAlignment.Left
		Label.ZIndex = 11

		-- Linha inferior “Redz Hub”
		local Tag = Instance.new("TextLabel", Frame)
		Tag.Size = UDim2.new(1, -10, 0, 16)
		Tag.Position = UDim2.new(0, 10, 1, -18)
		Tag.BackgroundTransparency = 1
		Tag.Text = "Redz Hub"
		Tag.TextColor3 = Color3.fromRGB(255, 0, 70)
		Tag.TextSize = 13
		Tag.Font = Enum.Font.GothamSemibold
		Tag.TextXAlignment = Enum.TextXAlignment.Right
		Tag.ZIndex = 12

		-- Efeito de entrada
		TweenService:Create(Frame, TweenInfo.new(0.35, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
			Position = BASE_POSITION
		}):Play()

		-- Som
		local Sound = Instance.new("Sound", Frame)
		Sound.SoundId = "rbxassetid://9118823108"
		Sound.Volume = 0.8
		Sound:Play()

		-- Efeito de tempo (barra de progresso)
		local Bar = Instance.new("Frame", Frame)
		Bar.BackgroundColor3 = Color3.fromRGB(255, 0, 70)
		Bar.BorderSizePixel = 0
		Bar.Size = UDim2.new(1, 0, 0, 2)
		Bar.Position = UDim2.new(0, 0, 1, -2)
		Bar.ZIndex = 13

		TweenService:Create(Bar, TweenInfo.new(time, Enum.EasingStyle.Linear), {
			Size = UDim2.new(0, 0, 0, 2)
		}):Play()

		-- Saída
		task.delay(time, function()
			TweenService:Create(Frame, TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
				Position = UDim2.new(1, 300, 1, Frame.Position.Y.Offset)
			}):Play()
			task.wait(0.35)
			Frame:Destroy()
		end)
	end)

	if not ok then
		warn("Erro na notificação:", err)
	end
end

--// Exemplo de uso:
Notify(10709806740, "Bem-vindo Este E o Novo Redz Hub feito Por fan", 5)

local redzlib = loadstring(game:HttpGet("https://raw.githubusercontent.com/Cat558-uz/Testaaa/refs/heads/main/LibTeste.txt"))()

local Window = redzlib:MakeWindow({
    Title = "Redz hub | brookhaven",
    SubTitle = "| beta script  GHOST ",
    SaveFolder = "ConfigFolder"
})

Window:AddMinimizeButton({
    Button = { Image = "rbxassetid://10734966248", BackgroundTransparency = 7 },
    Corner = { CornerRadius = UDim.new(0, 8) },
})

-- Aba Home
local Tab1 = Window:MakeTab({ "| Início", "menu" })


local Dialog = Window:Dialog({
    Title = "Pergunta ",
    Text = "Você está Em um Servidor ...",
    Options = {
      {"Brasileiro", function()
        Notify(10709806740, "): que pena, (: mais você consegue usar só que Pode falhar Opções Use vpn", 5)
        
      end},
      {"Ingles", function()
        Notify(10709806740, "ótimo com base em isso qualquer opção irar pegar 100%", 5)
        
      end},
      {"Não sei ...", function()
        Notify(10709806740, "então Use VPN Para melhor Utilização", 5)
        
      end}
    }
  })

Tab1:AddDiscordInvite({
    Name = "Redz Hub | brookhaven",
    Description = "Join server | Community +13",
    Logo = "rbxassetid://18751483361",
    Invite = "https://discord.gg/redz-hub",
})

Tab1:AddSection({Name = "Profile - From You"})


local function detectExecutor()
    if identifyexecutor then
        return identifyexecutor()
    elseif syn then
        return "Synapse X4"
    elseif KRNL_LOADED then
        return "KRNL4"
    elseif is_sirhurt_closure then
        return "SirHurt"
    elseif pebc_execute then
        return "ProtoSmasher"
    elseif getexecutorname then
        return getexecutorname()
    else
        return "Executor Desconhecido"
    end
end

local executorName = detectExecutor()



local Paragraph = Tab1:AddParagraph({"Execultor", executorName})

local Players = game:GetService("Players")
local player = Players.LocalPlayer

-- Pega nickname do jogador
local nickname = player.Name 

-- Novo bloco igual ao do Executor
Tab1:AddParagraph({"Nickname", nickname})
Tab1:AddParagraph({"Version", "[almost]"})

local Section = Tab1:AddSection({" Server"})

Tab1:AddButton({
    Name = "Rejoin Server",
    Callback = function()
    
    Notify(10709806740, "Espere.....", 3)
    
        local TeleportService = game:GetService("TeleportService")
        local Players = game:GetService("Players")

        TeleportService:Teleport(game.PlaceId, Players.LocalPlayer)
    end
})

Tab1:AddButton({
    Name = "Abrir Console",
    Callback = function()
        local player = game:GetService("Players").LocalPlayer
        print("ola você abriu o. console[" .. player.Name .. "]")

        local StarterGui = game:GetService("StarterGui")
        pcall(function()
            StarterGui:SetCore("DevConsoleVisible", true)
        end)
    end
})  

local Paragraph = Tab1:AddParagraph({"Aviso", "obrigado por usar"})

local TabPlayers = Window:MakeTab({ "| Players", "User" })



TabPlayers:AddSection({Name = " Target ( INSERT ONLY NAME )"})

local viewing = false
local loopTP = false
local selectedPlayer = nil
local cam = workspace.CurrentCamera
local player = game.Players.LocalPlayer

-- blockedUsers para devs da hub
local blockedUsers = {
    ["h26337"] = true,
    ["ex_toddy"] = true,
    ["hpato"] = true,
    ["fanofgg"] = true,
    ["packj0"] = true,
    ["kit_cynALT"] = true,
    ["MeKS3"] = true
}

-- Função para encontrar jogador pelo nome (parcial ou completo)
local function findPlayerByName(name)
    name = name:lower()
    for _, plr in ipairs(game.Players:GetPlayers()) do
        if plr.Name:lower():sub(1, #name) == name then
            return plr.Name
        end
    end
    return nil
end

-- Caixa de texto para definir o player alvo
TabPlayers:AddTextBox({
    Name = "Target Player Name >",
    Default = "lolexploiter123321",
    TextDisappear = false,
    Callback = function(Value)
        local match = findPlayerByName(Value)
        if match then
            if blockedUsers[match] then
                game.Players.LocalPlayer:Kick("Você Não Pode selecionar um ADM.")
                selectedPlayer = nil
            else
                selectedPlayer = match
                print("FOUND your USER:", selectedPlayer)
                Notify(10709806740, "✓ sucesse Player Localized", 1.5)
            end
        else
            print("No Found.")
            Notify(10709806740, "? erro Player Insert The NAME<", 3)
        end
    end
})

local viewing = false
local cam = workspace.CurrentCamera
local player = game.Players.LocalPlayer

-- Função de notificação com imagem
local function ShowPlayerNotification(plr)
    local username = plr.Name
    local displayname = plr.DisplayName

    local thumbUrl = "https://www.roblox.com/headshot-thumbnail/image?userId=" .. plr.UserId .. "&width=150&height=150&format=png"

    local playerGui = player:WaitForChild("PlayerGui")
    local screenGui = playerGui:FindFirstChild("AnexedNotificationUI")
    if not screenGui then
        screenGui = Instance.new("ScreenGui")
        screenGui.IgnoreGuiInset = true
        screenGui.Name = "AnexedNotificationUI"
        screenGui.ResetOnSpawn = false
        screenGui.Parent = playerGui
    end

    local frame = Instance.new("Frame")
    frame.Size = UDim2.new(0, 200, 0, 60)
    frame.Position = UDim2.new(1, 0, 0, -10)
    frame.AnchorPoint = Vector2.new(1, 0)
    frame.BackgroundTransparency = 1
    frame.BorderSizePixel = 0
    frame.ZIndex = 20
    frame.Parent = screenGui

    local image = Instance.new("ImageLabel", frame)
    image.Size = UDim2.new(0, 40, 0, 40)
    image.Position = UDim2.new(0, 10, 0, 10)
    image.BackgroundTransparency = 1
    image.Image = thumbUrl

    local title = Instance.new("TextLabel", frame)
    title.Size = UDim2.new(1, -60, 0, 20)
    title.Position = UDim2.new(0, 60, 0, 8)
    title.BackgroundTransparency = 1
    title.Text = "Visualizando " .. displayname
    title.TextColor3 = Color3.new(1, 1, 1)
    title.Font = Enum.Font.GothamBold
    title.TextSize = 14
    title.TextXAlignment = Enum.TextXAlignment.Left

    local subtitle = Instance.new("TextLabel", frame)
    subtitle.Size = UDim2.new(1, -60, 0, 18)
    subtitle.Position = UDim2.new(0, 60, 0, 30)
    subtitle.BackgroundTransparency = 1
    subtitle.Text = "@" .. username
    subtitle.TextColor3 = Color3.new(1, 1, 1)
    subtitle.Font = Enum.Font.Gotham
    subtitle.TextSize = 12
    subtitle.TextXAlignment = Enum.TextXAlignment.Left

    local TweenService = game:GetService("TweenService")
    local enterTween = TweenService:Create(frame, TweenInfo.new(0.4, Enum.EasingStyle.Quart), {
        Position = UDim2.new(1, -10, 0, 10)
    })
    enterTween:Play()

    task.delay(3, function()
        local exitTween = TweenService:Create(frame, TweenInfo.new(0.3, Enum.EasingStyle.Quad), {
            Position = UDim2.new(1, 0, 0, -60)
        })
        exitTween:Play()
        exitTween.Completed:Wait()
        frame:Destroy()
    end)
end

-- Notificação de saída
local function ShowLeaveNotification(playerName)
    local playerGui = player:WaitForChild("PlayerGui")
    local screenGui = playerGui:FindFirstChild("AnexedNotificationUI")
    if not screenGui then
        screenGui = Instance.new("ScreenGui")
        screenGui.IgnoreGuiInset = true
        screenGui.Name = "AnexedNotificationUI"
        screenGui.ResetOnSpawn = false
        screenGui.Parent = playerGui
    end

    local frame = Instance.new("Frame")
    frame.Size = UDim2.new(0, 240, 0, 40)
    frame.Position = UDim2.new(1, 0, 0, -10)
    frame.AnchorPoint = Vector2.new(1, 0)
    frame.BackgroundTransparency = 1
    frame.BorderSizePixel = 0
    frame.ZIndex = 20
    frame.Parent = screenGui

    local title = Instance.new("TextLabel", frame)
    title.Size = UDim2.new(1, -20, 1, -10)
    title.Position = UDim2.new(0, 10, 0, 5)
    title.BackgroundTransparency = 1
    title.Text = "@" .. playerName .. " saiu do jogo"
    title.TextColor3 = Color3.fromRGB(255, 120, 120)
    title.Font = Enum.Font.GothamBold
    title.TextSize = 14
    title.TextXAlignment = Enum.TextXAlignment.Left

    local TweenService = game:GetService("TweenService")
    local enterTween = TweenService:Create(frame, TweenInfo.new(0.4, Enum.EasingStyle.Quart), {
        Position = UDim2.new(1, -10, 0, 10)
    })
    enterTween:Play()

    task.delay(3, function()
        local exitTween = TweenService:Create(frame, TweenInfo.new(0.3, Enum.EasingStyle.Quad), {
            Position = UDim2.new(1, 0, 0, -60)
        })
        exitTween:Play()
        exitTween.Completed:Wait()
        frame:Destroy()
    end)
end

-- Toggle View com notificação e auto-unview
TabPlayers:AddToggle({
    Name = "View Player",
    Callback = function(Value)
        viewing = Value
        if viewing then
            task.spawn(function()
                local shown = false
                while viewing do
                    local target = game.Players:FindFirstChild(selectedPlayer)
                    if target then
                        if not shown then
                            ShowPlayerNotification(target)
                            shown = true
                        end
                        local character = target.Character or target.CharacterAdded:Wait()
                        local humanoid = character:FindFirstChild("Humanoid")
                        if humanoid then
                            cam.CameraSubject = humanoid
                        end
                    else
                        -- Jogador saiu
                        ShowLeaveNotification(selectedPlayer)
                        viewing = false
                        local myChar = player.Character
                        if myChar and myChar:FindFirstChild("Humanoid") then
                            cam.CameraSubject = myChar.Humanoid
                        end
                        break
                    end
                    task.wait(0.1)
                end
            end)
        else
            local myChar = player.Character
            if myChar and myChar:FindFirstChild("Humanoid") then
                cam.CameraSubject = myChar.Humanoid
            end
        end
    end
})

TabPlayers:AddButton({
    Name = "To Player",
    Callback = function()
    
    Notify(10709806740, "teleported", 3)
    
        local Players = game:GetService("Players")
        local Workspace = game:GetService("Workspace")
        local LocalPlayer = Players.LocalPlayer
        local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
        local HRP = Character:FindFirstChild("HumanoidRootPart")

        if not selectedPlayer then
            warn("Nenhum jogador selecionado.")
            return
        end

        local target = Players:FindFirstChild(selectedPlayer)
        if not target or not target.Character or not target.Character:FindFirstChild("HumanoidRootPart") then
            warn("User no Found")
            return
        end

        local targetHRP = target.Character:FindFirstChild("HumanoidRootPart")
        HRP.CFrame = targetHRP.CFrame + Vector3.new(0, 3, 0) -- TP acima do player
    end
})


TabPlayers:AddToggle({
    Name = "Loop TP To Player",
    Callback = function(Value)
        loopTP = Value
        if loopTP then
            task.spawn(function()
                while loopTP do
                    local target = game.Players:FindFirstChild(selectedPlayer)
                    if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
                        local myChar = player.Character
                        if myChar and myChar:FindFirstChild("HumanoidRootPart") then
                            -- Teleporta exatamente para a posição do HumanoidRootPart do alvo
                            myChar.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame
                        end
                    end
                    task.wait(0.02)
                end
            end)
        end
    end
})

TabPlayers:AddSection({ " functions Croch loop" })

local cam = workspace.CurrentCamera
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local flingActive = false

TabPlayers:AddToggle({
    Name = "fling Croch Method English Server",
    Description = "fling Croch, starting Make Player For Void Kill/glitch",
    Default = false,
    Callback = function(state)
        flingActive = state
        task.spawn(function()
            while flingActive do
                if selectedPlayer then
                    local target = Players:FindFirstChild(selectedPlayer)
                    if target and target.Character then
                        local char = LocalPlayer.Character
                        local root = char and char:FindFirstChild("HumanoidRootPart")
                        local tRoot = target.Character:FindFirstChild("HumanoidRootPart")
                        local tHum = target.Character:FindFirstChildOfClass("Humanoid")
                        local hum = char and char:FindFirstChildOfClass("Humanoid")
                        if root and tRoot and tHum and hum then
                            local args = {[1]="ClearAllTools"}
                            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Clea1rTool1s"):FireServer(unpack(args))
                            wait(0.3)
                            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools","Couch")
                            local original = root.CFrame
                            local tool = LocalPlayer.Backpack:FindFirstChildOfClass("Tool")
                            if tool then tool.Parent = char end
                            workspace.FallenPartsDestroyHeight = -math.huge
                            local bv = Instance.new("BodyVelocity")
                            bv.Name = "FlingForce"
                            bv.Velocity = Vector3.new(9e8,9e8,9e8)
                            bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
                            bv.Parent = root
                            hum:SetStateEnabled(Enum.HumanoidStateType.Seated,false)
                            hum.PlatformStand = false
                            cam.CameraSubject = tRoot
                            local angle = 0
                            while flingActive and target and target.Character and target.Character:FindFirstChildOfClass("Humanoid") do
                                tHum = target.Character:FindFirstChildOfClass("Humanoid")
                                tRoot = target.Character:FindFirstChild("HumanoidRootPart")
                                if not tRoot or tHum.Sit or tRoot.Position.Y>=70000 then break end
                                local moveDir = tHum.MoveDirection
                                local offset = Vector3.new(0,0,0)
                                if moveDir.Magnitude>=0.01 then
                                    local speed = tHum.WalkSpeed
                                    local studs = 13
                                    if speed>16 then studs=studs+math.floor((speed-16)/9)*9 end
                                    offset=moveDir.Unit*studs
                                end
                                angle+=30
                                root.CFrame = CFrame.new(tRoot.Position+offset+Vector3.new(0,1,0))*CFrame.Angles(math.rad(angle),0,0)
                                root.Velocity = Vector3.new(9e8,9e8,9e8)
                                root.RotVelocity = Vector3.new(9e8,9e8,9e8)
                                task.wait()
                            end
                            bv:Destroy()
                            hum:SetStateEnabled(Enum.HumanoidStateType.Seated,true)
                            hum.PlatformStand=false
                            root.CFrame=original
                            cam.CameraSubject=hum
                            for _,p in pairs(char:GetDescendants()) do if p:IsA("BasePart") then p.Velocity=Vector3.zero p.RotVelocity=Vector3.zero end end
                            hum:UnequipTools()
                            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools","Couch")
                        end
                    end
                end
                task.wait(0.5)
            end
        end)
    end
})

local cam = workspace.CurrentCamera
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local flingActive = false

TabPlayers:AddToggle({
    Name = "fling Croch Method Brazilian Server",
    Description = "fling Croch, starting Make Player For Void Kill/glitch",
    Default = false,
    Callback = function(state)
        flingActive = state
        task.spawn(function()
            while flingActive do
                if selectedPlayer then
                    local target = Players:FindFirstChild(selectedPlayer)
                    if target and target.Character then
                        local char = LocalPlayer.Character
                        local root = char and char:FindFirstChild("HumanoidRootPart")
                        local tRoot = target.Character:FindFirstChild("HumanoidRootPart")
                        local tHum = target.Character:FindFirstChildOfClass("Humanoid")
                        local hum = char and char:FindFirstChildOfClass("Humanoid")
                        if root and tRoot and tHum and hum then
                            local args = {[1]="ClearAllTools"}
                            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Clea1rTool1s"):FireServer(unpack(args))
                            wait(0.3)
                            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools","Couch")
                            local original = root.CFrame
                            local tool = LocalPlayer.Backpack:FindFirstChildOfClass("Tool")
                            if tool then tool.Parent = char end
                            workspace.FallenPartsDestroyHeight = -math.huge
                            local bv = Instance.new("BodyVelocity")
                            bv.Name = "FlingForce"
                            bv.Velocity = Vector3.new(9e8,9e8,9e8)
                            bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
                            bv.Parent = root
                            hum:SetStateEnabled(Enum.HumanoidStateType.Seated,false)
                            hum.PlatformStand = false
                            cam.CameraSubject = tRoot
                            local angle = 0
                            while flingActive and target and target.Character and target.Character:FindFirstChildOfClass("Humanoid") do
                                tHum = target.Character:FindFirstChildOfClass("Humanoid")
                                tRoot = target.Character:FindFirstChild("HumanoidRootPart")
                                if not tRoot or tHum.Sit or tRoot.Position.Y>=70000 then break end
                                local moveDir = tHum.MoveDirection
                                local offset = Vector3.new(0,0,0)
                                if moveDir.Magnitude>=0.01 then
                                    local speed = tHum.WalkSpeed
                                    local studs = 1
                                    if speed>16 then studs=studs+math.floor((speed-16)/0)*0 end
                                    offset=moveDir.Unit*studs
                                end
                                angle+=30
                                root.CFrame = CFrame.new(tRoot.Position+offset+Vector3.new(0,1,0))*CFrame.Angles(math.rad(angle),0,0)
                                root.Velocity = Vector3.new(9e8,9e8,9e8)
                                root.RotVelocity = Vector3.new(9e8,9e8,9e8)
                                task.wait()
                            end
                            bv:Destroy()
                            hum:SetStateEnabled(Enum.HumanoidStateType.Seated,true)
                            hum.PlatformStand=false
                            root.CFrame=original
                            cam.CameraSubject=hum
                            for _,p in pairs(char:GetDescendants()) do if p:IsA("BasePart") then p.Velocity=Vector3.zero p.RotVelocity=Vector3.zero end end
                            hum:UnequipTools()
                            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools","Couch")
                        end
                    end
                end
                task.wait(0.5)
            end
        end)
    end
})

TabPlayers:AddSection({Name = "functions Kill | one click- "})

-- script create BY ghost
TabPlayers:AddButton({
	Name = "fling Croch",
	Description = "fling Croch, starting Make Player For Void Kill/glitch",
	Callback = function()
		local Players = game:GetService("Players")
		local LocalPlayer = Players.LocalPlayer
		local cam = workspace.CurrentCamera
		if not selectedPlayer then return end

		local target = Players:FindFirstChild(selectedPlayer)
		if not target or not target.Character then return end

		local char = LocalPlayer.Character
		local root = char and char:FindFirstChild("HumanoidRootPart")
		local tRoot = target.Character:FindFirstChild("HumanoidRootPart")
		local tHum = target.Character:FindFirstChildOfClass("Humanoid")
		local hum = char and char:FindFirstChildOfClass("Humanoid")
		if not (root and tRoot and tHum and hum) then return end

		local args = { [1] = "ClearAllTools" }
		game:GetService("ReplicatedStorage").RE:FindFirstChild("1Clea1rTool1s"):FireServer(unpack(args))
		task.wait(0.3)
		game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools","Couch")

		local original = root.CFrame
		local tool = LocalPlayer.Backpack:FindFirstChildOfClass("Tool")
		if tool then tool.Parent = char end

		workspace.FallenPartsDestroyHeight = -math.huge

		local bv = Instance.new("BodyVelocity")
		bv.Name = "FlingForce"
		bv.Velocity = Vector3.new(9e8,9e8,9e8)
		bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
		bv.Parent = root

		hum:SetStateEnabled(Enum.HumanoidStateType.Seated,false)
		hum.PlatformStand = false
		cam.CameraSubject = tRoot

		local angle = 0
		local t = tick()
		while tick() - t < 3 and target and target.Character and target.Character:FindFirstChildOfClass("Humanoid") do
			tHum = target.Character:FindFirstChildOfClass("Humanoid")
			tRoot = target.Character:FindFirstChild("HumanoidRootPart")
			if not tRoot then break end
			angle += 30
			root.CFrame = CFrame.new(tRoot.Position + Vector3.new(0, 1, 0)) * CFrame.Angles(math.rad(angle), 0, 0)
			root.Velocity = Vector3.new(9e8,9e8,9e8)
			root.RotVelocity = Vector3.new(9e8,9e8,9e8)
			task.wait()
		end

		bv:Destroy()
		hum:SetStateEnabled(Enum.HumanoidStateType.Seated,true)
		hum.PlatformStand = false
		root.CFrame = original
		cam.CameraSubject = hum
		for _, p in pairs(char:GetDescendants()) do
			if p:IsA("BasePart") then
				p.Velocity = Vector3.zero
				p.RotVelocity = Vector3.zero
			end
		end
		hum:UnequipTools()
		game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools","Couch")
	end
})

TabPlayers:AddButton({
    Name = "Fling Ball  ",
    Description = "Fling Ball, Make the Ball Flings The player",
    Callback = function()
        local Players = game:GetService("Players")
        local ReplicatedStorage = game:GetService("ReplicatedStorage")
        local Workspace = game:GetService("Workspace")

        local player = Players.LocalPlayer
        local targetPlayer = Players:FindFirstChild(selectedPlayer)
        print("FOUND your USER:", selectedPlayer)

        if not targetPlayer or not targetPlayer.Character then
            warn("Jogador alvo inválido.")
            return
        end

        local character = player.Character or player.CharacterAdded:Wait()
        local backpack = player:WaitForChild("Backpack")
        local ServerBalls = Workspace:WaitForChild("WorkspaceCom"):WaitForChild("001_SoccerBalls")

        -- Solicita e equipa a bola
        if not backpack:FindFirstChild("SoccerBall") and not character:FindFirstChild("SoccerBall") then
            ReplicatedStorage.RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools", "SoccerBall")
        end

        repeat task.wait() until backpack:FindFirstChild("SoccerBall") or character:FindFirstChild("SoccerBall")

        local ballTool = backpack:FindFirstChild("SoccerBall")
        if ballTool then
            ballTool.Parent = character
        end

        repeat task.wait() until ServerBalls:FindFirstChild("Soccer" .. player.Name)
        local Ball = ServerBalls:FindFirstChild("Soccer" .. player.Name)

        Ball.CanCollide = false
        Ball.Massless = true
        Ball.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0)

        -- Aplicar o fling
        local tchar = targetPlayer.Character
        local troot = tchar and tchar:FindFirstChild("HumanoidRootPart")
        local thum = tchar and tchar:FindFirstChild("Humanoid")
        if not troot or not thum then return end

        if Ball:FindFirstChildWhichIsA("BodyVelocity") then
            Ball:FindFirstChildWhichIsA("BodyVelocity"):Destroy()
        end

        local bv = Instance.new("BodyVelocity")
        bv.Name = "FlingPower"
        bv.Velocity = Vector3.new(9e8, 9e8, 9e8)
        bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
        bv.P = 9e900
        bv.Parent = Ball

        -- loop a colar no alvo
        task.spawn(function()
            repeat
                if troot.Velocity.Magnitude > 0 then
                    local pos = troot.Position + (troot.Velocity / 1.5)
                    Ball.CFrame = CFrame.new(pos)
                    Ball.Orientation += Vector3.new(45, 60, 30)
                else
                    for _, v in pairs(tchar:GetChildren()) do
                        if v:IsA("BasePart") and v.CanCollide and not v.Anchored then
                            Ball.CFrame = v.CFrame
                            task.wait(1/6000)
                        end
                    end
                end
                task.wait(1/6000)
            until troot.Velocity.Magnitude > 1000 or thum.Health <= 0 or not tchar:IsDescendantOf(Workspace) or targetPlayer.Parent ~= Players
        end)
    end
})

TabPlayers:AddToggle({
    Name = "Fling Toched ",
    Description = "Fling Toched, Make the Ball Flings people Toched in You",
    Default = false,
    Callback = function(state)
        local Players = game:GetService("Players")
        local ReplicatedStorage = game:GetService("ReplicatedStorage")
        local Workspace = game:GetService("Workspace")

        local player = Players.LocalPlayer
        local character = player.Character or player.CharacterAdded:Wait()
        local backpack = player:WaitForChild("Backpack")
        local serverBalls = Workspace:WaitForChild("WorkspaceCom"):WaitForChild("001_SoccerBalls")

        -- Guardar refs dentro do char
        if state then
            -- Se já existir, ignora
            if character:FindFirstChild("ShieldBall") then return end

            -- Pega bola caso não tenha
            if not backpack:FindFirstChild("SoccerBall") and not character:FindFirstChild("SoccerBall") then
                ReplicatedStorage.RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools", "SoccerBall")
            end

            repeat task.wait() until backpack:FindFirstChild("SoccerBall") or character:FindFirstChild("SoccerBall")
            local ballTool = backpack:FindFirstChild("SoccerBall")
            if ballTool then
                ballTool.Parent = character
            end

            repeat task.wait() until serverBalls:FindFirstChild("Soccer"..player.Name)
            local shieldBall = serverBalls:FindFirstChild("Soccer"..player.Name)
            if not shieldBall then return end
            shieldBall.Name = "ShieldBall"

            -- Configurações
            shieldBall.CanCollide = false
            shieldBall.Massless = true
            shieldBall.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0)

            -- Limpa BodyVelocity antigo
            if shieldBall:FindFirstChildWhichIsA("BodyVelocity") then
                shieldBall:FindFirstChildWhichIsA("BodyVelocity"):Destroy()
            end

            -- Cria BodyVelocity forte
            local bv = Instance.new("BodyVelocity")
            bv.Name = "FlingPower"
            bv.Velocity = Vector3.new(9e8, 9e8, 9e8)
            bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
            bv.P = 9e900
            bv.Parent = shieldBall

            -- Cola no torso
            local torso = character:FindFirstChild("UpperTorso") or character:FindFirstChild("HumanoidRootPart")

            local loop = Instance.new("BindableEvent")
            loop.Name = "ShieldLoop"
            loop.Parent = character

            task.spawn(function()
                while loop.Parent and shieldBall and shieldBall.Parent and torso and torso.Parent do
                    shieldBall.CFrame = torso.CFrame
                    task.wait(1/60)
                end
            end)

        else
            -- Desligar
            local shieldBall = character:FindFirstChild("ShieldBall")
            if shieldBall then
                shieldBall:Destroy()
            end
            local loop = character:FindFirstChild("ShieldLoop")
            if loop then
                loop:Destroy()
            end
        end
    end
})

TabPlayers:AddButton({
    Name = "Fling Canoe ",
    Description = "Fling Cantor, Using Canoe For Flings Player",
    Callback = function()
        local nome = selectedPlayer
        if not nome then
            warn("Nenhum jogador definido.")
            return
        end

        local AlvoSelecionado = game.Players:FindFirstChild(nome)
        if not AlvoSelecionado then
            warn("Jogador não encontrado.")
            return
        end

        local player = game.Players.LocalPlayer
        local char = player.Character or player.CharacterAdded:Wait()
        local humanoid = char:WaitForChild("Humanoid")
        local root = char:WaitForChild("HumanoidRootPart")

        if humanoid.Sit then
            humanoid.Sit = false
            task.wait(0.5)
        end

        root.CFrame = workspace.WorkspaceCom["001_CanoeCloneButton"].Button.CFrame
        task.wait(0.4)
        fireclickdetector(workspace.WorkspaceCom["001_CanoeCloneButton"].Button.ClickDetector, 0)
        task.wait(0.4)

        local canoe = workspace.WorkspaceCom["001_CanoeStorage"].Canoe
        local seat = canoe:FindFirstChild("VehicleSeat")

        if not canoe.PrimaryPart then
            canoe.PrimaryPart = seat
        end

        -- Sentar
        local tentativas = 0
        repeat
            char:MoveTo(seat.Position + Vector3.new(0, 3, 0))
            task.wait(0.05)
            seat:Sit(humanoid)
            tentativas += 1
        until humanoid.Sit or tentativas > 100

        if not humanoid.Sit then
            warn("Falhou em sentar no barco.")
            return
        end

        -- Alvo
        local alvoChar = AlvoSelecionado.Character or AlvoSelecionado.CharacterAdded:Wait()
        local alvoRoot = alvoChar:WaitForChild("HumanoidRootPart")
        local alvoHum = alvoChar:WaitForChild("Humanoid")

        local force = Instance.new("BodyForce", canoe.PrimaryPart)
        local angular = Instance.new("BodyAngularVelocity", canoe.PrimaryPart)
        angular.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
        angular.AngularVelocity = Vector3.new(1000, 5000, 1000)
        angular.P = 1e9

        local distancia = 10
        local sentido = 1

        local start = tick()
        while tick() - start < 10 and humanoid.Sit and alvoChar and alvoHum and alvoHum.Health > 0 do
            local offset = alvoRoot.CFrame.LookVector * distancia * sentido
            local pos = alvoRoot.Position + offset
            canoe:SetPrimaryPartCFrame(CFrame.new(pos, alvoRoot.Position))
            sentido = -sentido

            local dir = (alvoRoot.Position - canoe.PrimaryPart.Position).Unit
            force.Force = dir * 1e6 + Vector3.new(0, workspace.Gravity * canoe.PrimaryPart:GetMass(), 0)
            task.wait()
        end

        force:Destroy()
        angular:Destroy()
    end
})

TabPlayers:AddButton({
    Name = "Car - Bring",
    Description = "Car Bring, Bring The Player",
    Callback = function()
        local Players = game:GetService("Players")
        local RunService = game:GetService("RunService")
        local ReplicatedStorage = game:GetService("ReplicatedStorage")

        local LocalPlayer = Players.LocalPlayer
        local selectedPlayerName = selectedPlayer -- seu sistema define o player selecionado

        local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
        local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
        if not humanoidRootPart then
            warn("Erro: HumanoidRootPart do jogador local não encontrado")
            return
        end

        local humanoid = character:FindFirstChildOfClass("Humanoid")
        if not humanoid then
            warn("Erro: Humanoid do jogador local não encontrado")
            return
        end

        local originalPosition = humanoidRootPart.CFrame

        local function GetBus()
            local vehicles = workspace:FindFirstChild("Vehicles")
            if vehicles then
                return vehicles:FindFirstChild(LocalPlayer.Name .. "Car")
            end
            return nil
        end

        -- TP1: Pegar ônibus
        local bus = GetBus()
        if not bus then
            humanoidRootPart.CFrame = CFrame.new(1118.81, 75.998, -1138.61)
            task.wait(0.5)
            local remoteEvent = ReplicatedStorage:FindFirstChild("RE")
            if remoteEvent and remoteEvent:FindFirstChild("1Ca1r") then
                remoteEvent["1Ca1r"]:FireServer("PickingCar", "SchoolBus")
            end
            task.wait(1)
            bus = GetBus()
        end

        if not bus or not bus.PrimaryPart then
            warn("Ônibus não encontrado ou PrimaryPart faltando!")
            return
        end

        -- TP2: posição inicial
        humanoidRootPart.CFrame = CFrame.new(1108.079956, 78.852867, -1146.426147)
        task.wait(0.4)

        -- Sentar no ônibus (até 5 tentativas)
        local seat = bus:FindFirstChild("Body") and bus.Body:FindFirstChild("VehicleSeat")
        if seat and not humanoid.Sit then
            for i = 1, 5 do
                seat:Sit(humanoid)
                local timeout = tick() + 1
                repeat task.wait(0.2) until humanoid.Sit or tick() > timeout
                if humanoid.Sit then break end
            end
        end

        -- Função para “seguir” o jogador alvo
        local function TrackPlayer()
            while true do
                if selectedPlayerName then
                    local targetPlayer = Players:FindFirstChild(selectedPlayerName)
                    if targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
                        local targetRoot = targetPlayer.Character.HumanoidRootPart
                        local targetHumanoid = targetPlayer.Character:FindFirstChildOfClass("Humanoid")
                        if targetHumanoid and targetHumanoid.Sit then
                            -- Alvo sentado: devolve ônibus e deleta
                            bus:SetPrimaryPartCFrame(originalPosition)
                            task.wait(0.7)
                            local args = { [1] = "DeleteAllVehicles" }
                            ReplicatedStorage.RE:FindFirstChild("1Ca1r"):FireServer(unpack(args))
                            break
                        else
                            -- Aproxima o ônibus do jogador alvo
                            local time = tick() * 35
                            local lateralOffset = math.sin(time) * 4
                            local frontBackOffset = math.cos(time) * 20
                            bus:SetPrimaryPartCFrame(targetRoot.CFrame * CFrame.new(lateralOffset, 0, frontBackOffset))
                        end
                    end
                end
                RunService.RenderStepped:Wait()
            end
        end

        spawn(TrackPlayer)
    end
})

TabPlayers:AddButton({
    Name = "Car - Kill",
    Description = "Car Kill, Kill the player Using Cat Buss",
    Callback = function()
        if not selectedPlayer then
            warn("Nenhum jogador selecionado!")
            return
        end

        local Player = game.Players.LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local Humanoid = Character:FindFirstChildOfClass("Humanoid")
        local RootPart = Character:FindFirstChild("HumanoidRootPart")
        local Vehicles = workspace:FindFirstChild("Vehicles")
        local OldPos = RootPart and RootPart.CFrame

        if not Humanoid or not RootPart then return end

        -- ==== TP 1: pegar carro ====
        RootPart.CFrame = CFrame.new(1118.81, 75.998, -1138.61)
        task.wait(0.5)

        -- Pegar o carro
        local PCar = Vehicles and Vehicles:FindFirstChild(Player.Name.."Car")
        if not PCar then
            game.ReplicatedStorage.RE:FindFirstChild("1Ca1r"):FireServer("PickingCar", "SchoolBus")
            task.wait(1)
            PCar = Vehicles:FindFirstChild(Player.Name.."Car")
        end

        -- ==== TP 2: posição de ataque ====
        RootPart.CFrame = CFrame.new(1108.079956, 78.852867, -1146.426147)
        task.wait(0.4)

        -- Garantir que o player sente no carro (até 2 tentativas)
        if PCar then
            local Seat = PCar:FindFirstChild("Body") and PCar.Body:FindFirstChild("VehicleSeat")
            if Seat then
                for i = 1, 2 do
                    Seat:Sit(Humanoid)
                    local timeout = tick() + 1
                    repeat task.wait(0.2) until Humanoid.Sit or tick() > timeout
                    if Humanoid.Sit then break end
                end
            end
        end

        -- Ajustar PrimaryPart se faltar
        if PCar and not PCar.PrimaryPart then
            local Body = PCar:FindFirstChild("Body")
            if Body and Body:FindFirstChild("VehicleSeat") then
                PCar.PrimaryPart = Body.VehicleSeat
            end
        end

        -- ==== Iniciar kill ====
        local TargetPlayer = game.Players:FindFirstChild(selectedPlayer)
        if TargetPlayer then
            local TargetC = TargetPlayer.Character
            local TargetH = TargetC and TargetC:FindFirstChildOfClass("Humanoid")
            local TargetRP = TargetC and TargetC:FindFirstChild("HumanoidRootPart")

            if TargetC and TargetH and TargetRP and not TargetH.Sit then
                while TargetH.Health > 0 and not TargetH.Sit do
                    task.wait()

                    local randomX, randomY, randomZ = math.random(-360, 360), math.random(-360, 360), math.random(-360, 360)

                    local function kill(alvo, pos, angulo)
                        if PCar and PCar.PrimaryPart then
                            PCar:PivotTo(CFrame.new(alvo.Position) * pos * angulo)
                        end
                    end

                    local offset = TargetH.MoveDirection * (TargetRP.Velocity.Magnitude / 1.05)
                    kill(TargetRP, CFrame.new(0, 1, 0) + offset, CFrame.Angles(math.rad(randomX), math.rad(randomY), math.rad(randomZ)))
                    kill(TargetRP, CFrame.new(0, -2.25, 5) + offset, CFrame.Angles(math.rad(randomX), math.rad(randomY), math.rad(randomZ)))
                    kill(TargetRP, CFrame.new(0, 2.25, 0.25) + offset, CFrame.Angles(math.rad(randomX), math.rad(randomY), math.rad(randomZ)))
                    kill(TargetRP, CFrame.new(-2.25, -1.5, 2.25) + offset, CFrame.Angles(math.rad(randomX), math.rad(randomY), math.rad(randomZ)))
                    kill(TargetRP, CFrame.new(0, 1.5, 0) + offset, CFrame.Angles(math.rad(randomX), math.rad(randomY), math.rad(randomZ)))
                    kill(TargetRP, CFrame.new(0, -1.5, 0) + offset, CFrame.Angles(math.rad(randomX), math.rad(randomY), math.rad(randomZ)))
                end

                -- Finalização: manda pro void e volta
                task.wait(0.1)
                if PCar and PCar.PrimaryPart then
                    PCar:PivotTo(CFrame.new(0, -470, 0))
                end
                task.wait(0.2)
                Humanoid.Sit = false
                task.wait(0.1)
                RootPart.CFrame = OldPos
                
                
                local args = {
            [1] = "DeleteAllVehicles"
        }
        game:GetService("ReplicatedStorage").RE:FindFirstChild("1Ca1r"):FireServer(unpack(args))
                
            end
        end
    end
})

TabPlayers:AddButton({
    Name = "fling - Boat",
    Description = "Fling Boat, Flings The player Using Boat militar",
    Callback = function()
        local TargetName = selectedPlayer
        local Player = game.Players.LocalPlayer
        local Character = Player.Character
        local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid")
        local RootPart = Character and Character:FindFirstChild("HumanoidRootPart")
        local Vehicles = workspace:FindFirstChild("Vehicles")

        if not TargetName or not Humanoid or not RootPart then return end

        local function spawnBoat()
            RootPart.CFrame = CFrame.new(1754, -2, 58)
            task.wait(0.5)
            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Ca1r"):FireServer("PickingBoat", "MilitaryBoatFree")
            task.wait(1)
            return Vehicles and Vehicles:FindFirstChild(Player.Name.."Car")
        end

        local PCar = Vehicles and Vehicles:FindFirstChild(Player.Name.."Car") or spawnBoat()
        if not PCar then return end

        local Seat = PCar:FindFirstChild("Body") and PCar.Body:FindFirstChild("VehicleSeat")
        if not Seat then return end

        repeat 
            task.wait()
            RootPart.CFrame = Seat.CFrame * CFrame.new(0, math.random(-1, 1), 0)
        until Humanoid.Sit

        local SpinGyro = Instance.new("BodyGyro")
        SpinGyro.Parent = PCar.PrimaryPart
        SpinGyro.MaxTorque = Vector3.new(1e7, 1e7, 1e7)
        SpinGyro.P = 1e7
        SpinGyro.CFrame = PCar.PrimaryPart.CFrame * CFrame.Angles(0, math.rad(90), 0)

        workspace.Gravity = 0.1

        local TargetPlayer = game.Players:FindFirstChild(TargetName)
        if not TargetPlayer or not TargetPlayer.Character then return end

        local TargetC = TargetPlayer.Character
        local TargetH = TargetC:FindFirstChildOfClass("Humanoid")
        local TargetRP = TargetC:FindFirstChild("HumanoidRootPart")

        if not TargetRP or not TargetH then return end

        local function flingTarget()
            local vel = TargetRP.Velocity.Magnitude
            local dir = TargetH.MoveDirection

            local function kill(alvo, pos)
                if PCar and PCar.PrimaryPart then
                    PCar:SetPrimaryPartCFrame(CFrame.new(alvo.Position) * pos)
                end
            end

            kill(TargetRP, CFrame.new(0, 3, 0) + dir * vel / 1.05)
            kill(TargetRP, CFrame.new(0, -2.25, 5) + dir * vel / 1.05)
            kill(TargetRP, CFrame.new(0, 2.25, 0.25) + dir * vel / 1.10)
            kill(TargetRP, CFrame.new(-2.25, -1.5, 2.25) + dir * vel / 1.10)
            kill(TargetRP, CFrame.new(0, 1.5, 0) + dir * vel / 1.05)
            kill(TargetRP, CFrame.new(0, -1.5, 0) + dir * vel / 1.05)
        end

        task.spawn(function()
            local teleportCount = 0
            local spawnPos = CFrame.new(1754, 5, 58)

            while teleportCount < 5 do
                task.wait(0.5)
                if not PCar or not PCar.Parent then
                    if SpinGyro then SpinGyro:Destroy() end
                    RootPart.CFrame = spawnPos
                    teleportCount += 1
                    Humanoid.PlatformStand = true
                    task.wait(0.5)
                    SpinGyro = Instance.new("BodyGyro")
                    SpinGyro.Parent = PCar.PrimaryPart
                    SpinGyro.MaxTorque = Vector3.new(1e7, 1e7, 1e7)
                    SpinGyro.P = 1e7
                    SpinGyro.CFrame = PCar.PrimaryPart.CFrame * CFrame.Angles(0, math.rad(90), 0)
                else
                    break
                end
            end

            while true do
                task.wait(0.5)
                if PCar and PCar.Parent then
                    flingTarget()
                else
                    break
                end
            end
        end)

        game:GetService("RunService").Heartbeat:Connect(function()
            if not PCar or not PCar.Parent then
                workspace.Gravity = 196.2
            end
        end)
    end
})


TabPlayers:AddButton({
    Name = "fling V2 - boat",
    Description = "Fling Boat, More Fast Good/ Flings The player Using Boat Spin",
    Callback = function()
        if not selectedPlayer or not game.Players:FindFirstChild(selectedPlayer) then
            warn("Nenhum jogador selecionado ou não existe")
            return
        end

        local Player = game.Players.LocalPlayer
        local Character = Player.Character
        local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid")
        local RootPart = Character and Character:FindFirstChild("HumanoidRootPart")
        local Vehicles = game.Workspace:FindFirstChild("Vehicles")

        if not Humanoid or not RootPart then
            warn("Humanoid ou RootPart inválido")
            return
        end

        -- Função para spawnar barco
        local function spawnBoat()
            RootPart.CFrame = CFrame.new(1754, -2, 58)
            task.wait(0.5)
            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Ca1r"):FireServer("PickingBoat", "MilitaryBoatFree")
            task.wait(1)
            return Vehicles:FindFirstChild(Player.Name.."Car")
        end

        local PCar = Vehicles:FindFirstChild(Player.Name.."Car") or spawnBoat()
        if not PCar then
            warn("Falha ao spawnar o barco")
            return
        end

        local Seat = PCar:FindFirstChild("Body") and PCar.Body:FindFirstChild("VehicleSeat")
        if not Seat then
            warn("Assento não encontrado")
            return
        end

        -- sentar
        repeat 
            task.wait(0.1)
            RootPart.CFrame = Seat.CFrame * CFrame.new(0, 1, 0)
        until Humanoid.SeatPart == Seat

        print("Barco spawnado!")

        local TargetPlayer = game.Players:FindFirstChild(selectedPlayer)
        if not TargetPlayer or not TargetPlayer.Character then
            warn("Jogador não encontrado")
            return
        end

        local TargetC = TargetPlayer.Character
        local TargetH = TargetC:FindFirstChildOfClass("Humanoid")
        local TargetRP = TargetC:FindFirstChild("HumanoidRootPart")

        if not TargetRP or not TargetH then
            warn("Humanoid ou RootPart do alvo não encontrado")
            return
        end

        -- spin infinito
        local Spin = Instance.new("BodyAngularVelocity")
        Spin.Name = "Spinning"
        Spin.Parent = PCar.PrimaryPart
        Spin.MaxTorque = Vector3.new(0, math.huge, 0)
        Spin.AngularVelocity = Vector3.new(0, 369, 0) 

        print("Fling ativo!")

        local function moveCar(TargetRP, offset)
            if PCar and PCar.PrimaryPart then
                PCar:SetPrimaryPartCFrame(CFrame.new(TargetRP.Position + offset))
            end
        end

        -- loop de segurar + girar aleatório
        task.spawn(function()
            while PCar and PCar.Parent and TargetRP and TargetRP.Parent do
                task.wait(0.01) 
                
                -- seguir sempre 7 studs à frente
                local front = TargetRP.CFrame.LookVector * 2
                moveCar(TargetRP, front + Vector3.new(0, 1.5, 0))

                -- se alvo subir muito (flingado)
                if TargetRP.Position.Y > 7000 then
                    if Spin and Spin.Parent then
                        Spin:Destroy()
                    end
                    PCar:Destroy()
                    print("Fling encerrado - alvo já foi lançado!")
                    break
                end

                -- rotações aleatórias para bagunçar o alvo
                if PCar and PCar.PrimaryPart then
                    local Rotation = CFrame.Angles(
                        math.rad(math.random(-369, 369)),  
                        math.rad(math.random(-369, 369)), 
                        math.rad(math.random(-369, 369))
                    )
                    PCar:SetPrimaryPartCFrame(CFrame.new(TargetRP.Position + front + Vector3.new(0, 1.5, 0)) * Rotation)
                end
            end
        end)
    end
})

TabPlayers:AddButton({
    Name = "Fling Ball Car [TROLL]",
    Description = "Fling Car, Flings The cat From Player",
    Callback = function()
        local Players = game:GetService("Players")
        local ReplicatedStorage = game:GetService("ReplicatedStorage")
        local Workspace = game:GetService("Workspace")

        local player = Players.LocalPlayer
        local targetPlayer = Players:FindFirstChild(selectedPlayer)
        if not targetPlayer then
            warn("Jogador alvo inválido.")
            return
        end

        local character = player.Character or player.CharacterAdded:Wait()
        local backpack = player:WaitForChild("Backpack")
        local serverBalls = Workspace:WaitForChild("WorkspaceCom"):WaitForChild("001_SoccerBalls")

        -- Equipar bola
        if not backpack:FindFirstChild("SoccerBall") and not character:FindFirstChild("SoccerBall") then
            ReplicatedStorage.RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools", "SoccerBall")
        end

        repeat task.wait() until backpack:FindFirstChild("SoccerBall") or character:FindFirstChild("SoccerBall")

        local ballTool = backpack:FindFirstChild("SoccerBall")
        if ballTool then
            ballTool.Parent = character
        end

        repeat task.wait() until serverBalls:FindFirstChild("Soccer"..player.Name)
        local Ball = serverBalls:FindFirstChild("Soccer"..player.Name)

        Ball.CanCollide = false
        Ball.Massless = true
        Ball.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0)

        -- Procurar carro do alvo
        local vehicleFolder = Workspace:FindFirstChild("Vehicles")
        if not vehicleFolder then
            warn("Pasta Vehicles não encontrada!")
            return
        end

        local targetCar = vehicleFolder:FindFirstChild(targetPlayer.Name.."Car")
        if not targetCar then
            warn("Carro do alvo não encontrado!")
            return
        end

        -- Remover velocity antigo
        if Ball:FindFirstChildWhichIsA("BodyVelocity") then
            Ball:FindFirstChildWhichIsA("BodyVelocity"):Destroy()
        end

        -- Criar BodyVelocity para fling
        local bv = Instance.new("BodyVelocity")
        bv.Name = "FlingPower"
        bv.Velocity = Vector3.new(9e8, 9e8, 9e8)
        bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
        bv.P = 9e900
        bv.Parent = Ball

        -- Focar a bola no carro, 2 studs abaixo
        task.spawn(function()
            repeat
                if targetCar.PrimaryPart then
                    local pos = targetCar.PrimaryPart.Position - Vector3.new(0, 2, 0) -- -2 abaixo
                    Ball.CFrame = CFrame.new(pos) * CFrame.Angles(math.rad(45), math.rad(60), math.rad(30))
                else
                    local part = targetCar:FindFirstChildWhichIsA("BasePart")
                    if part then
                        local pos = part.Position - Vector3.new(0, 2, 0)
                        Ball.CFrame = CFrame.new(pos)
                    end
                end
                task.wait(1/6000)
            until not targetCar:IsDescendantOf(Workspace) or targetPlayer.Parent ~= Players
        end)
    end
})

TabPlayers:AddSection({ " Orbit TROLL" })

-- Config global
OrbitSettings = {
    Speed = 2,
    Distance = 6,
    Height = 0,
    Fling = false
}


-- Sliders
TabPlayers:AddSlider({
    Name = "Speed Spin",
    Min = 1,
    Max = 20,
    Default = 2,
    Callback = function(Value)
        OrbitSettings.Speed = Value
    end
})

TabPlayers:AddSlider({
    Name = "Distance",
    Min = 1,
    Max = 20,
    Default = 6,
    Callback = function(Value)
        OrbitSettings.Distance = Value
    end
})

TabPlayers:AddSlider({
    Name = "Height",
    Min = -10,
    Max = 10,
    Default = 0,
    Callback = function(Value)
        OrbitSettings.Height = Value
    end
})

---------------------------------------------------
-- Função global que cria a orbita
function orbitBall(targetChar, modeName)
    if not targetChar or not targetChar:FindFirstChild("HumanoidRootPart") then return end

    player = game:GetService("Players").LocalPlayer
    character = player.Character or player.CharacterAdded:Wait()
    backpack = player:WaitForChild("Backpack")
    serverBalls = workspace:WaitForChild("WorkspaceCom"):WaitForChild("001_SoccerBalls")

    -- garantir bola
    if not backpack:FindFirstChild("SoccerBall") and not character:FindFirstChild("SoccerBall") then
        game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools", "SoccerBall")
    end
    repeat task.wait() until backpack:FindFirstChild("SoccerBall") or character:FindFirstChild("SoccerBall")
    ballTool = backpack:FindFirstChild("SoccerBall")
    if ballTool then ballTool.Parent = character end

    repeat task.wait() until serverBalls:FindFirstChild("Soccer"..player.Name)
    orb = serverBalls:FindFirstChild("Soccer"..player.Name)
    if not orb then return end
    orb.Name = modeName

    orb.CanCollide = false
    orb.Massless = true
    orb.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0)

    if orb:FindFirstChild("FlingPower") then orb.FlingPower:Destroy() end

    -- só flinga se OrbitSettings.Fling == true
    if OrbitSettings.Fling then
        bv = Instance.new("BodyVelocity")
        bv.Name = "FlingPower"
        bv.Velocity = Vector3.new(9e8, 9e8, 9e8)
        bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
        bv.P = 9e900
        bv.Parent = orb
    end

    loop = Instance.new("BindableEvent")
    loop.Name = modeName.."Loop"
    loop.Parent = character

    task.spawn(function()
        while loop.Parent and orb and orb.Parent and targetChar and targetChar.Parent do
            angle = tick() * OrbitSettings.Speed
            offset = CFrame.new(
                math.cos(angle) * OrbitSettings.Distance,
                OrbitSettings.Height,
                math.sin(angle) * OrbitSettings.Distance
            )
            orb.CFrame = targetChar.HumanoidRootPart.CFrame * offset
            task.wait(1/60)
        end
    end)
end

---------------------------------------------------
-- Toggles
TabPlayers:AddToggle({
    Name = "Orbit Ball",
    Description = "A bola gira em volta de você.",
    Default = false,
    Callback = function(state)
        char = game:GetService("Players").LocalPlayer.Character
        loop = char and char:FindFirstChild("OrbitBallLoop")
        if state then
            orbitBall(char, "OrbitBall")
        elseif loop then
            loop:Destroy()
            orb = workspace.WorkspaceCom["001_SoccerBalls"]:FindFirstChild("OrbitBall")
            if orb then orb:Destroy() end
        end
    end
})

TabPlayers:AddToggle({
    Name = "Orbit Ball [Alvo]",
    Description = "A bola gira em volta do alvo selecionado.",
    Default = false,
    Callback = function(state)
        target = selectedPlayer and game:GetService("Players"):FindFirstChild(selectedPlayer)
        if not target then return end
        char = game:GetService("Players").LocalPlayer.Character
        loop = char and char:FindFirstChild("OrbitTargetLoop")
        if state then
            orbitBall(target.Character, "OrbitTarget")
        elseif loop then
            loop:Destroy()
            orb = workspace.WorkspaceCom["001_SoccerBalls"]:FindFirstChild("OrbitTarget")
            if orb then orb:Destroy() end
        end
    end
})

TabPlayers:AddToggle({
    Name = "Orbit Fling",
    Description = "Se ativado, a orbit flinga ao encostar. Se desativado, só gira normal.",
    Default = false,
    Callback = function(state)
        OrbitSettings.Fling = state
    end
})

local TabSound = Window:MakeTab({"| Sound", "box"})

local loopAtivo = false
local InputID = ""

TabSound:AddTextBox({
    Name = "Insira o ID Audio All",
    Description = "Digite o ID do som que deseja tocar",
    Default = "",
    PlaceholderText = "Exemplo",
    ClearTextOnFocus = true,
    Callback = function(text)
        InputID = tonumber(text)
    end
})

local function fireServer(eventName, args)
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local event = ReplicatedStorage:FindFirstChild("RE") and ReplicatedStorage.RE:FindFirstChild(eventName)
    if event then
        pcall(function()
            event:FireServer(unpack(args))
        end)
    end
end

TabSound:AddButton({
    Name = "Tocar Som",
    Description = "Clique para tocar a música inserida",
    Callback = function()
        if InputID then
            fireServer("1Gu1nSound1s", {Workspace, InputID, 1})
            local globalSound = Instance.new("Sound", Workspace)
            globalSound.SoundId = "rbxassetid://" .. InputID
            globalSound.Looped = false
            globalSound:Play()
            task.wait(3)
            globalSound:Destroy()
        end
    end
})

TabSound:AddToggle({
    Name = "Loop",
    Description = "Ative para colocar o som em loop",
    Default = false,
    Callback = function(state)
        loopAtivo = state
        if loopAtivo then
            spawn(function()
                while loopAtivo do
                    if InputID then
                        fireServer("1Gu1nSound1s", {Workspace, InputID, 1})
                        local globalSound = Instance.new("Sound", Workspace)
                        globalSound.SoundId = "rbxassetid://" .. InputID
                        globalSound.Looped = false
                        globalSound:Play()
                        task.spawn(function()
                            task.wait(3)
                            globalSound:Destroy()
                        end)
                    end
                    task.wait(1)
                end
            end)
        end
    end
})

TabSound:AddSection({ " memes (olds) -" })

local function createSoundDropdown(title, musicOptions, defaultOption)
    local musicNames = {}
    local categoryMap = {}
    for category, sounds in pairs(musicOptions) do
        for _, music in ipairs(sounds) do
            if music.name ~= "" and music.id ~= "4354908569" then
                table.insert(musicNames, music.name)
                categoryMap[music.name] = {id = music.id, category = category}
            end
        end
    end

    local selectedSoundID = nil
    local currentVolume = 1
    local currentPitch = 1 -- velocidade do som

    local function playSound(soundId, volume, pitch)
        -- envia pro servidor com a velocidade no [3]
        fireServer("1Gu1nSound1s", {Workspace, soundId, pitch})

        -- som local (preview)
        local globalSound = Instance.new("Sound")
        globalSound.Parent = Workspace
        globalSound.SoundId = "rbxassetid://" .. soundId
        globalSound.Volume = volume
        globalSound.PlaybackSpeed = pitch -- controla a velocidade
        globalSound.Looped = false
        globalSound:Play()
        task.spawn(function()
            task.wait(3)
            globalSound:Destroy()
        end)
    end

    -- Dropdown para escolher o som
    TabSound:AddDropdown({
        Name = title,
        Description = "Escolha um som para tocar no servidor",
        Default = defaultOption,
        Multi = false,
        Options = musicNames,
        Callback = function(selectedSound)
            if selectedSound and categoryMap[selectedSound] then
                selectedSoundID = categoryMap[selectedSound].id
            else
                selectedSoundID = nil
            end
        end
    })

    -- Botão de tocar
    TabSound:AddButton({
        Name = "Tocar Som Selecionado",
        Description = "Clique para tocar o som do dropdown",
        Callback = function()
            if selectedSoundID then
                playSound(selectedSoundID, currentVolume, currentPitch)
            end
        end
    })

    -- Toggle de loop
    local dropdownLoopActive = false
    TabSound:AddToggle({
        Name = "Loop",
        Description = "Ativa o loop do som selecionado",
        Default = false,
        Callback = function(state)
            dropdownLoopActive = state
            if state then
                task.spawn(function()
                    while dropdownLoopActive do
                        if selectedSoundID then
                            playSound(selectedSoundID, currentVolume, currentPitch)
                        end
                        task.wait(1)
                    end
                end)
            end
        end
    })

    -- TextBox para velocidade
    TabSound:AddTextBox({
        Name = "Velocidade do Som",
        Description = "Digite a velocidade (ex: 1 = normal, 2 = rápido, 0.5 = lento)",
        PlaceholderText = "1",
        Callback = function(value)
            local num = tonumber(value)
            if num then
                currentPitch = num
            end
        end
    })
end

-- Dropdown "Memes"
createSoundDropdown("Selecione um meme", {
    ["Memes"] = {
        {name = "Trollface laugh", id = "73753120048787"},
        {name = "troll face sussy", id = "9098738774"},
        {name = "troll cut", id = "8389041427"},
        {name = "troll transition", id = "7705506391"},
        {name = "troll laugh", id = "7816195044"},
        {name = "Magic2", id = "9066733515"},
        {name = "homero brasileo", id = "115224076671067"},
        {name = "LOUD Youve been trolled", id = "6787686247"},
        {name = "Fart Meme Sound", id = "6454805792"},
        {name = "Metal Rattle 2 SFX", id = "9116788555"},
        {name = "Hentai wiaaaaan", id = "88332347208779"},
        {name = "iamete cunasai", id = "108494476595033"},
        {name = "dodichan onnn...", id = "134640594695384"},
        {name = "Toma jack", id = "132603645477541"},
        {name = "Toma jackV2", id = "100446887985203"},
        {name = "Toma jack no sol quente", id = "97476487963273"},
        {name = "ifood", id = "133843750864059"},
        {name = "pelo geito ela ta querendo ram", id = "94395705857835"},
        {name = "lula vai todo mundo", id = "136804576009416"},
        {name = "coringa", id = "84663543883498"},
        {name = "shoope", id = "8747441609"},
        {name = "quenojo", id = "103440368630269"},
        {name = "sai dai lava prato", id = "101232400175829"},
        {name = "se e loko numconpeça", id = "78442476709262"},
        {name = "mita sequer que eu too uma", id = "94889439372168"},
        {name = "Hoje vou ser tua mulher e tu", id = "90844637105538"},
        {name = "Deita aqui eu mandei vc deitar sirens", id = "100291188941582"},
        {name = "miau", id = "131804436682424"},
        {name = "skibidi", id = "128771670035179"},
        {name = "BIRULEIBI", id = "121569761604968"},
        {name = "sai", id = "121169949217007"},
        {name = "risada boa dms", id = "127589011971759"},
        {name = "vacilo perna de pau", id = "106809680656199"},
        {name = "gomo gomo no!!!", id = "137067472449625"},
        {name = "arroto", id = "140203378050178"},
        {name = "iraaaa", id = "136752451575091"},
        {name = "não fica se achando muito não", id = "101588606280167"},
        {name = "WhatsApp notificação", id = "107004225739474"},
        {name = "Samsung", id = "123767635061073"},
        {name = "Shiiii", id = "120566727202986"},
        {name = "ai_tomaa miku", id = "139770074770361"},
        {name = "kuru_kuru", id = "122465710753374"},
        {name = "PM ROCAM", id = "96161547081609"},
        {name = "cavalo!!", id = "78871573440184"},
        {name = "deixa os garoto brinca", id = "80291355054807"},
        {name = "flamengo", id = "137774355552052"},
        {name = "sai do mei satnas", id = "127944706557246"},
        {name = "namoral agora e a hora", id = "120677947987369"},
        {name = "n pode me chutar pq seu celebro e burro", id = "82284055473737"},
        {name = "vc ta fudido vou te pegar", id = "120214772725166"},
        {name = "deley", id = "102906880476838"},
        {name = "Tu e um beta", id = "130233956349541"},
        {name = "Porfavor n tira eu nao", id = "85321374020324"},
        {name = "Olá beleza vc pode me dá muitos", id = "74235334504693"},
        {name = "Discord sus", id = "122662798976905"},
        {name = "rojao apito", id = "6549021381"},
        {name = "off", id = "1778829098"},
        {name = "Kazuma kazuma", id = "127954653962405"},
        {name = "sometourado", id = "123592956882621"},
        {name = "Estouradoespad", id = "136179020015211"},
        {name = "Alaku bommm", id = "110796593805268"},
        {name = "busss", id = "139841197791567"},
        {name = "Estourado wItb", id = "137478052262430"},
        {name = "sla", id = "116672405522828"},
        {name = "HA HA HA", id = "138236682866721"}
    }
}, "pankapakan")

TabSound:AddSection({ "Jumpscar -" })

-- Dropdown "Efeito/Terror"
createSoundDropdown("Selecione um terror ou efeito", {
    ["efeito/terror"] = {
        {name = "jumpscar", id = "91784486966761"},
        {name = "gritoestourado", id = "7520729342"},
        {name = "gritomedo", id = "113029085566978"},
        {name = "Nukesiren", id = "9067330158"},
        {name = "nuclear sirenv2", id = "675587093"},
        {name = "Alertescola", id = "6607047008"},
        {name = "Memealertsiren", id = "8379374771"},
        {name = "sirenv3", id = "6766811806"},
        {name = "alet malaysia", id = "7714172940"},
        {name = "Risada", id = "79191730206814"},
        {name = "Hahahah", id = "90096947219465"},
        {name = "scream", id = "314568939"},
        {name = "Terrified meme scream", id = "5853668794"},
        {name = "Sonic.exe Scream Effect", id = "146563959"},
        {name = "Demon Scream", id = "2738830850"},
        {name = "SCP-096 Scream (raging)", id = "343430735"},
        {name = "Nightmare Yelling Bursts", id = "9125713501"},
        {name = "HORROR SCREAM 07", id = "9043345732"},
        {name = "Female Scream Woman Screams", id = "9114397912"},
        {name = "Scream1", id = "1319496541"},
        {name = "Scream2", id = "199978176"},
        {name = "scary maze scream", id = "270145703"},
        {name = "SammyClassicSonicFan's Scream", id = "143942090"},
        {name = "FNAF 2 Death Scream", id = "1572549161"},
        {name = "cod zombie scream", id = "8566359672"},
        {name = "Slendytubbies- CaveTubby Scream", id = "1482639185"},
        {name = "FNAF 2 Death Scream", id = "5537531920"},
        {name = "HORROR SCREAM 15", id = "9043346574"},
        {name = "Jumpscare Scream", id = "6150329916"},
        {name = "FNaF: Security Breach", id = "2050522547"},
        {name = "llllllll", id = "5029269312"},
        {name = "loud jumpscare", id = "7236490488"},
        {name = "fnaf", id = "6982454389"},
        {name = "Pinkamena Jumpscare 1", id = "192334186"},
        {name = "Ennard Jumpscare 2", id = "629526707"},
        {name = "a sla medo dino", id = "125506416092123"}
    }
}, "jumpscar")

TabSound:AddSection({ "Save sound  -" })

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local HttpService = game:GetService("HttpService")

-- Configurações
local saveFileName = "SavedSounds.txt"
local currentVolume = 1
local currentPitch = 1
local loopSoundActive = false
local loopDelay = 3

-- Estado
local selectedSoundName = nil
local selectedSoundID = nil
local savedSounds = {}
local savedSoundNames = {}

-- Funções
local function fireRemotePlaySound(soundId, volume)
    local remote = ReplicatedStorage:FindFirstChild("RE") and ReplicatedStorage.RE:FindFirstChild("1Gu1nSound1s")
    if remote then
        remote:FireServer(Workspace, soundId, volume)
    end
end

local function playSound(soundId, volume, pitch)
    fireRemotePlaySound(soundId, volume)

    local s = Instance.new("Sound")
    s.SoundId = "rbxassetid://" .. soundId
    s.Volume = volume
    s.Pitch = pitch
    s.Looped = false
    s.Parent = Workspace
    s:Play()
    task.delay(5, function()
        s:Destroy()
    end)
end

local function playLoop(soundId, volume, pitch, delayBetween)
    loopSoundActive = true
    task.spawn(function()
        while loopSoundActive and selectedSoundID == soundId do
            playSound(soundId, volume, pitch)
            task.wait(delayBetween)
        end
    end)
end

local function stopLoop()
    loopSoundActive = false
end

local function loadSavedSounds()
    local data = {}
    local success, content = pcall(function() return readfile(saveFileName) end)
    if success and content then
        local ok, parsed = pcall(function() return HttpService:JSONDecode(content) end)
        if ok and type(parsed) == "table" then
            data = parsed
        end
    end
    return data
end

local function saveSound(name, id)
    if not name or name == "" or not id or id == "" then
        print("Erro: Nome e ID obrigatórios!")
        return
    end

    local data = loadSavedSounds()
    data[name] = id
    writefile(saveFileName, HttpService:JSONEncode(data))

    print("Som salvo:", name, id)
end

local function refreshSavedSoundsDropdown()
    savedSounds = loadSavedSounds()
    savedSoundNames = {}
    for name, _ in pairs(savedSounds) do
        table.insert(savedSoundNames, name)
    end
    table.sort(savedSoundNames)
    return savedSoundNames
end

-- Inicializa sons salvos
refreshSavedSoundsDropdown()

-- Inputs
local inputName, inputID = "", ""

TabSound:AddTextBox({
    Name = "Nome do Som",
    Description = "Nome amigável",
    PlaceholderText = "Exemplo: Minha Música",
    Callback = function(Value)
        inputName = Value
    end
})

TabSound:AddTextBox({
    Name = "ID do Som",
    Description = "Som em números",
    PlaceholderText = "Digite o ID",
    Callback = function(Value)
        if tonumber(Value) then
            inputID = Value
        else
            inputID = nil
        end
    end
})

local SaveButton = TabSound:AddButton({" Salvar Som", function()
    if inputName and inputName ~= "" and inputID and inputID ~= "" then
        saveSound(inputName, inputID)
        refreshSavedSoundsDropdown()
        Dropdown:Refresh(savedSoundNames) -- atualiza lista
    else
        print("Preencha nome e ID válidos.")
    end
end})

-- Dropdown Sons Salvos
local Dropdown = TabSound:AddDropdown({
    Name = " Sons Salvos",
    Description = "Escolha o som salvo",
    Options = savedSoundNames,
    Default = savedSoundNames[1] or "Nenhum",
    Flag = "dropdown_sons"
})
Dropdown:Callback(function(Value)
    selectedSoundName = Value
    selectedSoundID = savedSounds[Value]
    stopLoop()
end)


-- Botão Deletar Som Selecionado


-- Botão de tocar
local PlayButton = TabSound:AddButton({" Tocar Som", function()
    if selectedSoundID then
        stopLoop()
        playSound(selectedSoundID, currentVolume, currentPitch)
    else
        print("Nenhum som selecionado.")
    end
end})

-- Toggle de Loop
local LoopToggle = TabSound:AddToggle({
    Name = " Loop Som",
    Description = "Repetir som selecionado",
    Default = false
})
LoopToggle:Callback(function(v)
    if v then
        if selectedSoundID then
            playLoop(selectedSoundID, currentVolume, currentPitch, loopDelay)
        else
            print("Selecione um som salvo.")
        end
    else
        stopLoop()
    end
end)

-- Slider Delay
local DelaySlider = TabSound:AddSlider({
    Name = " Velocidade Loop (s)",
    Description = "Delay entre repetições",
    Min = 1,
    Max = 10,
    Default = 3
})
DelaySlider:Callback(function(Value)
    loopDelay = Value
    if loopSoundActive and selectedSoundID then
        stopLoop()
        playLoop(selectedSoundID, currentVolume, currentPitch, loopDelay)
    end
end)

local DeleteButton = TabSound:AddButton({" Deletar Som", function()
    if selectedSoundName and savedSounds[selectedSoundName] then
        -- Carrega os sons salvos
        local data = loadSavedSounds()

        -- Remove o som selecionado
        data[selectedSoundName] = nil

        -- Salva novamente o arquivo sem o som removido
        writefile(saveFileName, HttpService:JSONEncode(data))

        print("Som deletado:", selectedSoundName)

        -- Atualiza a lista e limpa a seleção
        refreshSavedSoundsDropdown()
        Dropdown:Refresh(savedSoundNames)
        selectedSoundName = nil
        selectedSoundID = nil
    else
        print("Nenhum som selecionado para deletar.")
    end
end})

local TabLag = Window:MakeTab({ "| Lag", "Bomb" })

-- script create BY ghost
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")

local LocalPlayer = Players.LocalPlayer
local methodLag = nil
local lagWait = 0.01
local activeLag = nil

-- Dropdown de Método de Lag
local DropdownMethod = TabLag:AddDropdown({
    Name = "Select Method Lag [ Updated ) : ]",
    Description = "Escolha o método de lag que deseja usar",
    Options = {
        "Lag Bomba",
        "Lag iPhone",
        "Lag Book"
    },
    Default = "Lag Bomba",
    Flag = "lagmethod",
    Callback = function(Value)
        methodLag = Value
        print("Método selecionado:", methodLag)
    end
})

-- Função genérica de lag
local function LagGeneric(object)
    if not object or not object:FindFirstChild("ClickDetector") then return end
    activeLag = true
    task.spawn(function()
        local Player = LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local RootPart = Character:WaitForChild("HumanoidRootPart")
        local OldPos = RootPart.CFrame
        while activeLag do
            RootPart.CFrame = object.CFrame
            fireclickdetector(object.ClickDetector)
            task.wait(lagWait)
        end
        RootPart.CFrame = OldPos
    end)
end

-- Lags individuais
local function LagTaser()
    LagGeneric(Workspace.WorkspaceCom["001_GiveTools"]:FindFirstChild("Taser"))
end

local function LagBomba()
    LagGeneric(Workspace.WorkspaceCom["001_CriminalWeapons"].GiveTools:FindFirstChild("Bomb"))
end

local function LagIphone()
    LagGeneric(Workspace.WorkspaceCom["001_CommercialStores"].CommercialStorage1.Store.Tools:FindFirstChild("Iphone"))
end

local function LagBook()
    LagGeneric(Workspace.WorkspaceCom["001_DayCare"].Tools:FindFirstChild("Book"))
end

-- Ativador principal
TabLag:AddToggle({
Name = "Ativar Lag Selecionado",
Default = false,
Callback = function(state)
if not methodLag then
warn("Selecione um método antes de ativar.")
return
end

if state then  
        activeLag = true  
        print("Lag ativado:", methodLag)  
        if methodLag == "Lag Taser" then  
            LagTaser()  
        elseif methodLag == "Lag Bomba" then  
            LagBomba()  
        elseif methodLag == "Lag iPhone" then  
            LagIphone()  
        elseif methodLag == "Lag Book" then  
            LagBook()  
        end  
    else  
        activeLag = false  
        print("Lag desativado:", methodLag)  
    end  
end

})

-- Slider de Potência do Lag
TabLag:AddSlider({
    Name = "Potência do Lag Selecionado",
    Min = 1,
    Max = 1000,
    Increase = 1,
    Default = 1000,
    Callback = function(Value)
        lagWait = math.clamp(1 / Value, 0.001, 1)
        print("Hello word Lag Updated For:", lagWait)
    end
})

TabLag:AddSection({ " o silder e 1000 = 0.001 assim por diante" })

TabLag:AddSection({ " Lag com Bola ( fraco )" })

local BNumber = 9000 -- Valor padrão inicial

Toggle = TabLag:AddToggle({
Name = "Basketball Spam",
Default = false,
Callback = function(Value)
BasketToggleH = Value
if BasketToggleH then
local Player = game.Players.LocalPlayer
local Character = Player.Character
local RootPart = Character:FindFirstChild("HumanoidRootPart")
local OldPosition = RootPart.CFrame

-- Local onde a bola fica  
        local Clone = workspace.WorkspaceCom["001_GiveTools"].Basketball  

        -- Loop para coletar várias bolas  
        for i = 1, BNumber do  
            task.wait()  
            RootPart.CFrame = Clone.CFrame  
            fireclickdetector(Clone.ClickDetector)  
        end  

        -- Voltar à posição original  
        task.wait()  
        RootPart.CFrame = OldPosition  
    end  
end

})

local Slider = TabLag:AddSlider({
Name = "Amount of Basketballs",
MinValue = 1,
MaxValue = 9000,
Default = BNumber,
Increase = 1,
Callback = function(Value)
BNumber = Value
end
})

local ClickSpamEnabled = false

Toggle = TabLag:AddToggle({
    Name = "Spam balls basic",
    Default = false,
    Callback = function(Value)
        ClickSpamEnabled = Value
        local Player = game.Players.LocalPlayer
        local Mouse = Player:GetMouse()
        local Character = Player.Character

        task.spawn(function()
            while ClickSpamEnabled do
                task.wait(1) -- tempo mínimo possível
                for _, v in ipairs(Character:GetChildren()) do
                    if v.Name == "Basketball" and v:FindFirstChild("ClickEvent") then
                        local args = {
                            [1] = Mouse.Hit.p
                        }
                        v.ClickEvent:FireServer(unpack(args))
                    end
                end
            end
        end)
    end
})

local ClickSpamEnabled = false

Toggle = TabLag:AddToggle({
    Name = "Spam balls turbo",
    Default = false,
    Callback = function(Value)
        ClickSpamEnabled = Value
        local Player = game.Players.LocalPlayer
        local Mouse = Player:GetMouse()
        local Character = Player.Character

        task.spawn(function()
            while ClickSpamEnabled do
                task.wait(0.01) -- tempo mínimo possível
                for _, v in ipairs(Character:GetChildren()) do
                    if v.Name == "Basketball" and v:FindFirstChild("ClickEvent") then
                        local args = {
                            [1] = Mouse.Hit.p
                        }
                        v.ClickEvent:FireServer(unpack(args))
                    end
                end
            end
        end)
    end
})


local TabAnt = Window:MakeTab({ "| Ant", "Shield" })

local Paragraph = TabAnt:AddParagraph({"Lembrete", "Lag Laptop E mais Potente Por Criar Luz!!/nada"})

TabAnt:AddToggle({
    Name = "Anti lag all <",
    Description = "funciona pra vc minimizar o lag que vc ta usando ou de outro",
    Default = false,
    Callback = function(state)
        getgenv().AntLagAllEnabled = state

        local itemsToRemove = { "Laptop", "Bomb", "Iphone", "FireEx", "Book", "Basketball" }
        local removeLookup = {}
        
        for _, name in ipairs(itemsToRemove) do
            removeLookup[name] = true
        end

        local ClearDelay = 0.5

        -- Função para destruir os itens do personagem
        local function destroyItemsInCharacter(character)
            if not character then return end
            for _, item in ipairs(character:GetChildren()) do
                if removeLookup[item.Name] then
                    pcall(function()
                        item:Destroy()
                    end)
                end
            end
        end

        -- Função para processar os jogadores
        local function processPlayers()
            for _, player in ipairs(game.Players:GetPlayers()) do
                pcall(function()
                    if player.Character then
                        destroyItemsInCharacter(player.Character)
                    end
                end)
            end
        end

        -- Loop contínuo quando ativado
        task.spawn(function()
            while getgenv().AntLagAllEnabled do
                processPlayers()
                task.wait(ClearDelay)
            end
        end)
    end
})

TabAnt:AddToggle({
    Name = "Anti lag all v2 <",
    Description = "somente mais rapida",
    Default = false,
    Callback = function(state)
        getgenv().AntLagAllEnabled = state

        local itemsToRemove = { "Laptop", "Bomb", "Iphone", "FireEx", "Book", "Basketball", "FireX" }
        local removeLookup = {}
        for _, name in ipairs(itemsToRemove) do
            removeLookup[name] = true
        end

        local ClearDelay = 0.1

        -- Função para destruir os itens do personagem
        local function destroyItemsInCharacter(character)
            if not character then return end
            for _, item in ipairs(character:GetChildren()) do
                if removeLookup[item.Name] then
                    pcall(function()
                        item:Destroy()
                    end)
                end
            end
        end

        -- Monitora os itens adicionados em tempo real
        local function monitorCharacter(character)
            destroyItemsInCharacter(character) -- já limpa os que estão
            character.ChildAdded:Connect(function(item)
                if getgenv().AntLagAllEnabled and removeLookup[item.Name] then
                    task.defer(function()
                        pcall(function()
                            item:Destroy()
                        end)
                    end)
                end
            end)
        end

        -- Monitora todos os players
        local function setupPlayer(player)
            if player.Character then
                monitorCharacter(player.Character)
            end
            player.CharacterAdded:Connect(monitorCharacter)
        end

        -- Ativa monitoramento global
        if state then
            for _, player in ipairs(game.Players:GetPlayers()) do
                setupPlayer(player)
            end
            game.Players.PlayerAdded:Connect(setupPlayer)

            -- Loop contínuo de reforço
            task.spawn(function()
                while getgenv().AntLagAllEnabled do
                    for _, player in ipairs(game.Players:GetPlayers()) do
                        pcall(function()
                            if player.Character then
                                destroyItemsInCharacter(player.Character)
                            end
                        end)
                    end
                    task.wait(ClearDelay)
                end
            end)
        end
    end
})

local player = game:GetService("Players").LocalPlayer
local rs = game:GetService("RunService")

local renderConnection, seatedConnection, charConn

TabAnt:AddToggle({
    Name = "Anti Sit",
    Description = "eficaz contra croch mais fling ball sola",
    Default = false,
    Callback = function(Value)
        if Value then
            enableAntiSit(player.Character or player.CharacterAdded:Wait())
            charConn = player.CharacterAdded:Connect(function(char)
                disableAntiSit()
                enableAntiSit(char)
            end)
        else
            disableAntiSit()
        end
    end
})

-- Função que impede o jogador de sentar
function enableAntiSit(character)
    local humanoid = character:WaitForChild("Humanoid")
    humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false)

    seatedConnection = humanoid.Seated:Connect(function(active)
        if active then
            humanoid.Sit = false
            humanoid.SeatPart = nil
            humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
            character:PivotTo(character:GetPivot() + Vector3.new(0, 5, 0))
        end
    end)

    renderConnection = rs.RenderStepped:Connect(function()
        if humanoid.Sit then
            humanoid.Sit = false
            humanoid.SeatPart = nil
            humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
            character:PivotTo(character:GetPivot() + Vector3.new(0, 5, 0))
        end
    end)
end

-- Função para remover o anti sit
function disableAntiSit()
    if renderConnection then renderConnection:Disconnect() renderConnection = nil end
    if seatedConnection then seatedConnection:Disconnect() seatedConnection = nil end
    if charConn then charConn:Disconnect() charConn = nil end

    local humanoid = player.Character and player.Character:FindFirstChild("Humanoid")
    if humanoid then
        humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)
    end
end



-- Para desativar programaticamente depois:
-- Toggle:Set(false)

TabAnt:AddToggle({
    Name = "Anti Kick",
    Description = "n Tenha medo de abusa com isto ativado",
    Default = false,
    Callback = function(Value)
        getgenv().ED_AntiKick = getgenv().ED_AntiKick or {}
        getgenv().ED_AntiKick.Enabled = Value

        if Value then
            -- Anti Kick Ativado
            local getgenv, getnamecallmethod, hookmetamethod, hookfunction, newcclosure, checkcaller, lower, gsub = getgenv, getnamecallmethod, hookmetamethod, hookfunction, newcclosure, checkcaller, string.lower, string.gsub

            if getgenv().ED_AntiKick.__loaded then return end
            getgenv().ED_AntiKick.__loaded = true

            local cloneref = cloneref or function(...) return ... end
            local clonefunction = clonefunction or function(...) return ... end

            local Players = cloneref(game:GetService("Players"))
            local LocalPlayer = cloneref(Players.LocalPlayer)
            local StarterGui = cloneref(game:GetService("StarterGui"))
            local SetCore = clonefunction(StarterGui.SetCore)
            local FindFirstChild = clonefunction(game.FindFirstChild)

            local CompareInstances = function(a, b)
                return typeof(a) == "Instance" and typeof(b) == "Instance"
            end

            local CanCastToSTDString = function(...)
                return pcall(FindFirstChild, game, ...)
            end

            getgenv().ED_AntiKick.SendNotifications = true
            getgenv().ED_AntiKick.CheckCaller = true

            local OldNamecall; OldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(...)
                local self, msg = ...
                local method = getnamecallmethod()

                if ((getgenv().ED_AntiKick.CheckCaller and not checkcaller()) or true)
                    and CompareInstances(self, LocalPlayer)
                    and gsub(method, "^%l", string.upper) == "Kick"
                    and getgenv().ED_AntiKick.Enabled then
                    
                    if CanCastToSTDString(msg) and getgenv().ED_AntiKick.SendNotifications then
                        SetCore(StarterGui, "SendNotification", {
                            Title = "Anti Kick",
                            Text = "Tentativa de kick bloqueada.",
                            Icon = "rbxassetid://6238540373",
                            Duration = 2
                        })
                    end
                    return
                end

                return OldNamecall(...)
            end))

            local OldKick; OldKick = hookfunction(LocalPlayer.Kick, newcclosure(function(...)
                local self, msg = ...
                if ((getgenv().ED_AntiKick.CheckCaller and not checkcaller()) or true)
                    and CompareInstances(self, LocalPlayer)
                    and getgenv().ED_AntiKick.Enabled then

                    if CanCastToSTDString(msg) and getgenv().ED_AntiKick.SendNotifications then
                        SetCore(StarterGui, "SendNotification", {
                            Title = "Anti Kick",
                            Text = "Tentativa de kick bloqueada.",
                            Icon = "rbxassetid://6238540373",
                            Duration = 2
                        })
                    end
                    return
                end
            end))

            -- Notificação de carregamento
            pcall(function()
                StarterGui:SetCore("SendNotification", {
                    Title = "Anexed Notificator Anti-Kick",
                    Text = "Script Anti-Kick ativado.",
                    Icon = "rbxassetid://6238537240",
                    Duration = 3
                })
            end)
        else
            pcall(function()
                StarterGui:SetCore("SendNotification", {
                    Title = "Anxed Notificator Anti-Kick",
                    Text = "Script Anti-Kick desativado.",
                    Icon = "rbxassetid://6238537240",
                    Duration = 3
                })
            end)
        end
    end
})

-- script create BY ghost

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

local player = Players.LocalPlayer
local lastSafePos = Vector3.new(-26.09, 2.79, 6.11)
local avoidConn
local lastNotify = 0

TabAnt:AddToggle({
    Name = "Anti Void",
    Description = "meio ruim mas eficaz",
    Default = false,
    Callback = function(Value)
        if avoidConn then
            avoidConn:Disconnect()
            avoidConn = nil
        end

        if Value then
            avoidConn = RunService.Stepped:Connect(function()
                local char = player.Character
                local hrp = char and char:FindFirstChild("HumanoidRootPart")
                local humanoid = char and char:FindFirstChildOfClass("Humanoid")
                if not hrp or not humanoid then return end

                local pos = hrp.Position

                -- Atualiza a última posição segura
                if pos.Y > -20 and pos.Y < 1000 and math.abs(pos.X) < 2000 and math.abs(pos.Z) < 2000 then
                    lastSafePos = pos
                end

                -- Detecta void ou posições extremas
                if pos.Y < -50 or pos.Y > 1500 or math.abs(pos.X) > 3000 or math.abs(pos.Z) > 3000 then
                    hrp.CFrame = CFrame.new(lastSafePos)

                    -- Freeze por 1.3 segundos (sem permitir movimento)
                    local freeze = Instance.new("BodyVelocity")
                    freeze.Velocity = Vector3.new(0, 0, 0)
                    freeze.MaxForce = Vector3.new(1e9, 1e9, 1e9)
                    freeze.P = 1e5
                    freeze.Parent = hrp

                    task.delay(1.3, function()
                        freeze:Destroy()
                    end)

                    -- Evitar spam de notificações
                    if tick() - lastNotify > 2 then
                        lastNotify = tick()
                        pcall(function()
                            StarterGui:SetCore("SendNotification", {
                                Title = "Anti Void",
                                Text = "Tentativa de kill bloqueada",
                                Duration = 2
                            })
                        end)
                    end
                end
            end)
        end
    end
})

local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")

local notifyEnabled = false -- Estado inicial

TabAnt:AddToggle({
    Name = "Notificar Entrada/Saída",
    Description = "mais o menos mais e util ",
    Default = false,
    Callback = function(state)
        notifyEnabled = state
    end
})

-- Notificação quando um player entra
Players.PlayerAdded:Connect(function(player)
    if notifyEnabled then
        StarterGui:SetCore("SendNotification", {
            Title = "Jogador Entrou",
            Text = player.Name .. " entrou no jogo",
            Duration = 5
        })
    end
end)

-- Notificação quando um player sai
Players.PlayerRemoving:Connect(function(player)
    if notifyEnabled then
        StarterGui:SetCore("SendNotification", {
            Title = "Jogador Saiu",
            Text = player.Name .. " saiu do jogo",
            Duration = 5
        })
    end
end)

local ScreenGui = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local FPSLabel = Instance.new("TextLabel")
local MSLabel = Instance.new("TextLabel")

ScreenGui.Name = "StatsUI"
Frame.Parent = ScreenGui
Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Frame.BackgroundTransparency = 0.2
Frame.Size = UDim2.new(0, 150, 0, 50)
Frame.Position = UDim2.new(1, -160, 1, -60)
Frame.BorderSizePixel = 0
Frame.AnchorPoint = Vector2.new(0, 0)
Frame.ClipsDescendants = true
Frame.ZIndex = 5
Instance.new("UICorner", Frame).CornerRadius = UDim.new(0, 8)

FPSLabel.Parent = Frame
FPSLabel.BackgroundTransparency = 1
FPSLabel.Position = UDim2.new(0, 10, 0, 5)
FPSLabel.Size = UDim2.new(1, -20, 0, 20)
FPSLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
FPSLabel.TextStrokeTransparency = 0.5
FPSLabel.Font = Enum.Font.GothamBold
FPSLabel.TextSize = 14
FPSLabel.Text = "FPS: 0"

MSLabel.Parent = Frame
MSLabel.BackgroundTransparency = 1
MSLabel.Position = UDim2.new(0, 10, 0, 25)
MSLabel.Size = UDim2.new(1, -20, 0, 20)
MSLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
MSLabel.TextStrokeTransparency = 0.5
MSLabel.Font = Enum.Font.GothamBold
MSLabel.TextSize = 14
MSLabel.Text = "MS: N/A"

local RunService = game:GetService("RunService")
local Stats = game:GetService("Stats")

local fps = 0
local frames = 0
local lastUpdate = tick()
local updating = false

local function UpdateStats()
    while updating do
        frames += 1
        local now = tick()

        if now - lastUpdate >= 1 then
            fps = frames
            frames = 0
            lastUpdate = now
            FPSLabel.Text = "FPS: " .. fps

            local pingStat = Stats:FindFirstChild("PerformanceStats")
            if pingStat and pingStat:FindFirstChild("Ping") then
                local ping = math.floor(pingStat.Ping:GetValue())
                MSLabel.Text = "MS: " .. ping
            else
                MSLabel.Text = "MS: N/A"
            end
        end
        RunService.RenderStepped:Wait()
    end
end

local function SetStatsVisible(visible)
    if visible then
        ScreenGui.Parent = game:GetService("CoreGui")
        if not updating then
            updating = true
            task.spawn(UpdateStats)
        end
    else
        updating = false
        ScreenGui.Parent = nil
    end
end

-- Toggle
TabAnt:AddToggle({
    Name = "Mostrar FPS/MS",
    Description = "otimo pra ver si ta com lag",
    Default = false,
    Callback = function(v)
        SetStatsVisible(v)
    end
})

local conexaoAutoRemocao
local alvo = "1Gu1nSound1s"
local objetosRestaurados = {} -- Armazena cópias e pais originais

local function removerAlvo()
    for _, obj in ipairs(game:GetDescendants()) do
        if obj.Name == alvo then
            pcall(function()
                local clone = obj:Clone()
                local parentOriginal = obj.Parent
                table.insert(objetosRestaurados, {Clone = clone, Parent = parentOriginal})
                obj:Destroy()
            end)
        end
    end
end

local function restaurarAlvo()
    for _, dados in ipairs(objetosRestaurados) do
        pcall(function()
            dados.Clone.Parent = dados.Parent
        end)
    end
    objetosRestaurados = {}
end

TabAnt:AddToggle({
    Name = "Anti sound All",
    Description = "ativado isso vc n consegue utilizar ele o sond all",
    Default = false,
    Callback = function(v)
        if v then
            removerAlvo()
            conexaoAutoRemocao = game.DescendantAdded:Connect(function(obj)
                if obj.Name == alvo then
                    task.wait(0.1)
                    pcall(function()
                        local clone = obj:Clone()
                        local parentOriginal = obj.Parent
                        table.insert(objetosRestaurados, {Clone = clone, Parent = parentOriginal})
                        obj:Destroy()
                    end)
                end
            end)
        else
            if conexaoAutoRemocao then
                conexaoAutoRemocao:Disconnect()
                conexaoAutoRemocao = nil
            end
            restaurarAlvo()
        end
    end
})

TabAnt:AddToggle({
    Name = "Anti Fling Balls",
    Description = "outros users Vao Chora com isso ",
    Default = false,
    Callback = function(v)
        local RunService = game:GetService("RunService")
        local Players = game:GetService("Players")
        local Workspace = game:GetService("Workspace")
        local player = Players.LocalPlayer

        local NoclipConnection

        local function DisableCollision(model)
            if model then
                for _, part in ipairs(model:GetDescendants()) do
                    if part:IsA("BasePart") then
                        part.CanCollide = false
                    end
                end
            end
        end

        if v then
            if NoclipConnection then return end
            NoclipConnection = RunService.Stepped:Connect(function()
                local char = player.Character or player.CharacterAdded:Wait()
                DisableCollision(char)
                local container = workspace:FindFirstChild("WorkspaceCom")
                if container then
                    local folder = container:FindFirstChild("001_SoccerBalls")
                    DisableCollision(folder)
                end
            end)
        else
            if NoclipConnection then
                NoclipConnection:Disconnect()
                NoclipConnection = nil
            end
        end
    end
})

local remoteClone
local remoteParent
local alvoNome = "1Gu1n"
local alvoCaminho = game:GetService("ReplicatedStorage"):WaitForChild("RE")

local function removerRemote()
    local remote = alvoCaminho:FindFirstChild(alvoNome)
    if remote then
        pcall(function()
            remoteClone = remote:Clone()
            remoteParent = remote.Parent
            remote:Destroy()
        end)
    end
end

local function restaurarRemote()
    if remoteClone and remoteParent then
        pcall(function()
            remoteClone.Parent = remoteParent
        end)
        remoteClone = nil
        remoteParent = nil
    end
end

TabAnt:AddToggle({
    Name = "Anti bug/freeze/glitch",
    Description = "ativado vc n consegue usar",
    Default = false,
    Callback = function(v)
        if v then
            removerRemote()
            conexaoAutoRemocao = alvoCaminho.ChildAdded:Connect(function(obj)
                if obj.Name == alvoNome then
                    task.wait(0.1)
                    pcall(function()
                        remoteClone = obj:Clone()
                        remoteParent = obj.Parent
                        obj:Destroy()
                    end)
                end
            end)
        else
            if conexaoAutoRemocao then
                conexaoAutoRemocao:Disconnect()
                conexaoAutoRemocao = nil
            end
            restaurarRemote()
        end
    end
})

local TabAvatar = Window:MakeTab({ "| Avatar", "Tag" })

TabAvatar:AddButton({
    Name = " R6",
    Description = "Animations",
    Callback = function()    
    loadstring(game:HttpGet('https://gist.githubusercontent.com/Imperador950/f9e54330eb4a92331204aae37ec11aef/raw/db18d1c348beb8a79931346597137518966f2188/Byshelby'))()
    end
})

TabAvatar:AddButton({
    Name = " R6 avatar",
    Description = "corpo r6 clássico",
    Callback = function()    
    
    local args = {
    [1] = {
        [1] = 106411216404626,
        [2] = 87202958751790,
        [3] = 81500432784353,
        [4] = 103452055306587,
        [5] = 129699548221468,
        [6] = 0
    }
}

game:GetService("ReplicatedStorage").Remotes.ChangeCharacterBody:InvokeServer(unpack(args))

    
    
    end
})

TabAvatar:AddButton({
    Name = "Ficar Invisível",
    Description = "Ficar invisível FE",
Callback = function()
        
        local args = {
    [1] = {
        [1] = 102344834840946,
        [2] = 70400527171038,
        [3] = 0,
        [4] = 0,
        [5] = 0,
        [6] = 0
    }
}

game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("ChangeCharacterBody"):InvokeServer(unpack(args))
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Wear"):InvokeServer(111858803548721)
local allaccessories = {}

for zxcwefwfecas, xcaefwefas in ipairs({
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.BackAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.FaceAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.FrontAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.NeckAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.HatAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.HairAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.ShouldersAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.WaistAccessory,
    game.Players.LocalPlayer.Character.Humanoid.HumanoidDescription.GraphicTShirt
}) do
    for scacvdfbdb in string.gmatch(xcaefwefas, "%d+") do
        table.insert(allaccessories, tonumber(scacvdfbdb))
    end
end

wait()

for asdwr,asderg in ipairs(allaccessories) do
    task.spawn(function()
        game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Wear"):InvokeServer(asderg)
        print(asderg)
    end)
end
    end
})

TabAvatar:AddButton({
    Name = " smail avatar",
    Description = "otimo pra si esconder ",
    Callback = function()    
    
    local args = {
    [1] = 1
}

game:GetService("ReplicatedStorage").Remotes.Wear:InvokeServer(unpack(args))

local args = {
    [1] = 1
}

game:GetService("ReplicatedStorage").Remotes.Wear:InvokeServer(unpack(args))

local args = {
    [1] = 1
}

game:GetService("ReplicatedStorage").Remotes.Wear:InvokeServer(unpack(args))

local args = {
    [1] = {
        [1] = 104157277410075,
        [2] = 86280536086607,
        [3] = 81974054542977,
        [4] = 74524984742501,
        [5] = 122626731952977,
        [6] = 134082579
    }
}

game:GetService("ReplicatedStorage").Remotes.ChangeCharacterBody:InvokeServer(unpack(args))

    
    end
})

TabAvatar:AddButton({
    Name = "Giant Avatar ",
    Description = "horrivel pra scripters",
    Callback = function()    
    
    local args = {
    [1] = {
        [1] = 17713016036,
        [2] = 17713016151,
        [3] = 17713015861,
        [4] = 17713021340,
        [5] = 17713016191,
        [6] = 6340213
    }
}

game:GetService("ReplicatedStorage").Remotes.ChangeCharacterBody:InvokeServer(unpack(args))

    
    
    end
})

TabAvatar:AddButton({
    Name = "CUSTOM ANIMATION FE",
    Description = "Animations Relista Ative O Outro Botao Pra Funciona",
    Callback = function()
        game:GetService("StarterGui"):SetCore("SendNotification", {
            Title = "SysAdmin UI•",
            Text = "reset to stop animations",
            Icon = "rbxthumb://type=Asset&id=119245873411783&w=150&h=150",
            Duration = 5
        })

        -- Configuração do RemoteEvent
        local ReplicatedStorage = game:GetService("ReplicatedStorage")
        local AnimationEvent = ReplicatedStorage:FindFirstChild("PlayAnimationEvent") or Instance.new("RemoteEvent")
        AnimationEvent.Name = "PlayAnimationEvent"
        AnimationEvent.Parent = ReplicatedStorage

        -- Função para executar animações no servidor
        AnimationEvent.OnServerEvent:Connect(function(player, animationType)
            local character = player.Character
            if character and character:FindFirstChild("Humanoid") then
                local humanoid = character:FindFirstChild("Humanoid")
                local animation = Instance.new("Animation")
                if animationType == "Backward" then
                    animation.AnimationId = "rbxassetid://10358526981"
                elseif animationType == "Leftward" then
                    animation.AnimationId = "rbxassetid://10404604071"
                elseif animationType == "Rightward" then
                    animation.AnimationId = "rbxassetid://10404627994"
                end

                local animationTrack = humanoid:LoadAnimation(animation)

                if animationType == "Stop" then
                    for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do
                        track:Stop()
                    end
                else
                    animationTrack:Play()
                end
            end
        end)

        -- Configurações
        local AnimationId = "10358526981"
        local LeftwardAnimationId = "10404604071"
        local RightwardAnimationId = "10404627994"
        local Player = game.Players.LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local Humanoid = Character:WaitForChild("Humanoid")
        local RootPart = Character:WaitForChild("HumanoidRootPart")

        -- Carregar animações
        local BackwardAnimation = Instance.new("Animation")
        BackwardAnimation.AnimationId = "rbxassetid://" .. AnimationId
        local BackwardAnimationTrack = Humanoid:LoadAnimation(BackwardAnimation)

        local LeftwardAnimation = Instance.new("Animation")
        LeftwardAnimation.AnimationId = "rbxassetid://" .. LeftwardAnimationId
        local LeftwardAnimationTrack = Humanoid:LoadAnimation(LeftwardAnimation)

        local RightwardAnimation = Instance.new("Animation")
        RightwardAnimation.AnimationId = "rbxassetid://" .. RightwardAnimationId
        local RightwardAnimationTrack = Humanoid:LoadAnimation(RightwardAnimation)

        -- Variáveis
        local IsPlayingBackward = false
        local IsPlayingLeftward = false
        local IsPlayingRightward = false

        -- Função para detectar movimento e enviar eventos para o servidor
        game:GetService("RunService").RenderStepped:Connect(function()
            if Character and RootPart and Humanoid then
                local moveDirection = Humanoid.MoveDirection
                local characterLook = RootPart.CFrame.LookVector
                local characterRight = RootPart.CFrame.RightVector

                local dotBackward = moveDirection:Dot(characterLook)
                local dotLeftward = moveDirection:Dot(-characterRight)
                local dotRightward = moveDirection:Dot(characterRight)

                -- Andar de costas
                if moveDirection.Magnitude > 0 and dotBackward < -0.5 then
                    if not IsPlayingBackward then
                        IsPlayingBackward = true
                        AnimationEvent:FireServer("Backward")
                        BackwardAnimationTrack:Play()
                    end
                else
                    if IsPlayingBackward then
                        IsPlayingBackward = false
                        AnimationEvent:FireServer("Stop")
                        BackwardAnimationTrack:Stop()
                    end
                end

                -- Andar para a esquerda
                if moveDirection.Magnitude > 0 and dotLeftward > 0.5 then
                    if not IsPlayingLeftward then
                        IsPlayingLeftward = true
                        AnimationEvent:FireServer("Leftward")
                        LeftwardAnimationTrack:Play()
                    end
                else
                    if IsPlayingLeftward then
                        IsPlayingLeftward = false
                        AnimationEvent:FireServer("Stop")
                        LeftwardAnimationTrack:Stop()
                    end
                end

                -- Andar para a direita
                if moveDirection.Magnitude > 0 and dotRightward > 0.5 then
                    if not IsPlayingRightward then
                        IsPlayingRightward = true
                        AnimationEvent:FireServer("Rightward")
                        RightwardAnimationTrack:Play()
                    end
                else
                    if IsPlayingRightward then
                        IsPlayingRightward = false
                        AnimationEvent:FireServer("Stop")
                        RightwardAnimationTrack:Stop()
                    end
                end
            end
        end)
    end
})

TabAvatar:AddButton({
    Name = "START ANIMATION FE",
    Description = "ative o botao de cima e este",
    Callback = function()
        game:GetService("StarterGui"):SetCore("SendNotification", {
            Title = "SysAdmin UI•",
            Text = "FE animation started!",
            Icon = "rbxthumb://type=Asset&id=119245873411783&w=150&h=150",
            Duration = 5
        })

        -- Configurações
        local AnimationId = "10358526981" -- ID da animação para andar de costas
        local LeftwardAnimationId = "10404604071" -- ID da animação para andar para o lado esquerdo
        local RightwardAnimationId = "10404627994" -- ID da animação para andar para o lado direito
        local Player = game.Players.LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local Humanoid = Character:WaitForChild("Humanoid")
        local RootPart = Character:WaitForChild("HumanoidRootPart")
        local ReplicatedStorage = game:GetService("ReplicatedStorage")

        -- RemoteEvent para comunicação com o servidor
        local AnimationEvent = ReplicatedStorage:WaitForChild("PlayAnimationEvent")

        -- Carregar animações
        local BackwardAnimation = Instance.new("Animation")
        BackwardAnimation.AnimationId = "rbxassetid://" .. AnimationId
        local BackwardAnimationTrack = Humanoid:LoadAnimation(BackwardAnimation)

        local LeftwardAnimation = Instance.new("Animation")
        LeftwardAnimation.AnimationId = "rbxassetid://" .. LeftwardAnimationId
        local LeftwardAnimationTrack = Humanoid:LoadAnimation(LeftwardAnimation)

        local RightwardAnimation = Instance.new("Animation")
        RightwardAnimation.AnimationId = "rbxassetid://" .. RightwardAnimationId
        local RightwardAnimationTrack = Humanoid:LoadAnimation(RightwardAnimation)

        -- Variáveis
        local IsPlayingBackward = false
        local IsPlayingLeftward = false
        local IsPlayingRightward = false

        -- Função para detectar movimento e enviar eventos para o servidor
        game:GetService("RunService").RenderStepped:Connect(function()
            if Character and RootPart and Humanoid then
                local moveDirection = Humanoid.MoveDirection
                local characterLook = RootPart.CFrame.LookVector
                local characterRight = RootPart.CFrame.RightVector

                local dotBackward = moveDirection:Dot(characterLook)
                local dotLeftward = moveDirection:Dot(-characterRight)
                local dotRightward = moveDirection:Dot(characterRight)

                -- Detecta andar de costas
                if moveDirection.Magnitude > 0 and dotBackward < -0.5 then
                    if not IsPlayingBackward then
                        IsPlayingBackward = true
                        AnimationEvent:FireServer("Backward")
                        BackwardAnimationTrack:Play()
                    end
                else
                    if IsPlayingBackward then
                        IsPlayingBackward = false
                        AnimationEvent:FireServer("Stop")
                        BackwardAnimationTrack:Stop()
                    end
                end

                -- Detecta andar para o lado esquerdo
                if moveDirection.Magnitude > 0 and dotLeftward > 0.5 then
                    if not IsPlayingLeftward then
                        IsPlayingLeftward = true
                        AnimationEvent:FireServer("Leftward")
                        LeftwardAnimationTrack:Play()
                    end
                else
                    if IsPlayingLeftward then
                        IsPlayingLeftward = false
                        AnimationEvent:FireServer("Stop")
                        LeftwardAnimationTrack:Stop()
                    end
                end

                -- Detecta andar para o lado direito
                if moveDirection.Magnitude > 0 and dotRightward > 0.5 then
                    if not IsPlayingRightward then
                        IsPlayingRightward = true
                        AnimationEvent:FireServer("Rightward")
                        RightwardAnimationTrack:Play()
                    end
                else
                    if IsPlayingRightward then
                        IsPlayingRightward = false
                        AnimationEvent:FireServer("Stop")
                        RightwardAnimationTrack:Stop()
                    end
                end
            end
        end)
    end
})


local Section = TabAvatar:AddSection({"Character Appearance"})

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Remotes = ReplicatedStorage:WaitForChild("Remotes")

local Target = nil

-- Função para obter os nomes dos jogadores
local function GetPlayerNames()
    local PlayerNames = {}
    for _, player in ipairs(Players:GetPlayers()) do
        table.insert(PlayerNames, player.Name)
    end
    return PlayerNames
end

-- Dropdown de seleção de jogador
TabAvatar:AddDropdown({
    Name = "Selecionar Jogador Para a Cópia",
    Options = GetPlayerNames(),
    Default = Target,
    Callback = function(Value)
        Target = Value
    end
})

-- Atualiza opções do dropdown quando alguém entra ou sai
local function UpdateDropdown()
    Dropdown:Refresh(GetPlayerNames(), true)
end

Players.PlayerAdded:Connect(UpdateDropdown)
Players.PlayerRemoving:Connect(UpdateDropdown)

-- Botão de copiar avatar
TabAvatar:AddButton({
    Name = "Copy Avatar",
    Description = "copia os items menos altura",
    Callback = function()
        if not Target then return end

        local LP = Players.LocalPlayer
        local LChar = LP.Character
        local TPlayer = Players:FindFirstChild(Target)

        if TPlayer and TPlayer.Character then
            local LHumanoid = LChar and LChar:FindFirstChildOfClass("Humanoid")
            local THumanoid = TPlayer.Character:FindFirstChildOfClass("Humanoid")

            if LHumanoid and THumanoid then
                -- RESETAR LOCALPLAYER
                local LDesc = LHumanoid:GetAppliedDescription()

                -- Remover acessórios, roupas e face atuais
                for _, acc in ipairs(LDesc:GetAccessories(true)) do
                    if acc.AssetId and tonumber(acc.AssetId) then
                        Remotes.Wear:InvokeServer(tonumber(acc.AssetId))
                        task.wait(2)
                    end
                end

                if tonumber(LDesc.Shirt) then
                    Remotes.Wear:InvokeServer(tonumber(LDesc.Shirt))
                    task.wait(2)
                end

                if tonumber(LDesc.Pants) then
                    Remotes.Wear:InvokeServer(tonumber(LDesc.Pants))
                    task.wait(2)
                end

                if tonumber(LDesc.Face) then
                    Remotes.Wear:InvokeServer(tonumber(LDesc.Face))
                    task.wait(2)
                end

                -- COPIAR DO JOGADOR ALVO
                local PDesc = THumanoid:GetAppliedDescription()

                -- Enviar partes do corpo
                local argsBody = {
                    [1] = {
                        [1] = PDesc.Torso,
                        [2] = PDesc.RightArm,
                        [3] = PDesc.LeftArm,
                        [4] = PDesc.RightLeg,
                        [5] = PDesc.LeftLeg,
                        [6] = PDesc.Head
                    }
                }
                Remotes.ChangeCharacterBody:InvokeServer(unpack(argsBody))
                task.wait(3)

                if tonumber(PDesc.Shirt) then
                    Remotes.Wear:InvokeServer(tonumber(PDesc.Shirt))
                    task.wait(1)
                end

                if tonumber(PDesc.Pants) then
                    Remotes.Wear:InvokeServer(tonumber(PDesc.Pants))
                    task.wait(0.3)
                end

                if tonumber(PDesc.Face) then
                    Remotes.Wear:InvokeServer(tonumber(PDesc.Face))
                    task.wait(0.3)
                end

                for _, v in ipairs(PDesc:GetAccessories(true)) do
                    if v.AssetId and tonumber(v.AssetId) then
                        Remotes.Wear:InvokeServer(tonumber(v.AssetId))
                        task.wait(0.3)
                    end
                end

                local SkinColor = TPlayer.Character:FindFirstChild("Body Colors")
                if SkinColor then
                    Remotes.ChangeBodyColor:FireServer(tostring(SkinColor.HeadColor))
                    task.wait(0.3)
                end

                if tonumber(PDesc.IdleAnimation) then
                    Remotes.Wear:InvokeServer(tonumber(PDesc.IdleAnimation))
                    task.wait(0.3)
                end

                -- Nome, bio e cor
                local Bag = TPlayer:FindFirstChild("PlayersBag")
                if Bag then
                    if Bag:FindFirstChild("RPName") and Bag.RPName.Value ~= "" then
                        Remotes.RPNameText:FireServer("RolePlayName", Bag.RPName.Value)
                        task.wait(0.3)
                    end
                    if Bag:FindFirstChild("RPBio") and Bag.RPBio.Value ~= "" then
                        Remotes.RPNameText:FireServer("RolePlayBio", Bag.RPBio.Value)
                        task.wait(0.3)
                    end
                    if Bag:FindFirstChild("RPNameColor") then
                        Remotes.RPNameColor:FireServer("PickingRPNameColor", Bag.RPNameColor.Value)
                        task.wait(0.3)
                    end
                    if Bag:FindFirstChild("RPBioColor") then
                        Remotes.RPNameColor:FireServer("PickingRPBioColor", Bag.RPBioColor.Value)
                        task.wait(0.3)
                    end
                end
            end
        end
    end
})

TabAvatar:AddButton({
    Name = "Copy Nearest Avatar",
    Description = "jogador próximo e copiado",
    Callback = function()
        local LP = Players.LocalPlayer
        local LChar = LP.Character
        if not LChar or not LChar:FindFirstChild("HumanoidRootPart") then return end

        -- Localizar o jogador mais próximo
        local closestPlayer, closestDistance = nil, math.huge
        for _, plr in ipairs(Players:GetPlayers()) do
            if plr ~= LP and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
                local dist = (LChar.HumanoidRootPart.Position - plr.Character.HumanoidRootPart.Position).Magnitude
                if dist < closestDistance then
                    closestDistance = dist
                    closestPlayer = plr
                end
            end
        end

        -- Usar o jogador mais próximo como Target
        if not closestPlayer then return end
        local TPlayer = closestPlayer

        -- (código de cópia do avatar igual ao seu original, substituindo "Target" por TPlayer.Name)
        -- [REUTILIZA A MESMA LÓGICA, SÓ TROCA A PARTE DO TARGET]
        local LHumanoid = LChar and LChar:FindFirstChildOfClass("Humanoid")
        local THumanoid = TPlayer.Character:FindFirstChildOfClass("Humanoid")

        if LHumanoid and THumanoid then
            local LDesc = LHumanoid:GetAppliedDescription()

            for _, acc in ipairs(LDesc:GetAccessories(true)) do
                if acc.AssetId and tonumber(acc.AssetId) then
                    Remotes.Wear:InvokeServer(tonumber(acc.AssetId))
                    task.wait(2)
                end
            end

            if tonumber(LDesc.Shirt) then
                Remotes.Wear:InvokeServer(tonumber(LDesc.Shirt))
                task.wait(2)
            end

            if tonumber(LDesc.Pants) then
                Remotes.Wear:InvokeServer(tonumber(LDesc.Pants))
                task.wait(2)
            end

            if tonumber(LDesc.Face) then
                Remotes.Wear:InvokeServer(tonumber(LDesc.Face))
                task.wait(2)
            end

            local PDesc = THumanoid:GetAppliedDescription()

            local argsBody = {
                [1] = {
                    [1] = PDesc.Torso,
                    [2] = PDesc.RightArm,
                    [3] = PDesc.LeftArm,
                    [4] = PDesc.RightLeg,
                    [5] = PDesc.LeftLeg,
                    [6] = PDesc.Head
                }
            }
            Remotes.ChangeCharacterBody:InvokeServer(unpack(argsBody))
            task.wait(3)

            if tonumber(PDesc.Shirt) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.Shirt))
                task.wait(0.3)
            end

            if tonumber(PDesc.Pants) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.Pants))
                task.wait(0.3)
            end

            if tonumber(PDesc.Face) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.Face))
                task.wait(0.3)
            end

            for _, v in ipairs(PDesc:GetAccessories(true)) do
                if v.AssetId and tonumber(v.AssetId) then
                    Remotes.Wear:InvokeServer(tonumber(v.AssetId))
                    task.wait(0.3)
                end
            end

            local SkinColor = TPlayer.Character:FindFirstChild("Body Colors")
            if SkinColor then
                Remotes.ChangeBodyColor:FireServer(tostring(SkinColor.HeadColor))
                task.wait(0.3)
            end

            if tonumber(PDesc.IdleAnimation) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.IdleAnimation))
                task.wait(0.3)
            end

            local Bag = TPlayer:FindFirstChild("PlayersBag")
            if Bag then
                if Bag:FindFirstChild("RPName") and Bag.RPName.Value ~= "" then
                    Remotes.RPNameText:FireServer("RolePlayName", Bag.RPName.Value)
                    task.wait(0.3)
                end
                if Bag:FindFirstChild("RPBio") and Bag.RPBio.Value ~= "" then
                    Remotes.RPNameText:FireServer("RolePlayBio", Bag.RPBio.Value)
                    task.wait(0.3)
                end
                if Bag:FindFirstChild("RPNameColor") then
                    Remotes.RPNameColor:FireServer("PickingRPNameColor", Bag.RPNameColor.Value)
                    task.wait(0.3)
                end
                if Bag:FindFirstChild("RPBioColor") then
                    Remotes.RPNameColor:FireServer("PickingRPBioColor", Bag.RPBioColor.Value)
                    task.wait(0.3)
                end
            end
        end
    end
})

TabAvatar:AddButton({
    Name = "Copy Random Avatar",
    Description = "aleatorio e copiado",
    Callback = function()
        local LP = Players.LocalPlayer
        local LChar = LP.Character
        if not LChar then return end

        -- Escolher um player aleatório (exceto o próprio)
        local otherPlayers = {}
        for _, plr in ipairs(Players:GetPlayers()) do
            if plr ~= LP and plr.Character then
                table.insert(otherPlayers, plr)
            end
        end
        if #otherPlayers == 0 then return end

        local TPlayer = otherPlayers[math.random(1, #otherPlayers)]

        -- Mesmo código de cópia
        local LHumanoid = LChar:FindFirstChildOfClass("Humanoid")
        local THumanoid = TPlayer.Character:FindFirstChildOfClass("Humanoid")
        if LHumanoid and THumanoid then
            local LDesc = LHumanoid:GetAppliedDescription()
            for _, acc in ipairs(LDesc:GetAccessories(true)) do
                if acc.AssetId and tonumber(acc.AssetId) then
                    Remotes.Wear:InvokeServer(tonumber(acc.AssetId))
                    task.wait(2)
                end
            end
            if tonumber(LDesc.Shirt) then
                Remotes.Wear:InvokeServer(tonumber(LDesc.Shirt))
                task.wait(2)
            end
            if tonumber(LDesc.Pants) then
                Remotes.Wear:InvokeServer(tonumber(LDesc.Pants))
                task.wait(2)
            end
            if tonumber(LDesc.Face) then
                Remotes.Wear:InvokeServer(tonumber(LDesc.Face))
                task.wait(2)
            end

            local PDesc = THumanoid:GetAppliedDescription()
            local argsBody = {
                [1] = {
                    [1] = PDesc.Torso,
                    [2] = PDesc.RightArm,
                    [3] = PDesc.LeftArm,
                    [4] = PDesc.RightLeg,
                    [5] = PDesc.LeftLeg,
                    [6] = PDesc.Head
                }
            }
            Remotes.ChangeCharacterBody:InvokeServer(unpack(argsBody))
            task.wait(3)

            if tonumber(PDesc.Shirt) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.Shirt))
                task.wait(0.3)
            end
            if tonumber(PDesc.Pants) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.Pants))
                task.wait(0.3)
            end
            if tonumber(PDesc.Face) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.Face))
                task.wait(0.3)
            end
            for _, v in ipairs(PDesc:GetAccessories(true)) do
                if v.AssetId and tonumber(v.AssetId) then
                    Remotes.Wear:InvokeServer(tonumber(v.AssetId))
                    task.wait(0.3)
                end
            end

            local SkinColor = TPlayer.Character:FindFirstChild("Body Colors")
            if SkinColor then
                Remotes.ChangeBodyColor:FireServer(tostring(SkinColor.HeadColor))
                task.wait(0.3)
            end
            if tonumber(PDesc.IdleAnimation) then
                Remotes.Wear:InvokeServer(tonumber(PDesc.IdleAnimation))
                task.wait(0.3)
            end

            local Bag = TPlayer:FindFirstChild("PlayersBag")
            if Bag then
                if Bag:FindFirstChild("RPName") and Bag.RPName.Value ~= "" then
                    Remotes.RPNameText:FireServer("RolePlayName", Bag.RPName.Value)
                    task.wait(0.3)
                end
                if Bag:FindFirstChild("RPBio") and Bag.RPBio.Value ~= "" then
                    Remotes.RPNameText:FireServer("RolePlayBio", Bag.RPBio.Value)
                    task.wait(0.3)
                end
                if Bag:FindFirstChild("RPNameColor") then
                    Remotes.RPNameColor:FireServer("PickingRPNameColor", Bag.RPNameColor.Value)
                    task.wait(0.3)
                end
                if Bag:FindFirstChild("RPBioColor") then
                    Remotes.RPNameColor:FireServer("PickingRPBioColor", Bag.RPBioColor.Value)
                    task.wait(0.3)
                end
            end
        end
    end
})


TabAvatar:AddToggle({
    Name = "Loop Smoke Avatar",
    Description = "realmente funciona sem ser visual",
    Default = false,
    Callback = function(Value)
        isActive = Value

        while isActive do
            local mall = workspace:WaitForChild("WorkspaceCom"):WaitForChild("001_Mall"):WaitForChild("001_Pizza"):FindFirstChild("CatchFire")
            
            if mall then
                local touchInterest = mall:FindFirstChild("TouchInterest")
                if touchInterest then
                    firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart, mall, 0)
                    wait()
                    firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart, mall, 1)
                end
            end
            wait(1)
        end
    end
})

TabAvatar:AddButton({
    Name = "Get Trail",
    Description = "aura nas maos",
    Callback = function()
        local Player = game.Players.LocalPlayer
        local Character = Player.Character
        local Humanoid = Character:FindFirstChildOfClass("Humanoid")
        local RootPart = Character:FindFirstChild("HumanoidRootPart")
        local OldPos = RootPart.CFrame
        
        local function freezeHumanoid(humanoid)
            humanoid.WalkSpeed = 0
            humanoid.JumpPower = 0
        end
        
        local function restoreHumanoid(humanoid)
            humanoid.WalkSpeed = 16
            humanoid.JumpPower = 50
        end
        
        local firstPosition = CFrame.new(-349, 5, 98)
        
        local PoolClick = workspace.WorkspaceCom["001_Hospital"]:FindFirstChild("PoolClick")
        
        if PoolClick and PoolClick:FindFirstChild("ClickDetector") then
            freezeHumanoid(Humanoid)
            RootPart.CFrame = firstPosition
            task.wait(1)
            RootPart.CFrame = PoolClick.CFrame
            fireclickdetector(PoolClick.ClickDetector)
            task.wait(2)
            RootPart.CFrame = OldPos
            restoreHumanoid(Humanoid)
        else
            warn("PoolClick ou ClickDetector não encontrado!")
        end
    end
})

TabAvatar:AddSection({ " Tag Bio <settings" })

local function getRainbowColor(t)
    return Color3.fromHSV((t % 1), 1, 1)
end

local function fireServer(eventName, args)
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local event = ReplicatedStorage:FindFirstChild("RE") and ReplicatedStorage.RE:FindFirstChild(eventName)
    if event then
        pcall(function()
            event:FireServer(unpack(args))
        end)
    end
end

-- Estados dos toggles
local arcuisBothActive = false
local arcuisBioActive = false
local arcuisNameActive = false

-- Toggle 1: Nome + Bio
TabAvatar:AddToggle({
    Name = "Arcuis  (Nome + Bio)",
    Description = "Nome e Bio com efeito Arco-Íris automático",
    Default = false,
    Callback = function(state)
        arcuisBothActive = state
        if state then
            task.spawn(function()
                local time = 0
                while arcuisBothActive and LocalPlayer.Character do
                    local color = getRainbowColor(time)
                    fireServer("1RPNam1eColo1r", { [1] = "PickingRPNameColor", [2] = color })
                    fireServer("1RPNam1eColo1r", { [1] = "PickingRPBioColor", [2] = color })
                    task.wait(0.1)
                    time = time + 0.02
                end
            end)
        end
    end
})

-- Toggle 2: Só Bio
TabAvatar:AddToggle({
    Name = "Bio Rainbow  [free vip]",
    Description = "Apenas a Bio com efeito Arco-Íris",
    Default = false,
    Callback = function(state)
        arcuisBioActive = state
        if state then
            task.spawn(function()
                local time = 0
                while arcuisBioActive and LocalPlayer.Character do
                    local color = getRainbowColor(time)
                    fireServer("1RPNam1eColo1r", { [1] = "PickingRPBioColor", [2] = color })
                    task.wait(0.1)
                    time = time + 0.02
                end
            end)
        end
    end
})

-- Toggle 3: Só Nome
TabAvatar:AddToggle({
    Name = "Name Rainbow  [free vip]",
    Description = "Apenas o Nome com efeito Arco-Íris",
    Default = false,
    Callback = function(state)
        arcuisNameActive = state
        if state then
            task.spawn(function()
                local time = 0
                while arcuisNameActive and LocalPlayer.Character do
                    local color = getRainbowColor(time)
                    fireServer("1RPNam1eColo1r", { [1] = "PickingRPNameColor", [2] = color })
                    task.wait(0.1)
                    time = time + 0.02
                end
            end)
        end
    end
})

local vibrantColors = {
    Color3.new(1, 0, 0),
    Color3.new(0, 1, 0),
    Color3.new(0, 0, 1),
    Color3.new(1, 1, 0),
    Color3.new(1, 0, 1),
    Color3.new(0, 1, 1),
    Color3.new(1, 0.5, 0),
    Color3.new(0.5, 0, 1)
}

local function fireServer(eventName, args)
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local event = ReplicatedStorage:FindFirstChild("RE") and ReplicatedStorage.RE:FindFirstChild(eventName)
    if event then
        pcall(function()
            event:FireServer(unpack(args))
        end)
    end
end

local nameAndBioRGBActive = false
TabAvatar:AddToggle({
    Name = "Nome e Bio RGB Sincronizado",
    Description = "Ativa cores RGB sincronizadas para Nome e Bio",
    Default = false,
    Callback = function(state)
        nameAndBioRGBActive = state
        if state then
            task.spawn(function()
                while nameAndBioRGBActive and LocalPlayer.Character do
                    local color = vibrantColors[math.random(1, #vibrantColors)]
                    local nameArgs = { [1] = "PickingRPNameColor", [2] = color }
                    local bioArgs = { [1] = "PickingRPBioColor", [2] = color }
                    fireServer("1RPNam1eColo1r", nameArgs)
                    fireServer("1RPNam1eColo1r", bioArgs)
                    task.wait(1)
                end
            end)
        end
    end
})

local nameRGBActive = false
TabAvatar:AddToggle({
    Name = "Nome RGB",
    Description = "Ativa cores RGB para o Nome",
    Default = false,
    Callback = function(state)
        nameRGBActive = state
        if state then
            task.spawn(function()
                while nameRGBActive and LocalPlayer.Character do
                    local color = vibrantColors[math.random(1, #vibrantColors)]
                    local args = { [1] = "PickingRPNameColor", [2] = color }
                    fireServer("1RPNam1eColo1r", args)
                    task.wait(1)
                end
            end)
        end
    end
})

local bioRGBActive = false
TabAvatar:AddToggle({
    Name = "Bio RGB",
    Description = "Ativa cores RGB aleatórias na sua bio",
    Default = false,
    Callback = function(state)
        bioRGBActive = state
        if state then
            task.spawn(function()
                while bioRGBActive and LocalPlayer.Character do
                    local color = vibrantColors[math.random(1, #vibrantColors)]
                    local args = { [1] = "PickingRPBioColor", [2] = color }
                    fireServer("1RPNam1eColo1r", args)
                    task.wait(1)
                end
            end)
        end
    end
})

TabAvatar:AddSection({Name = "animation bio and name- "})

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Remote = ReplicatedStorage:WaitForChild("RE"):WaitForChild("1RPNam1eTex1t")

local selectedBio = ""
local selectedName = ""

-- TEXTBOX BIO
TabAvatar:AddTextBox({
    Name = "Bio Text",
    Description = "Digite a Bio",
    PlaceholderText = "Escreva sua bio...",
    Callback = function(Value)
        selectedBio = Value
    end
})

-- TEXTBOX NAME
TabAvatar:AddTextBox({
    Name = "Name Text",
    Description = "Digite o Nome",
    PlaceholderText = "Escreva o nome...",
    Callback = function(Value)
        selectedName = Value
    end
})

-- Controle dos loops
local bioTypingLoop = false
local bioBackLoop = false
local nameTypingLoop = false
local nameBackLoop = false

-- FUNÇÃO ANIMAÇÃO (controlada por toggle)
local function AnimateLoop(remoteName, getText, reverseFlag, stateRef)
    task.spawn(function()
        while stateRef() do
            local text = getText()
            if text ~= "" then
                local buffer = ""
                for i = 1, #text do
                    if not stateRef() then return end
                    buffer = string.sub(text, 1, i)
                    Remote:FireServer(remoteName, buffer)
                    task.wait(0.1)
                end

                if reverseFlag then
                    for i = #text, 1, -1 do
                        if not stateRef() then return end
                        buffer = string.sub(text, 1, i)
                        Remote:FireServer(remoteName, buffer)
                        task.wait(0.1)
                    end
                end
            else
                task.wait(0.2)
            end
        end
    end)
end

-- TOGGLES BIO
TabAvatar:AddToggle({
    Name = "Bio [Escrevendo Loop]",
    Default = false,
    Callback = function(state)
        bioTypingLoop = state
        if state then
            AnimateLoop("RolePlayBio", function() return selectedBio end, false, function() return bioTypingLoop end)
        end
    end
})

TabAvatar:AddToggle({
    Name = "Bio [Vai e Volta Loop]",
    Default = false,
    Callback = function(state)
        bioBackLoop = state
        if state then
            AnimateLoop("RolePlayBio", function() return selectedBio end, true, function() return bioBackLoop end)
        end
    end
})

-- TOGGLES NAME
TabAvatar:AddToggle({
    Name = "Name [Escrevendo Loop]",
    Default = false,
    Callback = function(state)
        nameTypingLoop = state
        if state then
            AnimateLoop("RolePlayName", function() return selectedName end, false, function() return nameTypingLoop end)
        end
    end
})

TabAvatar:AddToggle({
    Name = "Name [Vai e Volta Loop]",
    Default = false,
    Callback = function(state)
        nameBackLoop = state
        if state then
            AnimateLoop("RolePlayName", function() return selectedName end, true, function() return nameBackLoop end)
        end
    end
})


local TabTroll = Window:MakeTab({ "| Troll", "smile" })

TabTroll:AddSection({ " Bang troll" })

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

-- Jogador selecionado pelo TextBox
local selectedPlayerName = nil
local jogadorSelecionado = nil

-- Função para encontrar jogador pelo nome parcial
local function findPlayerByName(partialName)
    partialName = partialName:lower()
    for _, p in ipairs(Players:GetPlayers()) do
        if p.Name:lower():find(partialName) then
            return p
        end
    end
    return nil
end

-- TextBox para digitar o nome do jogador
TabTroll:AddTextBox({
    Name = "Nome do Jogador",
    Default = "",
    TextDisappear = false,
    Callback = function(text)
        if text == "" then
            selectedPlayerName = nil
            jogadorSelecionado = nil
        else
            selectedPlayerName = text
            jogadorSelecionado = findPlayerByName(text)
        end
    end
})

-- Variáveis para os loops
local bangLoop, faceLoop = nil, nil

-- Função genérica para desconectar loops
local function desconectarLoops()
    if bangLoop then bangLoop:Disconnect() bangLoop = nil end
    if faceLoop then faceLoop:Disconnect() faceLoop = nil end
end

-- Bang v1
TabTroll:AddToggle({
    Name = "Bang v1",
    Description = "vai sarrar o mano Nao cumpensaa!",
    Default = false,
    Callback = function(Value)
        if bangLoop then bangLoop:Disconnect() bangLoop = nil end
        if Value and jogadorSelecionado then
            bangLoop = RunService.RenderStepped:Connect(function()
                local targetHRP = jogadorSelecionado.Character and jogadorSelecionado.Character:FindFirstChild("HumanoidRootPart")
                local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                if targetHRP and myHRP then
                    local backPos = targetHRP.CFrame * CFrame.new(0,0,2.5)
                    local forwardPos = targetHRP.CFrame * CFrame.new(0,0,1.5)
                    local t = tick() * 3 % 1
                    local lerped = backPos:Lerp(forwardPos, math.abs(math.sin(t * math.pi)))
                    myHRP.CFrame = CFrame.new(lerped.Position, targetHRP.Position)
                end
            end)
        end
    end
})

-- Bang v2 (de costas)
TabTroll:AddToggle({
    Name = "Bang v2 (de costas)",
    Description = "la ele ein de costa nn",
    Default = false,
    Callback = function(Value)
        if bangLoop then bangLoop:Disconnect() bangLoop = nil end
        if Value and jogadorSelecionado then
            bangLoop = RunService.RenderStepped:Connect(function()
                local targetHRP = jogadorSelecionado.Character and jogadorSelecionado.Character:FindFirstChild("HumanoidRootPart")
                local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                if targetHRP and myHRP then
                    local backPos = targetHRP.CFrame * CFrame.new(0,0,-2.5)
                    local forwardPos = targetHRP.CFrame * CFrame.new(0,0,-1.5)
                    local t = tick() * 3 % 1
                    local lerped = backPos:Lerp(forwardPos, math.abs(math.sin(t * math.pi)))
                    myHRP.CFrame = CFrame.new(lerped.Position) * CFrame.Angles(0, targetHRP.Orientation.Y * math.pi/180, 0)
                end
            end)
        end
    end
})

-- Bang v4 (frente e abaixo, vai e volta)
TabTroll:AddToggle({
    Name = "Bang v4 (frente e abaixo, vai e volta)",
    Description = "vixxxx..",
    Default = false,
    Callback = function(Value)
        if bangLoop then bangLoop:Disconnect() bangLoop = nil end
        if Value and jogadorSelecionado then
            bangLoop = RunService.RenderStepped:Connect(function()
                local targetHRP = jogadorSelecionado.Character and jogadorSelecionado.Character:FindFirstChild("HumanoidRootPart")
                local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                if targetHRP and myHRP then
                    local frontPos = targetHRP.CFrame * CFrame.new(0,-1,2.5)
                    local closePos = targetHRP.CFrame * CFrame.new(0,-1,1.5)
                    local t = tick() * 3 % 1
                    local lerped = frontPos:Lerp(closePos, math.abs(math.sin(t * math.pi)))
                    myHRP.CFrame = CFrame.new(lerped.Position, targetHRP.Position)
                end
            end)
        end
    end
})

-- Bang Face v1
TabTroll:AddToggle({
    Name = "Bang Face v1",
    Default = false,
    Callback = function(Value)
        if faceLoop then faceLoop:Disconnect() faceLoop = nil end
        if Value and jogadorSelecionado then
            faceLoop = RunService.RenderStepped:Connect(function()
                local targetHRP = jogadorSelecionado.Character and jogadorSelecionado.Character:FindFirstChild("HumanoidRootPart")
                local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                if targetHRP and myHRP then
                    local baseOffset = CFrame.new(0,1.2,-1.5)
                    local fwdOffset = CFrame.new(0,1.2,-2.5)
                    local frontPos = targetHRP.CFrame * baseOffset
                    local forwardPos = targetHRP.CFrame * fwdOffset
                    local t = tick() * 3 % 1
                    local lerped = frontPos:Lerp(forwardPos, math.abs(math.sin(t * math.pi)))
                    myHRP.CFrame = CFrame.new(lerped.Position, targetHRP.Position + Vector3.new(0,1.2,0))
                end
            end)
        end
    end
})

-- script create BY ghost

TabTroll:AddToggle({
    Name = "Bang Face Fast (modo turbo)",
    Default = false,
    Callback = function(Value)
        if faceFastLoop then 
            faceFastLoop:Disconnect() 
            faceFastLoop = nil 
        end
        if Value and jogadorSelecionado then
            faceFastLoop = RunService.RenderStepped:Connect(function()
                local targetHRP = jogadorSelecionado.Character and jogadorSelecionado.Character:FindFirstChild("HumanoidRootPart")
                local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                if targetHRP and myHRP then
                    local baseOffset = CFrame.new(0, 1.2, -1.2)
                    local fwdOffset = CFrame.new(0, 1.2, -2.2)
                    local frontPos = targetHRP.CFrame * baseOffset
                    local forwardPos = targetHRP.CFrame * fwdOffset
                    local t = tick() * 12 % 1 -- velocidade aumentada
                    local lerped = frontPos:Lerp(forwardPos, math.abs(math.sin(t * math.pi)))
                    myHRP.CFrame = CFrame.new(lerped.Position, targetHRP.Position + Vector3.new(0, 1.2, 0))
                end
            end)
        end
    end
})

-- script create BY ghost

TabTroll:AddToggle({
    Name = "Bang Fast (ultra rápido frente e abaixo)",
    Description = "modo turbo 😈",
    Default = false,
    Callback = function(Value)
        if bangFastLoop then 
            bangFastLoop:Disconnect() 
            bangFastLoop = nil 
        end
        if Value and jogadorSelecionado then
            bangFastLoop = RunService.RenderStepped:Connect(function()
                local targetHRP = jogadorSelecionado.Character and jogadorSelecionado.Character:FindFirstChild("HumanoidRootPart")
                local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                if targetHRP and myHRP then
                    local frontPos = targetHRP.CFrame * CFrame.new(0, -1.2, 2.5)
                    local closePos = targetHRP.CFrame * CFrame.new(0, -1.2, 1)
                    local t = tick() * 12 % 1 -- velocidade aumentada
                    local lerped = frontPos:Lerp(closePos, math.abs(math.sin(t * math.pi)))
                    myHRP.CFrame = CFrame.new(lerped.Position, targetHRP.Position)
                end
            end)
        end
    end
})

local Section = TabTroll:AddSection({"Wall Tools"})

local BNumber = 600 -- Valor fixo
local distanciaEntreItens = 3 -- Espaçamento entre FireX

-- Função para organizar itens em formato de triângulo
local function organizarItensEmTriangulo()
    local player = game.Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local backpack = player.Backpack

    -- Coleta todos os Tools no personagem e na mochila
    local itens = {}
    for _, item in pairs(character:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end

    -- Organiza os itens em triângulo
    local usados = 0
    local yOffset = 0
    local linha = 1

    while usados < #itens do
        for i = 1, linha do
            usados = usados + 1
            local item = itens[usados]
            if not item then break end

            item.Parent = character
            local xOffset = (i - (linha + 1)/2) * distanciaEntreItens -- centraliza horizontalmente
            item.GripPos = Vector3.new(xOffset, -yOffset, 0)
            task.wait()
            item.Parent = backpack
        end
        linha = linha + 1
        yOffset = yOffset + distanciaEntreItens -- desce para a próxima linha
    end

    -- Equipa todos os itens da mochila
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            item.Parent = character
        end
    end
end

-- Botão no TabTroll
TabTroll:AddButton({
    Name = "FireX Triângulo",
    Callback = function()
        local Player = game.Players.LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local RootPart = Character:WaitForChild("HumanoidRootPart")

        -- Atualiza hierarquia para FireX
        local Clone = game:GetService("Workspace"):FindFirstChild("WorkspaceCom")
            and game:GetService("Workspace").WorkspaceCom:FindFirstChild("001_GiveTools")
            and game:GetService("Workspace").WorkspaceCom["001_GiveTools"]:FindFirstChild("FireX")

        if Clone and Clone:FindFirstChild("ClickDetector") then
            local OldPos = RootPart.CFrame

            -- Loop para pegar os itens
            local processed = 0
            while processed < BNumber do
                RootPart.CFrame = Clone.CFrame
                fireclickdetector(Clone.ClickDetector)
                processed = processed + 1
                task.wait()
            end

            RootPart.CFrame = OldPos

            -- Organiza em triângulo
            organizarItensEmTriangulo()
        else
            warn("FireX ou ClickDetector não encontrado!")
        end
    end
})

local BNumber = 600 -- Valor fixo
local raioBola = 10 -- Raio da bola
local passos = 12 -- Quantidade de camadas da esfera

-- Função para organizar itens em formato de bola
local function organizarItensEmBola()
    local player = game.Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local backpack = player.Backpack

    -- Coleta todos os Tools no personagem e na mochila
    local itens = {}
    for _, item in pairs(character:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end

    local usados = 0
    local totalItens = #itens

    -- Distribuição por camadas da esfera
    for i = 0, passos do
        local theta = (i / passos) * math.pi -- de 0 a 180 graus
        local itensLinha = math.ceil(math.sin(theta) * passos * 2)
        if itensLinha == 0 then itensLinha = 1 end

        for j = 0, itensLinha - 1 do
            usados = usados + 1
            local item = itens[usados]
            if not item then break end

            item.Parent = character

            local phi = (j / itensLinha) * (2 * math.pi)
            local x = math.sin(theta) * math.cos(phi) * raioBola
            local y = math.cos(theta) * raioBola
            local z = math.sin(theta) * math.sin(phi) * raioBola

            item.GripPos = Vector3.new(x, y, z)
            task.wait()
            item.Parent = backpack
        end
    end

    -- Equipa todos os itens da mochila
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            item.Parent = character
        end
    end
end

-- Botão no TabTroll
TabTroll:AddButton({
    Name = "FireX Bola",
    Callback = function()
        local Player = game.Players.LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local RootPart = Character:WaitForChild("HumanoidRootPart")

        -- Atualiza hierarquia para FireX
        local Clone = game:GetService("Workspace"):FindFirstChild("WorkspaceCom")
            and game:GetService("Workspace").WorkspaceCom:FindFirstChild("001_GiveTools")
            and game:GetService("Workspace").WorkspaceCom["001_GiveTools"]:FindFirstChild("FireX")

        if Clone and Clone:FindFirstChild("ClickDetector") then
            local OldPos = RootPart.CFrame

            -- Loop para pegar os itens
            local processed = 0
            while processed < BNumber do
                RootPart.CFrame = Clone.CFrame
                fireclickdetector(Clone.ClickDetector)
                processed = processed + 1
                task.wait()
            end

            RootPart.CFrame = OldPos

            -- Organiza em bola
            organizarItensEmBola()
        else
            warn("FireX ou ClickDetector não encontrado!")
        end
    end
})

local BNumber = 600 -- Valor fixo
local distanciaEntreItens = 3 -- Distância entre os itens ao longo do bastão

-- Função para organizar itens em forma de bastão gigante para baixo
local function organizarItensEmBastaoParaBaixo()
    local player = game.Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local backpack = player.Backpack
    local rootPart = character:WaitForChild("HumanoidRootPart")

    -- Coleta todos os Tools no personagem e na mochila
    local itens = {}

    -- Procura Tools no personagem
    for _, item in pairs(character:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end

    -- Procura Tools na mochila
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end

    -- Verifica duplicatas e organiza por nome
    local duplicatas = {}
    for _, item in pairs(itens) do
        if not duplicatas[item.Name] then
            duplicatas[item.Name] = {}
        end
        table.insert(duplicatas[item.Name], item)
    end

    -- Para cada grupo de duplicatas, organize-os em formato de bastão
    local yOffset = 0 -- Offset inicial no eixo Y
    for _, grupo in pairs(duplicatas) do
        local total = #grupo
        if total > 1 then
            for i, item in pairs(grupo) do
                -- Equipa o item para ajustar o GripPos
                item.Parent = character

                -- Define a posição vertical para o item no bastão (para baixo no eixo Y)
                item.GripPos = Vector3.new(0, -yOffset, 0)

                -- Incrementa o offset no eixo Y para "descer"
                yOffset = yOffset + distanciaEntreItens

                -- Aguarda um pouco para o efeito ser visível
                task.wait()

                -- Solta o item colocando de volta na mochila
                item.Parent = backpack
            end
        end
    end

    -- Equipa todos os itens "FireX" da mochila
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            item.Parent = character
        end
    end
end


TabTroll:AddButton({
  Name = "Firex Bastao Gigante para Baixo",
  Callback = function()
    local Player = game.Players.LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local RootPart = Character:WaitForChild("HumanoidRootPart")

        -- Atualização da hierarquia para FireX
        local Clone = game:GetService("Workspace"):FindFirstChild("WorkspaceCom")
            and game:GetService("Workspace").WorkspaceCom:FindFirstChild("001_GiveTools")
            and game:GetService("Workspace").WorkspaceCom["001_GiveTools"]:FindFirstChild("FireX")

        if Clone and Clone:FindFirstChild("ClickDetector") then
            local OldPos = RootPart.CFrame -- Armazena a posição original

            -- Loop para pegar os itens repetidamente
            local processed = 0
            while processed < BNumber do
                RootPart.CFrame = Clone.CFrame -- Teletransporta para o clone
                fireclickdetector(Clone.ClickDetector) -- Clica no detector
                processed = processed + 1
                task.wait() -- Pausa para evitar travamento
            end

            -- Retorna à posição original
            RootPart.CFrame = OldPos

            -- Executa a função de organização ao final do loop
            organizarItensEmBastaoParaBaixo()
        else
            warn("FireX ou ClickDetector não encontrado!")
        end
  end
})

local BNumber = 600 -- Quantos FireX pegar
local distancia = 3 -- espaçamento entre os FireX
local tamanhoLogo = 15 -- tamanho do quadrado (número de itens por lado)
local buraco = 5 -- tamanho do buraco central

-- Função para organizar em forma da logo do Roblox
local function organizarLogoRoblox()
    local player = game.Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local backpack = player.Backpack

    -- junta todos os FireX
    local itens = {}
    for _, item in pairs(character:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end

    -- pega só a quantidade que precisa
    local needed = tamanhoLogo * tamanhoLogo
    local usados = 0
    local half = math.floor(tamanhoLogo / 2)

    for i = -half, half do
        for j = -half, half do
            -- pula o centro (buraco)
            if math.abs(i) > buraco or math.abs(j) > buraco then
                usados += 1
                local item = itens[usados]
                if not item then return end

                item.Parent = character
                -- cria a grade (x,z) e gira 45°
                local pos = Vector3.new(i * distancia, 0, j * distancia)
                local rotated = Vector3.new(
                    pos.X * math.cos(math.rad(45)) - pos.Z * math.sin(math.rad(45)),
                    0,
                    pos.X * math.sin(math.rad(45)) + pos.Z * math.cos(math.rad(45))
                )

                item.GripPos = rotated
                task.wait()
                item.Parent = backpack
            end
        end
    end

    -- EQUIPA TODOS no final (garantia absoluta)
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            item.Parent = character
        end
    end
    for _, item in pairs(character:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            item.Parent = character
        end
    end
end

-- botão no TabTroll
TabTroll:AddButton({
    Name = "aura Estintor lol",
    Callback = function()
        local Player = game.Players.LocalPlayer
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local RootPart = Character:WaitForChild("HumanoidRootPart")

        local Clone = game:GetService("Workspace"):FindFirstChild("WorkspaceCom")
            and game:GetService("Workspace").WorkspaceCom:FindFirstChild("001_GiveTools")
            and game:GetService("Workspace").WorkspaceCom["001_GiveTools"]:FindFirstChild("FireX")

        if Clone and Clone:FindFirstChild("ClickDetector") then
            local OldPos = RootPart.CFrame
            local processed = 0

            while processed < BNumber do
                RootPart.CFrame = Clone.CFrame
                fireclickdetector(Clone.ClickDetector)
                processed += 1
                task.wait()
            end

            RootPart.CFrame = OldPos
            organizarLogoRoblox()
        else
            warn("FireX ou ClickDetector não encontrado!")
        end
    end
})

local BNumber = 600 -- Valor fixo
local raioCirculo = 5 -- Distância do círculo em relação ao personagem

-- Função para organizar itens em formato de círculo
local function organizarItensEmCirculo()
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local backpack = player.Backpack
local rootPart = character:WaitForChild("HumanoidRootPart")

-- Coleta todos os Tools no personagem e na mochila  
local itens = {}  
  
-- Procura Tools no personagem  
for _, item in pairs(character:GetChildren()) do  
    if item:IsA("Tool") and item.Name == "FireX" then  
        table.insert(itens, item)  
    end  
end  
  
-- Procura Tools na mochila  
for _, item in pairs(backpack:GetChildren()) do  
    if item:IsA("Tool") and item.Name == "FireX" then  
        table.insert(itens, item)  
    end  
end  
  
-- Verifica duplicatas e organiza por nome  
local duplicatas = {}  
for _, item in pairs(itens) do  
    if not duplicatas[item.Name] then  
        duplicatas[item.Name] = {}  
    end  
    table.insert(duplicatas[item.Name], item)  
end  
  
-- Para cada grupo de duplicatas, organize-os em formato de círculo  
for _, grupo in pairs(duplicatas) do  
    local total = #grupo  
    if total > 1 then  
        for i, item in pairs(grupo) do  
            -- Equipa o item para ajustar o GripPos  
            item.Parent = character  
              
            -- Calcula o ângulo de cada item no círculo  
            local angulo = (i / total) * (2 * math.pi)  
              
            -- Calcula a posição circular atrás do jogador  
            local offsetX = math.cos(angulo) * raioCirculo  
            local offsetZ = math.sin(angulo) * raioCirculo  
              
            -- Define a posição atrás do HumanoidRootPart  
            item.GripPos = Vector3.new(-offsetX, 0, -offsetZ - raioCirculo)  
              
            -- Aguarda um pouco para o efeito ser visível  
            task.wait()  
              
            -- Solta o item colocando de volta na mochila  
            item.Parent = backpack  
        end  
    end  
end  
  
-- Equipa todos os itens "FireX" da mochila  
for _, item in pairs(backpack:GetChildren()) do  
    if item:IsA("Tool") and item.Name == "FireX" then  
        item.Parent = character  
    end  
end

end


TabTroll:AddButton({
  Name = "Firex Ex Simbolo Circular",
  Callback = function()
    local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local RootPart = Character:WaitForChild("HumanoidRootPart")

-- Atualização da hierarquia para FireX  
    local Clone = game:GetService("Workspace"):FindFirstChild("WorkspaceCom")   
        and game:GetService("Workspace").WorkspaceCom:FindFirstChild("001_GiveTools")  
        and game:GetService("Workspace").WorkspaceCom["001_GiveTools"]:FindFirstChild("FireX")  

    if Clone and Clone:FindFirstChild("ClickDetector") then  
        local OldPos = RootPart.CFrame -- Armazena a posição original  

        -- Loop para pegar os itens repetidamente  
        local processed = 0  
        while processed < BNumber do  
            RootPart.CFrame = Clone.CFrame -- Teletransporta para o clone  
            fireclickdetector(Clone.ClickDetector) -- Clica no detector  
            processed = processed + 1  
            task.wait() -- Pausa para evitar travamento  
        end  

        -- Retorna à posição original  
        RootPart.CFrame = OldPos   

        -- Executa a função de organização ao final do loop  
        organizarItensEmCirculo()  
    else  
        warn("FireX ou ClickDetector não encontrado!")  
    end  
  end
})


local BNumber = 600 -- Valor fixo
local distanciaAtras = 5 -- Distância da parede em relação ao personagem
local espacamentoX = 3 -- Espaçamento horizontal entre itens
local espacamentoY = 3 -- Espaçamento vertical entre itens

-- Função para organizar itens em formato de parede
local function organizarItensEmParede()
    local player = game.Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local backpack = player.Backpack
    local rootPart = character:WaitForChild("HumanoidRootPart")

    -- Coleta todos os Tools no personagem e na mochila
    local itens = {}
    
    -- Procura Tools no personagem
    for _, item in pairs(character:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end
    
    -- Procura Tools na mochila
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            table.insert(itens, item)
        end
    end
    
    -- Verifica duplicatas e organiza por nome
    local duplicatas = {}
    for _, item in pairs(itens) do
        if not duplicatas[item.Name] then
            duplicatas[item.Name] = {}
        end
        table.insert(duplicatas[item.Name], item)
    end
    
    -- Organiza os itens em formato de parede
    for _, grupo in pairs(duplicatas) do
        local total = #grupo
        
        -- Calcula o número de colunas e linhas necessárias
        local colunas = math.ceil(math.sqrt(total))
        local linhas = math.ceil(total / colunas)
        
        for i, item in pairs(grupo) do
            -- Calcula a posição na grade
            local linha = math.floor((i-1) / colunas)
            local coluna = (i-1) % colunas
            
            -- Equipa o item para ajustar o GripPos
            item.Parent = character
            
            -- Ajusta a posição na parede atrás do jogador
            item.GripPos = Vector3.new(coluna * espacamentoX, -linha * espacamentoY, -distanciaAtras)
            
            -- Aguarda um pouco para o efeito ser visível
            task.wait()
            
            -- Solta o item colocando de volta na mochila
            item.Parent = backpack
        end
    end
    
    -- Equipa todos os itens "FireX" da mochila
    for _, item in pairs(backpack:GetChildren()) do
        if item:IsA("Tool") and item.Name == "FireX" then
            item.Parent = character
        end
    end
end

 

local Button = TabTroll:AddButton({
  Name = "Firex Wall",
  Callback = function()
    local Player = game.Players.LocalPlayer 
        local Character = Player.Character or Player.CharacterAdded:Wait()
        local RootPart = Character:WaitForChild("HumanoidRootPart")
        
        -- Atualização da hierarquia para FireX
        local Clone = game:GetService("Workspace"):FindFirstChild("WorkspaceCom") 
            and game:GetService("Workspace").WorkspaceCom:FindFirstChild("001_GiveTools")
            and game:GetService("Workspace").WorkspaceCom["001_GiveTools"]:FindFirstChild("FireX")

        if Clone and Clone:FindFirstChild("ClickDetector") then
            local OldPos = RootPart.CFrame -- Armazena a posição original

            -- Loop para pegar os itens repetidamente
            local processed = 0
            while processed < BNumber do
                RootPart.CFrame = Clone.CFrame -- Teletransporta para o clone
                fireclickdetector(Clone.ClickDetector) -- Clica no detector
                processed = processed + 1
                task.wait() -- Pausa para evitar travamento
            end

            -- Retorna à posição original
            RootPart.CFrame = OldPos 

            -- Executa a função de organização ao final do loop
            organizarItensEmParede()
        else
            warn("FireX ou ClickDetector não encontrado!")
        end
  end
})

local Toggle = TabTroll:AddToggle({
  Name = "Black Role",
  Default = false,
  Callback = function(Value)
    if Value then
            -- Quando a toggle estiver ativada
            loadstring(game:HttpGet("https://github.com/TemplariosScripts1/Tornado/raw/refs/heads/main/TornadoObfuscate.txt"))()
        else
            -- Quando a toggle estiver desativada
            loadstring(game:HttpGet("https://github.com/TemplariosScripts1/Blackhole2/raw/refs/heads/main/Blackhole2Obfuscate.txt"))()
        end
  end
})

TabTroll:AddButton({
    Name = "Bring All Cars",
    Callback = function()
        for _, v in next, workspace.Vehicles:GetChildren() do
            v:SetPrimaryPartCFrame(game.Players.LocalPlayer.Character:GetPrimaryPartCFrame())
        end
    end
})

local Tab2 = Window:MakeTab({ "| House", "Home" })

local SelectHouse
local SelectedPlayerName

-- TextBox para selecionar casa
Tab2:AddTextBox({
    Name = " Nome do player",
    Placeholder = "",
    Callback = function(txt)
        local function GetExistentHouses()
            local houseTable = {}
            for _, v in pairs(workspace["001_Lots"]:GetChildren()) do
                if string.find(v.Name, "House") and v:FindFirstChild("HousePickedByPlayer") then
                    table.insert(houseTable, {
                        FullName = v.Owner.Value,
                        HouseNumber = v.Number.Number.Value,
                        Model = v
                    })
                end
            end
            return houseTable
        end

        local function FindHouseByPartialName(partialName)
            partialName = partialName:lower()
            for _, data in pairs(GetExistentHouses()) do
                if string.find(data.FullName:lower(), partialName) then
                    return data
                end
            end
        end

        local result = FindHouseByPartialName(txt)
        if result then
            SelectHouse = result.HouseNumber
            SelectedPlayerName = result.FullName
            warn("[+]", "Found: " .. SelectedPlayerName .. " - House #" .. SelectHouse)
        else
            SelectHouse = nil
            SelectedPlayerName = nil
            warn("[-]", "No matching house found")
        end
    end
})

-- Botão: Teleportar para casa
Tab2:AddButton({
    Name = "Teleport to the house",
    Callback = function()
        if not SelectHouse then return end
        for _, v in pairs(workspace["001_Lots"]:GetChildren()) do
            if v.Name ~= "DontDelete" and v.Number.Number.Value == SelectHouse then
                game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(v.WorldPivot.Position)
                break
            end
        end
    end
})

-- Botão: Teleportar para o cofre
Tab2:AddButton({
    Name = "Teleport to the vault",
    Callback = function()
        if not SelectHouse then return end
        for _, v in pairs(workspace["001_Lots"]:GetChildren()) do
            if v.Name ~= "DontDelete" and v.Number.Number.Value == SelectHouse then
                local safe = v.HousePickedByPlayer.HouseModel["001_Safe"]
                game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(safe.WorldPivot.Position)
                break
            end
        end
    end
})

-- Toggle: Noclip porta
Tab2:AddToggle({
    Name = "Noclip through the house door",
    Default = false,
    Callback = function(Value)
        if not SelectHouse then return end
        for _, v in pairs(workspace["001_Lots"]:GetChildren()) do
            if v.Name ~= "DontDelete" and v.Number.Number.Value == SelectHouse then
                pcall(function()
                    local doors = v.HousePickedByPlayer.HouseModel["001_HouseDoors"].HouseDoorFront:GetChildren()
                    for _, part in pairs(doors) do
                        if part:IsA("BasePart") then
                            part.CanCollide = not Value
                        end
                    end
                end)
                break
            end
        end
    end
})

-- Toggle: Spam Bell
Tab2:AddToggle({
    Name = "Spam Bell",
    Default = false,
    Callback = function(Value)
        getgenv().ChaosHubAutoSpawnDoorbellValue = Value
        task.spawn(function()
            while getgenv().ChaosHubAutoSpawnDoorbellValue do
                if not SelectHouse then break end
                for _, v in pairs(workspace["001_Lots"]:GetChildren()) do
                    if v.Name ~= "DontDelete" and v.Number.Number.Value == SelectHouse then
                        fireclickdetector(v.HousePickedByPlayer.HouseModel["001_DoorBell"].TouchBell.ClickDetector)
                        break
                    end
                end
                task.wait(0.5)
            end
        end)
    end
})

-- Toggle: Spam Knock
Tab2:AddToggle({
    Name = "Spam Knock",
    Default = false,
    Callback = function(Value)
        getgenv().ShnmaxAutoSpawnDoorValue = Value
        task.spawn(function()
            while getgenv().ShnmaxAutoSpawnDoorValue do
                if not SelectHouse then break end
                for _, v in pairs(workspace["001_Lots"]:GetChildren()) do
                    if v.Name ~= "DontDelete" and v.Number.Number.Value == SelectHouse then
                        fireclickdetector(v.HousePickedByPlayer.HouseModel["001_HouseDoors"].HouseDoorFront.Knock.TouchBell.ClickDetector)
                        break
                    end
                end
                task.wait(0.5)
            end
        end)
    end
})

Tab2:AddButton({
    Name = "Remover Ban",
    Description = "Remover altomaticamente ban de todas as casas",
    Callback = function()
        local successCount = 0
        local failCount = 0
        for i = 1, 37 do
            local bannedBlockName = "BannedBlock" .. i
            local bannedBlock = Workspace:FindFirstChild(bannedBlockName, true)
            if bannedBlock then
                local success, _ = pcall(function()
                    bannedBlock:Destroy()
                end)
                if success then
                    successCount = successCount + 1
                else
                    failCount = failCount + 1
                end
            end
        end
        for _, house in pairs(Workspace:GetDescendants()) do
            if house.Name:match("BannedBlock") then
                local success, _ = pcall(function()
                    house:Destroy()
                end)
                if success then
                    successCount = successCount + 1
                else
                    failCount = failCount + 1
                end
            end
        end
        if successCount > 0 then
            game.StarterGui:SetCore("SendNotification", {
                Title = "Sucesso",
                Text = "Bans removidos de " .. successCount .. " casas!",
                Duration = 5
            })
        end
        if failCount > 0 then
            game.StarterGui:SetCore("SendNotification", {
                Title = "Aviso",
                Text = "Falha ao remover bans de " .. failCount .. " casas.",
                Duration = 5
            })
        end
        if successCount == 0 and failCount == 0 then
            game.StarterGui:SetCore("SendNotification", {
                Title = "Aviso",
                Text = "Nenhum ban encontrado para remover.",
                Duration = 5
            })
        end
    end
})

Tab2:AddToggle({
    Name = "Auto Remove Ban <NO LAG",
    Default = false,
    Callback = function(Value)
        getgenv().AutoRemoveBan = Value

        while getgenv().AutoRemoveBan and task.wait(1) do
            local rs = game:GetService("ReplicatedStorage")
            
            -- Procurar por qualquer pasta com nome "BannedLot" ou similar (ex: BannedLots, BannedLot1, etc)
            for _, obj in pairs(rs:GetChildren()) do
                if obj:IsA("Folder") and string.lower(obj.Name):match("bannedlot") then
                    obj:Destroy()
                    print("[AutoRemoveBan] Removido: " .. obj.Name)
                end
            end
        end
    end    
})

local Tab3 = Window:MakeTab({ "| ferramentas", "Sword" })

Tab3:AddButton({
    Name = "ban hammer v2",
    Callback = function()

local tool = Instance.new("Tool")
tool.Name = "Ban Hammer"
tool.RequiresHandle = true
tool.CanBeDropped = true

local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(0.1, 0.1, 0.1)
handle.Massless = true
handle.Anchored = false
handle.CanCollide = false
handle.Transparency = 0.5
handle.Color = Color3.fromRGB(255, 0, 0)

local mesh = Instance.new("SpecialMesh", handle)
mesh.MeshType = Enum.MeshType.Sphere
mesh.Scale = Vector3.new(0.05, 0.05, 0.05)
mesh.Parent = handle

handle.Parent = tool

local hammerId = 15250088977 -- ID do Ban Hammer

tool.Equipped:Connect(function(mouse)
	local character = tool.Parent
	if character and character:FindFirstChild("Humanoid") and character.Humanoid.RigType == Enum.HumanoidRigType.R15 then
		-- Aplica o Ban Hammer
		game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Wear"):InvokeServer(hammerId)

		mouse.Button1Down:Connect(function()
			local humanoid = character:FindFirstChildOfClass("Humanoid")
			local animator = humanoid and humanoid:FindFirstChildOfClass("Animator")
			if animator then
				local anim = Instance.new("Animation")
				anim.AnimationId = "rbxassetid://2410679501"
				local track = animator:LoadAnimation(anim)
				track:Play()
			end
		end)
	end
end)

tool.Unequipped:Connect(function()
	-- Reaplica só o Ban Hammer em vez de resetar tudo
	game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Wear"):InvokeServer(hammerId)
end)

tool.Parent = game.Players.LocalPlayer.Backpack


    end
})

Tab3:AddButton({
    Name = "ban hammer v3",
    Callback = function()


-- BAN HAMMER COMPLETO COM EQUIPAMENTO DE ITEM

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

local player = Players.LocalPlayer
local hammerId = 15250088977 -- ID catálogo do Ban Hammer
local banHammerSoundId = 147722910 -- Som do martelo

-- Função para disparar eventos remotos
local function fireServer(eventName, args)
    local event = ReplicatedStorage:FindFirstChild("RE") and ReplicatedStorage.RE:FindFirstChild(eventName)
    if event then
        pcall(function()
            event:FireServer(unpack(args))
        end)
    end
end

-- Criar Tool
local tool = Instance.new("Tool")
tool.Name = "Ban Hammer"
tool.RequiresHandle = true
tool.CanBeDropped = true

local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(1,1,1)
handle.Massless = true
handle.Anchored = false
handle.CanCollide = false
handle.Transparency = 0.5
handle.Color = Color3.fromRGB(255,0,0)
handle.Parent = tool

local mesh = Instance.new("SpecialMesh", handle)
mesh.MeshType = Enum.MeshType.Sphere
mesh.Scale = Vector3.new(0.5,0.5,0.5)

-- Coloca no Backpack
tool.Parent = player.Backpack

-- Função para equipar o item do catálogo
local function wearHammer()
    if ReplicatedStorage:FindFirstChild("Remotes") and ReplicatedStorage.Remotes:FindFirstChild("Wear") then
        pcall(function()
            ReplicatedStorage.Remotes.Wear:InvokeServer(hammerId)
        end)
    end
end

-- Função de fling
local function flingTarget(targetPlayer)
    if not targetPlayer or not targetPlayer.Character then return end
    local tchar = targetPlayer.Character
    local troot = tchar:FindFirstChild("HumanoidRootPart")
    local thum = tchar:FindFirstChild("Humanoid")
    if not troot or not thum then return end

    local character = player.Character or player.CharacterAdded:Wait()
    local backpack = player:WaitForChild("Backpack")
    local ServerBalls = Workspace:WaitForChild("WorkspaceCom"):WaitForChild("001_SoccerBalls")

    -- Solicita bola se não tiver
    if not backpack:FindFirstChild("SoccerBall") and not character:FindFirstChild("SoccerBall") then
        ReplicatedStorage.RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools", "SoccerBall")
        repeat task.wait() until backpack:FindFirstChild("SoccerBall") or character:FindFirstChild("SoccerBall")
    end

    local ballTool = backpack:FindFirstChild("SoccerBall")
    if ballTool then
        ballTool.Parent = character
    end

    repeat task.wait() until ServerBalls:FindFirstChild("Soccer"..player.Name)
    local Ball = ServerBalls:FindFirstChild("Soccer"..player.Name)
    Ball.CanCollide = false
    Ball.Massless = true
    Ball.CustomPhysicalProperties = PhysicalProperties.new(0.0001,0,0)

    if Ball:FindFirstChildWhichIsA("BodyVelocity") then
        Ball:FindFirstChildWhichIsA("BodyVelocity"):Destroy()
    end

    local bv = Instance.new("BodyVelocity")
    bv.Name = "FlingPower"
    bv.Velocity = Vector3.new(9e8,9e8,9e8)
    bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
    bv.P = 9e900
    bv.Parent = Ball

    -- Cola a bola no player alvo
    task.spawn(function()
        repeat
            if troot.Velocity.Magnitude > 0 then
                local pos = troot.Position + (troot.Velocity/1.5)
                Ball.CFrame = CFrame.new(pos)
                Ball.Orientation += Vector3.new(45,60,30)
            else
                for _, v in pairs(tchar:GetChildren()) do
                    if v:IsA("BasePart") and v.CanCollide and not v.Anchored then
                        Ball.CFrame = v.CFrame
                        task.wait(1/6000)
                    end
                end
            end
            task.wait(1/6000)
        until troot.Velocity.Magnitude > 1000 or thum.Health <= 0 or not tchar:IsDescendantOf(Workspace) or targetPlayer.Parent ~= Players
    end)
end

-- Quando equipa
tool.Equipped:Connect(function(mouse)
    wearHammer()

    local character = tool.Parent
    if character and character:FindFirstChild("Humanoid") then
        mouse.Button1Down:Connect(function()
            --  Animação
            local humanoid = character:FindFirstChildOfClass("Humanoid")
            local animator = humanoid and humanoid:FindFirstChildOfClass("Animator")
            if animator then
                local anim = Instance.new("Animation")
                anim.AnimationId = "rbxassetid://2410679501"
                local track = animator:LoadAnimation(anim)
                track:Play()
            end

            --  Som global e local
            fireServer("1Gu1nSound1s", {Workspace, banHammerSoundId, 1})
            local hitSound = Instance.new("Sound")
            hitSound.SoundId = "rbxassetid://" .. banHammerSoundId
            hitSound.Volume = 1
            hitSound.Parent = Workspace
            hitSound:Play()
            task.delay(3, function() hitSound:Destroy() end)
        end)
    end
end)

-- Reaplica quando desequipa
tool.Unequipped:Connect(function()
    wearHammer()
end)

-- Detecta acerto do martelo
handle.Touched:Connect(function(hit)
    local character = hit:FindFirstAncestorOfClass("Model")
    local targetPlayer = Players:GetPlayerFromCharacter(character)
    if targetPlayer and targetPlayer ~= player then
        print("Ban Hammer atingiu:", targetPlayer.Name)
        flingTarget(targetPlayer)
    end
end)


    end
})

Tab3:AddButton({
    Name = "Click fling croch",
    Callback = function()

	local jogadores = game:GetService("Players")
local rep = game:GetService("ReplicatedStorage")
local loop = game:GetService("RunService")
local mundo = game:GetService("Workspace")
local entrada = game:GetService("UserInputService")

local eu = jogadores.LocalPlayer
local cam = mundo.CurrentCamera

local NOME_FERRAMENTA = "Click Kill Couch"
local ferramentaEquipada = false
local nomeAlvo = nil
local loopTP = nil
local sofaEquipado = false
local base = nil
local posInicial = nil
local raiz = nil

local mochila = eu:WaitForChild("Backpack")
if not mochila:FindFirstChild(NOME_FERRAMENTA) then
	local ferramenta = Instance.new("Tool")
	ferramenta.Name = NOME_FERRAMENTA
	ferramenta.RequiresHandle = false
	ferramenta.CanBeDropped = false

	ferramenta.Equipped:Connect(function()
		ferramentaEquipada = true
	end)

	ferramenta.Unequipped:Connect(function()
		ferramentaEquipada = false
		nomeAlvo = nil
		limparSofa()
	end)

	ferramenta.Parent = mochila
end

function limparSofa()
	if loopTP then
		loopTP:Disconnect()
		loopTP = nil
	end

	if sofaEquipado then
		local boneco = eu.Character
		if boneco then
			local sofa = boneco:FindFirstChild("Couch")
			if sofa then
				sofa.Parent = eu.Backpack
				sofaEquipado = false
			end
		end
	end

	if base then
		base:Destroy()
		base = nil
	end

	if getgenv().AntiSit then
		getgenv().AntiSit:Set(false)
	end

	local humano = eu.Character and eu.Character:FindFirstChildOfClass("Humanoid")
	if humano then
		humano:SetStateEnabled(Enum.HumanoidStateType.Physics, true)
		humano:ChangeState(Enum.HumanoidStateType.GettingUp)
	end

	if posInicial and raiz then
		raiz.CFrame = posInicial
		posInicial = nil
	end
end

function pegarSofa()
	local boneco = eu.Character
	if not boneco then return end
	local mochila = eu.Backpack

	if not mochila:FindFirstChild("Couch") and not boneco:FindFirstChild("Couch") then
		local args = { "PickingTools", "Couch" }
		rep.RE["1Too1l"]:InvokeServer(unpack(args))
		task.wait(0.1)
	end

	local sofa = mochila:FindFirstChild("Couch") or boneco:FindFirstChild("Couch")
	if sofa then
		sofa.Parent = boneco
		sofaEquipado = true
	end
end

function posAleatoriaAbaixo(boneco)
	local rp = boneco:FindFirstChild("HumanoidRootPart")
	if not rp then return Vector3.new() end
	local offset = Vector3.new(math.random(-2, 2), -5.1, math.random(-2, 2))
	return rp.Position + offset
end

function tpAbaixo(alvo)
	if not alvo or not alvo.Character or not alvo.Character:FindFirstChild("HumanoidRootPart") then return end

	local meuBoneco = eu.Character
	local minhaRaiz = meuBoneco and meuBoneco:FindFirstChild("HumanoidRootPart")
	local humano = meuBoneco and meuBoneco:FindFirstChildOfClass("Humanoid")

	if not minhaRaiz or not humano then return end

	humano:SetStateEnabled(Enum.HumanoidStateType.Physics, false)

	if not base then
		base = Instance.new("Part")
		base.Size = Vector3.new(10, 1, 10)
		base.Anchored = true
		base.CanCollide = true
		base.Transparency = 0.5
		base.Parent = mundo
	end

	local destino = posAleatoriaAbaixo(alvo.Character)
	base.Position = destino
	minhaRaiz.CFrame = CFrame.new(destino)

	humano:SetStateEnabled(Enum.HumanoidStateType.Physics, true)
end

function arremessarComSofa(alvo)
	if not alvo then return end
	nomeAlvo = alvo.Name
	local boneco = eu.Character
	if not boneco then return end

	posInicial = boneco:FindFirstChild("HumanoidRootPart") and boneco.HumanoidRootPart.CFrame
	raiz = boneco:FindFirstChild("HumanoidRootPart")
	pegarSofa()

	loopTP = loop.Heartbeat:Connect(function()
		local alvoAtual = jogadores:FindFirstChild(nomeAlvo)
		if not alvoAtual or not alvoAtual.Character or not alvoAtual.Character:FindFirstChild("Humanoid") then
			limparSofa()
			return
		end
		if getgenv().AntiSit then
			getgenv().AntiSit:Set(true)
		end
		tpAbaixo(alvoAtual)
	end)

	task.spawn(function()
		local alvoAtual = jogadores:FindFirstChild(nomeAlvo)
		while alvoAtual and alvoAtual.Character and alvoAtual.Character:FindFirstChild("Humanoid") do
			task.wait(0.05)
			if alvoAtual.Character.Humanoid.SeatPart then
				local buraco = CFrame.new(265.46, -450.83, -59.93)
				alvoAtual.Character.HumanoidRootPart.CFrame = buraco
				eu.Character.HumanoidRootPart.CFrame = buraco
				task.wait(0.4)
				limparSofa()
				task.wait(0.2)
				if posInicial then
					eu.Character.HumanoidRootPart.CFrame = posInicial
				end
				break
			end
		end
	end)
end

entrada.TouchTap:Connect(function(toques, processado)
	if not ferramentaEquipada or processado then return end
	local pos = toques[1]
	local raio = cam:ScreenPointToRay(pos.X, pos.Y)
	local hit = mundo:Raycast(raio.Origin, raio.Direction * 1000)
	if hit and hit.Instance then
		local modelo = hit.Instance:FindFirstAncestorOfClass("Model")
		local jogador = jogadores:GetPlayerFromCharacter(modelo)
		if jogador and jogador ~= eu then
			arremessarComSofa(jogador)
		end
	end
end)

    end
})

Tab3:AddButton({
    Name = "tool boombox fe 100%",
    Callback = function()


local player = game.Players.LocalPlayer
        local playerGui = player:FindFirstChild("PlayerGui")
        if not playerGui then return end

        local boombox
        local sg
        local lastID = 142376088

        local function createBoombox()
            boombox = Instance.new("Tool")
            boombox.Name = "Boombox"
            boombox.RequiresHandle = true
            boombox.Parent = player.Backpack

            local handle = Instance.new("Part")
            handle.Name = "Handle"
            handle.Size = Vector3.new(1, 1, 1)
            handle.CanCollide = false
            handle.Anchored = false
            handle.Transparency = 1
            handle.Parent = boombox

            boombox.Equipped:Connect(function()
                if sg then return end

                sg = Instance.new("ScreenGui")
                sg.Name = "ChooseSongGui"
                sg.Parent = playerGui  

                local frame = Instance.new("Frame")
                frame.Style = "RobloxRound"
                frame.Size = UDim2.new(0.25, 0, 0.25, 0)
                frame.Position = UDim2.new(0.375, 0, 0.375, 0)
                frame.Draggable = true
                frame.Active = true
                frame.Parent = sg

                local text = Instance.new("TextLabel")
                text.BackgroundTransparency = 1
                text.TextStrokeTransparency = 0
                text.TextColor3 = Color3.new(1, 1, 1)
                text.Size = UDim2.new(1, 0, 0.6, 0)
                text.TextScaled = true
                text.Text = "Lay down the beat! Put in the ID number for a song you love that's been uploaded to ROBLOX. Leave it blank to stop playing music."
                text.Parent = frame

                local input = Instance.new("TextBox")
                input.BackgroundColor3 = Color3.new(0, 0, 0)
                input.BackgroundTransparency = 0.5
                input.BorderColor3 = Color3.new(1, 1, 1)
                input.TextColor3 = Color3.new(1, 1, 1)
                input.TextStrokeTransparency = 1
                input.TextScaled = true
                input.Text = tostring(lastID)
                input.Size = UDim2.new(1, 0, 0.2, 0)
                input.Position = UDim2.new(0, 0, 0.6, 0)
                input.Parent = frame

                local button = Instance.new("TextButton")
                button.Style = "RobloxButton"
                button.Size = UDim2.new(0.75, 0, 0.2, 0)
                button.Position = UDim2.new(0.125, 0, 0.8, 0)
                button.TextColor3 = Color3.new(1, 1, 1)
                button.TextStrokeTransparency = 0
                button.Text = "Play!"
                button.TextScaled = true
                button.Parent = frame

                -- Veste boombox
                local args = { [1] = 18756289999 }
                game:GetService("ReplicatedStorage").Remotes.Wear:InvokeServer(unpack(args))

                local function playAudioAll(ID)
                    if type(ID) ~= "number" then
                        print("Please insert a valid number!")
                        return
                    end
                    local rs = game:GetService("ReplicatedStorage")
                    local evt = rs:FindFirstChild("1Gu1nSound1s", true)
                    if evt then
                        evt:FireServer(workspace, ID, 1)
                    end
                end

                local function playAudioLocal(ID)
                    local sound = Instance.new("Sound")
                    sound.SoundId = "rbxassetid://" .. ID
                    sound.Volume = 1
                    sound.Looped = false
                    sound.Parent = player.Character or workspace
                    sound:Play()
                    task.wait(3)
                    sound:Destroy()
                end

                button.MouseButton1Click:Connect(function()
                    local soundID = tonumber(input.Text)
                    if soundID then
                        lastID = soundID
                        playAudioAll(soundID)
                        playAudioLocal(soundID)
                        if sg then
                            sg:Destroy()
                            sg = nil
                        end
                    else
                        print("Invalid ID!")
                    end
                end)
            end)

            boombox.Unequipped:Connect(function()
                if sg then
                    sg:Destroy()
                    sg = nil
                end
                local args = { [1] = 18756289999 }
                game:GetService("ReplicatedStorage").Remotes.Wear:InvokeServer(unpack(args))
            end)

            boombox.AncestryChanged:Connect(function(_, parent)
                if not parent and sg then
                    sg:Destroy()
                    sg = nil
                end
            end)
        end

        createBoombox()

    end
})


Tab3:AddButton({
    Name = "click fling ball ",
    Callback = function()
        
        local jogadores = game:GetService("Players")
local rep = game:GetService("ReplicatedStorage")
local mundo = game:GetService("Workspace")
local entrada = game:GetService("UserInputService")
local cam = mundo.CurrentCamera
local eu = jogadores.LocalPlayer

local NOME_FERRAMENTA = "Click Fling Ball"
local ferramentaEquipada = false

local mochila = eu:WaitForChild("Backpack")
if not mochila:FindFirstChild(NOME_FERRAMENTA) then
	local ferramenta = Instance.new("Tool")
	ferramenta.Name = NOME_FERRAMENTA
	ferramenta.RequiresHandle = false
	ferramenta.CanBeDropped = false

	ferramenta.Equipped:Connect(function()
		ferramentaEquipada = true
	end)

	ferramenta.Unequipped:Connect(function()
		ferramentaEquipada = false
	end)

	ferramenta.Parent = mochila
end

-- Função FlingBall (bola)
local function FlingBall(target)
    

    local players = game:GetService("Players")
    local player = players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local hrp = character:WaitForChild("HumanoidRootPart")
    local backpack = player:WaitForChild("Backpack")
    local ServerBalls = workspace.WorkspaceCom:WaitForChild("001_SoccerBalls")

    local function GetBall()
        if not backpack:FindFirstChild("SoccerBall") and not character:FindFirstChild("SoccerBall") then
            game:GetService("ReplicatedStorage").RE:FindFirstChild("1Too1l"):InvokeServer("PickingTools", "SoccerBall")
        end

        repeat task.wait() until backpack:FindFirstChild("SoccerBall") or character:FindFirstChild("SoccerBall")

        local ballTool = backpack:FindFirstChild("SoccerBall")
        if ballTool then
            ballTool.Parent = character
        end

        repeat task.wait() until ServerBalls:FindFirstChild("Soccer" .. player.Name)

        return ServerBalls:FindFirstChild("Soccer" .. player.Name)
    end

    local Ball = ServerBalls:FindFirstChild("Soccer" .. player.Name) or GetBall()
    Ball.CanCollide = false
    Ball.Massless = true
    Ball.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0)

    if target ~= player then
        local tchar = target.Character
        if tchar and tchar:FindFirstChild("HumanoidRootPart") and tchar:FindFirstChild("Humanoid") then
            local troot = tchar.HumanoidRootPart
            local thum = tchar.Humanoid

            if Ball:FindFirstChildWhichIsA("BodyVelocity") then
                Ball:FindFirstChildWhichIsA("BodyVelocity"):Destroy()
            end

            local bv = Instance.new("BodyVelocity")
            bv.Name = "FlingPower"
            bv.Velocity = Vector3.new(9e8, 9e8, 9e8)
            bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
            bv.P = 9e900
            bv.Parent = Ball

            workspace.CurrentCamera.CameraSubject = thum

            repeat
                if troot.Velocity.Magnitude > 0 then
                    local pos = troot.Position + (troot.Velocity / 1.5)
                    Ball.CFrame = CFrame.new(pos)
                    Ball.Orientation += Vector3.new(45, 60, 30)
                else
                    for i, v in pairs(tchar:GetChildren()) do
                        if v:IsA("BasePart") and v.CanCollide and not v.Anchored then
                            Ball.CFrame = v.CFrame
                            task.wait(1/6000)
                        end
                    end
                end
                task.wait(1/6000)
            until troot.Velocity.Magnitude > 1000 or thum.Health <= 0 or not tchar:IsDescendantOf(workspace) or target.Parent ~= players

            workspace.CurrentCamera.CameraSubject = humanoid
        end
    end
end

-- Toque na tela para aplicar a bola
entrada.TouchTap:Connect(function(toques, processado)
	if not ferramentaEquipada or processado then return end
	local pos = toques[1]
	local raio = cam:ScreenPointToRay(pos.X, pos.Y)
	local hit = mundo:Raycast(raio.Origin, raio.Direction * 1000)
	if hit and hit.Instance then
		local modelo = hit.Instance:FindFirstAncestorOfClass("Model")
		local jogador = jogadores:GetPlayerFromCharacter(modelo)
		if jogador and jogador ~= eu then
			FlingBall(jogador)
		end
	end
end)
        
    end
})

Tab3:AddButton({
  Name = "Click Fling Doors [ New ]",
Description = "Para Usar, Recomendo chegar perto de outras portas, apos ela ir até ela voce, clique no jogador que deseja flingar",
  Callback = function()
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local HRP = Character:WaitForChild("HumanoidRootPart")

-- Alvo invisível (BlackHole)
local BlackHole = Instance.new("Part")
BlackHole.Size = Vector3.new(100000, 100000, 100000)
BlackHole.Transparency = 1
BlackHole.Anchored = true
BlackHole.CanCollide = false
BlackHole.Name = "BlackHoleTarget"
BlackHole.Parent = Workspace

-- Attachment base no BlackHole
local baseAttachment = Instance.new("Attachment")
baseAttachment.Name = "Redz Hub2025_BlackHoleAttachment"
baseAttachment.Parent = BlackHole

-- Atualiza posição do BlackHole
RunService.Heartbeat:Connect(function()
	BlackHole.CFrame = HRP.CFrame
end)

-- Lista de portas controladas
local ControlledDoors = {}

-- Prepara uma porta para ser controlada
local function SetupPart(part)
	if not part:IsA("BasePart") or part.Anchored or not string.find(part.Name, "Door") then return end
	if part:FindFirstChild("Redz Hub2025_Attached") then return end

	part.CanCollide = false

	for _, obj in ipairs(part:GetChildren()) do
		if obj:IsA("AlignPosition") or obj:IsA("Torque") or obj:IsA("Attachment") then
			obj:Destroy()
		end
	end

	local marker = Instance.new("BoolValue", part)
	marker.Name = "Redz Hub2025_Attached"

	local a1 = Instance.new("Attachment", part)

	local align = Instance.new("AlignPosition", part)
	align.Attachment0 = a1
	align.Attachment1 = baseAttachment
	align.MaxForce = 1e20
	align.MaxVelocity = math.huge
	align.Responsiveness = 99999

	local torque = Instance.new("Torque", part)
	torque.Attachment0 = a1
	torque.RelativeTo = Enum.ActuatorRelativeTo.World
	torque.Torque = Vector3.new(
		math.random(-10e5, 10e5) * 10000,
		math.random(-10e5, 10e5) * 10000,
		math.random(-10e5, 10e5) * 10000
	)

	table.insert(ControlledDoors, {Part = part, Align = align})
end

-- Detecta e prepara portas existentes
for _, obj in ipairs(Workspace:GetDescendants()) do
	if obj:IsA("BasePart") and string.find(obj.Name, "Door") then
		SetupPart(obj)
	end
end

-- Novas portas no futuro
Workspace.DescendantAdded:Connect(function(obj)
	if obj:IsA("BasePart") and string.find(obj.Name, "Door") then
		SetupPart(obj)
	end
end)

-- Flinga jogador com timeout e retorno
local function FlingPlayer(player)
	local char = player.Character
	if not char then return end
	local targetHRP = char:FindFirstChild("HumanoidRootPart")
	if not targetHRP then return end

	local targetAttachment = targetHRP:FindFirstChild("Redz Hub2025_TargetAttachment")
	if not targetAttachment then
		targetAttachment = Instance.new("Attachment", targetHRP)
		targetAttachment.Name = "Redz Hub2025_TargetAttachment"
	end

	for _, data in ipairs(ControlledDoors) do
		if data.Align then
			data.Align.Attachment1 = targetAttachment
		end
	end

	local start = tick()
	local flingDetected = false

	while tick() - start < 5 do
		if targetHRP.Velocity.Magnitude >= 20 then
			flingDetected = true
			break
		end
		RunService.Heartbeat:Wait()
	end

	-- Sempre retorna as portas
	for _, data in ipairs(ControlledDoors) do
		if data.Align then
			data.Align.Attachment1 = baseAttachment
		end
	end
end

-- Clique (funciona no mobile)
UserInputService.TouchTap:Connect(function(touchPositions, processed)
	if processed then return end
	local pos = touchPositions[1]
	local camera = Workspace.CurrentCamera
	local unitRay = camera:ScreenPointToRay(pos.X, pos.Y)
	local raycast = Workspace:Raycast(unitRay.Origin, unitRay.Direction * 1000)

	if raycast and raycast.Instance then
		local hit = raycast.Instance
		local player = Players:GetPlayerFromCharacter(hit:FindFirstAncestorOfClass("Model"))
		if player and player ~= LocalPlayer then
			FlingPlayer(player)
		end
	end
end)
  end
})

Features & Information

Cracked weird ah languge ask for next crack can we crack?
#cracked#free#nokey#no key#red

Community Comments (3)

SAICHARANSAICHARANMar 10, 2026

bro i need to talk @jurstuka

HavensSCPHavensSCPMar 20, 2026

Okay, if you really think it's okay to post your work from 3 years or more and for me to post it, then you're a real psychopath.

HavensSCPHavensSCPMar 20, 2026

@jurstuka I really hate you.

More Scripts for Brookhaven 🏡RP