local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local player = Players.LocalPlayer -- 30 clés valides (toutes marchent) local valid_keys = { "XpQvT7kR9mW3zL8fJ2hY", "BcN4sD6gH8jK0pM2rT5vX", "FwL9eZ1qA3tY5uI7oP9rS", "MjV2nR4kT6hB8cD0fG2lW", "QxP8mK0zL2jY4tR6uI9vA", "HtG5bN7sD9fJ1kM3pQ6rT", "ZcW3vL8eR0qA2tY4uI7oP", "KfM1jH4nT6bD8cG0sR2vX", "YpQ9zL2kR5jT7uI0oP3mA", "NwB6fG8hJ0kM2pQ4rT7vS", "LrT3cD5gH9jK1mP4sV6xZ", "E8qA0tY2uI5oP7rS9vW1b", "JfK6nM8cD0gH2jL4tR7yU", "VzL9pQ1kR3jT5uI8oP0mA", "SxB4wF6hJ9kM2pQ5rT8vC", "DgN7eR0tY3uI6oP9sV2bK", "MhJ1cD4gH8kL0mP3qT6xZ", "TqA5zL9rT2uI7oP0vW4bF", "RkM8nJ0cD3gH6kL9pQ2yU", "PxF2wB5hJ7kM1pQ4rT8vS", "YvG0eR3tY6uI9oP2sV5bK", "NlT4cD8gH1jK5mP7qT0xZ", "QbA9zL2rT6uI0oP3vW7bF", "JmK3nJ7cD0gH4kL8pQ1yU", "WxP6wB9hJ2kM5pQ8rT3vS", "FgN1eR4tY7uI0oP3sV6bK", "HkJ5cD9gH2jK6mP9qT2xZ", "TzL8pQ1rT5uI9oP2vW6bF", "RmK0nJ4cD8gH1kL5pQ9yU", "VxB3wF7hJ0kM4pQ7rT1vS" } -- ──────────────────────────────────────────────── -- Système de clé -- ──────────────────────────────────────────────── if CoreGui:FindFirstChild("NovaXKeyGui") then CoreGui["NovaXKeyGui"]:Destroy() end local keyGui = Instance.new("ScreenGui") keyGui.Name = "NovaXKeyGui" keyGui.ResetOnSpawn = false keyGui.Parent = CoreGui local keyFrame = Instance.new("Frame") keyFrame.Size = UDim2.new(0, 300, 0, 180) keyFrame.Position = UDim2.new(0.5, -150, 0.5, -90) keyFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) keyFrame.BackgroundTransparency = 0.35 keyFrame.BorderSizePixel = 0 keyFrame.Parent = keyGui local keyCorner = Instance.new("UICorner", keyFrame) keyCorner.CornerRadius = UDim.new(0, 14) local keyStroke = Instance.new("UIStroke") keyStroke.Thickness = 2.2 keyStroke.Color = Color3.fromRGB(200, 0, 0) keyStroke.Transparency = 0.2 keyStroke.Parent = keyFrame local keyTitle = Instance.new("TextLabel") keyTitle.Size = UDim2.new(1, 0, 0, 45) keyTitle.BackgroundTransparency = 1 keyTitle.Text = "NovaXHub - Key System" keyTitle.TextColor3 = Color3.fromRGB(220, 0, 0) keyTitle.TextSize = 20 keyTitle.Font = Enum.Font.GothamBlack keyTitle.Parent = keyFrame local keyInput = Instance.new("TextBox") keyInput.Size = UDim2.new(0.82, 0, 0, 38) keyInput.Position = UDim2.new(0.09, 0, 0.32, 0) keyInput.BackgroundColor3 = Color3.fromRGB(25, 25, 25) keyInput.TextColor3 = Color3.fromRGB(255, 255, 255) keyInput.PlaceholderText = "Enter Key..." keyInput.Text = "" keyInput.Font = Enum.Font.GothamSemibold keyInput.TextSize = 15 keyInput.ClearTextOnFocus = false keyInput.Parent = keyFrame Instance.new("UICorner", keyInput).CornerRadius = UDim.new(0, 8) local submitButton = Instance.new("TextButton") submitButton.Size = UDim2.new(0.82, 0, 0, 45) submitButton.Position = UDim2.new(0.09, 0, 0.58, 0) submitButton.BackgroundColor3 = Color3.fromRGB(200, 0, 0) submitButton.TextColor3 = Color3.fromRGB(255, 255, 255) submitButton.Text = "VERIFY KEY" submitButton.Font = Enum.Font.GothamBold submitButton.TextSize = 16 submitButton.Parent = keyFrame Instance.new("UICorner", submitButton).CornerRadius = UDim.new(0, 9) local infoLabel = Instance.new("TextLabel") infoLabel.Size = UDim2.new(1, 0, 0, 25) infoLabel.Position = UDim2.new(0, 0, 1, -30) infoLabel.BackgroundTransparency = 1 infoLabel.Text = "To get the key, contact us: discord.gg/3FrkC9AVw" infoLabel.TextColor3 = Color3.fromRGB(200, 200, 200) infoLabel.TextSize = 11 infoLabel.Font = Enum.Font.GothamMedium infoLabel.TextXAlignment = Enum.TextXAlignment.Center infoLabel.Parent = keyFrame local errorLabel = Instance.new("TextLabel") errorLabel.Size = UDim2.new(0.9, 0, 0, 25) errorLabel.Position = UDim2.new(0.05, 0, 0.82, 0) errorLabel.BackgroundTransparency = 1 errorLabel.Text = "" errorLabel.TextColor3 = Color3.fromRGB(255, 100, 100) errorLabel.TextSize = 13 errorLabel.Font = Enum.Font.GothamSemibold errorLabel.TextXAlignment = Enum.TextXAlignment.Center errorLabel.Visible = false errorLabel.Parent = keyFrame -- Vérification de la clé local function verifyKey() local entered = keyInput.Text for _, key in ipairs(valid_keys) do if entered == key then keyGui:Destroy() -- HUB PRINCIPAL local pos1 = Vector3.new(-352.98, -7, 74.30) local pos2 = Vector3.new(-352.98, -6.49, 45.76) local spot1_sequence = { CFrame.new(-370.810913, -7.00000334, 41.2687263, 0.99984771, 1.22364419e-09, 0.0174523517, -6.54859778e-10, 1, -3.2596418e-08, -0.0174523517, 3.25800258e-08, 0.99984771), CFrame.new(-336.355286, -5.10107088, 17.2327671, -0.999883354, -2.76150569e-08, 0.0152716246, -2.88224964e-08, 1, -7.88441525e-08, -0.0152716246, -7.9275118e-08, -0.999883354) } local spot2_sequence = { CFrame.new(-354.782867, -7.00000334, 92.8209305, -0.999997616, -1.11891862e-09, -0.00218066527, -1.11958298e-09, 1, 3.03415071e-10, 0.00218066527, 3.05855785e-10, -0.999997616), CFrame.new(-336.942902, -5.10106993, 99.3276443, 0.999914348, -3.63984611e-08, 0.0130875716, 3.67094941e-08, 1, -2.35254749e-08, -0.0130875716, 2.40038975e-08, 0.999914348) } if CoreGui:FindFirstChild("NovaXHubGui") then CoreGui["NovaXHubGui"]:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "NovaXHubGui" screenGui.ResetOnSpawn = false screenGui.Parent = CoreGui local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 182, 0, 140) mainFrame.Position = UDim2.new(1, -197, 0.5, -70) mainFrame.AnchorPoint = Vector2.new(0, 0.5) mainFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) mainFrame.BackgroundTransparency = 0.45 mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Parent = screenGui local corner = Instance.new("UICorner", mainFrame) corner.CornerRadius = UDim.new(0, 9) local borderStroke = Instance.new("UIStroke") borderStroke.Thickness = 2.5 borderStroke.Color = Color3.fromRGB(200, 0, 0) borderStroke.Transparency = 0.15 borderStroke.Parent = mainFrame local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 26) title.Position = UDim2.new(0, 0, 0, 4) title.BackgroundTransparency = 1 title.Text = "NovaXHub SEMI TP V1" title.TextColor3 = Color3.fromRGB(200, 0, 0) title.TextSize = 14 title.Font = Enum.Font.GothamBlack title.TextStrokeTransparency = 0.4 title.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) title.Parent = mainFrame local creator = Instance.new("TextLabel") creator.Size = UDim2.new(1, 0, 0, 16) creator.Position = UDim2.new(0, 0, 1, -4) creator.AnchorPoint = Vector2.new(0, 1) creator.BackgroundTransparency = 1 creator.Text = "Made by NovaX • discord.gg/3FrkC9AVw" creator.TextColor3 = Color3.fromRGB(220, 220, 220) creator.TextSize = 9.5 creator.Font = Enum.Font.GothamBold creator.TextXAlignment = Enum.TextXAlignment.Center creator.TextStrokeTransparency = 0.7 creator.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) creator.Parent = mainFrame local antiStealButton = Instance.new("TextButton") antiStealButton.Size = UDim2.new(0.9, 0, 0, 26) antiStealButton.Position = UDim2.new(0.05, 0, 0, 38) antiStealButton.Text = "Auto tp Left" antiStealButton.Font = Enum.Font.GothamBold antiStealButton.TextSize = 10 antiStealButton.BackgroundColor3 = Color3.fromRGB(25, 25, 25) antiStealButton.TextColor3 = Color3.fromRGB(255, 255, 255) antiStealButton.Parent = mainFrame Instance.new("UICorner", antiStealButton).CornerRadius = UDim.new(0, 5) local aStroke = Instance.new("UIStroke", antiStealButton) aStroke.Color = Color3.fromRGB(200, 0, 0) aStroke.Thickness = 1.5 local autoTpRightButton = Instance.new("TextButton") autoTpRightButton.Size = UDim2.new(0.9, 0, 0, 26) autoTpRightButton.Position = UDim2.new(0.05, 0, 0, 70) autoTpRightButton.Text = "Auto tp Right" autoTpRightButton.Font = Enum.Font.GothamBold autoTpRightButton.TextSize = 10 autoTpRightButton.BackgroundColor3 = Color3.fromRGB(25, 25, 25) autoTpRightButton.TextColor3 = Color3.fromRGB(255, 255, 255) autoTpRightButton.Parent = mainFrame Instance.new("UICorner", autoTpRightButton).CornerRadius = UDim.new(0, 5) local rStroke = Instance.new("UIStroke", autoTpRightButton) rStroke.Color = Color3.fromRGB(200, 0, 0) rStroke.Thickness = 1.5 local bar = Instance.new("Frame") bar.Size = UDim2.new(0.88, 0, 0, 12) bar.Position = UDim2.new(0.06, 0, 1, -28) bar.BackgroundColor3 = Color3.fromRGB(20, 20, 20) bar.Parent = mainFrame Instance.new("UICorner", bar).CornerRadius = UDim.new(1, 0) local fill = Instance.new("Frame") fill.BackgroundColor3 = Color3.fromRGB(200, 0, 0) fill.Size = UDim2.new(0,0,1,0) fill.Parent = bar Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0) -- Drag local dragging, dragStart, startPos mainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) -- Logique steal local allAnimalsCache = {} local InternalStealCache = {} local IsStealing = false local StealProgress = 0 local function getHRP() local char = player.Character return char and (char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("UpperTorso")) end local function isMyBase(plotName) local plot = workspace.Plots:FindFirstChild(plotName) return plot and plot:FindFirstChild("PlotSign") and plot.PlotSign:FindFirstChild("YourBase") and plot.PlotSign.YourBase.Enabled end local function scan() table.clear(allAnimalsCache) for _, p in ipairs(workspace.Plots:GetChildren()) do if not isMyBase(p.Name) and p:FindFirstChild("AnimalPodiums") then for _, pod in ipairs(p.AnimalPodiums:GetChildren()) do if pod:FindFirstChild("Base") then table.insert(allAnimalsCache, { plot = p.Name, slot = pod.Name, worldPosition = pod:GetPivot().Position, uid = p.Name.."_"..pod.Name }) end end end end end task.spawn(function() while task.wait(5) do scan() end end) scan() local function buildSteal(prompt) if InternalStealCache[prompt] then return end local d = {hold={}, trig={}, ready=true} local ok1, c1 = pcall(getconnections, prompt.PromptButtonHoldBegan) if ok1 then for _, c in ipairs(c1) do table.insert(d.hold, c.Function) end end local ok2, c2 = pcall(getconnections, prompt.Triggered) if ok2 then for _, c in ipairs(c2) do table.insert(d.trig, c.Function) end end InternalStealCache[prompt] = d end local function execSteal(prompt, seq) buildSteal(prompt) local d = InternalStealCache[prompt] if not d or not d.ready or IsStealing then return end d.ready = false IsStealing = true StealProgress = 0 local tpDone = false task.spawn(function() for _, f in ipairs(d.hold) do task.spawn(f) end local s = tick() while tick()-s < 1.3 do StealProgress = (tick()-s)/1.3 if StealProgress >= 0.73 and not tpDone then tpDone = true local hrp = getHRP() if hrp then local b = player:FindFirstChild("Backpack") if b and b:FindFirstChild("Flying Carpet") then player.Character.Humanoid:EquipTool(b["Flying Carpet"]) task.wait(0.1) end hrp.CFrame = seq[1] task.wait(0.1) hrp.CFrame = seq[2] task.wait(0.2) local d1 = (hrp.Position-pos1).Magnitude local d2 = (hrp.Position-pos2).Magnitude hrp.CFrame = CFrame.new(d1