--// 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)