Tt
--// PeexHub | TapSim Helper v0.1
--// AUTOMATION UI (NO BYPASS) | CLIENT ONLY | SAFE
--// Features: Auto Click (input), Teleport Island/Egg (scan parts), Auto Golden Craft (UI automation),
--// Auto Rebirth (UI automation), Search, Modern UI, Drag/Minimize/Close
--==================== SERVICES ====================
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "PeexHub_TapSim"
gui.ResetOnSpawn = false
--==================== UTIL ====================
local function corner(o,r) local c=Instance.new("UICorner",o); c.CornerRadius=UDim.new(0,r) end
local function tween(o,t,p) TweenService:Create(o,TweenInfo.new(t,Enum.EasingStyle.Quint,Enum.EasingDirection.Out),p):Play() end
local function rgbStroke(frame)
local s=Instance.new("UIStroke",frame); s.Thickness=2
task.spawn(function()
local h=0
while frame.Parent do h=(h+1)%360; s.Color=Color3.fromHSV(h/360,1,1); task.wait(0.04) end
end)
end
local function safeClick(btn)
if btn and btn:IsA("GuiButton") and btn.Visible then
btn:Activate()
-- fallback virtual click
local abs=btn.AbsolutePosition+btn.AbsoluteSize/2
VirtualInputManager:SendMouseButtonEvent(abs.X,abs.Y,0,true,game,0)
VirtualInputManager:SendMouseButtonEvent(abs.X,abs.Y,0,false,game,0)
return true
end
end
--==================== SPLASH ====================
local splash=Instance.new("Frame",gui)
splash.Size=UDim2.fromOffset(260,150)
splash.Position=UDim2.fromScale(0.5,0.45)
splash.AnchorPoint=Vector2.new(0.5,0.5)
splash.BackgroundColor3=Color3.fromRGB(15,18,26)
corner(splash,18)
local logo=Instance.new("ImageLabel",splash)
logo.Image="rbxassetid://7229442422"
logo.Size=UDim2.fromOffset(64,64)
logo.Position=UDim2.fromScale(0.5,-0.4)
logo.AnchorPoint=Vector2.new(0.5,0.5)
logo.BackgroundTransparency=1
local st=Instance.new("TextLabel",splash)
st.Text="PeexHub"
st.Font=Enum.Font.GothamBlack
st.TextSize=18
st.Position=UDim2.fromScale(0.5,0.75)
st.AnchorPoint=Vector2.new(0.5,0.5)
st.BackgroundTransparency=1
TweenService:Create(logo,TweenInfo.new(0.9,Enum.EasingStyle.Bounce),{Position=UDim2.fromScale(0.5,0.35)}):Play()
task.spawn(function() local h=0 while splash.Parent do h=(h+2)%360; st.TextColor3=Color3.fromHSV(h/360,1,1); task.wait(0.04) end end)
task.wait(1.2)
tween(splash,0.4,{BackgroundTransparency=1})
tween(logo,0.4,{ImageTransparency=1})
tween(st,0.4,{TextTransparency=1})
task.wait(0.4)
splash:Destroy()
--==================== MAIN ====================
local main=Instance.new("Frame",gui)
main.Size=UDim2.fromOffset(540,320)
main.Position=UDim2.fromScale(0.5,0.5)
main.AnchorPoint=Vector2.new(0.5,0.5)
main.BackgroundColor3=Color3.fromRGB(18,22,30)
main.BorderSizePixel=0
corner(main,18)
rgbStroke(main)
-- 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.Text="PeexHub | TapSim v0.1"
title.Font=Enum.Font.GothamBlack
title.TextSize=18
title.Position=UDim2.fromOffset(14,0)
title.Size=UDim2.new(1,-120,1,0)
title.BackgroundTransparency=1
task.spawn(function() local h=0 while title.Parent do h=(h+2)%360; title.TextColor3=Color3.fromHSV(h/360,1,1); task.wait(0.05) end end)
local function topBtn(txt,x)
local b=Instance.new("TextButton",header)
b.Text=txt; b.Font=Enum.Font.GothamBold; b.TextSize=14
b.Size=UDim2.fromOffset(28,28); b.Position=UDim2.fromOffset(x,7)
b.BackgroundColor3=Color3.fromRGB(40,45,60); b.TextColor3=Color3.new(1,1,1)
corner(b,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)
-- DRAG (mouse + touch)
do
local dragging=false; local dragStart,startPos
local function start(i) dragging=true; dragStart=i.Position; startPos=main.Position end
local function move(i) if dragging then local d=i.Position-dragStart
main.Position=UDim2.new(startPos.X.Scale,startPos.X.Offset+d.X,startPos.Y.Scale,startPos.Y.Offset+d.Y) end end
header.InputBegan:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1 or i.UserInputType==Enum.UserInputType.Touch then start(i) end
end)
UIS.InputChanged:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseMovement or i.UserInputType==Enum.UserInputType.Touch then move(i) end
end)
UIS.InputEnded:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1 or i.UserInputType==Enum.UserInputType.Touch then dragging=false end
end)
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.82)
bubble.AnchorPoint=Vector2.new(0.5,0.5)
bubble.Visible=false
bubble.BackgroundColor3=Color3.fromRGB(20,20,30)
corner(bubble,28)
minBtn.MouseButton1Click:Connect(function() main.Visible=false; bubble.Visible=true end)
bubble.MouseButton1Click:Connect(function() bubble.Visible=false; main.Visible=true end)
--==================== CONTENT ====================
local content=Instance.new("Frame",main)
content.Position=UDim2.fromOffset(12,46)
content.Size=UDim2.new(1,-24,1,-58)
content.BackgroundTransparency=1
-- LEFT MENU
local menu=Instance.new("UIListLayout",content); menu.FillDirection=Enum.FillDirection.Horizontal; menu.Padding=UDim.new(0,10)
local left=Instance.new("Frame",content)
left.Size=UDim2.new(0,150,1,0); left.BackgroundColor3=Color3.fromRGB(24,28,38); corner(left,14)
local right=Instance.new("Frame",content)
right.Size=UDim2.new(1,-160,1,0); right.BackgroundColor3=Color3.fromRGB(24,28,38); corner(right,14)
local llist=Instance.new("UIListLayout",left); llist.Padding=UDim.new(0,8)
llist.HorizontalAlignment=Enum.HorizontalAlignment.Center; llist.VerticalAlignment=Enum.VerticalAlignment.Top
local rstack=Instance.new("UIListLayout",right); rstack.Padding=UDim.new(0,10)
local function menuBtn(txt)
local b=Instance.new("TextButton",left)
b.Text=txt; b.Font=Enum.Font.GothamBold; b.TextSize=14
b.Size=UDim2.new(1,-16,0,36); b.BackgroundColor3=Color3.fromRGB(40,45,60)
b.TextColor3=Color3.new(1,1,1); corner(b,10)
return b
end
local btnAutoClick=menuBtn("Auto Click")
local btnIsland=menuBtn("Teleport Island")
local btnEgg=menuBtn("Teleport Egg")
local btnGolden=menuBtn("Auto Golden")
local btnRebirth=menuBtn("Auto Rebirth")
--==================== RIGHT PANELS ====================
local panels={}
local function showPanel(p)
for _,v in pairs(panels) do v.Visible=false end
p.Visible=true
end
local function panel(titleText)
local p=Instance.new("Frame",right)
p.Size=UDim2.new(1,-20,1,-20); p.Position=UDim2.fromOffset(10,10)
p.BackgroundTransparency=1; p.Visible=false
local t=Instance.new("TextLabel",p)
t.Text=titleText; t.Font=Enum.Font.GothamBold; t.TextSize=16
t.TextColor3=Color3.fromRGB(220,230,255); t.BackgroundTransparency=1
t.Size=UDim2.new(1,0,0,24)
local body=Instance.new("Frame",p)
body.Position=UDim2.fromOffset(0,28); body.Size=UDim2.new(1,0,1,-28)
body.BackgroundTransparency=1
panels[#panels+1]=p
return p, body
end
--==================== AUTO CLICK ====================
local pAC, bAC = panel("Auto Click (Input)")
local acToggle=Instance.new("TextButton",bAC)
acToggle.Text="OFF"; acToggle.Size=UDim2.fromOffset(120,36)
acToggle.BackgroundColor3=Color3.fromRGB(120,60,60); acToggle.TextColor3=Color3.new(1,1,1); corner(acToggle,10)
local acSpeed=Instance.new("TextBox",bAC)
acSpeed.PlaceholderText="Delay (ms) ex: 50"; acSpeed.Text="50"
acSpeed.Position=UDim2.fromOffset(0,46); acSpeed.Size=UDim2.fromOffset(180,32)
acSpeed.BackgroundColor3=Color3.fromRGB(40,45,60); acSpeed.TextColor3=Color3.new(1,1,1); corner(acSpeed,8)
local acOn=false
acToggle.MouseButton1Click:Connect(function()
acOn=not acOn
acToggle.Text=acOn and "ON" or "OFF"
acToggle.BackgroundColor3=acOn and Color3.fromRGB(60,140,80) or Color3.fromRGB(120,60,60)
end)
task.spawn(function()
while gui.Parent do
if acOn then
local d=tonumber(acSpeed.Text) or 50
-- simulate tap anywhere (no remote)
VirtualInputManager:SendMouseButtonEvent(10,10,0,true,game,0)
VirtualInputManager:SendMouseButtonEvent(10,10,0,false,game,0)
task.wait(math.clamp(d,10,500)/1000)
else task.wait(0.1) end
end
end)
--==================== TELEPORT ISLAND ====================
local pIS, bIS = panel("Teleport Island")
local searchIS=Instance.new("TextBox",bIS)
searchIS.PlaceholderText="Search Island..."
searchIS.Size=UDim2.fromOffset(220,32)
searchIS.BackgroundColor3=Color3.fromRGB(40,45,60); searchIS.TextColor3=Color3.new(1,1,1); corner(searchIS,8)
local listIS=Instance.new("ScrollingFrame",bIS)
listIS.Position=UDim2.fromOffset(0,40); listIS.Size=UDim2.new(1,0,1,-40)
listIS.AutomaticCanvasSize=Enum.AutomaticSize.Y; listIS.BackgroundTransparency=1
local isLayout=Instance.new("UIListLayout",listIS); isLayout.Padding=UDim.new(0,8)
local function scanIslands()
listIS:ClearAllChildren(); isLayout.Parent=listIS
for _,p in ipairs(workspace:GetDescendants()) do
if p:IsA("BasePart") and p.Name:lower():find("island") then
local b=Instance.new("TextButton",listIS)
b.Text=p.Name; b.Size=UDim2.new(1,-12,0,34)
b.BackgroundColor3=Color3.fromRGB(40,45,60); b.TextColor3=Color3.new(1,1,1); corner(b,10)
b.MouseButton1Click:Connect(function()
local hrp=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if hrp then hrp.CFrame=p.CFrame*CFrame.new(0,5,6) end -- maju dikit
end)
end
end
end
scanIslands()
searchIS:GetPropertyChangedSignal("Text"):Connect(function()
for _,c in ipairs(listIS:GetChildren()) do
if c:IsA("TextButton") then
c.Visible=c.Text:lower():find(searchIS.Text:lower())~=nil
end
end
end)
--==================== TELEPORT EGG ====================
local pEG, bEG = panel("Teleport Egg")
local searchEG=Instance.new("TextBox",bEG)
searchEG.PlaceholderText="Search Egg..."
searchEG.Size=UDim2.fromOffset(220,32)
searchEG.BackgroundColor3=Color3.fromRGB(40,45,60); searchEG.TextColor3=Color3.new(1,1,1); corner(searchEG,8)
local listEG=Instance.new("ScrollingFrame",bEG)
listEG.Position=UDim2.fromOffset(0,40); listEG.Size=UDim2.new(1,0,1,-40)
listEG.AutomaticCanvasSize=Enum.AutomaticSize.Y; listEG.BackgroundTransparency=1
local egLayout=Instance.new("UIListLayout",listEG); egLayout.Padding=UDim.new(0,8)
local function scanEggs()
listEG:ClearAllChildren(); egLayout.Parent=listEG
for _,p in ipairs(workspace:GetDescendants()) do
if p:IsA("BasePart") and p.Name:lower():find("egg") then
local b=Instance.new("TextButton",listEG)
b.Text=p.Name; b.Size=UDim2.new(1,-12,0,34)
b.BackgroundColor3=Color3.fromRGB(40,45,60); b.TextColor3=Color3.new(1,1,1); corner(b,10)
b.MouseButton1Click:Connect(function()
local hrp=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if hrp then hrp.CFrame=p.CFrame*CFrame.new(0,3,6) end
end)
end
end
end
scanEggs()
searchEG:GetPropertyChangedSignal("Text"):Connect(function()
for _,c in ipairs(listEG:GetChildren()) do
if c:IsA("TextButton") then
c.Visible=c.Text:lower():find(searchEG.Text:lower())~=nil
end
end
end)
--==================== AUTO GOLDEN (UI AUTOMATION) ====================
local pGD, bGD = panel("Auto Golden (UI)")
local info=Instance.new("TextLabel",bGD)
info.Text="Buka Golden Machine, script akan klik UI.\nJika ga punya pet/gamepass → server nolak (aman)."
info.Size=UDim2.new(1,0,0,40); info.BackgroundTransparency=1
info.TextColor3=Color3.fromRGB(200,210,230); info.Font=Enum.Font.Gotham; info.TextSize=12
local gStart=Instance.new("TextButton",bGD)
gStart.Text="START"; gStart.Position=UDim2.fromOffset(0,46); gStart.Size=UDim2.fromOffset(120,36)
gStart.BackgroundColor3=Color3.fromRGB(80,120,255); gStart.TextColor3=Color3.new(1,1,1); corner(gStart,10)
gStart.MouseButton1Click:Connect(function()
-- try find Golden Machine UI buttons and click
for _,ui in ipairs(player.PlayerGui:GetDescendants()) do
if ui:IsA("TextButton") and ui.Text and ui.Text:lower():find("craft") then
safeClick(ui)
end
end
end)
--==================== AUTO REBIRTH (UI AUTOMATION) ====================
local pRB, bRB = panel("Auto Rebirth (UI)")
local rbToggle=Instance.new("TextButton",bRB)
rbToggle.Text="OFF"; rbToggle.Size=UDim2.fromOffset(120,36)
rbToggle.BackgroundColor3=Color3.fromRGB(120,60,60); rbToggle.TextColor3=Color3.new(1,1,1); corner(rbToggle,10)
local rbOn=false
rbToggle.MouseButton1Click:Connect(function()
rbOn=not rbOn
rbToggle.Text=rbOn and "ON" or "OFF"
rbToggle.BackgroundColor3=rbOn and Color3.fromRGB(60,140,80) or Color3.fromRGB(120,60,60)
end)
task.spawn(function()
while gui.Parent do
if rbOn then
for _,ui in ipairs(player.PlayerGui:GetDescendants()) do
if ui:IsA("TextButton") and ui.Text and ui.Text:lower():find("rebirth") then
safeClick(ui)
end
end
task.wait(1)
else task.wait(0.2) end
end
end)
--==================== MENU WIRING ====================
btnAutoClick.MouseButton1Click:Connect(function() showPanel(pAC) end)
btnIsland.MouseButton1Click:Connect(function() showPanel(pIS) end)
btnEgg.MouseButton1Click:Connect(function() showPanel(pEG) end)
btnGolden.MouseButton1Click:Connect(function() showPanel(pGD) end)
btnRebirth.MouseButton1Click:Connect(function() showPanel(pRB) end)
showPanel(pAC)
Views: 70
Created At: 2025-12-29 11:47:54
Copy the code below to embed this paste: