Skip to content

Instantly share code, notes, and snippets.

@pacoca-hub-project
Created September 6, 2026 01:12
Show Gist options
  • Select an option

  • Save pacoca-hub-project/aece81f54e3b0ba2caa5fafe94e5a893 to your computer and use it in GitHub Desktop.

Select an option

Save pacoca-hub-project/aece81f54e3b0ba2caa5fafe94e5a893 to your computer and use it in GitHub Desktop.
Paçoca-hub-project
-- =========================================================
-- PARTE 1: INTERFACE PRINCIPAL E ESTRUTURA (PAÇOCA HUB)
-- =========================================================
-- Limpeza preventiva de instâncias anteriores
if game:GetService("CoreGui"):FindFirstChild("PacocaHub_Mobile") then
game:GetService("CoreGui").PacocaHub_Mobile:Destroy()
end
local CoreGui = game:GetService("CoreGui")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
-- 1. SCREENGUI PRINCIPAL
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "PacocaHub_Mobile"
ScreenGui.ResetOnSpawn = false
ScreenGui.DisplayOrder = 999
local success, _ = pcall(function()
ScreenGui.Parent = CoreGui
end)
if not success or not ScreenGui.Parent then
ScreenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")
end
-- 2. LINKS DAS IMAGENS
local mainImageUrl = "https://files.catbox.moe/bl2tpq.png"
local mainFileName = "pacoca_hub_main_bl2tpq.png"
local ballImageUrl = "https://files.catbox.moe/5dowac.png"
local ballFileName = "pacoca_hub_ball_v2.png"
-- 3. SISTEMA DE DOWNLOAD
local function getAsset(url, fileName)
if writefile and getcustomasset then
if not isfile(fileName) then
local response = game:HttpGet(url)
writefile(fileName, response)
end
return getcustomasset(fileName)
end
return url
end
local mainAssetId = getAsset(mainImageUrl, mainFileName)
local ballAssetId = getAsset(ballImageUrl, ballFileName)
-- 4. FRAME PRINCIPAL
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 600, 0, 270)
MainFrame.Position = UDim2.new(0.5, -300, 0.5, -135)
MainFrame.BackgroundTransparency = 1
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Parent = ScreenGui
-- 5. IMAGEM PRINCIPAL
local BackgroundImage = Instance.new("ImageLabel")
BackgroundImage.Name = "BackgroundImage"
BackgroundImage.Size = UDim2.new(1, 0, 1, 0)
BackgroundImage.Position = UDim2.new(0, 0, 0, 0)
BackgroundImage.Image = mainAssetId
BackgroundImage.BackgroundTransparency = 1
BackgroundImage.BorderSizePixel = 0
BackgroundImage.ScaleType = Enum.ScaleType.Stretch
BackgroundImage.ZIndex = 1
BackgroundImage.Parent = MainFrame
local ImageCorner = Instance.new("UICorner")
ImageCorner.CornerRadius = UDim.new(0, 14)
ImageCorner.Parent = BackgroundImage
-- 6. BORDA EXTERNA
local MainBorder = Instance.new("UIStroke")
MainBorder.Name = "MainBorder"
MainBorder.Color = Color3.fromRGB(200, 120, 50)
MainBorder.Thickness = 3
MainBorder.Transparency = 0
MainBorder.Parent = BackgroundImage
-- 7. ANIMAÇÃO DA BORDA
task.spawn(function()
while MainBorder and MainBorder.Parent do
local tween1 = TweenService:Create(
MainBorder,
TweenInfo.new(2.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut),
{Color = Color3.fromRGB(255, 210, 120)}
)
tween1:Play()
tween1.Completed:Wait()
if not MainBorder or not MainBorder.Parent then break end
local tween2 = TweenService:Create(
MainBorder,
TweenInfo.new(2.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut),
{Color = Color3.fromRGB(170, 90, 30)}
)
tween2:Play()
tween2.Completed:Wait()
end
end)
-- 8. FARELOS E CARAMELOS
local function createParticle(name, size, pos, isCaramel)
local particle = Instance.new("Frame")
particle.Name = name
particle.Size = size
particle.Position = pos
if isCaramel then
particle.BackgroundColor3 = Color3.fromRGB(140, 70, 20)
else
particle.BackgroundColor3 = Color3.fromRGB(80, 40, 10)
end
particle.BackgroundTransparency = 0.80
particle.BorderSizePixel = 0
particle.ZIndex = 25
particle.Parent = MainFrame
local corner = Instance.new("UICorner")
if isCaramel then
corner.CornerRadius = UDim.new(0, 4)
else
corner.CornerRadius = UDim.new(1, 0)
end
corner.Parent = particle
task.spawn(function()
while particle and particle.Parent do
local randomX = math.random(-8, 8)
local randomY = math.random(-8, 8)
local t1 = TweenService:Create(
particle,
TweenInfo.new(3.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut),
{Position = pos + UDim2.new(0, randomX, 0, randomY)}
)
t1:Play()
t1.Completed:Wait()
if not particle or not particle.Parent then break end
local t2 = TweenService:Create(
particle,
TweenInfo.new(3.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut),
{Position = pos}
)
t2:Play()
t2.Completed:Wait()
end
end)
end
createParticle("Farelo1", UDim2.new(0, 7, 0, 6), UDim2.new(0.15, 0, 0.25, 0), false)
createParticle("Farelo2", UDim2.new(0, 5, 0, 5), UDim2.new(0.8, 0, 0.4, 0), false)
createParticle("Caramelo1", UDim2.new(0, 12, 0, 6), UDim2.new(0.4, 0, 0.15, 0), true)
createParticle("Farelo3", UDim2.new(0, 6, 0, 8), UDim2.new(0.65, 0, 0.75, 0), false)
createParticle("Caramelo2", UDim2.new(0, 10, 0, 5), UDim2.new(0.25, 0, 0.7, 0), true)
createParticle("Farelo4", UDim2.new(0, 4, 0, 4), UDim2.new(0.5, 0, 0.5, 0), false)
-- 9. INDICADOR SUPERIOR DE ARRASTE
local DragIndicator = Instance.new("Frame")
DragIndicator.Name = "DragIndicator"
DragIndicator.Size = UDim2.new(0, 65, 0, 3)
DragIndicator.Position = UDim2.new(0.5, -32.5, 0, 1)
DragIndicator.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
DragIndicator.BackgroundTransparency = 1
DragIndicator.BorderSizePixel = 0
DragIndicator.ZIndex = 10
DragIndicator.Parent = MainFrame
local DragCorner = Instance.new("UICorner")
DragCorner.CornerRadius = UDim.new(1, 0)
DragCorner.Parent = DragIndicator
-- 10. RETÂNGULO DOS BOTÕES (Minimizar / Fechar)
local ButtonWrapper = Instance.new("Frame")
ButtonWrapper.Name = "ButtonWrapper"
ButtonWrapper.Size = UDim2.new(0, 78, 0, 32)
ButtonWrapper.AnchorPoint = Vector2.new(0.5, 0.5)
ButtonWrapper.Position = UDim2.new(0.47, 0, 0.90, 0)
ButtonWrapper.BackgroundTransparency = 1
ButtonWrapper.BorderSizePixel = 0
ButtonWrapper.ZIndex = 40
ButtonWrapper.Parent = MainFrame
local UIListLayout = Instance.new("UIListLayout")
UIListLayout.FillDirection = Enum.FillDirection.Horizontal
UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 8)
UIListLayout.Parent = ButtonWrapper
local function createButton(name, text, layoutOrder)
local btn = Instance.new("TextButton")
btn.Name = name
btn.Size = UDim2.new(0, 32, 0, 27)
btn.BackgroundTransparency = 1
btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
btn.BorderSizePixel = 0
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 245, 220)
btn.TextSize = 15
btn.Font = Enum.Font.FredokaOne
btn.LayoutOrder = layoutOrder
btn.AutoButtonColor = false
btn.ZIndex = 45
btn.Parent = ButtonWrapper
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(255, 225, 160)
stroke.Thickness = 1
stroke.Transparency = 0.35
stroke.Parent = btn
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 6)
corner.Parent = btn
return btn
end
local MinimizeButton = createButton("MinimizeButton", "-", 1)
local CloseButton = createButton("CloseButton", "X", 2)
-- 11. CONTAINERS DE ABAS E CONTEÚDO
local TabsContainer = Instance.new("ScrollingFrame")
TabsContainer.Name = "TabsContainer"
TabsContainer.Size = UDim2.new(0, 266, 0, 52)
TabsContainer.Position = UDim2.new(0.525, 0, 0.08, 0)
TabsContainer.BackgroundTransparency = 1
TabsContainer.BorderSizePixel = 0
TabsContainer.CanvasSize = UDim2.new(0, (120 * 17) + (10 * 16) + 20, 0, 0)
TabsContainer.ScrollBarThickness = 0
TabsContainer.ScrollingDirection = Enum.ScrollingDirection.X
TabsContainer.AutomaticCanvasSize = Enum.AutomaticSize.None
TabsContainer.ZIndex = 15
TabsContainer.Parent = MainFrame
local TabsLayout = Instance.new("UIListLayout")
TabsLayout.FillDirection = Enum.FillDirection.Horizontal
TabsLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
TabsLayout.VerticalAlignment = Enum.VerticalAlignment.Center
TabsLayout.SortOrder = Enum.SortOrder.LayoutOrder
TabsLayout.Padding = UDim.new(0, 10)
TabsLayout.Parent = TabsContainer
local ContentContainer = Instance.new("Frame")
ContentContainer.Name = "ContentContainer"
ContentContainer.Size = UDim2.new(0, 290, 0, 160)
ContentContainer.Position = UDim2.new(0.525, 0, 0.31, 0)
ContentContainer.BackgroundTransparency = 1
ContentContainer.BorderSizePixel = 0
ContentContainer.ZIndex = 15
ContentContainer.Parent = MainFrame
-- 12. BOLINHA MINIMIZADA
local MiniBall = Instance.new("ImageButton")
MiniBall.Name = "MiniBall"
MiniBall.Size = UDim2.new(0, 85, 0, 85)
MiniBall.Position = UDim2.new(0.5, -42.5, 0.5, -42.5)
MiniBall.Image = ballAssetId
MiniBall.BackgroundTransparency = 1
MiniBall.BorderSizePixel = 0
MiniBall.Visible = false
MiniBall.Active = true
MiniBall.ZIndex = 50
MiniBall.Parent = ScreenGui
local BallAspect = Instance.new("UIAspectRatioConstraint")
BallAspect.AspectRatio = 1
BallAspect.Parent = MiniBall
local BallCorner = Instance.new("UICorner")
BallCorner.CornerRadius = UDim.new(1, 0)
BallCorner.Parent = MiniBall
-- 13. VARIÁVEIS E CONTROLES DE ANIMAÇÃO DE JANELA
local isAnimating = false
local originalSize = UDim2.new(0, 600, 0, 270)
local wasDragged = false
MinimizeButton.MouseButton1Click:Connect(function()
if isAnimating or wasDragged then return end
isAnimating = true
local currentPos = MainFrame.Position
MiniBall.Position = currentPos + UDim2.new(0, 300 - 42.5, 0, 135 - 42.5)
MainFrame.Visible = false
MiniBall.Size = UDim2.new(0, 0, 0, 0)
MiniBall.Visible = true
local ballTween = TweenService:Create(
MiniBall,
TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
{Size = UDim2.new(0, 85, 0, 85)}
)
ballTween:Play()
ballTween.Completed:Connect(function()
isAnimating = false
end)
end)
MiniBall.MouseButton1Click:Connect(function()
if isAnimating or wasDragged then return end
isAnimating = true
local ballPos = MiniBall.Position
MainFrame.Position = ballPos - UDim2.new(0, 300 - 42.5, 0, 135 - 42.5)
MiniBall.Visible = false
MainFrame.Size = UDim2.new(0, 0, 0, 0)
MainFrame.Visible = true
local frameTween = TweenService:Create(
MainFrame,
TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
{Size = originalSize}
)
frameTween:Play()
frameTween.Completed:Connect(function()
isAnimating = false
end)
end)
CloseButton.MouseButton1Click:Connect(function()
if not wasDragged then
ScreenGui:Destroy()
end
end)
-- 14. SISTEMA DE ARRASTE
local function attachDragSystem(frame)
local dragging = false
local dragStart
local startPos
local dragThreshold = 5
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragStart = input.Position
startPos = frame.Position
wasDragged = false
local connection
connection = UserInputService.InputChanged:Connect(function(moveInput)
if moveInput.UserInputType == Enum.UserInputType.MouseMovement or moveInput.UserInputType == Enum.UserInputType.Touch then
local delta = moveInput.Position - dragStart
if not dragging and (delta.Magnitude > dragThreshold) then
dragging = true
if frame == MainFrame then
TweenService:Create(DragIndicator, TweenInfo.new(0.15), {BackgroundTransparency = 0.2}):Play()
end
end
if dragging then
wasDragged = true
frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + (moveInput.Position.X - dragStart.X),
startPos.Y.Scale,
startPos.Y.Offset + (moveInput.Position.Y - dragStart.Y)
)
end
end
end)
local releaseConnection
releaseConnection = UserInputService.InputEnded:Connect(function(endInput)
if endInput.UserInputType == Enum.UserInputType.MouseButton1 or endInput.UserInputType == Enum.UserInputType.Touch then
if dragging then
dragging = false
if frame == MainFrame then
TweenService:Create(DragIndicator, TweenInfo.new(0.15), {BackgroundTransparency = 1}):Play()
end
task.delay(0.1, function()
wasDragged = false
end)
end
connection:Disconnect()
releaseConnection:Disconnect()
end
end)
end
end)
end
attachDragSystem(MainFrame)
attachDragSystem(MiniBall)
-- =========================================================
-- PARTE 2: GERAÇÃO DAS 17 ABAS E SISTEMA DE MENSAGENS
-- =========================================================
local TabsContainerRef = ScreenGui:WaitForChild("MainFrame"):WaitForChild("TabsContainer")
local ContentContainerRef = ScreenGui:WaitForChild("MainFrame"):WaitForChild("ContentContainer")
local TweenServiceRef = game:GetService("TweenService")
local tabsData = {
{Name = "Main", Text = "Main"},
{Name = "Combat", Text = "Combat"},
{Name = "Fruits", Text = "Fruits"},
{Name = "Raids", Text = "Raids"},
{Name = "Sea", Text = "Sea"},
{Name = "Quests", Text = "Quests"},
{Name = "Teleports", Text = "Teleports"},
{Name = "Stats", Text = "Stats"},
{Name = "Visuals", Text = "Visuals"},
{Name = "Shop", Text = "Shop"},
{Name = "Webhook", Text = "Webhook"},
{Name = "Settings", Text = "Settings"},
{Name = "Misc", Text = "Misc"},
{Name = "Bounty", Text = "Bounty"},
{Name = "Race", Text = "Race"},
{Name = "Item", Text = "Item"},
{Name = "Custom", Text = "Custom"}
}
local tabButtons = {}
local tabContents = {}
local activeTab = nil
for i, data in ipairs(tabsData) do
-- Botão da Aba
local tabBtn = Instance.new("TextButton")
tabBtn.Name = data.Name .. "Tab"
tabBtn.Size = UDim2.new(0, 120, 0, 44)
tabBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
tabBtn.BackgroundTransparency = 0
tabBtn.BorderSizePixel = 0
tabBtn.Text = ""
tabBtn.AutoButtonColor = false
tabBtn.ZIndex = 20
tabBtn.LayoutOrder = i
tabBtn.Parent = TabsContainerRef
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 10)
corner.Parent = tabBtn
local gradient = Instance.new("UIGradient")
gradient.Name = "TabGradient"
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 65, 15)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 40, 5))
})
gradient.Rotation = 90
gradient.Parent = tabBtn
-- TextLabel dedicado em camada superior (ZIndex 25)
local tabTextLabel = Instance.new("TextLabel")
tabTextLabel.Name = "TabText"
tabTextLabel.Size = UDim2.new(1, 0, 1, 0)
tabTextLabel.Position = UDim2.new(0, 0, 0, 0)
tabTextLabel.BackgroundTransparency = 1
tabTextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
tabTextLabel.TextSize = 13
tabTextLabel.Font = Enum.Font.FredokaOne
tabTextLabel.Text = data.Text
tabTextLabel.TextXAlignment = Enum.TextXAlignment.Center
tabTextLabel.TextYAlignment = Enum.TextYAlignment.Center
tabTextLabel.ZIndex = 25
tabTextLabel.Parent = tabBtn
-- Conteúdo específico da Aba
local contentFrame = Instance.new("ScrollingFrame")
contentFrame.Name = data.Name .. "Content"
contentFrame.Size = UDim2.new(1, 0, 1, 0)
contentFrame.Position = UDim2.new(0, 0, 0, 0)
contentFrame.BackgroundTransparency = 1
contentFrame.BorderSizePixel = 0
contentFrame.CanvasSize = UDim2.new(0, 0, 0, 200)
contentFrame.ScrollBarThickness = 3
contentFrame.Visible = false
contentFrame.ZIndex = 20
contentFrame.Parent = ContentContainerRef
-- Mensagem de boas-vindas com efeito de fade-out
local welcomeLabel = Instance.new("TextLabel")
welcomeLabel.Name = "WelcomeLabel"
welcomeLabel.Size = UDim2.new(1, -20, 0, 45)
welcomeLabel.Position = UDim2.new(0, 10, 0, 10)
welcomeLabel.BackgroundTransparency = 1
welcomeLabel.TextColor3 = Color3.fromRGB(255, 245, 220)
welcomeLabel.TextSize = 13
welcomeLabel.Font = Enum.Font.FredokaOne
welcomeLabel.Text = "Bem-vindo à aba " .. data.Text .. " do Paçoca Hub!"
welcomeLabel.TextWrapped = true
welcomeLabel.TextXAlignment = Enum.TextXAlignment.Center
welcomeLabel.TextYAlignment = Enum.TextYAlignment.Center
welcomeLabel.ZIndex = 21
welcomeLabel.Parent = contentFrame
tabButtons[i] = tabBtn
tabContents[i] = contentFrame
-- Lógica de Clique da Aba
tabBtn.MouseButton1Click:Connect(function()
if activeTab == i then return end
activeTab = i
for idx, btn in ipairs(tabButtons) do
local grad = btn:FindFirstChild("TabGradient")
if idx == i then
grad.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 230, 100)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(210, 150, 20))
})
tabContents[idx].Visible = true
local wLabel = tabContents[idx]:FindFirstChild("WelcomeLabel")
if wLabel then
wLabel.TextTransparency = 0
TweenServiceRef:Create(wLabel, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {TextTransparency = 1}):Play()
end
else
grad.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 65, 15)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 40, 5))
})
tabContents[idx].Visible = false
end
end
end)
end
-- Seleciona a primeira aba por padrão ao iniciar
if tabButtons[1] then
tabButtons[1]:FindFirstChild("TabGradient").Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 230, 100)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(210, 150, 20))
})
tabContents[1].Visible = true
activeTab = 1
local firstWelcome = tabContents[1]:FindFirstChild("WelcomeLabel")
if firstWelcome then
firstWelcome.TextTransparency = 0
TweenServiceRef:Create(firstWelcome, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {TextTransparency = 1}):Play()
end
end
-- =========================================================
-- PARTE 3: SISTEMA DE ELEMENTOS (UI LIBRARY) E POPULAÇÃO DAS ABAS
-- =========================================================
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
-- [BLOCO 1: CONFIGURAÇÃO DOS CONTAINERS (4 ITENS POR VEZ)]
-- Vamos reconfigurar os ScrollingFrames das abas para suportarem o layout automático
for _, contentFrame in pairs(tabContents) do
contentFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
contentFrame.ScrollBarImageColor3 = Color3.fromRGB(255, 210, 120)
local layout = Instance.new("UIListLayout")
layout.FillDirection = Enum.FillDirection.Vertical
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Padding = UDim.new(0, 4) -- 4px de espaço
layout.Parent = contentFrame
local padding = Instance.new("UIPadding")
padding.PaddingTop = UDim.new(0, 2)
padding.PaddingBottom = UDim.new(0, 2)
padding.Parent = contentFrame
end
-- [BLOCO 2: FUNÇÃO CONSTRUTORA DO SWITCHER (TOGGLE)]
local function CreateToggle(parentTab, text, callback)
local ToggleFrame = Instance.new("Frame")
ToggleFrame.Size = UDim2.new(1, -10, 0, 37) -- Altura exata para caber 4
ToggleFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ToggleFrame.BorderSizePixel = 0
ToggleFrame.Parent = parentTab
Instance.new("UICorner", ToggleFrame).CornerRadius = UDim.new(0, 8)
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 65, 15)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 40, 5))
})
gradient.Parent = ToggleFrame
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(0.75, 0, 1, 0)
Title.Position = UDim2.new(0, 10, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = text
Title.TextColor3 = Color3.fromRGB(255, 245, 220)
Title.Font = Enum.Font.FredokaOne
Title.TextSize = 12
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = ToggleFrame
local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Size = UDim2.new(0, 34, 0, 18)
ToggleBtn.Position = UDim2.new(1, -45, 0.5, -9)
ToggleBtn.BackgroundColor3 = Color3.fromRGB(60, 25, 0)
ToggleBtn.Text = ""
ToggleBtn.Parent = ToggleFrame
Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(1, 0)
local Circle = Instance.new("Frame")
Circle.Size = UDim2.new(0, 14, 0, 14)
Circle.Position = UDim2.new(0, 2, 0.5, -7)
Circle.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
Circle.Parent = ToggleBtn
Instance.new("UICorner", Circle).CornerRadius = UDim.new(1, 0)
local state = false
ToggleBtn.MouseButton1Click:Connect(function()
state = not state
local targetPos = state and UDim2.new(1, -16, 0.5, -7) or UDim2.new(0, 2, 0.5, -7)
local targetColor = state and Color3.fromRGB(255, 210, 120) or Color3.fromRGB(200, 200, 200)
TweenService:Create(Circle, TweenInfo.new(0.2), {Position = targetPos, BackgroundColor3 = targetColor}):Play()
if callback then pcall(callback, state) end
end)
end
-- [BLOCO 3: FUNÇÃO CONSTRUTORA DO DROPDOWN]
local function CreateDropdown(parentTab, text, options, callback)
local DropFrame = Instance.new("Frame")
DropFrame.Size = UDim2.new(1, -10, 0, 37)
DropFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
DropFrame.ClipsDescendants = true
DropFrame.Parent = parentTab
Instance.new("UICorner", DropFrame).CornerRadius = UDim.new(0, 8)
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 65, 15)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 40, 5))
})
gradient.Parent = DropFrame
local DropBtn = Instance.new("TextButton")
DropBtn.Size = UDim2.new(1, 0, 0, 37)
DropBtn.BackgroundTransparency = 1
DropBtn.Text = " " .. text .. " : [Selecione]"
DropBtn.TextColor3 = Color3.fromRGB(255, 245, 220)
DropBtn.Font = Enum.Font.FredokaOne
DropBtn.TextSize = 12
DropBtn.TextXAlignment = Enum.TextXAlignment.Left
DropBtn.Parent = DropFrame
local Scroll = Instance.new("ScrollingFrame")
Scroll.Size = UDim2.new(1, -10, 0, 70)
Scroll.Position = UDim2.new(0, 5, 0, 37)
Scroll.BackgroundTransparency = 1
Scroll.ScrollBarThickness = 2
Scroll.Parent = DropFrame
local listLayout = Instance.new("UIListLayout")
listLayout.Padding = UDim.new(0, 2)
listLayout.Parent = Scroll
local isOpen = false
DropBtn.MouseButton1Click:Connect(function()
isOpen = not isOpen
TweenService:Create(DropFrame, TweenInfo.new(0.2), {Size = isOpen and UDim2.new(1, -10, 0, 110) or UDim2.new(1, -10, 0, 37)}):Play()
end)
for _, opt in ipairs(options) do
local optBtn = Instance.new("TextButton")
optBtn.Size = UDim2.new(1, 0, 0, 20)
optBtn.BackgroundColor3 = Color3.fromRGB(80, 35, 5)
optBtn.Text = opt
optBtn.TextColor3 = Color3.fromRGB(255, 210, 120)
optBtn.Font = Enum.Font.FredokaOne
optBtn.TextSize = 11
optBtn.Parent = Scroll
Instance.new("UICorner", optBtn).CornerRadius = UDim.new(0, 4)
optBtn.MouseButton1Click:Connect(function()
DropBtn.Text = " " .. text .. " : [" .. opt .. "]"
isOpen = false
TweenService:Create(DropFrame, TweenInfo.new(0.2), {Size = UDim2.new(1, -10, 0, 37)}):Play()
if callback then pcall(callback, opt) end
end)
end
Scroll.CanvasSize = UDim2.new(0, 0, 0, listLayout.AbsoluteContentSize.Y)
end
-- [BLOCO 4: FUNÇÃO CONSTRUTORA DO SLIDER]
local function CreateSlider(parentTab, text, min, max, callback)
local SliderFrame = Instance.new("Frame")
SliderFrame.Size = UDim2.new(1, -10, 0, 37)
SliderFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
SliderFrame.Parent = parentTab
Instance.new("UICorner", SliderFrame).CornerRadius = UDim.new(0, 8)
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 65, 15)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 40, 5))
})
gradient.Parent = SliderFrame
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -10, 0, 15)
Title.Position = UDim2.new(0, 10, 0, 4)
Title.BackgroundTransparency = 1
Title.Text = text .. " : " .. min
Title.TextColor3 = Color3.fromRGB(255, 245, 220)
Title.Font = Enum.Font.FredokaOne
Title.TextSize = 11
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = SliderFrame
local BarBG = Instance.new("TextButton")
BarBG.Size = UDim2.new(1, -20, 0, 6)
BarBG.Position = UDim2.new(0, 10, 0, 24)
BarBG.BackgroundColor3 = Color3.fromRGB(60, 25, 0)
BarBG.Text = ""
BarBG.Parent = SliderFrame
Instance.new("UICorner", BarBG).CornerRadius = UDim.new(1, 0)
local BarFill = Instance.new("Frame")
BarFill.Size = UDim2.new(0, 0, 1, 0)
BarFill.BackgroundColor3 = Color3.fromRGB(255, 210, 120)
BarFill.Parent = BarBG
Instance.new("UICorner", BarFill).CornerRadius = UDim.new(1, 0)
local dragging = false
local function move(input)
local pos = math.clamp((input.Position.X - BarBG.AbsolutePosition.X) / BarBG.AbsoluteSize.X, 0, 1)
local val = math.floor(min + ((max - min) * pos))
BarFill.Size = UDim2.new(pos, 0, 1, 0)
Title.Text = text .. " : " .. val
if callback then pcall(callback, val) end
end
BarBG.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true; move(input)
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then move(input) end
end)
end
-- [BLOCO 5: FUNÇÃO CONSTRUTORA DO TEXTBOX]
local function CreateTextbox(parentTab, text, callback)
local TextFrame = Instance.new("Frame")
TextFrame.Size = UDim2.new(1, -10, 0, 37)
TextFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
TextFrame.Parent = parentTab
Instance.new("UICorner", TextFrame).CornerRadius = UDim.new(0, 8)
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 65, 15)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 40, 5))
})
gradient.Parent = TextFrame
local InputBox = Instance.new("TextBox")
InputBox.Size = UDim2.new(1, -20, 1, -10)
InputBox.Position = UDim2.new(0, 10, 0, 5)
InputBox.BackgroundColor3 = Color3.fromRGB(60, 25, 0)
InputBox.PlaceholderText = text
InputBox.Text = ""
InputBox.TextColor3 = Color3.fromRGB(255, 210, 120)
InputBox.Font = Enum.Font.FredokaOne
InputBox.TextSize = 11
InputBox.Parent = TextFrame
Instance.new("UICorner", InputBox).CornerRadius = UDim.new(0, 6)
InputBox.FocusLost:Connect(function()
if callback then pcall(callback, InputBox.Text) end
end)
end
-- [BLOCO 6: POPULANDO ABA 1 (MAIN / AUTO FARM) - PARTE 1]
local mainTab = tabContents[1]
CreateToggle(mainTab, "Auto Farm Level", function(val) print(val) end)
CreateDropdown(mainTab, "Selecionar Ilha", {"Ilha Inicial", "Selva", "Vila dos Piratas", "Deserto", "Vila Congelada", "Fortaleza da Marinha", "Ilhas do Céu 1", "Prisão", "Coliseu", "Magma", "Cidade Subaquática", "Ilhas do Céu 2", "Prisão de Magma", "Cidade das Fontes", "Reino das Rosas", "Zona Verde", "Ilha Cemitério", "Monte Inverno", "Quente e Fria", "Navio Amaldiçoado", "Castelo de Gelo", "Ilha Esquecida", "Porto da Cidade", "Ilha da Hidra", "Grande Árvore", "Tartaruga Flutuante", "Castelo Assombrado", "Mar de Guloseimas", "Posto Tiki"}, function(v) end)
CreateDropdown(mainTab, "NPC Quest - Sea 1", {"NPC Pirata/Comum", "NPC Marinheiro", "NPC Quest Giver Selva", "NPC Quest Giver Vila dos Piratas", "NPC Quest Giver Deserto", "NPC Quest Giver Vila Congelada", "NPC Quest Giver Fortaleza da Marinha", "NPC Quest Giver Ilhas do Céu 1", "NPC Quest Giver Prisão", "NPC Quest Giver Coliseu", "NPC Quest Giver Magma", "NPC Quest Giver Cidade Subaquática", "NPC Quest Giver Ilhas do Céu 2", "NPC Quest Giver Prisão de Magma", "NPC Quest Giver Cidade das Fontes"}, function(v) end)
CreateDropdown(mainTab, "NPC Quest - Sea 2", {"NPC Quest Giver Reino das Rosas", "NPC Quest Giver Zona Verde", "NPC Quest Giver Ilha Cemitério", "NPC Quest Giver Monte Inverno", "NPC Quest Giver Quente e Fria", "NPC Quest Giver Navio Amaldiçoado", "NPC Quest Giver Castelo de Gelo", "NPC Quest Giver Ilha Esquecida"}, function(v) end)
-- [BLOCO 7: POPULANDO ABA 1 (MAIN / AUTO FARM) - PARTE 2]
CreateDropdown(mainTab, "NPC Quest - Sea 3", {"NPC Quest Giver Porto da Cidade", "NPC Quest Giver Ilha da Hidra", "NPC Quest Giver Grande Árvore", "NPC Quest Giver Tartaruga Flutuante", "NPC Quest Giver Castelo Assombrado", "NPC Quest Giver Mar de Guloseimas", "NPC Quest Giver Posto Tiki"}, function(v) end)
CreateToggle(mainTab, "Auto Accept Quest", function(val) end)
CreateToggle(mainTab, "Bring Mobs", function(val) end)
CreateSlider(mainTab, "Distância do Bring Mobs", 10, 300, function(v) end)
CreateToggle(mainTab, "Fast Attack", function(val) end)
CreateToggle(mainTab, "Auto Haki", function(val) end)
-- [BLOCO 8: POPULANDO ABA 1 (MAIN / AUTO FARM) - PARTE 3]
CreateToggle(mainTab, "Auto Ken Haki", function(val) end)
CreateSlider(mainTab, "Distância de Ataque / Reach", 5, 60, function(v) end)
CreateToggle(mainTab, "Safe Mode Below HP", function(val) end)
CreateSlider(mainTab, "Porcentagem de Vida Crítica", 10, 90, function(v) end)
CreateToggle(mainTab, "Auto Equip Weapon", function(val) end)
CreateDropdown(mainTab, "Tipo de Arma", {"Melee", "Sword", "Gun", "Blox Fruit"}, function(v) end)
-- [BLOCO 9: POPULANDO ABA 1 (MAIN / AUTO FARM) - PARTE 4]
CreateToggle(mainTab, "Stop on Player Nearby", function(val) end)
CreateSlider(mainTab, "Raio de Detecção", 50, 1000, function(v) end)
CreateToggle(mainTab, "Hide Damage Numbers", function(val) end)
CreateTextbox(mainTab, "Mensagem custom de início", function(v) end)
CreateToggle(mainTab, "Auto Clicker Melee", function(val) end)
CreateSlider(mainTab, "Delay Auto Clicker (0.01 - 1s)", 1, 100, function(v) end) -- Convertido para inteiro para visual
CreateToggle(mainTab, "Anti Knockback", function(val) end)
CreateDropdown(mainTab, "Método Movimento", {"Tween", "Teleport", "Walk"}, function(v) end)
CreateSlider(mainTab, "Velocidade Tween", 100, 350, function(v) end)
-- [BLOCO 10: POPULANDO ABA 2 (COMBAT / PLAYERS) - PARTE 1]
local combatTab = tabContents[2]
CreateToggle(combatTab, "Aimbot Ativado", function(val) end)
CreateDropdown(combatTab, "Parte do Corpo Alvo", {"Cabeça", "Tronco", "Pés", "Preditivo"}, function(v) end)
CreateSlider(combatTab, "FOV do Aimbot", 50, 400, function(v) end)
CreateToggle(combatTab, "Killaura PvP", function(val) end)
CreateSlider(combatTab, "Raio do Killaura PvP", 10, 100, function(v) end)
CreateToggle(combatTab, "Silent Aim", function(val) end)
CreateDropdown(combatTab, "Prioridade de Alvo", {"Menor Vida", "Mais Próximo", "Maior Recompensa", "Amigos Excluídos"}, function(v) end)
-- =========================================================
-- PARTE 4: BOTÕES DE AÇÃO E PREENCHIMENTO DAS ABAS 2, 3, 4 e 5
-- =========================================================
-- [BLOCO 11: FUNÇÃO CONSTRUTORA DO BOTÃO SIMPLES]
local function CreateButton(parentTab, text, callback)
local ButtonFrame = Instance.new("Frame")
ButtonFrame.Size = UDim2.new(1, -10, 0, 37)
ButtonFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ButtonFrame.Parent = parentTab
Instance.new("UICorner", ButtonFrame).CornerRadius = UDim.new(0, 8)
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 65, 15)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 40, 5))
})
gradient.Parent = ButtonFrame
local ActionBtn = Instance.new("TextButton")
ActionBtn.Size = UDim2.new(1, 0, 1, 0)
ActionBtn.BackgroundTransparency = 1
ActionBtn.Text = text
ActionBtn.TextColor3 = Color3.fromRGB(255, 245, 220)
ActionBtn.Font = Enum.Font.FredokaOne
ActionBtn.TextSize = 13
ActionBtn.Parent = ButtonFrame
-- Efeito de clique simples
ActionBtn.MouseButton1Down:Connect(function()
TweenService:Create(ActionBtn, TweenInfo.new(0.1), {TextSize = 11}):Play()
end)
ActionBtn.MouseButton1Up:Connect(function()
TweenService:Create(ActionBtn, TweenInfo.new(0.1), {TextSize = 13}):Play()
if callback then pcall(callback) end
end)
end
-- [BLOCO 12: POPULANDO ABA 2 (COMBAT / PLAYERS) - PARTE 2]
local combatTab = tabContents[2] -- Continuamos na Aba 2
CreateToggle(combatTab, "ESP Jogadores (Ver através das paredes)", function(val) end)
CreateToggle(combatTab, "ESP Mostrar Nome e Distância", function(val) end)
CreateToggle(combatTab, "ESP Mostrar Barra de Vida", function(val) end)
CreateToggle(combatTab, "Auto Bounty (Caçar Recompensas)", function(val) end)
CreateTextbox(combatTab, "Nome do Jogador para Caçar", function(v) end)
-- [BLOCO 13: POPULANDO ABA 2 (COMBAT / PLAYERS) - PARTE 3]
CreateToggle(combatTab, "Spectate Player (Assistir Jogador)", function(val) end)
CreateToggle(combatTab, "Anti Stun (Imune a atordoamento)", function(val) end)
CreateToggle(combatTab, "No Cooldown (Sem tempo de recarga visual)", function(val) end)
CreateToggle(combatTab, "Auto Ativar V3 / V4", function(val) end)
CreateSlider(combatTab, "Porcentagem para V3/V4", 10, 100, function(v) end)
-- [BLOCO 14: POPULANDO ABA 3 (STATS / STATUS) - PARTE 1]
local statsTab = tabContents[3]
CreateToggle(statsTab, "Auto Upar Melee (Soco)", function(val) end)
CreateToggle(statsTab, "Auto Upar Defense (Vida)", function(val) end)
CreateToggle(statsTab, "Auto Upar Sword (Espada)", function(val) end)
CreateToggle(statsTab, "Auto Upar Gun (Arma)", function(val) end)
CreateToggle(statsTab, "Auto Upar Blox Fruit (Fruta)", function(val) end)
-- [BLOCO 15: POPULANDO ABA 3 (STATS / STATUS) - PARTE 2]
CreateSlider(statsTab, "Pontos para Adicionar por Vez", 1, 100, function(v) end)
CreateButton(statsTab, "Resgatar Todos os Códigos (2x XP)", function() print("Códigos resgatados!") end)
CreateButton(statsTab, "Resetar Status (Requer Refund)", function() end)
-- [BLOCO 16: POPULANDO ABA 4 (FRUITS / FRUTAS) - PARTE 1]
local fruitsTab = tabContents[4]
CreateToggle(fruitsTab, "Auto Comprar Fruta Aleatória (Surpresa)", function(val) end)
CreateToggle(fruitsTab, "Auto Guardar Frutas no Inventário", function(val) end)
CreateDropdown(fruitsTab, "Snipe Fruta Específica (Comprar se spawnar)", {"Leopard", "Dragon", "Kitsune", "Dough", "Venom", "Spirit", "T-Rex", "Rumble", "Buddha", "Portal", "Magma", "Light"}, function(v) end)
CreateToggle(fruitsTab, "Ativar Sniper de Fruta", function(val) end)
-- [BLOCO 17: POPULANDO ABA 4 (FRUITS / FRUTAS) - PARTE 2]
CreateToggle(fruitsTab, "ESP Frutas no Chão (Ver através das paredes)", function(val) end)
CreateToggle(fruitsTab, "Auto Pegar Frutas (Teleport to Fruit)", function(val) end)
CreateButton(fruitsTab, "Ir para a Fruta mais Próxima Agora", function() end)
CreateToggle(fruitsTab, "Alerta Sonoro se Spawnar Fruta Mythical", function(val) end)
-- [BLOCO 18: POPULANDO ABA 5 (TELEPORT / VIAGEM) - PARTE 1]
local teleportTab = tabContents[5]
CreateDropdown(teleportTab, "Teleporte de Ilhas - Sea 1", {"Ilha Inicial", "Selva", "Vila dos Piratas", "Deserto", "Vila Congelada", "Fortaleza da Marinha", "Ilhas do Céu", "Prisão", "Coliseu", "Vila de Magma", "Cidade Subaquática"}, function(v) end)
CreateButton(teleportTab, "Teleportar para Ilha (Sea 1)", function() end)
CreateDropdown(teleportTab, "Teleporte de Ilhas - Sea 2", {"Reino das Rosas", "Zona Verde", "Cemitério", "Monte Inverno", "Quente e Fria", "Navio Amaldiçoado", "Castelo de Gelo", "Ilha Esquecida"}, function(v) end)
CreateButton(teleportTab, "Teleportar para Ilha (Sea 2)", function() end)
-- [BLOCO 19: POPULANDO ABA 5 (TELEPORT / VIAGEM) - PARTE 2]
CreateDropdown(teleportTab, "Teleporte de Ilhas - Sea 3", {"Porto", "Ilha da Hidra", "Grande Árvore", "Tartaruga Flutuante", "Castelo Assombrado", "Mar de Guloseimas", "Posto Tiki"}, function(v) end)
CreateButton(teleportTab, "Teleportar para Ilha (Sea 3)", function() end)
CreateDropdown(teleportTab, "Teleporte de NPCs Importantes", {"Cyborg NPC", "Ghoul NPC", "Rip_Indra", "Dough King", "Kitsune Shrine", "Blackbeard"}, function(v) end)
CreateButton(teleportTab, "Teleportar para NPC", function() end)
-- [BLOCO 20: POPULANDO ABA 5 (TELEPORT / VIAGEM) - PARTE 3]
CreateDropdown(teleportTab, "Viagem de Mares (Seas)", {"Ir para Sea 1", "Ir para Sea 2", "Ir para Sea 3"}, function(v) end)
CreateButton(teleportTab, "Viajar de Mar", function() end)
CreateToggle(teleportTab, "Bypass Anti-Cheat Teleport (Seguro)", function(val) end)
CreateSlider(teleportTab, "Altura do Teleporte (Y Offset)", 50, 500, function(v) end)
-- =========================================================
-- PARTE 5: ABAS VISUAL, MISC E INÍCIO DO SISTEMA (UNDER THE HOOD)
-- =========================================================
-- [BLOCO 21: POPULANDO ABA 6 (VISUALS / ESP) - PARTE 1]
local visualsTab = tabContents[6]
CreateToggle(visualsTab, "Fullbright (Visão Noturna Perfeita)", function(val) end)
CreateToggle(visualsTab, "Remover Neblina (No Fog)", function(val) end)
CreateSlider(visualsTab, "Mudar Horário do Dia", 0, 24, function(v) end)
CreateToggle(visualsTab, "Travar Horário (Sempre dia/noite)", function(val) end)
-- [BLOCO 22: POPULANDO ABA 6 (VISUALS / ESP) - PARTE 2]
CreateToggle(visualsTab, "Expandir Hitbox dos Inimigos", function(val) end)
CreateSlider(visualsTab, "Tamanho da Hitbox", 5, 50, function(v) end)
CreateToggle(visualsTab, "Modo Batata (Remove Texturas para +FPS)", function(val) end)
CreateToggle(visualsTab, "Remover Efeitos de Dano (Anti-Lag)", function(val) end)
-- [BLOCO 23: POPULANDO ABA 6 (VISUALS / ESP) - PARTE 3]
CreateToggle(visualsTab, "Andar na Água (Water Walk)", function(val) end)
CreateToggle(visualsTab, "Pulo Infinito (Infinite Jump)", function(val) end)
CreateToggle(visualsTab, "Dash Infinito (Sem Cooldown)", function(val) end)
CreateToggle(visualsTab, "Esconder Nome (Ocultar Nickname)", function(val) end)
-- [BLOCO 24: POPULANDO ABA 7 (MISC / EXTRAS) - PARTE 1]
local miscTab = tabContents[7]
CreateButton(miscTab, "Reentrar no Servidor (Rejoin)", function() end)
CreateButton(miscTab, "Pular Servidor (Server Hop)", function() end)
CreateButton(miscTab, "Entrar em Servidor Vazio (Low Players)", function() end)
CreateToggle(miscTab, "Auto Reconnect se a Internet Cair", function(val) end)
-- [BLOCO 25: POPULANDO ABA 7 (MISC / EXTRAS) - PARTE 2]
CreateToggle(miscTab, "Ativar Speed Hack (WalkSpeed)", function(val) end)
CreateSlider(miscTab, "Velocidade do Personagem", 16, 500, function(v) end)
CreateToggle(miscTab, "Ativar Super Pulo (JumpPower)", function(val) end)
CreateSlider(miscTab, "Força do Pulo", 50, 500, function(v) end)
-- [BLOCO 26: POPULANDO ABA 7 (MISC / EXTRAS) - PARTE 3]
CreateTextbox(miscTab, "Mensagem de Spam no Chat", function(v) end)
CreateToggle(miscTab, "Auto Spammer de Chat", function(val) end)
CreateToggle(miscTab, "Personagem Invisível", function(val) end)
CreateToggle(miscTab, "Remover Animações (T-Pose)", function(val) end)
-- [BLOCO 27: POPULANDO ABA 7 (MISC / EXTRAS) - PARTE 4]
CreateTextbox(miscTab, "URL do Webhook (Discord)", function(v) end)
CreateToggle(miscTab, "Avisar no Discord: Level Up", function(val) end)
CreateToggle(miscTab, "Avisar no Discord: Fruta Mítica", function(val) end)
CreateButton(miscTab, "Destruir Menu (Fechar Script)", function()
-- Função simples para remover a GUI do jogo
if CoreGui:FindFirstChild("PacocaHub") then
CoreGui.PacocaHub:Destroy()
end
end)
-- [BLOCO 28: SISTEMA BASE - ANTI AFK (VIRTUAL USER)]
-- Isso impede que o Roblox desconecte o jogador por inatividade após 20 minutos
local VirtualUser = game:GetService("VirtualUser")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
LocalPlayer.Idled:Connect(function()
VirtualUser:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
task.wait(1)
VirtualUser:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
end)
-- [BLOCO 29: SISTEMA BASE - VARIÁVEIS GLOBAIS]
-- Aqui preparamos o terreno para os loops de auto farm funcionarem
_G.AutoFarm = false
_G.SelectIsland = ""
_G.SelectMob = ""
_G.AutoQuest = false
_G.AttackDistance = 15
_G.TweenSpeed = 300
_G.TargetCFrame = nil
_G.CurrentQuest = nil
-- [BLOCO 30: SISTEMA BASE - MOTOR DE TWEEN (MOVIMENTAÇÃO)]
-- Este é o motor que vai fazer o seu personagem voar/andar até os NPCs sem tomar kick do Anti-Cheat
local function TweenTo(targetCFrame)
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
local HRP = LocalPlayer.Character.HumanoidRootPart
local Distance = (HRP.Position - targetCFrame.Position).Magnitude
local Time = Distance / _G.TweenSpeed
-- Ajuste fino para não bugar no Anti-Cheat
if Distance < 50 then
HRP.CFrame = targetCFrame
else
local tweenInfo = TweenInfo.new(Time, Enum.EasingStyle.Linear)
local tween = TweenService:Create(HRP, tweenInfo, {CFrame = targetCFrame})
-- Garante que o jogador não caia durante o voo
if not HRP:FindFirstChild("BodyVelocityFloat") then
local BV = Instance.new("BodyVelocity")
BV.Name = "BodyVelocityFloat"
BV.Velocity = Vector3.new(0, 0, 0)
BV.MaxForce = Vector3.new(9e9, 9e9, 9e9)
BV.Parent = HRP
end
tween:Play()
return tween
end
end
-- =========================================================
-- PARTE 6: INTELIGÊNCIA ARTIFICIAL E SISTEMAS DE COMBATE
-- =========================================================
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
-- [BLOCO 31: SISTEMA BASE - AUTO EQUIPAR ARMA]
_G.WeaponType = "Melee" -- Padrão
local function EquipWeapon()
pcall(function()
for _, tool in pairs(LocalPlayer.Backpack:GetChildren()) do
if tool:IsA("Tool") and tool.ToolTip == _G.WeaponType then
LocalPlayer.Character.Humanoid:EquipTool(tool)
end
end
end)
end
-- [BLOCO 32: SISTEMA BASE - AUTO CLICKER / FAST ATTACK]
_G.AutoClickDelay = 0.1
local function AutoClick()
pcall(function()
-- Usamos o VirtualUser para simular o clique esquerdo do mouse perfeitamente
VirtualUser:CaptureController()
VirtualUser:ClickButton1(Vector2.new(850, 500))
end)
end
-- [BLOCO 33: SISTEMA BASE - AUTO HAKI (ARMAMENTO)]
local function CheckHaki()
pcall(function()
if not LocalPlayer.Character:FindFirstChild("HasBuso") then
-- Tenta ativar o Haki chamando o evento remoto padrão de jogos do tipo
local args = { [1] = "Buso" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end
end)
end
-- [BLOCO 34: SISTEMA BASE - VERIFICAR E PEGAR MISSÃO (QUEST)]
_G.QuestName = ""
_G.QuestLevel = 1
local function CheckQuest()
pcall(function()
-- Se o jogador não tem a interface de quest ativa, ele busca a missão
local playerGui = LocalPlayer:FindFirstChild("PlayerGui")
if playerGui and playerGui.Main.Quest.Visible == false then
local args = {
[1] = "StartQuest",
[2] = _G.QuestName,
[3] = _G.QuestLevel
}
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end
end)
end
-- [BLOCO 35: SISTEMA BASE - ENCONTRAR O MONSTRO MAIS PRÓXIMO]
local function GetClosestMob()
local closestMob = nil
local shortestDistance = math.huge
pcall(function()
for _, v in pairs(workspace.Enemies:GetChildren()) do
if v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 and v:FindFirstChild("HumanoidRootPart") then
if v.Name == _G.SelectMob then -- Verifica se é o mob que queremos farmar
local distance = (LocalPlayer.Character.HumanoidRootPart.Position - v.HumanoidRootPart.Position).Magnitude
if distance < shortestDistance then
closestMob = v
shortestDistance = distance
end
end
end
end
end)
return closestMob
end
-- [BLOCO 36: SISTEMA BASE - BRING MOBS (PUXAR INIMIGOS)]
_G.BringMobs = false
_G.BringDistance = 150
local function BringMobsToTarget(targetPart)
pcall(function()
if _G.BringMobs and targetPart then
for _, v in pairs(workspace.Enemies:GetChildren()) do
if v.Name == _G.SelectMob and v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 and v:FindFirstChild("HumanoidRootPart") then
local dist = (targetPart.Position - v.HumanoidRootPart.Position).Magnitude
if dist <= _G.BringDistance then
-- Puxa o monstro para a frente do jogador
v.HumanoidRootPart.CFrame = targetPart.CFrame * CFrame.new(0, 0, -5)
-- Stunna o monstro para ele não bater de volta
v.HumanoidRootPart.CanCollide = false
v.Humanoid.WalkSpeed = 0
v.Humanoid.JumpPower = 0
end
end
end
end
end)
end
-- [BLOCO 37: SISTEMA BASE - MODO SEGURO (SAFE MODE)]
_G.SafeMode = false
_G.SafeHealth = 30 -- Porcentagem de vida
local function CheckSafeMode()
local isSafe = false
pcall(function()
local health = LocalPlayer.Character.Humanoid.Health
local maxHealth = LocalPlayer.Character.Humanoid.MaxHealth
local healthPercentage = (health / maxHealth) * 100
if _G.SafeMode and healthPercentage <= _G.SafeHealth then
-- Foge para o céu para se curar
LocalPlayer.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 500, 0)
isSafe = true
end
end)
return isSafe
end
-- [BLOCO 38: SISTEMA BASE - LOOP PRINCIPAL DO AUTO FARM]
task.spawn(function()
while task.wait() do
if _G.AutoFarm then
local inDanger = CheckSafeMode()
if not inDanger then
if _G.AutoQuest then
CheckQuest()
end
local TargetMob = GetClosestMob()
if TargetMob then
-- Fica em cima do monstro usando a distância definida
local attackPos = TargetMob.HumanoidRootPart.CFrame * CFrame.new(0, _G.AttackDistance, 0)
TweenTo(attackPos)
EquipWeapon()
CheckHaki()
AutoClick()
BringMobsToTarget(LocalPlayer.Character.HumanoidRootPart)
end
end
else
-- Se desligar o Auto Farm, destrói a flutuação do Tween (BodyVelocityFloat)
pcall(function()
if LocalPlayer.Character.HumanoidRootPart:FindFirstChild("BodyVelocityFloat") then
LocalPlayer.Character.HumanoidRootPart.BodyVelocityFloat:Destroy()
end
end)
end
end
end)
-- [BLOCO 39: CONECTANDO A UI - LIGAR O AUTO FARM]
-- Aqui nós reescrevemos o botão criado no BLOCO 6 para ativar as funções acima
-- Nota: Isso apenas atualiza a variável global, a função CreateToggle já foi desenhada antes!
-- Mas para facilitar a lógica de conexão no código limpo, vinculamos a variável aqui:
local function UpdateAutoFarmState(state)
_G.AutoFarm = state
end
-- Quando o jogador clica na UI "Auto Farm Level", ele chamará UpdateAutoFarmState(true/false)
-- [BLOCO 40: SISTEMA BASE - AIMBOT LÓGICA DE ALVO (PREPARAÇÃO)]
_G.Aimbot = false
_G.AimbotTargetPart = "Head"
_G.AimbotFOV = 150
local function GetClosestPlayerAimbot()
local closestPlayer = nil
local shortestDistance = _G.AimbotFOV
local mouse = LocalPlayer:GetMouse()
local center = Vector2.new(mouse.X, mouse.Y)
pcall(function()
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild(_G.AimbotTargetPart) then
local pos, onScreen = workspace.CurrentCamera:WorldToViewportPoint(player.Character[_G.AimbotTargetPart].Position)
if onScreen then
local magnitude = (Vector2.new(pos.X, pos.Y) - center).Magnitude
if magnitude < shortestDistance then
closestPlayer = player.Character
shortestDistance = magnitude
end
end
end
end
end)
return closestPlayer
end
-- =========================================================
-- PARTE 7: AIMBOT, ESP, STATUS E MOVIMENTAÇÃO (MISC)
-- =========================================================
local Lighting = game:GetService("Lighting")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
-- [BLOCO 41: SISTEMA BASE - AIMBOT (TRAVAMENTO DE CÂMERA)]
-- Usa a função criada no bloco 40 para travar a câmera no jogador mais próximo
RunService.RenderStepped:Connect(function()
pcall(function()
if _G.Aimbot then
local target = GetClosestPlayerAimbot()
if target and target:FindFirstChild(_G.AimbotTargetPart) then
local camera = workspace.CurrentCamera
local targetPos = target[_G.AimbotTargetPart].Position
-- Suavização de câmera no Aimbot
camera.CFrame = CFrame.new(camera.CFrame.Position, targetPos)
end
end
end)
end)
-- [BLOCO 42: SISTEMA BASE - ESP PLAYERS (VER JOGADORES)]
_G.ESPPlayers = false
local function UpdateESP()
for _, player in pairs(game:GetService("Players"):GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local espName = "PaçocaESP_" .. player.Name
if _G.ESPPlayers then
if not player.Character:FindFirstChild(espName) then
-- Usa Highlight para criar o contorno colorido através das paredes
local highlight = Instance.new("Highlight")
highlight.Name = espName
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.FillTransparency = 0.5
highlight.OutlineTransparency = 0
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = player.Character
end
else
if player.Character:FindFirstChild(espName) then
player.Character[espName]:Destroy()
end
end
end
end
end
RunService.Heartbeat:Connect(UpdateESP)
-- [BLOCO 43: SISTEMA BASE - AUTO STATS (UPAR STATUS)]
_G.AutoStats = false
_G.StatPointAmount = 1
_G.StatTarget = "Melee" -- Pode ser "Melee", "Defense", "Sword", "Gun", "Demon Fruit"
task.spawn(function()
while task.wait(0.5) do
if _G.AutoStats then
pcall(function()
-- Envia requisição para o servidor gastar os pontos acumulados
local args = {
[1] = "AddPoint",
[2] = _G.StatTarget,
[3] = _G.StatPointAmount
}
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end)
end
end
end)
-- [BLOCO 44: SISTEMA BASE - AUTO GACHA (COMPRAR FRUTA)]
_G.AutoBuyFruit = false
task.spawn(function()
while task.wait(5) do
if _G.AutoBuyFruit then
pcall(function()
-- Fala com o NPC Cousin (Blox Fruit Dealer Cousin)
local args = { [1] = "Cousin", [2] = "Buy" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end)
end
end
end)
-- [BLOCO 45: SISTEMA BASE - AUTO STORE FRUIT (GUARDAR FRUTA)]
_G.AutoStoreFruit = false
task.spawn(function()
while task.wait(2) do
if _G.AutoStoreFruit then
pcall(function()
for _, tool in pairs(LocalPlayer.Backpack:GetChildren()) do
if string.match(tool.Name, "Fruit") then
-- Envia requisição para armazenar a fruta no baú
local args = { [1] = "StoreFruit", [2] = tool.Name, [3] = LocalPlayer.Character:FindFirstChild("FruitBag") }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end
end
end)
end
end
end)
-- [BLOCO 46: SISTEMA BASE - FULLBRIGHT & NO FOG (VISUAIS)]
_G.Fullbright = false
_G.NoFog = false
RunService.LightingChanged:Connect(function()
if _G.Fullbright then
Lighting.Brightness = 2
Lighting.ClockTime = 14 -- Trava no sol do meio-dia
Lighting.GlobalShadows = false
Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
end
if _G.NoFog then
Lighting.FogEnd = 9e9 -- Joga o fim da neblina para o infinito
end
end)
-- [BLOCO 47: SISTEMA BASE - WALK SPEED & JUMP POWER]
_G.SpeedHack = false
_G.WalkSpeed = 16
_G.JumpHack = false
_G.JumpPower = 50
task.spawn(function()
while task.wait() do
pcall(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if _G.SpeedHack then
LocalPlayer.Character.Humanoid.WalkSpeed = _G.WalkSpeed
end
if _G.JumpHack then
LocalPlayer.Character.Humanoid.UseJumpPower = true
LocalPlayer.Character.Humanoid.JumpPower = _G.JumpPower
end
end
end)
end
end)
-- [BLOCO 48: SISTEMA BASE - INFINITE JUMP]
_G.InfiniteJump = false
UserInputService.JumpRequest:Connect(function()
if _G.InfiniteJump then
pcall(function()
LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end)
end
end)
-- [BLOCO 49: SISTEMA BASE - WALK ON WATER (ANDAR NA ÁGUA)]
_G.WaterWalk = false
local WaterPlatform = Instance.new("Part")
WaterPlatform.Name = "PaçocaWaterPlatform"
WaterPlatform.Size = Vector3.new(10, 1, 10)
WaterPlatform.Transparency = 1 -- Transparente para não ser visto
WaterPlatform.Anchored = true
WaterPlatform.CanCollide = true
RunService.RenderStepped:Connect(function()
if _G.WaterWalk and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
local HRP = LocalPlayer.Character.HumanoidRootPart
-- Mantém a plataforma invisível exatamente abaixo do jogador, travada na altura da água (aprox Y=15 no Blox Fruits)
WaterPlatform.Position = Vector3.new(HRP.Position.X, 14.5, HRP.Position.Z)
if not WaterPlatform.Parent then
WaterPlatform.Parent = workspace
end
else
if WaterPlatform.Parent then
WaterPlatform.Parent = nil
end
end
end)
-- [BLOCO 50: SISTEMA BASE - ESP CHESTS (BAÚS)]
_G.ESPChests = false
task.spawn(function()
while task.wait(1) do
pcall(function()
for _, item in pairs(workspace:GetDescendants()) do
if item.Name:match("Chest") and item:IsA("Part") then
local espName = "PaçocaChestESP_" .. item.Name
if _G.ESPChests then
if not item:FindFirstChild(espName) then
local highlight = Instance.new("Highlight")
highlight.Name = espName
highlight.FillColor = Color3.fromRGB(255, 215, 0) -- Dourado
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.FillTransparency = 0.5
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = item
end
else
if item:FindFirstChild(espName) then
item[espName]:Destroy()
end
end
end
end
end)
end
end)
-- =========================================================
-- PARTE 8: HITBOXES, ANTI-LAG, NOCLIP E SISTEMAS AVANÇADOS
-- =========================================================
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
-- [BLOCO 51: SISTEMA BASE - DICIONÁRIO DE TELEPORTES]
-- (Exemplo reduzido de CFrame para algumas ilhas, você pode expandir depois)
_G.TeleportLocations = {
["Ilha Inicial"] = CFrame.new(973, 16, 1413),
["Selva"] = CFrame.new(-1317, 18, 421),
["Vila dos Piratas"] = CFrame.new(-1147, 14, 3889),
["Deserto"] = CFrame.new(910, 16, 4310),
["Vila Congelada"] = CFrame.new(1251, 28, -1296),
["Fortaleza da Marinha"] = CFrame.new(-4859, 20, 4323)
}
_G.SelectedIsland = ""
-- [BLOCO 52: SISTEMA BASE - EXECUTAR TELEPORTE]
local function TeleportToIsland()
if _G.SelectedIsland ~= "" and _G.TeleportLocations[_G.SelectedIsland] then
-- Usamos a função TweenTo (criada no Bloco 30) para ir voando com segurança
TweenTo(_G.TeleportLocations[_G.SelectedIsland])
end
end
-- [BLOCO 53: SISTEMA BASE - EXPANDIR HITBOX (MAGNET)]
_G.ExpandHitbox = false
_G.HitboxSize = 15
task.spawn(function()
while task.wait(1) do
if _G.ExpandHitbox then
pcall(function()
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local HRP = player.Character.HumanoidRootPart
HRP.Size = Vector3.new(_G.HitboxSize, _G.HitboxSize, _G.HitboxSize)
HRP.Transparency = 0.8
HRP.BrickColor = BrickColor.new("Bright blue")
HRP.Material = Enum.Material.Neon
HRP.CanCollide = false
end
end
end)
end
end
end)
-- [BLOCO 54: SISTEMA BASE - NOCLIP (ATRAVESSAR PAREDES)]
_G.Noclip = false
RunService.Stepped:Connect(function()
if _G.Noclip then
pcall(function()
if LocalPlayer.Character then
for _, part in pairs(LocalPlayer.Character:GetChildren()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end)
end
end)
-- [BLOCO 55: SISTEMA BASE - MODO BATATA (MÁXIMO FPS)]
_G.PotatoMode = false
local function EnablePotatoMode()
if _G.PotatoMode then
pcall(function()
for _, v in pairs(workspace:GetDescendants()) do
if v:IsA("BasePart") and not v.Parent:FindFirstChild("Humanoid") then
v.Material = Enum.Material.SmoothPlastic
v.Reflectance = 0
elseif v:IsA("Decal") or v:IsA("Texture") then
v:Destroy()
end
end
Lighting.GlobalShadows = false
Lighting.FogEnd = 9e9
sethiddenproperty(Lighting, "Technology", 2) -- Reduz a engine de renderização
end)
end
end
-- [BLOCO 56: SISTEMA BASE - REMOVER NÚMEROS DE DANO]
_G.HideDamage = false
task.spawn(function()
while task.wait(0.5) do
if _G.HideDamage then
pcall(function()
for _, v in pairs(workspace:GetDescendants()) do
if v.Name == "DamageCounter" or (v:IsA("BillboardGui") and v.Name == "Damage") then
v:Destroy()
end
end
end)
end
end
end)
-- [BLOCO 57: SISTEMA BASE - AUTO PEGAR FRUTAS NO CHÃO]
_G.AutoCollectFruits = false
task.spawn(function()
while task.wait(1) do
if _G.AutoCollectFruits then
pcall(function()
for _, item in pairs(workspace:GetChildren()) do
-- No Blox Fruits, frutas spawnadas no chão são ferramentas (Tools) com "Fruit" no nome
if item:IsA("Tool") and string.find(item.Name, "Fruit") and item:FindFirstChild("Handle") then
TweenTo(item.Handle.CFrame)
-- Aguarda chegar no local antes de procurar a próxima
task.wait((LocalPlayer.Character.HumanoidRootPart.Position - item.Handle.Position).Magnitude / _G.TweenSpeed)
end
end
end)
end
end
end)
-- [BLOCO 58: SISTEMA BASE - SNIPER DE FRUTAS (AUTO BUY)]
_G.SniperFruit = false
_G.TargetSnipeFruit = "Kitsune"
task.spawn(function()
while task.wait(5) do
if _G.SniperFruit then
pcall(function()
-- Envia um Remote simulando que você está falando com o vendedor de frutas
local args = {
[1] = "PurchaseBloxFruit",
[2] = _G.TargetSnipeFruit .. "-Fruit"
}
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end)
end
end
end)
-- [BLOCO 59: SISTEMA BASE - SERVER HOP (PULAR SERVIDOR VAZIO)]
local function ServerHop()
local url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"
pcall(function()
local request = (syn and syn.request) or (http and http.request) or http_request or request
if request then
local response = request({Url = url, Method = "GET"})
local data = HttpService:JSONDecode(response.Body)
if data and data.data then
for _, server in pairs(data.data) do
-- Procura um servidor com menos jogadores do que o máximo
if server.playing < server.maxPlayers and server.id ~= game.JobId then
TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, LocalPlayer)
break
end
end
end
end
end)
end
-- [BLOCO 60: SISTEMA BASE - WEBHOOK DISCORD]
_G.DiscordWebhookURL = ""
local function EnviarWebhookDiscord(mensagem)
if _G.DiscordWebhookURL ~= "" then
pcall(function()
local payload = {
["content"] = "",
["embeds"] = {{
["title"] = "Notificação - Paçoca Hub",
["description"] = mensagem,
["color"] = tonumber(0xFFA500) -- Laranja Paçoca
}}
}
local request = (syn and syn.request) or (http and http.request) or http_request or request
if request then
request({
Url = _G.DiscordWebhookURL,
Method = "POST",
Headers = {["Content-Type"] = "application/json"},
Body = HttpService:JSONEncode(payload)
})
end
end)
end
end
-- =========================================================
-- PARTE 9: ABAS DE RAIDS, SEA EVENTS E QUESTS + LÓGICA DE EVENTOS
-- =========================================================
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- [BLOCO 61: POPULANDO ABA 4 (RAIDS / DUNGEONS) - PARTE 1]
local raidsTab = tabContents[4]
CreateToggle(raidsTab, "Auto Start Raid (Inicia com Chip)", function(val) _G.AutoStartRaid = val end)
CreateDropdown(raidsTab, "Selecionar Raid", {"Flame Raid", "Ice Raid", "Earthquake Raid", "Light Raid", "Dark Raid", "String Raid", "Rumble Raid", "Magma Raid", "Buddha Raid", "Dough Raid"}, function(v) _G.SelectedRaid = v end)
CreateToggle(raidsTab, "Auto Next Island (Avançar Automático)", function(val) _G.AutoNextIslandRaid = val end)
CreateToggle(raidsTab, "Kill Aura na Raid", function(val) _G.KillAuraRaid = val end)
-- [BLOCO 62: POPULANDO ABA 4 (RAIDS / DUNGEONS) - PARTE 2]
CreateToggle(raidsTab, "Auto Buy Fragment Boost", function(val) _G.AutoFragBoost = val end)
CreateToggle(raidsTab, "Auto Awakening Skills", function(val) _G.AutoAwaken = val end)
CreateToggle(raidsTab, "Safe Spot na Raid (Ficar Flutuando)", function(val) _G.SafeSpotRaid = val end)
CreateSlider(raidsTab, "Altura do Safe Spot", 50, 300, function(v) _G.RaidSafeHeight = v end)
-- [BLOCO 63: POPULANDO ABA 5 (SEA EVENTS) - PARTE 1]
local seaTab = tabContents[5]
CreateToggle(seaTab, "Auto Sea Events (Procurar Automático)", function(val) _G.AutoSeaEvents = val end)
CreateDropdown(seaTab, "Alvo Marítimo", {"Terror Shark", "Sea Beast", "Piranha", "Ship Raid", "Ghost Ship", "Leviatã"}, function(v) _G.SeaTarget = v end)
CreateToggle(seaTab, "Auto Avoid Sea Hazards (Desviar)", function(val) _G.AvoidHazards = val end)
CreateToggle(seaTab, "Auto Shoot Sea Monsters", function(val) _G.AutoShootSea = val end)
-- [BLOCO 64: POPULANDO ABA 5 (SEA EVENTS) - PARTE 2]
CreateToggle(seaTab, "Auto Collect Sea Chests (Baús)", function(val) _G.CollectSeaChests = val end)
CreateToggle(seaTab, "Auto Spawn Barco (Monster Hunter)", function(val) _G.AutoSpawnBoat = val end)
CreateToggle(seaTab, "Auto Repair Ship (Consertar Casco)", function(val) _G.AutoRepairShip = val end)
CreateDropdown(seaTab, "Zonas do Tiki Outpost", {"Zona 1", "Zona 2", "Zona 3", "Zona 4", "Zona 5", "Zona do Leviatã"}, function(v) _G.TikiZone = v end)
-- [BLOCO 65: POPULANDO ABA 6 (QUESTS / ITEMS) - PARTE 1]
local questsTab = tabContents[6]
CreateToggle(questsTab, "Auto Get Saber (Puzzle Selva)", function(val) _G.AutoSaber = val end)
CreateToggle(questsTab, "Auto Get Rengoku (Chave de Gelo)", function(val) _G.AutoRengoku = val end)
CreateToggle(questsTab, "Auto Get Yama (30 Elites)", function(val) _G.AutoYama = val end)
CreateToggle(questsTab, "Auto Get Tushita (Puzzle Tochas)", function(val) _G.AutoTushita = val end)
-- [BLOCO 66: POPULANDO ABA 6 (QUESTS / ITEMS) - PARTE 2]
CreateToggle(questsTab, "Auto Craft Cursed Dual Katana", function(val) _G.AutoCDK = val end)
CreateToggle(questsTab, "Auto Get Soul Guitar (Puzzle Lua Cheia)", function(val) _G.AutoSoulGuitar = val end)
CreateToggle(questsTab, "Alerta de Lua Cheia no Servidor", function(val) _G.FullMoonAlert = val end)
CreateToggle(questsTab, "Auto Complete Bartilo Quest", function(val) _G.AutoBartilo = val end)
-- [BLOCO 67: SISTEMA BASE - LÓGICA DE RAIDS (AUTO NEXT ISLAND)]
task.spawn(function()
while task.wait(1) do
if _G.AutoNextIslandRaid then
pcall(function()
-- Verifica se os monstros da ilha atual da Raid morreram
local enemies = workspace:FindFirstChild("Enemies")
if enemies and #enemies:GetChildren() == 0 then
local HRP = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if HRP then
-- Simula um salto para a próxima ilha sem cair na água
HRP.CFrame = HRP.CFrame * CFrame.new(0, 50, -500)
end
end
end)
end
end
end)
-- [BLOCO 68: SISTEMA BASE - SEA BEAST AUTO SHOOT]
task.spawn(function()
while task.wait(0.5) do
if _G.AutoShootSea then
pcall(function()
local seaBeasts = workspace:FindFirstChild("SeaBeasts")
if seaBeasts then
for _, sb in pairs(seaBeasts:GetChildren()) do
if sb:FindFirstChild("HumanoidRootPart") and sb.Humanoid.Health > 0 then
-- Dispara habilidades no monstro marinho mais próximo
local args = {
[1] = sb.HumanoidRootPart.Position,
[2] = workspace.SeaBeasts
}
-- Disparo usando remotes genéricos do Blox Fruits
ReplicatedStorage.Remotes.CommE_:FireServer("FireGun", unpack(args))
end
end
end
end)
end
end
end)
-- [BLOCO 69: SISTEMA BASE - ALERTA DE LUA CHEIA (FULL MOON)]
task.spawn(function()
while task.wait(10) do
if _G.FullMoonAlert then
pcall(function()
local light = game:GetService("Lighting")
-- Verifica a iluminação ou se o objeto da lua cheia foi renderizado no mapa
if light.ClockTime >= 17.5 or light.ClockTime <= 6 then
if light:GetMinutesAfterMidnight() == 0 or workspace:FindFirstChild("FullMoon") then
-- Envia notificação nativa super imersiva na tela do jogador
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "PAÇOCA HUB - ALERTA",
Text = "A LUA CHEIA COMEÇOU NO SERVIDOR! HORA DA SOUL GUITAR/V4!",
Duration = 15
})
end
end
end)
end
end
end)
-- [BLOCO 70: SISTEMA BASE - AUTO PEGAR BAÚS MARÍTIMOS (SEA CHESTS)]
task.spawn(function()
while task.wait(1) do
if _G.CollectSeaChests then
pcall(function()
for _, chest in pairs(workspace:GetChildren()) do
-- Encontra baús de barcos ou eventos marinhos na água
if chest.Name == "SeaChest" or chest.Name == "ShipwreckChest" then
local HRP = LocalPlayer.Character.HumanoidRootPart
local dist = (HRP.Position - chest.Position).Magnitude
-- Se o baú estiver numa distância alcançável sem ser banido, voa até ele
if dist < 1500 then
TweenTo(chest.CFrame)
end
end
end
end)
end
end
end)
-- =========================================================
-- PARTE 10: AUTO SHOP, AUTO BOUNTY E AUTO RACE V4
-- =========================================================
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
-- [BLOCO 71: POPULANDO ABA 7 (MISC / SHOP) - ESTILOS DE LUTA]
local miscTab = tabContents[7]
CreateDropdown(miscTab, "Comprar Estilo de Luta", {"Black Leg", "Electro", "Fishman Karate", "Dragon Breath", "Superhuman", "Death Step", "Sharkman Karate", "Electric Claw", "Dragon Talon", "Godhuman"}, function(v) _G.BuyMelee = v end)
CreateButton(miscTab, "Comprar Estilo de Luta (Auto Buy)", function()
_G.DoBuyMelee = true
end)
-- [BLOCO 72: POPULANDO ABA 7 (MISC / SHOP) - ESPADAS LENDÁRIAS E HAKI]
CreateToggle(miscTab, "Auto Comprar Espada Lendária (Saddi/Shisui/Wando)", function(val) _G.AutoLegendarySword = val end)
CreateToggle(miscTab, "Auto Comprar Cores de Haki (Aura)", function(val) _G.AutoHakiColor = val end)
CreateButton(miscTab, "Checar Status do Vendedor de Espadas", function()
_G.CheckSwordDealer = true
end)
-- [BLOCO 73: POPULANDO ABA 2 (COMBAT / PLAYERS) - BOUNTY HUNTER]
local combatTab = tabContents[2]
CreateToggle(combatTab, "Auto Caçar Jogadores (Bounty Hunter)", function(val) _G.AutoBounty = val end)
CreateSlider(combatTab, "Ignorar Jogadores Abaixo do Level", 1, 2550, function(v) _G.BountyMinLevel = v end)
CreateToggle(combatTab, "Pular Servidor se não houver alvos", function(val) _G.HopBounty = val end)
CreateToggle(combatTab, "Chat Troll (Spammar 'Ez' ao matar)", function(val) _G.ToxicBounty = val end)
-- [BLOCO 74: POPULANDO ABA 2 (COMBAT / PLAYERS) - RAÇA V3 / V4]
CreateToggle(combatTab, "Auto Usar Habilidade Raça V3", function(val) _G.AutoRaceV3 = val end)
CreateToggle(combatTab, "Auto Ativar Raça V4 (Despertar)", function(val) _G.AutoRaceV4 = val end)
CreateSlider(combatTab, "Ativar V4 em % da Barra", 10, 100, function(v) _G.V4BarPercent = v end)
-- [BLOCO 75: SISTEMA BASE - AUTO COMPRAR ESTILO DE LUTA (MELEE)]
task.spawn(function()
while task.wait(0.5) do
if _G.DoBuyMelee then
pcall(function()
-- Envia requisição para comprar o estilo de luta desejado
local args = {
[1] = "BuyItem",
[2] = _G.BuyMelee
}
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
_G.DoBuyMelee = false -- Reseta o botão após tentar comprar
-- Notifica o jogador
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "PAÇOCA HUB - LOJA",
Text = "Tentativa de compra de " .. _G.BuyMelee .. " enviada ao servidor!",
Duration = 5
})
end)
end
end
end)
-- [BLOCO 76: SISTEMA BASE - AUTO COMPRAR ESPADAS LENDÁRIAS (SWORD DEALER)]
task.spawn(function()
while task.wait(5) do
if _G.AutoLegendarySword then
pcall(function()
-- Fala com o NPC Manager/Legendary Sword Dealer
local args = { [1] = "LegendarySwordDealer", [2] = "1" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
local args2 = { [1] = "LegendarySwordDealer", [2] = "2" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args2))
local args3 = { [1] = "LegendarySwordDealer", [2] = "3" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args3))
end)
end
end
end)
-- [BLOCO 77: SISTEMA BASE - AUTO COMPRAR COR DE HAKI (MASTER OF AURAS)]
task.spawn(function()
while task.wait(5) do
if _G.AutoHakiColor then
pcall(function()
-- Tenta comprar a cor atual sendo vendida pelo Color Specialist
local args = { [1] = "ColorsExpert", [2] = "Buy" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end)
end
end
end)
-- [BLOCO 78: SISTEMA BASE - MOTOR DO BOUNTY HUNTER (CAÇADOR)]
task.spawn(function()
while task.wait(0.1) do
if _G.AutoBounty then
pcall(function()
local targetPlayer = nil
local maxDistance = math.huge
-- Procura um jogador vivo, fora da zona segura (safezone) e com o level mínimo configurado
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("Humanoid") and p.Character.Humanoid.Health > 0 then
local pData = p:FindFirstChild("Data")
if pData and pData:FindFirstChild("Level") and pData.Level.Value >= _G.BountyMinLevel then
-- O Aimbot e Tween vão mirar nele se não estiver protegido
local dist = (LocalPlayer.Character.HumanoidRootPart.Position - p.Character.HumanoidRootPart.Position).Magnitude
if dist < maxDistance then
targetPlayer = p
maxDistance = dist
end
end
end
end
if targetPlayer and targetPlayer.Character then
-- Voa até o alvo e liga o auto-click / auto-skill
TweenTo(targetPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 5, 5))
EquipWeapon()
AutoClick()
elseif _G.HopBounty then
-- Se não encontrar ninguém válido e a opção estiver ligada, pula de servidor
ServerHop()
end
end)
end
end
end)
-- [BLOCO 79: SISTEMA BASE - AUTO RACE V3 & V4 (DESPERTAR)]
task.spawn(function()
while task.wait(0.5) do
pcall(function()
-- Auto V3
if _G.AutoRaceV3 and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("RaceEnergy") then
local args = { [1] = "ActivateRaceV3" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end
-- Auto V4
if _G.AutoRaceV4 and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("AwakeningBar") then
local barValue = LocalPlayer.Character.AwakeningBar.Value
if barValue >= _G.V4BarPercent then
local args = { [1] = "ActivateRaceV4" }
ReplicatedStorage.Remotes.CommF_:InvokeServer(unpack(args))
end
end
end)
end
end)
-- [BLOCO 80: SISTEMA BASE - INTEGRAÇÃO WEBHOOK (LEVEL & BOUNTY NOTIFIER)]
local lastLevel = 0
local lastBounty = 0
task.spawn(function()
while task.wait(10) do
pcall(function()
if _G.DiscordWebhookURL ~= "" then
local currentLevel = LocalPlayer.Data.Level.Value
local currentBounty = LocalPlayer.leaderstats["Bounty/Honor"].Value
-- Se upar de level
if lastLevel ~= 0 and currentLevel > lastLevel then
EnviarWebhookDiscord("🎉 **Level Up!** O jogador " .. LocalPlayer.Name .. " acaba de atingir o nível **" .. currentLevel .. "**!")
end
-- Se ganhar bounty (matar jogador)
if lastBounty ~= 0 and currentBounty > lastBounty then
local ganhou = currentBounty - lastBounty
EnviarWebhookDiscord("☠️ **Bounty Gained!** Você ganhou **+" .. ganhou .. "** de recompensa! Recompensa total: **" .. currentBounty .. "**.")
end
lastLevel = currentLevel
lastBounty = currentBounty
end
end)
end
end)
-- =========================================================
-- PARTE 11: ANTI-BAN, ANIMAÇÕES DA UI, TROLL E PROTEÇÕES
-- =========================================================
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
-- [BLOCO 81: SISTEMA BASE - ANTI-CHEAT BYPASS (HOOK)]
-- Protege o cliente contra kicks locais disparados por anti-cheats básicos
local mt = getrawmetatable(game)
if mt and setreadonly then
local oldNamecall = mt.__namecall
setreadonly(mt, false)
mt.__namecall = newcclosure(function(self, ...)
local method = getnamecallmethod()
-- Bloqueia a tentativa do jogo de expulsar (Kick) o jogador localmente
if method == "Kick" or method == "kick" then
return nil
end
return oldNamecall(self, ...)
end)
setreadonly(mt, true)
end
-- [BLOCO 82: LÓGICA DA INTERFACE - ARRASTAR A JANELA (DRAGGABLE)]
-- Permite que o jogador clique no topo da janela e a arraste pela tela
local Dragging = false
local DragInput, MousePos, FramePos
TitleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
Dragging = true
MousePos = input.Position
FramePos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
Dragging = false
end
end)
end
end)
TitleBar.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
DragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == DragInput and Dragging then
local Delta = input.Position - MousePos
-- Suaviza o arrasto usando TweenService
TweenService:Create(MainFrame, TweenInfo.new(0.1), {
Position = UDim2.new(FramePos.X.Scale, FramePos.X.Offset + Delta.X, FramePos.Y.Scale, FramePos.Y.Offset + Delta.Y)
}):Play()
end
end)
-- [BLOCO 83: LÓGICA DA INTERFACE - BOTÃO DE MINIMIZAR (TOGGLE GUI)]
-- Oculta ou mostra o painel principal quando o botão minimizar é clicado
local IsMinimized = false
MinimizeBtn.MouseButton1Click:Connect(function()
IsMinimized = not IsMinimized
if IsMinimized then
TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quint), {Size = UDim2.new(0, 500, 0, 40)}):Play()
TweenService:Create(ContentContainer, TweenInfo.new(0.2), {Visible = false}):Play()
TweenService:Create(TabContainer, TweenInfo.new(0.2), {Visible = false}):Play()
else
TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quint), {Size = UDim2.new(0, 500, 0, 350)}):Play()
task.wait(0.2)
ContentContainer.Visible = true
TabContainer.Visible = true
end
end)
-- [BLOCO 84: SISTEMA BASE - TECLA DE ATALHO (ESCONDER MENU)]
-- Aperte "RightControl" (Ctrl Direito) no teclado para esconder a interface completamente
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if not gameProcessed and input.KeyCode == Enum.KeyCode.RightControl then
MainFrame.Visible = not MainFrame.Visible
end
end)
-- [BLOCO 85: SISTEMA BASE - SPECTATE PLAYER (ASSISTIR)]
_G.SpectatePlayer = false
_G.SpectateTarget = ""
task.spawn(function()
while task.wait(0.5) do
if _G.SpectatePlayer and _G.SpectateTarget ~= "" then
pcall(function()
local target = Players:FindFirstChild(_G.SpectateTarget)
if target and target.Character and target.Character:FindFirstChild("Humanoid") then
workspace.CurrentCamera.CameraSubject = target.Character.Humanoid
end
end)
else
-- Retorna a câmera para o próprio jogador
pcall(function()
workspace.CurrentCamera.CameraSubject = LocalPlayer.Character.Humanoid
end)
end
end
end)
-- [BLOCO 86: SISTEMA BASE - AUTO RECONNECT (ANTI-QUEDA)]
_G.AutoReconnect = true
CoreGui.RobloxPromptGui.promptOverlay.ChildAdded:Connect(function(child)
if _G.AutoReconnect and child.Name == "ErrorPrompt" then
-- Se o jogo desconectar (erro 277, 268, etc), o script reconecta você no mesmo servidor
TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer)
end
end)
-- [BLOCO 87: SISTEMA BASE - CHAT TROLL (SPAMMER E TOXIC BOUNTY)]
_G.ChatSpammer = false
_G.SpamMessage = "Paçoca Hub dominando o servidor!"
local ReplicatedStorage = game:GetService("ReplicatedStorage")
task.spawn(function()
while task.wait(3) do
if _G.ChatSpammer then
pcall(function()
ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(_G.SpamMessage, "All")
end)
end
end
end)
-- [BLOCO 88: SISTEMA BASE - PERSONAGEM INVISÍVEL (GHOST MODE)]
_G.Invisible = false
task.spawn(function()
while task.wait(1) do
pcall(function()
if LocalPlayer.Character then
for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") or part:IsA("Decal") then
if _G.Invisible then
part.Transparency = 1
else
-- Retorna a visibilidade ao normal (não perfeito para todas as partes, mas funcional)
if part.Name ~= "HumanoidRootPart" then
part.Transparency = 0
end
end
end
end
-- Esconde o nome do jogador (Nametag)
local head = LocalPlayer.Character:FindFirstChild("Head")
if head and head:FindFirstChild("Nametag") then
head.Nametag.Visible = not _G.Invisible
end
end
end)
end
end)
-- [BLOCO 89: SISTEMA BASE - REMOVER ANIMAÇÕES (T-POSE)]
_G.RemoveAnimations = false
task.spawn(function()
while task.wait(1) do
pcall(function()
if LocalPlayer.Character then
local animate = LocalPlayer.Character:FindFirstChild("Animate")
if animate then
if _G.RemoveAnimations then
animate.Disabled = true
else
animate.Disabled = false
end
end
end
end)
end
end)
-- [BLOCO 90: LÓGICA DA INTERFACE - ANIMAÇÃO DE ABERTURA INICIAL]
-- Faz o menu surgir de forma suave quando o script é executado pela primeira vez
MainFrame.Position = UDim2.new(0.5, -250, 0.5, -200) -- Centralizado
MainFrame.Size = UDim2.new(0, 0, 0, 0)
MainFrame.BackgroundTransparency = 1
ContentContainer.Visible = false
TabContainer.Visible = false
-- A Mágica de Abertura
TweenService:Create(MainFrame, TweenInfo.new(0.6, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {Size = UDim2.new(0, 500, 0, 350)}):Play()
TweenService:Create(MainFrame, TweenInfo.new(0.4), {BackgroundTransparency = 0}):Play()
task.wait(0.5)
ContentContainer.Visible = true
TabContainer.Visible = true
-- =========================================================
-- PARTE 12: GRAND FINALE - WATERMARK, RGB, SKILLS E NOTIFICAÇÕES
-- =========================================================
local Stats = game:GetService("Stats")
-- [BLOCO 91: SISTEMA BASE - MARCA D'ÁGUA (WATERMARK)]
-- Cria um pequeno texto no topo da tela mostrando o nome do Hub, FPS e Ping
local Watermark = Instance.new("TextLabel")
Watermark.Name = "PacocaWatermark"
Watermark.Size = UDim2.new(0, 250, 0, 25)
Watermark.Position = UDim2.new(0, 10, 0, 10)
Watermark.BackgroundTransparency = 0.5
Watermark.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
Watermark.TextColor3 = Color3.fromRGB(255, 255, 255)
Watermark.Font = Enum.Font.Code
Watermark.TextSize = 14
Watermark.Text = " Paçoca Hub | FPS: 60 | Ping: 50ms"
Watermark.TextXAlignment = Enum.TextXAlignment.Left
Watermark.Parent = ScreenGui
local UICornerWM = Instance.new("UICorner")
UICornerWM.CornerRadius = UDim.new(0, 4)
UICornerWM.Parent = Watermark
-- [BLOCO 92: LÓGICA DA INTERFACE - ATUALIZAR FPS E PING]
local LastTick = tick()
local FrameCount = 0
RunService.RenderStepped:Connect(function()
FrameCount = FrameCount + 1
if tick() - LastTick >= 1 then
local ping = math.floor(Stats.Network.ServerStatsItem["Data Ping"]:GetValue())
Watermark.Text = " 🥜 Paçoca Hub | FPS: " .. FrameCount .. " | Ping: " .. ping .. "ms"
FrameCount = 0
LastTick = tick()
end
end)
-- [BLOCO 93: LÓGICA DA INTERFACE - RGB RAINBOW (TEMA GLOW)]
-- Faz a linha de baixo do título brilhar mudando de cor
local RainbowLine = Instance.new("Frame")
RainbowLine.Size = UDim2.new(1, 0, 0, 2)
RainbowLine.Position = UDim2.new(0, 0, 1, 0)
RainbowLine.BorderSizePixel = 0
RainbowLine.Parent = TitleBar
RunService.RenderStepped:Connect(function()
-- Usa matemática de tempo para gerar o espectro de cores RGB
RainbowLine.BackgroundColor3 = Color3.fromHSV(tick() % 5 / 5, 1, 1)
end)
-- [BLOCO 94: SISTEMA BASE - AUTO SKILLS (USAR ATAQUES Z, X, C, V)]
_G.AutoSkills = false
local VirtualInputManager = game:GetService("VirtualInputManager")
task.spawn(function()
while task.wait(2) do -- Dispara skills a cada 2 segundos para não bugar
if _G.AutoSkills and _G.AutoFarm then
pcall(function()
-- Simula o pressionamento das teclas das habilidades
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Z, false, game)
task.wait(0.1)
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.X, false, game)
task.wait(0.1)
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.C, false, game)
task.wait(0.1)
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.V, false, game)
end)
end
end
end)
-- [BLOCO 95: LIGANDO O AUTO SKILLS NA UI]
-- Adiciona um Toggle rápido na Aba de Combate
local combatTabFinal = tabContents[2]
CreateToggle(combatTabFinal, "Auto Usar Skills (Z, X, C, V)", function(val)
_G.AutoSkills = val
end)
-- [BLOCO 96: SISTEMA BASE - OTIMIZADOR DE MEMÓRIA (GARBAGE COLLECTOR)]
task.spawn(function()
while task.wait(60) do
-- A cada 60 segundos, limpa a memória não utilizada pelo Roblox para evitar crashes
pcall(function()
if _G.PotatoMode then
gcinfo() -- Força a leitura do Garbage Collector
end
end)
end
end)
-- [BLOCO 97: SISTEMA DE NOTIFICAÇÃO PERSONALIZADA DO HUB]
local function SendPacocaNotification(texto)
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "🥜 PAÇOCA HUB",
Text = texto,
Icon = "rbxassetid://6023426923", -- Ícone genérico de sucesso
Duration = 5
})
end
-- [BLOCO 98: SISTEMA BASE - PANIC BUTTON (KILL SWITCH)]
-- Destrói absolutamente tudo do script se você apertar a tecla "DELETE"
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if not gameProcessed and input.KeyCode == Enum.KeyCode.Delete then
pcall(function()
_G.AutoFarm = false
_G.AutoBounty = false
if CoreGui:FindFirstChild("PacocaHub") then
CoreGui.PacocaHub:Destroy()
end
SendPacocaNotification("Script encerrado de emergência!")
end)
end
end)
-- [BLOCO 99: INICIALIZAÇÃO - BEM-VINDO]
task.wait(1)
SendPacocaNotification("Carregamento concluído! Bem-vindo, " .. LocalPlayer.Name .. "!")
-- [BLOCO 100: MENSAGEM FINAL DE CONSOLE]
print("=========================================")
print("🥜 PAÇOCA HUB CARREGADO COM SUCESSO! 🥜")
print("=========================================")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment