-- CANAV16 HUB: UPDATED KEY SYSTEM local p = game:GetService("Players").LocalPlayer local pg = p:WaitForChild("PlayerGui") local Camera = workspace.CurrentCamera local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local UIS = game:GetService("UserInputService") if pg:FindFirstChild("CanavCustom") then pg.CanavCustom:Destroy() end local sg = Instance.new("ScreenGui", pg) sg.Name = "CanavCustom"; sg.ResetOnSpawn = false; sg.DisplayOrder = 999 local cfg = {aim = false, esp = false, night = false, ok = false, fov = 70} local startTime, sessionLimit = tick(), 14400 -- 4 Hours (14400 seconds) local isPaid = false -- PHONK RADIO CONFIG local phonks = {["BOUNDLESS"] = 134178255757517, ["OASIS"] = 120569165858495, ["PHONK.exe"] = 97192334657561} local songList = {"BOUNDLESS", "OASIS", "PHONK.exe"} local curIdx, curSound = 1, Instance.new("Sound", Camera); curSound.Volume = 2 ---------------------------------------------------------------- -- 1. NOTIFICATIONS ---------------------------------------------------------------- local function topNotif(msg) local nf = Instance.new("Frame", sg) nf.Size = UDim2.new(0, 320, 0, 45); nf.Position = UDim2.new(0.5, -160, 0, -60) nf.BackgroundColor3 = Color3.fromRGB(20, 0, 0); Instance.new("UICorner", nf); Instance.new("UIStroke", nf).Color = Color3.new(1,0,0) local t = Instance.new("TextLabel", nf); t.Size = UDim2.new(0.9, 0, 0.8, 0); t.Position = UDim2.new(0.05, 0, 0.1, 0) t.Text = msg; t.TextColor3 = Color3.new(1,1,1); t.Font = Enum.Font.GothamBold; t.TextScaled = true; t.BackgroundTransparency = 1 nf:TweenPosition(UDim2.new(0.5, -160, 0, 40), "Out", "Back", 0.5) task.delay(4, function() nf:TweenPosition(UDim2.new(0.5, -160, 0, -60), "In", "Quad", 0.5); task.wait(0.6); nf:Destroy() end) end ---------------------------------------------------------------- -- 2. MAIN HUB & RADIO ---------------------------------------------------------------- local main = Instance.new("Frame", sg) main.Size = UDim2.new(0, 280, 0, 450); main.Position = UDim2.new(0.5, -140, 0.5, -225); main.BackgroundColor3 = Color3.fromRGB(15, 15, 15); main.Visible = false Instance.new("UICorner", main); Instance.new("UIStroke", main).Color = Color3.new(1,0,0) local title = Instance.new("TextLabel", main); title.Size = UDim2.new(1, 0, 0, 45); title.Text = "★ CANAV16 HUB ★"; title.TextColor3 = Color3.new(1,0,0); title.Font = Enum.Font.LuckiestGuy; title.TextSize = 24; title.BackgroundTransparency = 1 local container = Instance.new("ScrollingFrame", main) container.Size = UDim2.new(1, 0, 0.55, 0); container.Position = UDim2.new(0, 0, 0.12, 0); container.BackgroundTransparency = 1; container.CanvasSize = UDim2.new(0,0,1.3,0); container.ScrollBarThickness = 0 Instance.new("UIListLayout", container).HorizontalAlignment = Enum.HorizontalAlignment.Center; Instance.new("UIListLayout", container).Padding = UDim.new(0,10) -- iPAD VIEW SLIDER local sBox = Instance.new("Frame", container); sBox.Size = UDim2.new(0.9, 0, 0, 50); sBox.BackgroundTransparency = 1 local fl = Instance.new("TextLabel", sBox); fl.Size = UDim2.new(1,0,0,20); fl.Text = "iPad View: 70"; fl.TextColor3 = Color3.new(1,1,1); fl.BackgroundTransparency = 1 local sf = Instance.new("Frame", sBox); sf.Size = UDim2.new(0.9,0,0,6); sf.Position = UDim2.new(0.05,0,0.6,0); sf.BackgroundColor3 = Color3.fromRGB(40,40,40); Instance.new("UICorner", sf) local sb = Instance.new("TextButton", sf); sb.Size = UDim2.new(0,18,0,18); sb.Position = UDim2.new(0,0,0.5,-9); sb.Text = ""; sb.BackgroundColor3 = Color3.new(1,0,0); Instance.new("UICorner", sb) local drag = false sb.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.Touch or i.UserInputType == Enum.UserInputType.MouseButton1 then drag = true end end) UIS.InputEnded:Connect(function() drag = false end) UIS.InputChanged:Connect(function(i) if drag and (i.UserInputType == Enum.UserInputType.Touch or i.UserInputType == Enum.UserInputType.MouseMovement) then local pct = math.clamp((i.Position.X - sf.AbsolutePosition.X) / sf.AbsoluteSize.X, 0, 1) sb.Position = UDim2.new(pct, -9, 0.5, -9) cfg.fov = 70 + (pct * 50); fl.Text = "iPad View: "..math.floor(cfg.fov) if cfg.ok then Camera.FieldOfView = cfg.fov end end end) local function addBtn(name, key, fn) local b = Instance.new("TextButton", container); b.Size = UDim2.new(0.9, 0, 0, 40); b.Text = name..": OFF"; b.BackgroundColor3 = Color3.fromRGB(30,30,30); b.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", b) b.MouseButton1Click:Connect(function() cfg[key] = not cfg[key]; b.Text = name..": "..(cfg[key] and "ON" or "OFF") b.BackgroundColor3 = cfg[key] and Color3.fromRGB(180,0,0) or Color3.fromRGB(30,30,30) if fn then fn() end end) end addBtn("Aimbot (Closest)", "aim") addBtn("RGB Body ESP", "esp") addBtn("Purple Sky", "night", function() Lighting.ClockTime = cfg.night and 0 or 14 end) -- RADIO local rF = Instance.new("Frame", main); rF.Size = UDim2.new(0.9,0,0,80); rF.Position = UDim2.new(0.05,0,0.8,0); rF.BackgroundColor3 = Color3.fromRGB(25,0,0); Instance.new("UICorner", rF) local sT = Instance.new("TextLabel", rF); sT.Size = UDim2.new(1,0,0,30); sT.Text = "Phonk Radio: OFF"; sT.TextColor3 = Color3.new(1,1,1); sT.BackgroundTransparency = 1; sT.TextScaled = true local function Media(txt, x, f) local b = Instance.new("TextButton", rF); b.Size = UDim2.new(0.2,0,0,30); b.Position = UDim2.new(x,0,0.5,0); b.Text = txt; b.BackgroundColor3 = Color3.fromRGB(45,45,45); b.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", b); b.MouseButton1Click:Connect(f) end Media("<", 0.1, function() curIdx = (curIdx == 1) and #songList or curIdx - 1; curSound.SoundId = "rbxassetid://"..phonks[songList[curIdx]]; curSound:Play(); sT.Text = songList[curIdx] end) Media("||", 0.4, function() if curSound.IsPlaying then curSound:Pause() else curSound:Play() end end) Media(">", 0.7, function() curIdx = (curIdx == #songList) and 1 or curIdx + 1; curSound.SoundId = "rbxassetid://"..phonks[songList[curIdx]]; curSound:Play(); sT.Text = songList[curIdx] end) ---------------------------------------------------------------- -- 3. RGB CIRCLE MINIMIZE BUTTON ---------------------------------------------------------------- local logo = Instance.new("TextButton", sg) logo.Size = UDim2.new(0, 55, 0, 55); logo.Position = UDim2.new(0, 15, 0.5, -27) logo.Text = "C16"; logo.TextColor3 = Color3.new(1,1,1); logo.Font = Enum.Font.GothamBold; logo.TextSize = 14 logo.BackgroundColor3 = Color3.new(1,0,0); logo.Visible = false Instance.new("UICorner", logo).CornerRadius = UDim.new(1,0) local logos = Instance.new("UIStroke", logo); logos.Thickness = 4; logos.Color = Color3.new(1,1,1) logo.MouseButton1Click:Connect(function() if cfg.ok then main.Visible = not main.Visible end end) ---------------------------------------------------------------- -- 4. KEY UI (NEW KEYS) ---------------------------------------------------------------- local kf = Instance.new("Frame", sg); kf.Size = UDim2.new(0, 260, 0, 180); kf.Position = UDim2.new(0.5,-130,0.5,-90); kf.BackgroundColor3 = Color3.fromRGB(15,15,15); Instance.new("UICorner", kf) local kTitle = Instance.new("TextLabel", kf); kTitle.Size = UDim2.new(1,0,0,45); kTitle.Text = "SUBSCRIBE TO zQit"; kTitle.TextColor3 = Color3.new(1,0,0); kTitle.Font = Enum.Font.LuckiestGuy; kTitle.BackgroundTransparency = 1; kTitle.TextScaled = true local kt = Instance.new("TextBox", kf); kt.Size = UDim2.new(0.8,0,0,35); kt.Position = UDim2.new(0.1,0,0.4,0); kt.PlaceholderText = "Enter Key..."; kt.Text = "" local kb = Instance.new("TextButton", kf); kb.Size = UDim2.new(0.8,0,0,35); kb.Position = UDim2.new(0.1,0,0.75,0); kb.Text = "VERIFY"; kb.BackgroundColor3 = Color3.fromRGB(180,0,0); kb.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", kb) ---------------------------------------------------------------- -- 5. LOOPS & SECURITY ---------------------------------------------------------------- RunService.RenderStepped:Connect(function() local rgb = Color3.fromHSV(tick() % 5 / 5, 1, 1) logo.BackgroundColor3 = rgb if cfg.ok then if not isPaid and (tick() - startTime) >= sessionLimit then cfg.ok = false; main.Visible = false; logo.Visible = false; kf.Visible = true; kt.PlaceholderText = "TRIAL EXPIRED!" end if cfg.aim then local target, closest = nil, 500 for _, v in pairs(game.Players:GetPlayers()) do if v ~= p and v.Character and v.Character:FindFirstChild("HumanoidRootPart") and v.Character.Humanoid.Health > 0 then local mag = (p.Character.HumanoidRootPart.Position - v.Character.HumanoidRootPart.Position).Magnitude if mag < closest then closest = mag; target = v.Character.HumanoidRootPart end end end if target then Camera.CFrame = CFrame.new(Camera.CFrame.Position, target.Position) end end for _, v in pairs(game.Players:GetPlayers()) do if v ~= p and v.Character then local h = v.Character:FindFirstChild("CanavESP") or Instance.new("Highlight", v.Character) h.Name = "CanavESP"; h.Enabled = cfg.esp; h.FillColor = rgb end end end end) kb.MouseButton1Click:Connect(function() if kt.Text == "KANAVBHAIONTOP" then cfg.ok = true; isPaid = false; startTime = tick(); kf.Visible = false; main.Visible = true; logo.Visible = true; topNotif("TRIAL KEY: 4 HOURS") elseif kt.Text == "canav16paidkey" then cfg.ok = true; isPaid = true; kf.Visible = false; main.Visible = true; logo.Visible = true; topNotif("PAID KEY: PERMANENT") else kt.Text = ""; kt.PlaceholderText = "WRONG KEY!" end end) task.spawn(function() while true do task.wait(30); topNotif("SUBSCRIBE TO zQit") task.wait(60); topNotif("JOIN OUR DISCORD FOR PAID KEY 🔑") end end)