Tt

--// PeexHub | Tap Simulator V0.1
--// FULL FIXED VERSION
--// GUI + ANIMATION + DRAG + MINIMIZE
--// SAFE EXECUTOR SCRIPT

--------------------------------------------------
-- SERVICES
--------------------------------------------------
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local guiParent = player:WaitForChild("PlayerGui")

--------------------------------------------------
-- CLEAN OLD GUI
--------------------------------------------------
pcall(function()
    guiParent.PeexHub:Destroy()
end)

--------------------------------------------------
-- SCREEN GUI
--------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "PeexHub"
gui.ResetOnSpawn = false
gui.Parent = guiParent

--------------------------------------------------
-- SPLASH ANIMATION
--------------------------------------------------
local splash = Instance.new("Frame", gui)
splash.Size = UDim2.fromOffset(260,160)
splash.Position = UDim2.fromScale(0.5,0.45)
splash.AnchorPoint = Vector2.new(0.5,0.5)
splash.BackgroundColor3 = Color3.fromRGB(15,18,28)

Instance.new("UICorner", splash).CornerRadius = UDim.new(0,18)

local splashLogo = Instance.new("ImageLabel", splash)
splashLogo.BackgroundTransparency = 1
splashLogo.Image = "rbxassetid://7229442422"
splashLogo.Size = UDim2.fromOffset(72,72)
splashLogo.Position = UDim2.fromScale(0.5,-0.3)
splashLogo.AnchorPoint = Vector2.new(0.5,0.5)

local splashText = Instance.new("TextLabel", splash)
splashText.BackgroundTransparency = 1
splashText.Text = "PeexHub"
splashText.Font = Enum.Font.GothamBlack
splashText.TextSize = 20
splashText.Position = UDim2.fromScale(0.5,0.75)
splashText.AnchorPoint = Vector2.new(0.5,0.5)
splashText.TextColor3 = Color3.new(1,1,1)

TweenService:Create(
    splashLogo,
    TweenInfo.new(0.9, Enum.EasingStyle.Bounce),
    {Position = UDim2.fromScale(0.5,0.35)}
):Play()

task.spawn(function()
    local h = 0
    while splashText.Parent do
        h = (h + 2) % 360
        splashText.TextColor3 = Color3.fromHSV(h/360,1,1)
        task.wait(0.05)
    end
end)

task.wait(1.6)
TweenService:Create(splash, TweenInfo.new(0.4), {BackgroundTransparency = 1}):Play()
TweenService:Create(splashLogo, TweenInfo.new(0.4), {ImageTransparency = 1}):Play()
TweenService:Create(splashText, TweenInfo.new(0.4), {TextTransparency = 1}):Play()
task.wait(0.45)
splash:Destroy()

--------------------------------------------------
-- MAIN WINDOW
--------------------------------------------------
local main = Instance.new("Frame", gui)
main.Size = UDim2.fromOffset(560,330)
main.Position = UDim2.fromScale(0.5,0.5)
main.AnchorPoint = Vector2.new(0.5,0.5)
main.BackgroundColor3 = Color3.fromRGB(20,24,36)
main.BorderSizePixel = 0

Instance.new("UICorner", main).CornerRadius = UDim.new(0,18)

-- RGB Stroke
local stroke = Instance.new("UIStroke", main)
stroke.Thickness = 2

task.spawn(function()
    local h=0
    while main.Parent do
        h=(h+1)%360
        stroke.Color = Color3.fromHSV(h/360,1,1)
        task.wait(0.04)
    end
end)

--------------------------------------------------
-- HEADER
--------------------------------------------------
local header = Instance.new("Frame", main)
header.Size = UDim2.new(1,0,0,42)
header.BackgroundTransparency = 1

local title = Instance.new("TextLabel", header)
title.Size = UDim2.new(1,-90,1,0)
title.Position = UDim2.fromOffset(14,0)
title.BackgroundTransparency = 1
title.Text = "PeexHub | TapSim V0.1"
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.TextColor3 = Color3.fromRGB(230,235,255)

--------------------------------------------------
-- DRAG (FIXED 100%)
--------------------------------------------------
do
    local dragging = false
    local dragStart, startPos

    header.InputBegan:Connect(function(i)
        if i.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            dragStart = i.Position
            startPos = main.Position
        end
    end)

    UIS.InputChanged:Connect(function(i)
        if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then
            local delta = i.Position - dragStart
            main.Position = UDim2.new(
                startPos.X.Scale, startPos.X.Offset + delta.X,
                startPos.Y.Scale, startPos.Y.Offset + delta.Y
            )
        end
    end)

    UIS.InputEnded:Connect(function(i)
        if i.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = false
        end
    end)
end

--------------------------------------------------
-- CLOSE & MINIMIZE
--------------------------------------------------
local function topBtn(text,x)
    local b = Instance.new("TextButton", header)
    b.Text = text
    b.Font = Enum.Font.GothamBold
    b.TextSize = 14
    b.Size = UDim2.fromOffset(28,28)
    b.Position = UDim2.fromOffset(x,7)
    b.BackgroundColor3 = Color3.fromRGB(45,50,75)
    b.TextColor3 = Color3.new(1,1,1)
    Instance.new("UICorner", b).CornerRadius = UDim.new(0,8)
    return b
end

local minBtn = topBtn("-", main.Size.X.Offset - 70)
local closeBtn = topBtn("X", main.Size.X.Offset - 36)

closeBtn.MouseButton1Click:Connect(function()
    gui:Destroy()
end)

