--// SERVICES local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Workspace = game:GetService("Workspace") local RunService = game:GetService("RunService") local plr = Players.LocalPlayer local character = plr.Character or plr.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") plr.CharacterAdded:Connect(function(char) character = char humanoid = char:WaitForChild("Humanoid") end) --// UI LIB local Library = loadstring(game:HttpGet("https://pastefy.app/TYVuPNOS/raw"))() local Window = Library:MakeWindow({ Title = "SPECTRA HUB", SubTitle = "DESOFUSCADO POR GPT E GTVZ MODDED CRACKED", LoadText = "Carregando Spectra", Flags = "Spectrahub_Brookhaven" }) Window:AddMinimizeButton({ Button = { Image = "rbxassetid://102760953257719", BackgroundTransparency = 0 }, Corner = { CornerRadius = UDim.new(35, 1) } }) --//////////////////////////////////////////////////// --// TAB CRÉDITOS local Tab1 = Window:MakeTab({ Title = "Créditos", Icon = "rbxassetid://76311199408449" }) --============================== -- CRÉDITOS DO HUB --============================== Tab1:AddSection({"Créditos do Hub"}) Tab1:AddDiscordInvite({ Name = "Spectra Hub", Description = "Comunidade oficial do Hub", Logo = "rbxassetid://ID IMAGEM", Invite = "", }) --============================== -- DETECTOR DE EXECUTOR --============================== local function detectExecutor() if identifyexecutor then return identifyexecutor() elseif syn then return "Synapse X" elseif KRNL_LOADED then return "KRNL" 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() -- Executor Tab1:AddParagraph({ "Executor", executorName }) -- 👇 NOME REAL DO JOGADOR (LOGADO) Tab1:AddParagraph({ "Jogador", game:GetService("Players").LocalPlayer.Name }) --============================== -- VERSÃO DO HUB --============================== Tab1:AddSection({"Versão do Hub"}) Tab1:AddParagraph({ "Inversão do Hub", "V9999999" }) --============================== -- CRIADORES --============================== Tab1:AddSection({"Criadores"}) Tab1:AddParagraph({ "Desenvolvedor Principal", "TITIO RAUZITO" }) Tab1:AddParagraph({ "Projeto", "Spectra Hub" }) --============================== -- REDES SOCIAIS --============================== Tab1:AddSection({"Redes Sociais"}) Tab1:AddButton({ Name = "CANAL GTX MODS", Callback = function() if setclipboard then setclipboard("@assure_tv_157") setclipboard("https://youtube.com/@gtxteam_psicopata?si=2C5z2ibRqo50LqLM") end end }) Tab1:AddButton({ Name = "CANAL GT_MINGUI", Callback = function() if setclipboard then setclipboard("assure_TV") setclipboard("https://youtube.com/@gtvzmodded-7") end end }) --// PLAYER TAB local PlayerTab = Window:MakeTab({ Title = "Player", Icon = "rbxassetid://17132521951" }) PlayerTab:AddSection({ "Movement" }) PlayerTab:AddSlider({ Name = "WalkSpeed", Min = 16, Max = 500, Default = humanoid.WalkSpeed, Callback = function(v) humanoid.WalkSpeed = v end }) PlayerTab:AddSlider({ Name = "JumpPower", Min = 50, Max = 500, Default = humanoid.JumpPower, Callback = function(v) humanoid.JumpPower = v end }) PlayerTab:AddSlider({ Name = "Gravity", Min = 10, Max = 500, Default = Workspace.Gravity, Callback = function(v) Workspace.Gravity = v end }) PlayerTab:AddButton({ Name = "Reset Player Stats", Callback = function() humanoid.WalkSpeed = 16 humanoid.JumpPower = 50 Workspace.Gravity = 196.2 end }) --// SPIN PlayerTab:AddSection({ "Spin" }) local spinning, spinSpeed = false, 50 PlayerTab:AddToggle({ Name = "Spin On/Off", Default = false, Callback = function(v) spinning = v end }) PlayerTab:AddSlider({ Name = "Spin Speed", Min = 1, Max = 1000, Default = spinSpeed, Callback = function(v) spinSpeed = v end }) RunService.RenderStepped:Connect(function(dt) if spinning and humanoid and humanoid.RootPart then humanoid.RootPart.CFrame *= CFrame.Angles(0, math.rad(spinSpeed * dt), 0) end end) --// NOCLIP local NoclipEnabled = false PlayerTab:AddToggle({ Name = "Noclip", Default = false, Callback = function(state) NoclipEnabled = state end }) RunService.Stepped:Connect(function() if NoclipEnabled and plr.Character then for _, part in ipairs(plr.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) --// INFINITE JUMP local InfiniteJumpEnabled = false PlayerTab:AddToggle({ Name = "Infinite Jump", Default = false, Callback = function(state) InfiniteJumpEnabled = state end }) game:GetService("UserInputService").JumpRequest:Connect(function() if InfiniteJumpEnabled and humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) game:GetService("UserInputService").JumpRequest:Connect(function() if InfiniteJumpEnabled and humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) --//////////////////////////////////////////////////// --// SCRIPTS PlayerTab:AddSection({ "Scripts" }) PlayerTab:AddButton({ Name = "Emotes", Callback = function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-7yd7-I-Emote-Script-48024"))() end }) PlayerTab:AddButton({ Name = "Fly", Callback = function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Gui-Fly-v3-37111"))() end }) PlayerTab:AddButton({ Name = "Sigma Spy", Callback = function() loadstring(game:HttpGet("https://github.com/exxtremestuffs/SimpleSpySource/raw/master/SimpleSpy.lua"))() end }) PlayerTab:AddButton({ Name = "click teleport", Callback = function() loadstring(game:HttpGet("https://raw.githubusercontent.com/err0r129/KptHadesBlair/main/Bao.lua"))() end }) --//////////////////////////////////////////////////// --// ANTI-SIT PlayerTab:AddSection({ "Anti-Sit" }) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local antiSitEnabled = false local antiSitConn PlayerTab:AddToggle({ Name = "Anti-Sit", Default = false, Callback = function(state) antiSitEnabled = state local function apply(character) local hum = character:FindFirstChildOfClass("Humanoid") if not hum then return end hum.Sit = false hum:SetStateEnabled(Enum.HumanoidStateType.Seated, false) if antiSitConn then antiSitConn:Disconnect() end antiSitConn = hum.Seated:Connect(function(sit) if sit then hum.Sit = false hum:ChangeState(Enum.HumanoidStateType.GettingUp) end end) end if state then if LocalPlayer.Character then apply(LocalPlayer.Character) end LocalPlayer.CharacterAdded:Connect(function(char) if antiSitEnabled then apply(char) end end) else if antiSitConn then antiSitConn:Disconnect() antiSitConn = nil end if LocalPlayer.Character then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum:SetStateEnabled(Enum.HumanoidStateType.Seated, true) end end end end }) --//////////////////////////////////////////////////// --// ESP COMPLETO PlayerTab:AddSection({ "ESP" }) local ESPEnabled = false local ESPColorMode = "RGB" local ESPObjects = {} local ESPConnections = {} PlayerTab:AddDropdown({ Name = "ESP Color", Default = "RGB", Options = { "RGB","Branco","Preto","Vermelho", "Verde","Azul","Amarelo","Rosa","Roxo" }, Callback = function(v) ESPColorMode = v end }) local function getESPColor() if ESPColorMode == "RGB" then return Color3.fromHSV((tick()%5)/5,1,1) elseif ESPColorMode == "Branco" then return Color3.fromRGB(255,255,255) elseif ESPColorMode == "Preto" then return Color3.fromRGB(0,0,0) elseif ESPColorMode == "Vermelho" then return Color3.fromRGB(255,0,0) elseif ESPColorMode == "Verde" then return Color3.fromRGB(0,255,0) elseif ESPColorMode == "Azul" then return Color3.fromRGB(0,170,255) elseif ESPColorMode == "Amarelo" then return Color3.fromRGB(255,255,0) elseif ESPColorMode == "Rosa" then return Color3.fromRGB(255,105,180) elseif ESPColorMode == "Roxo" then return Color3.fromRGB(128,0,128) end return Color3.new(1,1,1) end local function RemoveESP(player) if ESPObjects[player] then ESPObjects[player]:Destroy() ESPObjects[player] = nil end end local function CreateESP(player) if player == LocalPlayer then return end if not ESPEnabled then return end if not player.Character then return end local head = player.Character:FindFirstChild("Head") if not head then return end RemoveESP(player) local gui = Instance.new("BillboardGui") gui.Name = "ESP" gui.Size = UDim2.new(0,220,0,45) gui.StudsOffset = Vector3.new(0,3,0) gui.AlwaysOnTop = true gui.Adornee = head gui.Parent = head local txt = Instance.new("TextLabel") txt.Size = UDim2.new(1,0,1,0) txt.BackgroundTransparency = 1 txt.TextStrokeTransparency = 0.4 txt.Font = Enum.Font.SourceSansBold txt.TextSize = 14 txt.Text = player.Name.." | "..player.AccountAge.." dias" txt.TextColor3 = getESPColor() txt.Parent = gui ESPObjects[player] = gui end PlayerTab:AddToggle({ Name = "ESP On/Off", Default = false, Callback = function(state) ESPEnabled = state if state then for _,p in ipairs(Players:GetPlayers()) do CreateESP(p) end table.insert(ESPConnections, Players.PlayerAdded:Connect(function(p) p.CharacterAdded:Connect(function() task.wait(0.4) CreateESP(p) end) end)) table.insert(ESPConnections, Players.PlayerRemoving:Connect(function(p) RemoveESP(p) end)) table.insert(ESPConnections, RunService.RenderStepped:Connect(function() if ESPColorMode == "RGB" then for _,gui in pairs(ESPObjects) do local txt = gui:FindFirstChildOfClass("TextLabel") if txt then txt.TextColor3 = getESPColor() end end end end)) else for _,gui in pairs(ESPObjects) do gui:Destroy() end ESPObjects = {} for _,c in pairs(ESPConnections) do c:Disconnect() end ESPConnections = {} end end }) local TrollTab = Window:MakeTab({ Title = "Troll", Icon = "rbxassetid://6862780932" }) TrollTab:AddSection({ Name = "Kill Troll" }) --============================== -- VARIÁVEIS --============================== local selectedPlayer local killEnabled = false local teleportThread local noclipThread local monitorThread local jumpThread local respawnConn --============================== -- SOFÁ --============================== local function hasCouch() local char = plr.Character local bp = plr:FindFirstChildOfClass("Backpack") if char and char:FindFirstChild("Couch") then return true end if bp and bp:FindFirstChild("Couch") then return true end return false end local function pickCouch() pcall(function() ReplicatedStorage.RE:FindFirstChild("1Too1l") :InvokeServer("PickingTools", "Couch") end) end local function equipCouch() local char = plr.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if not hum then return end local tool = (char and char:FindFirstChild("Couch")) or (plr.Backpack and plr.Backpack:FindFirstChild("Couch")) if tool then hum:EquipTool(tool) end end --============================== -- PLAYER LIST --============================== local function getPlayers() local t = {} for _, p in ipairs(Players:GetPlayers()) do if p ~= plr then table.insert(t, p.Name) end end return t end local dropdown = TrollTab:AddDropdown({ Name = "Escolher Player", Options = getPlayers(), Callback = function(v) selectedPlayer = v end }) TrollTab:AddButton({ Name = "Atualizar Lista", Callback = function() dropdown:Set(getPlayers()) end }) --============================== -- TOGGLE KILL DEMORADO E CHATO --============================== TrollTab:AddToggle({ Name = "Kill demorado e chato 😈", Default = false, Callback = function(state) killEnabled = state -- DESLIGAR TUDO if not state then if teleportThread then task.cancel(teleportThread) teleportThread = nil end if noclipThread then task.cancel(noclipThread) noclipThread = nil end if monitorThread then task.cancel(monitorThread) monitorThread = nil end if jumpThread then task.cancel(jumpThread) jumpThread = nil end if respawnConn then respawnConn:Disconnect() respawnConn = nil end return end if not selectedPlayer then return end -- MONITORAR SOFÁ (pegar automaticamente) monitorThread = task.spawn(function() while killEnabled do if not hasCouch() then pickCouch() task.wait(0.15) end equipCouch() task.wait(0.2) end end) -- AO MORRER respawnConn = plr.CharacterAdded:Connect(function() if killEnabled then task.wait(0.3) pickCouch() end end) -- TELEPORT CAÓTICO (NÁRNIA MODE 🌌) teleportThread = task.spawn(function() while killEnabled do local target = Players:FindFirstChild(selectedPlayer) local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") local thrp = target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") if hrp and thrp then for i = 1, 60 do if not killEnabled then break end local dir = Vector3.new( math.random(-100,100)/100*0.001, -- distância mínima de 1mm math.random(-100,100)/100*0.001, math.random(-100,100)/100*0.001 ) hrp.CFrame = CFrame.lookAt(thrp.Position + dir, thrp.Position) end end task.wait(0.001) end end) -- NOCLIP FORTE noclipThread = task.spawn(function() while killEnabled do local char = plr.Character if char then for _, p in ipairs(char:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end task.wait() end end) -- 🔥 PULO INFINITO (PC, Mobile, Tablet) jumpThread = task.spawn(function() while killEnabled do local char = plr.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if hum then hum.Jump = true -- Dispara Input para todos os dispositivos pcall(function() UserInputService:InputBegan({UserInputType = Enum.UserInputType.Keyboard, KeyCode = Enum.KeyCode.Space}, false) UserInputService:InputBegan({UserInputType = Enum.UserInputType.Touch}, false) end) end task.wait(0.15) end end) end }) --============================== -- SLIDER TELEPORTE INFINITO --============================== TrollTab:AddSlider({ Name = "Velocidade Teleporte Infinito", Min = 1, Max = 100, Default = 5, Increment = 1, Callback = function(v) tpSpeed = v end }) --============================== -- TOGGLE TELEPORTE INFINITO --============================== TrollTab:AddToggle({ Name = "Teleportar Infinito (On / Off)", Default = false, Callback = function(state) tpEnabled = state if tpConnection then tpConnection:Disconnect() tpConnection = nil end if not state then return end tpConnection = RunService.Heartbeat:Connect(function(dt) if not tpEnabled or not selectedPlayer then return end local target = Players:FindFirstChild(selectedPlayer) if not target or not target.Character then return end local thrp = target.Character:FindFirstChild("HumanoidRootPart") local char = plr.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if not (thrp and hrp) then return end -- teleporta literalmente DENTRO do jogador hrp.CFrame = thrp.CFrame task.wait(1 / math.clamp(tpSpeed, 1, 100)) end) end }) --============================== -- BOTÃO TELEPORTE ÚNICO --============================== TrollTab:AddButton({ Name = "Teleportar Uma Vez", Callback = function() if not selectedPlayer then return end local target = Players:FindFirstChild(selectedPlayer) if not target or not target.Character then return end local thrp = target.Character:FindFirstChild("HumanoidRootPart") local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") if thrp and hrp then hrp.CFrame = thrp.CFrame end end }) --============================== -- VISUALIZAR JOGADOR --============================== TrollTab:AddToggle({ Name = "Visualizar Jogador", Default = false, Callback = function(state) viewing = state local cam = workspace.CurrentCamera local target = selectedPlayer and Players:FindFirstChild(selectedPlayer) if state and target and target.Character then local hum = target.Character:FindFirstChildOfClass("Humanoid") if hum then cam.CameraSubject = hum cam.CameraType = Enum.CameraType.Custom end else local myHum = plr.Character and plr.Character:FindFirstChildOfClass("Humanoid") if myHum then cam.CameraSubject = myHum cam.CameraType = Enum.CameraType.Custom end end end }) --// SLIDER VELOCIDADE (só velocidade) TrollTab:AddSlider({ Name = "velocidade de frente e trás +18", Min = 1, Max = 100, Default = 5, Increment = 1, Callback = function(v) moveSpeed = v end }) --// TOGGLE PRINCIPAL TrollTab:AddToggle({ Name = "Teleport Troll (On / Off)", Default = false, Callback = function(state) enabled = state if connection then connection:Disconnect() connection = nil end if not state or not selectedPlayer then return end timeOffset = 0 connection = RunService.Heartbeat:Connect(function(dt) if not enabled then return end local target = Players:FindFirstChild(selectedPlayer) if not target or not target.Character then return end local thrp = target.Character:FindFirstChild("HumanoidRootPart") local char = plr.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if not (thrp and hrp) then return end -- TEMPO (slider atua aqui) timeOffset += dt * (moveSpeed * 0.3) -- FRENTE ↔ TRÁS local baseDistance = 4.5 -- mais perto do jogador local oscillation = math.sin(timeOffset) * 3 -- CIMA ↕ BAIXO (bem leve) local verticalOffset = math.sin(timeOffset * 2) * 0.6 -- POSIÇÃO FINAL local targetPos = thrp.Position - thrp.CFrame.LookVector * (baseDistance + oscillation) + Vector3.new(0, verticalOffset, 0) -- TREMIDA VISUAL local shake = Vector3.new( math.random(-10,10) / 70, math.random(-10,10) / 70, 0 ) -- APLICAR TELEPORTE hrp.CFrame = CFrame.lookAt( targetPos + shake, thrp.Position ) end) end }) --============================== -- SLIDER VELOCIDADE --============================== TrollTab:AddSlider({ Name = "Velocidade do gogogogo", Min = 1, Max = 100, Default = 10, Increment = 1, Callback = function(v) speed = v end }) --============================== -- TOGGLE --============================== TrollTab:AddToggle({ Name = "gogogogo no player +18", Default = false, Callback = function(state) enabled = state if connection then connection:Disconnect() connection = nil end if not state or not selectedPlayer then return end timeValue = 0 connection = RunService.Heartbeat:Connect(function(dt) if not enabled then return end local target = Players:FindFirstChild(selectedPlayer) if not target or not target.Character then return end local tChar = target.Character local tRoot = tChar:FindFirstChild("HumanoidRootPart") local tHead = tChar:FindFirstChild("Head") local char = plr.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if not (tRoot and tHead and hrp) then return end -- ALTURA BASEADA NA SUA CINTURA local myHipHeight = hrp.Size.Y * 0.5 -- ALTURA FINAL (BOCA + UM POUCO PRA CIMA) local heightOffset = Vector3.new(0, tHead.Size.Y * 0.4 + myHipHeight * 0.15, 0) -- CONTROLE REAL DE VAI ↔ VOLTA timeValue += dt * speed local backAndForth = math.sin(timeValue) * 2.5 -- POSIÇÃO NA FRENTE DO JOGADOR local finalPosition = tRoot.Position + tRoot.CFrame.LookVector * (3 + backAndForth) + heightOffset -- APLICAR hrp.CFrame = CFrame.lookAt(finalPosition, tHead.Position) end) end }) --// =============================== --// ABA SKINS - COPY AVATAR REAL --// =============================== local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Remotes = ReplicatedStorage:WaitForChild("Remotes") local plr = Players.LocalPlayer -- CRIAR ABA local SkinsTab = Window:MakeTab({ Title = "Skins", Icon = "rbxassetid://15726694719" }) SkinsTab:AddSection({ "Copy Outfit / Avatar" }) -- =============================== -- DROPDOWN (MESMO SISTEMA DO TROLL) -- =============================== local selectedSkinPlayer = nil local skinDropdown local function getPlayersSkins() local t = {} for _, p in ipairs(Players:GetPlayers()) do if p ~= plr then table.insert(t, p.Name) end end return t end skinDropdown = SkinsTab:AddDropdown({ Name = "Escolher Player", Options = {}, Callback = function(v) selectedSkinPlayer = v end }) local function refreshSkinDropdown() local players = getPlayersSkins() skinDropdown:Set(players) if selectedSkinPlayer and not Players:FindFirstChild(selectedSkinPlayer) then selectedSkinPlayer = nil skinDropdown:Set("") end end refreshSkinDropdown() SkinsTab:AddButton({ Name = "Atualizar Lista", Callback = refreshSkinDropdown }) -- =============================== -- BOTÃO COPY AVATAR (IGUAL AO SCRIPT ORIGINAL) -- =============================== SkinsTab:AddButton({ Name = "Copiar Avatar", Callback = function() if not selectedSkinPlayer then return end local LP = Players.LocalPlayer local LChar = LP.Character local TPlayer = Players:FindFirstChild(selectedSkinPlayer) if not (LChar and TPlayer and TPlayer.Character) then return end local LHumanoid = LChar:FindFirstChildOfClass("Humanoid") local THumanoid = TPlayer.Character:FindFirstChildOfClass("Humanoid") if not (LHumanoid and THumanoid) then return end -- ================================== -- RESET TOTAL DO LOCALPLAYER -- ================================== local LDesc = LHumanoid:GetAppliedDescription() -- REMOVER ACESSÓRIOS for _, acc in ipairs(LDesc:GetAccessories(true)) do if acc.AssetId and tonumber(acc.AssetId) then Remotes.Wear:InvokeServer(tonumber(acc.AssetId)) task.wait(0.2) end end -- REMOVER ROUPAS if tonumber(LDesc.Shirt) then Remotes.Wear:InvokeServer(tonumber(LDesc.Shirt)) task.wait(0.2) end if tonumber(LDesc.Pants) then Remotes.Wear:InvokeServer(tonumber(LDesc.Pants)) task.wait(0.2) end -- REMOVER FACE if tonumber(LDesc.Face) then Remotes.Wear:InvokeServer(tonumber(LDesc.Face)) task.wait(0.2) end -- ================================== -- COPIAR DO PLAYER ALVO -- ================================== local PDesc = THumanoid:GetAppliedDescription() -- PARTES DO CORPO (FORMATO EXATO) 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(0.5) -- ROUPAS 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 -- FACE if tonumber(PDesc.Face) then Remotes.Wear:InvokeServer(tonumber(PDesc.Face)) task.wait(0.3) end -- ACESSÓRIOS 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 -- COR DO CORPO local SkinColor = TPlayer.Character:FindFirstChild("Body Colors") if SkinColor then Remotes.ChangeBodyColor:FireServer(tostring(SkinColor.HeadColor)) task.wait(0.3) end -- ANIMAÇÃO IDLE if tonumber(PDesc.IdleAnimation) then Remotes.Wear:InvokeServer(tonumber(PDesc.IdleAnimation)) task.wait(0.3) end end }) --// =============================== --// SKINS RÁPIDAS --// =============================== SkinsTab:AddSection({ "Skins Rápidas" }) local WearRemote = Remotes.Wear local function addSkinButton(name, id) SkinsTab:AddButton({ Name = name, Callback = function() WearRemote:InvokeServer(id) end }) end -- INDIVIDUAIS addSkinButton("Sem Cabeça", 134082579) addSkinButton("Sem Perna 1", 115656762149031) addSkinButton("Sem Perna 2", 93177286821086) addSkinButton("Fada 1", 226189871) addSkinButton("Fada 2", 150381051) addSkinButton("Fada 3", 141742418) addSkinButton("Fada 4", 128217885) addSkinButton("Asa de Anjo", 192557913) addSkinButton("Abóbora", 132809431) addSkinButton("Chapéu", 305888394) addSkinButton("Pombo", 134936622364544) addSkinButton("Pé Gigante 1", 140311311736304) addSkinButton("Pé Gigante 2", 94880807456770) addSkinButton("Unhas Grandes", 135726095366567) addSkinButton("Mãos Grandes", 12725518393) -- PACK BLACK DOCTOR SkinsTab:AddButton({ Name = "Black Doctor", Callback = function() local ids = { 134917317332597, 76104684961073, 113280776217715, 12134501285, 88423188570127, 94604639662776, 134022922877138, 100316015179747, 11743311601, 80195816516327, 2510235063 } for _, id in ipairs(ids) do WearRemote:InvokeServer(id) task.wait(0.15) end end }) -- PACK GONER SkinsTab:AddButton({ Name = "Goner", Callback = function() local ids = { 11274394350, 17822749561, 17812417356, 17812415139, 17771175724, 17822722698, 17772174303, 17770317484, 892268340, 892267099, 2510236649 } for _, id in ipairs(ids) do WearRemote:InvokeServer(id) task.wait(0.15) end end }) --// ABA LIMITADOS local LimitedTab = Window:MakeTab({ Title = "Limitados", Icon = "rbxassetid://16181381646" }) local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local plr = Players.LocalPlayer -- Adicionar seção visual LimitedTab:AddSection({ "Ferramentas Limitadas" }) -- Lista de ferramentas local tools = { "EggLauncher", "Cannon", "Glider", "UraniumRod", "Water Balloon", "FireHose", "Chainsaw", "Present", "CookieWindowTray", "SnowflakeGlider", "Couch" -- novo botão adicionado } -- Função para criar botão que dispara evento local function createToolButton(toolName) LimitedTab:AddButton({ Name = toolName, Callback = function() local args = { [1] = "AcceptedToolToServer", [2] = toolName, [3] = plr } local event = ReplicatedStorage:WaitForChild("RE"):WaitForChild("1Playe1rTrigge1rEven1t") if event then event:FireServer(unpack(args)) end end }) end -- Criar botões individuais for _, toolName in ipairs(tools) do createToolButton(toolName) end -- Botão "Itens ALL" que dispara todos de uma vez LimitedTab:AddButton({ Name = "Itens ALL", Callback = function() local event = ReplicatedStorage:WaitForChild("RE"):WaitForChild("1Playe1rTrigge1rEven1t") if event then for _, toolName in ipairs(tools) do local args = { [1] = "AcceptedToolToServer", [2] = toolName, [3] = plr } event:FireServer(unpack(args)) end end end }) --// =============================== --// ABA RGB (NOME + BIO) --// =============================== local RGBTab = Window:MakeTab({ Name = "RGB", Icon = "rbxassetid://122803943043720" }) -- Remote local RPColorRemote = game:GetService("ReplicatedStorage") :WaitForChild("RE") :WaitForChild("1RPNam1eColo1r") -- Controle local RGBEnabled = false local RGBSpeed = 0.5 -- padrão -- Lista de cores (organizada, sem repetição desnecessária) local RGBColors = { Color3.new(1, 0, 0.0167), Color3.new(1, 0, 0.2720), Color3.new(1, 0, 0.4329), Color3.new(1, 0, 0.5769), Color3.new(1, 0, 0.6901), Color3.new(0.97, 0, 1), Color3.new(0.90, 0.03, 1), Color3.new(0.69, 0.07, 1), Color3.new(0.58, 0.03, 1), Color3.new(0.44, 0.02, 1), Color3.new(0.27, 0.02, 1), Color3.new(0, 0.19, 1), Color3.new(0, 0.37, 1), Color3.new(0, 0.70, 1), Color3.new(0.04, 0.89, 1), Color3.new(0.13, 1, 0.88), Color3.new(0.11, 1, 0.67), Color3.new(0.07, 1, 0.47), Color3.new(0.12, 1, 0.33), Color3.new(0.06, 1, 0.18), Color3.new(0.30, 1, 0), Color3.new(0.46, 1, 0.10), Color3.new(0.63, 1, 0.05), Color3.new(0.78, 1, 0.06), Color3.new(0.97, 1, 0), Color3.new(1, 0.89, 0), Color3.new(1, 0.79, 0), Color3.new(1, 0.68, 0), Color3.new(1, 0.50, 0), Color3.new(1, 0.39, 0), Color3.new(1, 0.24, 0), Color3.new(1, 0.15, 0.08), Color3.new(1, 0.02, 0.04) } -- Loop RGB local function StartRGB() task.spawn(function() while RGBEnabled do for _, color in ipairs(RGBColors) do if not RGBEnabled then break end pcall(function() -- Nome RPColorRemote:FireServer( "PickingRPNameColor", color ) -- Bio RPColorRemote:FireServer( "PickingRPBioColor", color ) end) task.wait(RGBSpeed) end end end) end -- Toggle ON / OFF RGBTab:AddToggle({ Name = "RGB Nome + Bio", Default = false, Callback = function(state) RGBEnabled = state if state then StartRGB() end end }) -- Slider de Velocidade RGBTab:AddSlider({ Name = "Velocidade RGB", Min = 1, Max = 100, Default = 50, Callback = function(value) -- 1 = lento | 100 = rápido RGBSpeed = math.clamp(1 / value, 0.01, 1) end }) --// RP NAME + BIO TYPE & DELETE (SEM BUG DE SPEED) local RPTextRemote = game:GetService("ReplicatedStorage") :WaitForChild("RE") :WaitForChild("1RPNam1eTex1t") local RPNameText = "" local RPBioText = "" local RPNameEnabled = false local RPBioEnabled = false local NameSpeed = 30 local BioSpeed = 30 local function getDelay(speed) speed = math.clamp(speed, 1, 60) return 0.02 + (60 - speed) * 0.003 end -- ================= RP NAME ================= RGBTab:AddTextBox({ Name = "RP Name Texto", Placeholder = "Digite o RP Name", Callback = function(v) RPNameText = v end }) RGBTab:AddSlider({ Name = "Velocidade RP Name", Min = 1, Max = 60, Default = 30, Callback = function(v) NameSpeed = v end }) RGBTab:AddToggle({ Name = "RP Name ON / OFF", Default = false, Callback = function(state) RPNameEnabled = state if not state or RPNameText == "" then return end task.spawn(function() while RPNameEnabled do -- ESCREVER for i = 1, #RPNameText do if not RPNameEnabled then return end RPTextRemote:FireServer( "RolePlayName", string.sub(RPNameText, 1, i) ) task.wait(getDelay(NameSpeed)) end task.wait(0.4) -- APAGAR (DE TRÁS PRA FRENTE) for i = #RPNameText - 1, 0, -1 do if not RPNameEnabled then return end RPTextRemote:FireServer( "RolePlayName", string.sub(RPNameText, 1, i) ) task.wait(getDelay(NameSpeed)) end task.wait(0.4) end end) end }) -- ================= RP BIO ================= RGBTab:AddTextBox({ Name = "RP Bio Texto", Placeholder = "Digite o RP Bio", Callback = function(v) RPBioText = v end }) RGBTab:AddSlider({ Name = "Velocidade RP Bio", Min = 1, Max = 60, Default = 30, Callback = function(v) BioSpeed = v end }) RGBTab:AddToggle({ Name = "RP Bio ON / OFF", Default = false, Callback = function(state) RPBioEnabled = state if not state or RPBioText == "" then return end task.spawn(function() while RPBioEnabled do -- ESCREVER for i = 1, #RPBioText do if not RPBioEnabled then return end RPTextRemote:FireServer( "RolePlayBio", string.sub(RPBioText, 1, i) ) task.wait(getDelay(BioSpeed)) end task.wait(0.4) -- APAGAR for i = #RPBioText - 1, 0, -1 do if not RPBioEnabled then return end RPTextRemote:FireServer( "RolePlayBio", string.sub(RPBioText, 1, i) ) task.wait(getDelay(BioSpeed)) end task.wait(0.4) end end) end }) --// ABA CHAT local ChatTab = Window:MakeTab({ Title = "Chat", Icon = "rbxassetid://92345592692449" }) --// SEÇÃO SPAM CHAT ChatTab:AddSection({ Name = "Spam Chat" }) local TextSave = "" local tcs = game:GetService("TextChatService") local chat = tcs.ChatInputBarConfiguration and tcs.ChatInputBarConfiguration.TargetTextChannel local function sendchat(msg) if not msg or msg == "" then return end if tcs.ChatVersion == Enum.ChatVersion.LegacyChatService then local success, err = pcall(function() game:GetService("ReplicatedStorage"):FindFirstChild("DefaultChatSystemChatEvents").SayMessageRequest:FireServer(msg, "All") end) if not success then warn(err) end elseif chat then local success, err = pcall(function() chat:SendAsync(msg) end) if not success then warn(err) end end end --// TEXTBOX PARA DIGITAR MENSAGEM ChatTab:AddTextBox({ Name = "Enter text", PlaceholderText = "Digite a mensagem", Callback = function(text) TextSave = text end }) --// BOTÃO SEND CHAT ChatTab:AddButton({ Name = "Send Chat", Callback = function() sendchat(TextSave) end }) --// SLIDER DE DELAY PARA SPAM getgenv().ChaosHubSendDelay = 1 ChatTab:AddSlider({ Name = "Spam Delay", Min = 0.4, Max = 10, Default = 1, Increment = 0.1, Callback = function(Value) getgenv().ChaosHubSendDelay = Value end }) --// TOGGLE DE SPAM AUTOMÁTICO getgenv().ChaosHubSpawnText = false ChatTab:AddToggle({ Name = "Spam Chat", Default = false, Callback = function(Value) getgenv().ChaosHubSpawnText = Value task.spawn(function() while getgenv().ChaosHubSpawnText do sendchat(TextSave) task.wait(getgenv().ChaosHubSendDelay) end end) end }) --// BOTÃO SPAM HACKED ChatTab:AddButton({ Name = "Spam chat Hacked By Spectra", Callback = function() if tcs.ChatVersion == Enum.ChatVersion.TextChatService then tcs.TextChannels.RBXGeneral:SendAsync("Server: Hacked by Spectra HUB") else print("Nothing") end end }) --// BOTÃO LIMPAR CHAT ChatTab:AddButton({ Name = "Clear Chat", Callback = function() if tcs.ChatVersion == Enum.ChatVersion.TextChatService then tcs.TextChannels.RBXGeneral:SendAsync("Server: Chat Cleared") else print("Nothing") end end }) --============================== -- ABA EVENTOS --============================== local EventosTab = Window:MakeTab({ Title = "Eventos", Icon = "rbxassetid://4519515245" }) EventosTab:AddSection({ Name = "Coletar Estrelas de Natal" }) local eventoEnabled = false local teleportThreadEvento -- Lista de localizações do evento (corrigida) local localizacoes = { Vector3.new(174.7, 4.4, -172.7), Vector3.new(179.5, 9.5, -231.0), Vector3.new(350.9, 4.7, -409.6), Vector3.new(320.3, 4.7, -436.0), Vector3.new(263.5, 4.7, -435.8), Vector3.new(425.4, 4.8, -268.3), Vector3.new(367.4, 12.7, -251.0), Vector3.new(338.1, 11.3, -214.3), Vector3.new(333.5, 4.8, -150.9), Vector3.new(293.5, 4.3, -144.0), Vector3.new(244.3, 4.3, -172.9), Vector3.new(171.3, 53.3, -263.4), Vector3.new(442.7, 51.0, -368.5), Vector3.new(487.3, 69.4, -333.4), Vector3.new(121.17, 3.74, -117.83), Vector3.new(122.07, 3.02, -179.70), Vector3.new(125.72, 7.27, -241.51), Vector3.new(126.70, 6.33, -291.01), Vector3.new(135.30, 6.01, -336.68), Vector3.new(191.58, 5.90, -344.29), Vector3.new(258.76, 5.04, -336.52), Vector3.new(312.00, 7.85, -321.72), Vector3.new(362.28, 6.83, -334.05), Vector3.new(615.31, 142.10, -419.94), Vector3.new(351.4, 101.9, -168.1), Vector3.new(259.0, 11.3, -204.4), Vector3.new(171.1, 30.4, -278.7), Vector3.new(189.2, -11.1, -256.9), Vector3.new(349.8, 101.9, -168.9) } EventosTab:AddToggle({ Name = "Evento de Natal", Default = false, Callback = function(state) eventoEnabled = state -- DESLIGAR if not state then if teleportThreadEvento then task.cancel(teleportThreadEvento) end return end -- Ligar loop de teleporte teleportThreadEvento = task.spawn(function() while eventoEnabled do local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") if hrp then for _, pos in ipairs(localizacoes) do if not eventoEnabled then break end hrp.CFrame = CFrame.new(pos) task.wait(2) -- espera 2 segundos em cada posição end end task.wait() end end) end }) --============================== -- BOTÕES DE TELEPORTE DIRETO --============================== local locaisTeleport = { ["Loja de Natal"] = Vector3.new(163.30, 4.31, -148.14), ["Monte Everest"] = Vector3.new(614.71, 138.72, -393.17), ["Em cima da Árvore de Natal"] = Vector3.new(356.16, 101.81, -172.04), ["Na frente do evento de Natal"] = Vector3.new(115.82, 4.93, -113.38), ["Festa de Natal"] = Vector3.new(306.78, -20.02, -337.43), ["Túnel de Natal"] = Vector3.new(124.52, -5.64, -163.93) } for nome, pos in pairs(locaisTeleport) do EventosTab:AddButton({ Name = nome, Callback = function() local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = CFrame.new(pos) end end }) end --// CRIAR ABA PROTECTION local ProtectionTab = Window:MakeTab({ Title = "Protection", Icon = "rbxassetid://5197571732" }) --// REFERÊNCIAS local RunService = game:GetService("RunService") local Players = game:GetService("Players") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer --=============================== -- FUNÇÃO ANTI-FLING GENÉRICA --=============================== function AntiFlingLoop(name, finder) return function(state) task.spawn(function() while state do local target = finder() if target then for _, part in ipairs(target:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true part.Anchored = true end end end task.wait(0.5) end end) end end --=============================== -- TOGGLES INDIVIDUAIS --=============================== ProtectionTab:AddToggle({Name = "Anti Fling Carros", Default = false, Callback = AntiFlingLoop("Vehicles", function() return Workspace:FindFirstChild("Vehicles") end)}) ProtectionTab:AddToggle({Name = "Anti Canoe Fling", Default = false, Callback = AntiFlingLoop("Canoes", function() local wc = Workspace:FindFirstChild("WorkspaceCom") return wc and wc:FindFirstChild("001_CanoeStorage") end)}) ProtectionTab:AddToggle({Name = "Anti Fling Jets", Default = false, Callback = AntiFlingLoop("Jets", function() local f = Workspace:FindFirstChild("WorkspaceCom") if f and f:FindFirstChild("001_Airport") then local s = f["001_Airport"]:FindFirstChild("AirportHanger") if s then return s:FindFirstChild("001_JetStorage") and s["001_JetStorage"]:FindFirstChild("JetAirport") end end end)}) ProtectionTab:AddToggle({Name = "Anti Fling Helicópteros", Default = false, Callback = AntiFlingLoop("Helis", function() local f = Workspace:FindFirstChild("WorkspaceCom") return f and f:FindFirstChild("001_HeliStorage") and f["001_HeliStorage"]:FindFirstChild("PoliceStationHeli") end)}) ProtectionTab:AddToggle({Name = "Anti Fling Ball", Default = false, Callback = AntiFlingLoop("Balls", function() local f = Workspace:FindFirstChild("WorkspaceCom") return f and f:FindFirstChild("001_SoccerBalls") end)}) --=============================== -- Anti Sit / Sofá / Grab --=============================== local antiSitActive = false ProtectionTab:AddToggle({ Name = "Anti Sit / Grab / Sofá", Default = false, Callback = function(state) antiSitActive = state task.spawn(function() while antiSitActive and LocalPlayer.Character do local humanoid = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false) if humanoid:GetState() == Enum.HumanoidStateType.Seated then humanoid:ChangeState(Enum.HumanoidStateType.GettingUp) end end task.wait(0.05) end end) end }) --=============================== -- Anti Lag / Anti Tool --=============================== ProtectionTab:AddToggle({ Name = "Anti-Lag / Anti Tool", Default = false, Callback = function(state) if not state then return end task.spawn(function() local dedupLock = {} local function isTool(inst) return inst:IsA("Tool") end local function gather(player) local items = {} local containers = {} if player.Character then table.insert(containers, player.Character) end local backpack = player:FindFirstChildOfClass("Backpack") if backpack then table.insert(containers, backpack) end local sg = player:FindFirstChild("StarterGear") if sg then table.insert(containers, sg) end for _, container in ipairs(containers) do for _, child in ipairs(container:GetChildren()) do if isTool(child) then table.insert(items, child) end end end return items end local function dedupe(player) if dedupLock[player] then return end dedupLock[player] = true local tools = gather(player) if #tools > 1 then for i = 2, #tools do pcall(function() tools[i]:Destroy() end) end end dedupLock[player] = false end Players.PlayerAdded:Connect(function(plr) dedupe(plr) end) for _,plr in ipairs(Players:GetPlayers()) do dedupe(plr) end while state do for _,plr in ipairs(Players:GetPlayers()) do dedupe(plr) end task.wait(2) end end) end }) --=============================== -- Anti Fling Portas --=============================== ProtectionTab:AddToggle({ Name = "Anti Fling Portas", Default = false, Callback = function(state) if not _G.hiddenDoors then _G.hiddenDoors = {} end if state then _G.hiddenDoors = {} for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("BasePart") and obj.Name:lower():find("door") then local doorData = {door=obj, originalTransparency=obj.Transparency, originalCanCollide=obj.CanCollide, originalCastShadow=obj.CastShadow} obj.Transparency = 1 obj.CanCollide = false obj.CastShadow = false for _, child in ipairs(obj:GetChildren()) do if child:IsA("BasePart") then child.Transparency = 1; child.CanCollide=false elseif child:IsA("SurfaceGui") or child:IsA("BillboardGui") then child.Enabled = false end end table.insert(_G.hiddenDoors, doorData) end end print("⚡ " .. #_G.hiddenDoors .. " portas escondidas!") else for _, doorData in ipairs(_G.hiddenDoors or {}) do if doorData.door and doorData.door.Parent then doorData.door.Transparency = doorData.originalTransparency doorData.door.CanCollide = doorData.originalCanCollide doorData.door.CastShadow = doorData.originalCastShadow for _, child in ipairs(doorData.door:GetChildren()) do if child:IsA("BasePart") then child.Transparency=0; child.CanCollide=true elseif child:IsA("SurfaceGui") or child:IsA("BillboardGui") then child.Enabled = true end end end end print("✔ " .. #(_G.hiddenDoors or {}) .. " portas restauradas!") _G.hiddenDoors = {} end end }) --=============================== -- TOGGLE MASTER – PROTEÇÃO ALL --=============================== ProtectionTab:AddToggle({ Name = "🛡️ Proteção All", Default = false, Callback = function(state) for _,toggle in ipairs(ProtectionTab.Toggles) do if toggle.Name ~= "🛡️ Proteção All" then toggle:SetState(state) end end end }) --=============================== -- TOGGLE ULTRA MAX / ANTI-KILL / ANTI-FALL --=============================== local UltraEnabled = false local Connections = {} local lastSafeCFrame = nil local lastCheck = tick() local MAX_SPEED = 85 local MAX_FALL_SPEED = -120 local MAP_Y_LIMIT = -80 local function disconnectAll() for _,c in ipairs(Connections) do pcall(function() c:Disconnect() end) end table.clear(Connections) end local function getChar() return LocalPlayer.Character end local function getHRP() local c=getChar() return c and c:FindFirstChild("HumanoidRootPart") end local function getHum() local c=getChar() return c and c:FindFirstChildOfClass("Humanoid") end local function restorePosition() local hrp = getHRP() if hrp and lastSafeCFrame then hrp.AssemblyLinearVelocity=Vector3.zero hrp.AssemblyAngularVelocity=Vector3.zero hrp.CFrame=lastSafeCFrame+Vector3.new(0,5,0) end end ProtectionTab:AddToggle({ Name = "🛡️ Proteção Máxima ULTRA++", Default = false, Callback = function(state) UltraEnabled = state disconnectAll() if state then task.wait(0.4) end if not state then return end table.insert(Connections, RunService.Heartbeat:Connect(function() local hrp = getHRP() if hrp then lastSafeCFrame = hrp.CFrame end end)) table.insert(Connections, RunService.Heartbeat:Connect(function() if not UltraEnabled then return end local char = getChar() local hrp = getHRP() local hum = getHum() if not (char and hrp and hum) then return end hum:SetStateEnabled(Enum.HumanoidStateType.Seated,false) if hum:GetState()==Enum.HumanoidStateType.Seated then hum:ChangeState(Enum.HumanoidStateType.GettingUp) end for _,p in ipairs(char:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide=true; p.Anchored=false end end hrp.AssemblyAngularVelocity=Vector3.zero if hrp.AssemblyLinearVelocity.Magnitude>MAX_SPEED then restorePosition() end hrp.CustomPhysicalProperties=PhysicalProperties.new(0.01,0,0,0,0) end)) table.insert(Connections, RunService.Heartbeat:Connect(function() if not UltraEnabled then return end local hrp=getHRP() if not hrp then return end local now=tick() if now-lastCheck<0.15 then return end lastCheck=now local vy=hrp.AssemblyLinearVelocity.Y if vymin.X and pPos.Xmin.Y and pPos.Ymin.Z and pPos.Z