--------------------------------------------------
-- MINIMIZE BUBBLE
--------------------------------------------------
local bubble = Instance.new("ImageButton", gui)
bubble.Image = "rbxassetid://7229442422"
bubble.Size = UDim2.fromOffset(56,56)
bubble.Position = UDim2.fromScale(0.5,0.85)
bubble.AnchorPoint = Vector2.new(0.5,0.5)
bubble.Visible = false
bubble.BackgroundColor3 = Color3.fromRGB(25,25,40)
Instance.new("UICorner", bubble).CornerRadius = UDim.new(1,0)

minBtn.MouseButton1Click:Connect(function()
    main.Visible = false
    bubble.Visible = true
end)

bubble.MouseButton1Click:Connect(function()
    bubble.Visible = false
    main.Visible = true
end)

--------------------------------------------------
-- LEFT MENU
--------------------------------------------------
local left = Instance.new("Frame", main)
left.Position = UDim2.fromOffset(12,50)
left.Size = UDim2.fromOffset(160,260)
left.BackgroundColor3 = Color3.fromRGB(30,35,55)
Instance.new("UICorner", left).CornerRadius = UDim.new(0,12)

--------------------------------------------------
-- RIGHT PANEL
--------------------------------------------------
local right = Instance.new("Frame", main)
right.Position = UDim2.fromOffset(184,50)
right.Size = UDim2.fromOffset(360,260)
right.BackgroundColor3 = Color3.fromRGB(35,40,65)
Instance.new("UICorner", right).CornerRadius = UDim.new(0,12)

--------------------------------------------------
-- BUTTON UTIL
--------------------------------------------------
local function makeBtn(parent,text,y)
    local b = Instance.new("TextButton", parent)
    b.Size = UDim2.new(1,-12,0,36)
    b.Position = UDim2.fromOffset(6,y)
    b.Text = text
    b.Font = Enum.Font.GothamBold
    b.TextSize = 13
    b.BackgroundColor3 = Color3.fromRGB(70,80,120)
    b.TextColor3 = Color3.new(1,1,1)
    Instance.new("UICorner", b).CornerRadius = UDim.new(0,10)
    return b
end

--------------------------------------------------
-- LEFT BUTTONS
--------------------------------------------------
local btnClick  = makeBtn(left,"Auto Click",8)
local btnIsland = makeBtn(left,"Teleport Island",52)
local btnEgg    = makeBtn(left,"Teleport Egg",96)

--------------------------------------------------
-- CLEAR RIGHT
--------------------------------------------------
local function clearRight()
    for _,v in ipairs(right:GetChildren()) do
        if v:IsA("GuiObject") then
            v:Destroy()
        end
    end
end

--------------------------------------------------
-- AUTO CLICK UI
--------------------------------------------------
btnClick.MouseButton1Click:Connect(function()
    clearRight()

    local info = Instance.new("TextLabel", right)
    info.Size = UDim2.new(1,0,0,40)
    info.BackgroundTransparency = 1
    info.Text = "Auto Click (Remote Needed)"
    info.Font = Enum.Font.GothamBold
    info.TextSize = 14
    info.TextColor3 = Color3.new(1,1,1)

    local note = Instance.new("TextLabel", right)
    note.Position = UDim2.fromOffset(10,50)
    note.Size = UDim2.new(1,-20,1,-60)
    note.BackgroundTransparency = 1
    note.TextWrapped = true
    note.Text = "Script UI sudah FIX & jalan.\n\nAuto click tinggal dihubungkan ke RemoteEvent click Tap Simulator yang kamu pakai."
    note.Font = Enum.Font.Gotham
    note.TextSize = 13
    note.TextColor3 = Color3.fromRGB(220,220,220)
end)

--------------------------------------------------
-- TELEPORT ISLAND
--------------------------------------------------
btnIsland.MouseButton1Click:Connect(function()
    clearRight()

    local list = Instance.new("ScrollingFrame", right)
    list.Size = UDim2.new(1,-10,1,-10)
    list.Position = UDim2.fromOffset(5,5)
    list.AutomaticCanvasSize = Enum.AutomaticSize.Y
    list.CanvasSize = UDim2.new(0,0,0,0)
    list.ScrollBarImageTransparency = 0.4
    list.BackgroundTransparency = 1

    local layout = Instance.new("UIListLayout", list)
    layout.Padding = UDim.new(0,6)

    for _,v in ipairs(workspace:GetDescendants()) do
        if v:IsA("Model") and v.Name:lower():find("island") then
            local b = makeBtn(list,v.Name,0)
            b.MouseButton1Click:Connect(function()
                if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                    player.Character.HumanoidRootPart.CFrame = v:GetPivot() + Vector3.new(0,5,0)
                end
            end)
        end
    end
end)

--------------------------------------------------
-- TELEPORT EGG
--------------------------------------------------
btnEgg.MouseButton1Click:Connect(function()
    clearRight()

    local list = Instance.new("ScrollingFrame", right)
    list.Size = UDim2.new(1,-10,1,-10)
    list.Position = UDim2.fromOffset(5,5)
    list.AutomaticCanvasSize = Enum.AutomaticSize.Y
    list.CanvasSize = UDim2.new(0,0,0,0)
    list.ScrollBarImageTransparency = 0.4
    list.BackgroundTransparency = 1

    local layout = Instance.new("UIListLayout", list)
    layout.Padding = UDim.new(0,6)

    for _,v in ipairs(workspace:GetDescendants()) do
        if v:IsA("Model") and v.Name:lower():find("egg") then
            local b = makeBtn(list,v.Name,0)
            b.MouseButton1Click:Connect(function()
                if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                    player.Character.HumanoidRootPart.CFrame = v:GetPivot() + Vector3.new(0,5,0)
                end
            end)
        end
    end
end)

Views: 65

Created At: 2025-12-29 11:15:45

View Raw Download Clone