local player = game:GetService("Players").LocalPlayer local mouse = player:GetMouse() local runService = game:GetService("RunService") local debris = game:GetService("Debris") local userInput = game:GetService("UserInputService") local workspace = game:GetService("Workspace") local lighting = game:GetService("Lighting") local teleportService = game:GetService("TeleportService") local camera = workspace.CurrentCamera local startTime = tick() local screenGui = Instance.new("ScreenGui") screenGui.Name = "TCT_HUB_V14_1" screenGui.ResetOnSpawn = false pcall(function() screenGui.Parent = game:GetService("CoreGui") end) if not screenGui.Parent then screenGui.Parent = player:WaitForChild("PlayerGui") end local openBtn = Instance.new("TextButton", screenGui) openBtn.Size = UDim2.new(0, 65, 0, 65) openBtn.Position = UDim2.new(0, 20, 0.5, -32) openBtn.BackgroundColor3 = Color3.fromRGB(15, 0, 0) openBtn.Text = "TCT" openBtn.TextColor3 = Color3.fromRGB(255, 0, 0) openBtn.Font = Enum.Font.SourceSansBold openBtn.TextSize = 24 openBtn.Visible = false openBtn.Draggable = true Instance.new("UICorner", openBtn) Instance.new("UIStroke", openBtn).Color = Color3.fromRGB(255, 0, 0) local mainFrame = Instance.new("Frame", screenGui) mainFrame.Size = UDim2.new(0, 500, 0, 400) mainFrame.Position = UDim2.new(0.5, -250, 0.3, 0) mainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) mainFrame.Active = true mainFrame.Draggable = true Instance.new("UIStroke", mainFrame).Color = Color3.fromRGB(255, 0, 0) local topBar = Instance.new("Frame", mainFrame) topBar.Size = UDim2.new(1, 0, 0, 40) topBar.BackgroundColor3 = Color3.fromRGB(25, 0, 0) local title = Instance.new("TextLabel", topBar) title.Size = UDim2.new(1, -50, 1, 0) title.Position = UDim2.new(0, 15, 0, 0) title.Text = "TCT HUB | V14.1 | No Key" title.TextColor3 = Color3.fromRGB(255, 0, 0) title.BackgroundTransparency = 1 title.Font = Enum.Font.SourceSansBold title.TextSize = 20 title.TextXAlignment = Enum.TextXAlignment.Left local closeBtn = Instance.new("TextButton", topBar) closeBtn.Size = UDim2.new(0, 40, 1, 0) closeBtn.Position = UDim2.new(1, -40, 0, 0) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255, 0, 0) closeBtn.BackgroundTransparency = 1 closeBtn.TextSize = 24 closeBtn.MouseButton1Click:Connect(function() mainFrame.Visible = false openBtn.Visible = true end) openBtn.MouseButton1Click:Connect(function() mainFrame.Visible = true openBtn.Visible = false end) local sideBar = Instance.new("Frame", mainFrame) sideBar.Size = UDim2.new(0, 120, 1, -40) sideBar.Position = UDim2.new(0, 0, 0, 40) sideBar.BackgroundColor3 = Color3.fromRGB(15, 15, 15) local container = Instance.new("Frame", mainFrame) container.Size = UDim2.new(1, -130, 1, -50) container.Position = UDim2.new(0, 125, 0, 45) container.BackgroundTransparency = 1 local crosshair = Instance.new("Frame", screenGui) crosshair.Size = UDim2.new(0, 12, 0, 12) crosshair.Position = UDim2.new(0.5, -6, 0.5, -6) crosshair.BackgroundColor3 = Color3.fromRGB(255, 255, 255) crosshair.Visible = false Instance.new("UICorner", crosshair).CornerRadius = UDim.new(1, 0) local crosshairStroke = Instance.new("UIStroke", crosshair) crosshairStroke.Thickness = 1.5 local tabs = {} local currentTab = nil local function createTab(name) local btn = Instance.new("TextButton", sideBar) btn.Size = UDim2.new(1, 0, 0, 50) btn.Position = UDim2.new(0, 0, 0, #tabs * 50) btn.Text = name btn.BackgroundColor3 = Color3.fromRGB(15, 15, 15) btn.TextColor3 = Color3.fromRGB(150, 150, 150) btn.Font = Enum.Font.SourceSansBold btn.TextSize = 18 local page = Instance.new("ScrollingFrame", container) page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.Visible = false page.ScrollBarThickness = 4 page.ScrollBarImageColor3 = Color3.fromRGB(255, 0, 0) local layout = Instance.new("UIListLayout", page) layout.Padding = UDim.new(0, 8) layout.HorizontalAlignment = Enum.HorizontalAlignment.Center btn.MouseButton1Click:Connect(function() if currentTab then currentTab.btn.TextColor3 = Color3.fromRGB(150, 150, 150) currentTab.page.Visible = false end currentTab = {btn = btn, page = page} btn.TextColor3 = Color3.fromRGB(255, 0, 0) page.Visible = true end) table.insert(tabs, {btn = btn, page = page}) return page end local playerTab = createTab("Player") local visualTab = createTab("Visual") local toolsTab = createTab("Tools") local resizeTab = createTab("Resize") local creditTab = createTab("Credit") local vars = { Speed = 16, Jump = 50, InfJump = false, ShiftLock = false, Pathway = false, GodMode = false, NoFog = false, FullBright = false, FOV = 70, ESP = false, AutoClick = false, AntiAFK = false, ResizeMode = false, SelectedPart = nil, FreezedPlayers = {}, FakePlayer = false, FlingMode = false, Dummy = nil, AntiBan = false } local function createToggle(parent, text, callback) local btn = Instance.new("TextButton", parent) btn.Size = UDim2.new(0.95, 0, 0, 40); btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25) btn.Text = " " .. text .. ": OFF"; btn.TextColor3 = Color3.fromRGB(200, 200, 200) btn.TextSize = 18; btn.TextXAlignment = Enum.TextXAlignment.Left Instance.new("UICorner", btn) local on = false btn.MouseButton1Click:Connect(function() on = not on btn.Text = " " .. text .. ": " .. (on and "ON" or "OFF") btn.TextColor3 = on and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(200, 200, 200) callback(on) end) return btn end local function createSlider(parent, text, min, max, default, callback) local frame = Instance.new("Frame", parent) frame.Size = UDim2.new(0.95, 0, 0, 55); frame.BackgroundTransparency = 1 local label = Instance.new("TextLabel", frame) label.Size = UDim2.new(1, 0, 0, 25); label.Text = text .. ": " .. default; label.TextColor3 = Color3.fromRGB(255, 0, 0); label.BackgroundTransparency = 1; label.TextSize = 17 local bar = Instance.new("Frame", frame) bar.Size = UDim2.new(1, 0, 0, 8); bar.Position = UDim2.new(0, 0, 0.7, 0); bar.BackgroundColor3 = Color3.fromRGB(40, 40, 40) local fill = Instance.new("Frame", bar) fill.Size = UDim2.new((default-min)/(max-min), 0, 1, 0); fill.BackgroundColor3 = Color3.fromRGB(255, 0, 0) local function update(input) local p = math.clamp((input.Position.X - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1) fill.Size = UDim2.new(p, 0, 1, 0) local val = math.floor(min + (max - min) * p) label.Text = text .. ": " .. val callback(val) end bar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then local con; con = userInput.InputChanged:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseMovement or inp.UserInputType == Enum.UserInputType.Touch then update(inp) end end) userInput.InputEnded:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then con:Disconnect() end end) end end) end local function createButton(parent, text, callback) local btn = Instance.new("TextButton", parent) btn.Size = UDim2.new(0.95, 0, 0, 40); btn.BackgroundColor3 = Color3.fromRGB(40, 0, 0) btn.Text = text; btn.TextColor3 = Color3.fromRGB(255, 255, 255); btn.Font = Enum.Font.SourceSansBold; btn.TextSize = 18 Instance.new("UICorner", btn) btn.MouseButton1Click:Connect(callback) end -- Tab Player createSlider(playerTab, "Walk Speed", 16, 500, 16, function(v) vars.Speed = v end) createSlider(playerTab, "Jump Power", 50, 500, 50, function(v) vars.Jump = v end) createToggle(playerTab, "Infinite Jump", function(s) vars.InfJump = s end) createToggle(playerTab, "Force Shiftlock", function(s) vars.ShiftLock = s crosshair.Visible = s end) createToggle(playerTab, "Pathway (Neon Red)", function(s) vars.Pathway = s end) createToggle(playerTab, "God Mode", function(s) vars.GodMode = s end) createToggle(playerTab, "Fake Player (Dummy)", function(s) vars.FakePlayer = s if s then vars.Dummy = Instance.new("Part", workspace) vars.Dummy.Size = Vector3.new(2, 4, 1); vars.Dummy.Name = "FakePlayer_TCT" vars.Dummy.CanCollide = false; vars.Dummy.Transparency = 0.5; vars.Dummy.Color = Color3.fromRGB(255, 0, 0) else if vars.Dummy then vars.Dummy:Destroy() vars.Dummy = nil end end end) createToggle(playerTab, "Dummy Fling", function(s) vars.FlingMode = s end) -- Freeze Player List local freezeSection = Instance.new("Frame", playerTab) freezeSection.Size = UDim2.new(0.95, 0, 0, 180); freezeSection.BackgroundTransparency = 1 local freezeTitle = Instance.new("TextLabel", freezeSection) freezeTitle.Size = UDim2.new(1, 0, 0, 30); freezeTitle.Text = "--- Freeze Player List ---"; freezeTitle.TextColor3 = Color3.fromRGB(255, 0, 0); freezeTitle.BackgroundTransparency = 1; freezeTitle.TextSize = 19; freezeTitle.Font = Enum.Font.SourceSansBold local freezeScroll = Instance.new("ScrollingFrame", freezeSection) freezeScroll.Size = UDim2.new(1, 0, 1, -35); freezeScroll.Position = UDim2.new(0, 0, 0, 35); freezeScroll.BackgroundColor3 = Color3.fromRGB(20, 20, 20); freezeScroll.ScrollBarThickness = 3 Instance.new("UIListLayout", freezeScroll).Padding = UDim.new(0, 2) local function updateFreeze() for _,v in pairs(freezeScroll:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end for _,p in pairs(game.Players:GetPlayers()) do local b = Instance.new("TextButton", freezeScroll) b.Size = UDim2.new(1, 0, 0, 35); b.Text = " " .. p.Name; b.TextColor3 = vars.FreezedPlayers[p.Name] and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(255, 255, 255) b.BackgroundColor3 = Color3.fromRGB(30, 30, 30); b.TextXAlignment = Enum.TextXAlignment.Left; b.TextSize = 17 b.MouseButton1Click:Connect(function() vars.FreezedPlayers[p.Name] = not vars.FreezedPlayers[p.Name] b.TextColor3 = vars.FreezedPlayers[p.Name] and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(255, 255, 255) if p.Character and p.Character:FindFirstChild("HumanoidRootPart") then p.Character.HumanoidRootPart.Anchored = vars.FreezedPlayers[p.Name] end end) end freezeScroll.CanvasSize = UDim2.new(0, 0, 0, #game.Players:GetPlayers() * 37) end updateFreeze() game.Players.PlayerAdded:Connect(updateFreeze) game.Players.PlayerRemoving:Connect(updateFreeze) -- Tab Visuals createToggle(visualTab, "No Fog", function(s) vars.NoFog = s end) createToggle(visualTab, "Fullbright", function(s) vars.FullBright = s end) createSlider(visualTab, "Field of View", 40, 120, 70, function(v) vars.FOV = v end) createToggle(visualTab, "ESP Player", function(s) vars.ESP = s end) createButton(visualTab, "Set Time: Day", function() lighting.ClockTime = 14 end) createButton(visualTab, "Set Time: Night", function() lighting.ClockTime = 0 end) -- Tab Tools local statusLabel = Instance.new("TextLabel", toolsTab) statusLabel.Size = UDim2.new(0.95, 0, 0, 65); statusLabel.BackgroundColor3 = Color3.fromRGB(20, 0, 0); statusLabel.TextColor3 = Color3.fromRGB(255, 255, 255) statusLabel.TextSize = 17; statusLabel.Text = "Loading Server Stats..."; Instance.new("UICorner", statusLabel) createToggle(toolsTab, "Anti AFK", function(s) vars.AntiAFK = s end) createToggle(toolsTab, "Anti Ban/Kick/AC", function(s) vars.AntiBan = s if s then local mt = getrawmetatable(game) setreadonly(mt, false) local old = mt.__namecall mt.__namecall = newcclosure(function(self, ...) if getnamecallmethod() == "Kick" then return nil end return old(self, ...) end) local keywords = {"ban", "kick", "anticheat", "cheat", "check", "detect"} for _, obj in pairs(game:GetDescendants()) do pcall(function() local name = obj.Name:lower() for _, key in pairs(keywords) do if name:find(key) then obj:Destroy() break end end end) end end end) createButton(toolsTab, "Rejoin Server", function() teleportService:Teleport(game.PlaceId, player) end) createButton(toolsTab, "Find Big Server", function() local res = game:HttpGet("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Desc&limit=100") local data = game:GetService("HttpService"):JSONDecode(res).data if #data > 0 then teleportService:TeleportToPlaceInstance(game.PlaceId, data[1].id) end end) createButton(toolsTab, "Find Small Server", function() local res = game:HttpGet("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100") local data = game:GetService("HttpService"):JSONDecode(res).data if #data > 0 then teleportService:TeleportToPlaceInstance(game.PlaceId, data[1].id) end end) local kbFrame = Instance.new("Frame", screenGui) kbFrame.Size = UDim2.new(0, 500, 0, 200); kbFrame.Position = UDim2.new(0.5, -250, 0.7, 0) kbFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15); kbFrame.Visible = false local kbStr = Instance.new("UIStroke", kbFrame); kbStr.Thickness = 2 task.spawn(function() while task.wait(0.01) do kbStr.Color = Color3.fromHSV(tick() % 5 / 5, 1, 1) end end) createToggle(toolsTab, "Virtual Keyboard", function(s) kbFrame.Visible = s end) createToggle(toolsTab, "Keyboard Drag", function(s) kbFrame.Draggable = s kbFrame.Active = s end) -- Tab Resize createToggle(resizeTab, "Select Mode (Click Part)", function(s) vars.ResizeMode = s end) createSlider(resizeTab, "Resize Width (X)", 1, 100, 4, function(v) if vars.SelectedPart then vars.SelectedPart.Size = Vector3.new(v, vars.SelectedPart.Size.Y, vars.SelectedPart.Size.Z) end end) createSlider(resizeTab, "Resize Height (Y)", 1, 100, 4, function(v) if vars.SelectedPart then vars.SelectedPart.Size = Vector3.new(vars.SelectedPart.Size.X, v, vars.SelectedPart.Size.Z) end end) createSlider(resizeTab, "Resize Depth (Z)", 1, 100, 4, function(v) if vars.SelectedPart then vars.SelectedPart.Size = Vector3.new(vars.SelectedPart.Size.X, vars.SelectedPart.Size.Y, v) end end) mouse.Button1Down:Connect(function() if vars.ResizeMode and mouse.Target and mouse.Target:IsA("BasePart") then vars.SelectedPart = mouse.Target local h = Instance.new("Highlight", vars.SelectedPart); h.FillColor = Color3.fromRGB(255, 0, 0); debris:AddItem(h, 0.5) end end) -- Tab Credit local cLabel = Instance.new("TextLabel", creditTab) cLabel.Size = UDim2.new(1, 0, 1, 0); cLabel.Text = "Made by Thienz\nVer: 14.1\nNo Key Version\nDiscord: Not yet"; cLabel.TextColor3 = Color3.fromRGB(255, 0, 0); cLabel.BackgroundTransparency = 1; cLabel.Font = Enum.Font.SourceSansBold; cLabel.TextSize = 26 -- Logic Loop local lastPathPos = Vector3.new() runService.RenderStepped:Connect(function() local char = player.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local root = char and char:FindFirstChild("HumanoidRootPart") if hum and root then hum.WalkSpeed = vars.Speed hum.JumpPower = vars.Jump camera.FieldOfView = vars.FOV if vars.ShiftLock then userInput.MouseBehavior = Enum.MouseBehavior.LockCenter local lookVector = camera.CFrame.LookVector local rootPos = root.Position root.CFrame = CFrame.new(rootPos, rootPos + Vector3.new(lookVector.X, 0, lookVector.Z)) local r = Ray.new(camera.CFrame.Position, camera.CFrame.LookVector * 500) local part = workspace:FindPartOnRay(r, char) if part and part.Parent:FindFirstChildOfClass("Humanoid") then crosshair.BackgroundColor3 = Color3.fromRGB(255, 0, 0) else crosshair.BackgroundColor3 = Color3.fromRGB(255, 255, 255) end else if not vars.ResizeMode then userInput.MouseBehavior = Enum.MouseBehavior.Default end end if vars.GodMode then hum.Health = hum.MaxHealth end if vars.Pathway and (root.Position - lastPathPos).Magnitude > 3 then lastPathPos = root.Position local p = Instance.new("Part", workspace); p.Size = Vector3.new(4, 0.6, 4); p.Anchored = true; p.CFrame = root.CFrame * CFrame.new(0, -3.2, 0) p.Color = Color3.fromRGB(255, 0, 0); p.Material = Enum.Material.Neon; debris:AddItem(p, 1.5) end if vars.FakePlayer and vars.Dummy then if vars.FlingMode then vars.Dummy.Velocity = Vector3.new(0, 9999, 0) vars.Dummy.RotVelocity = Vector3.new(0, 9999, 0) vars.Dummy.CFrame = root.CFrame * CFrame.new(0, 0, -2) else vars.Dummy.CFrame = root.CFrame * CFrame.new(4, 0, 4) end end end if vars.FullBright then lighting.Brightness = 2 lighting.ClockTime = 14 lighting.FogEnd = 9e9 end local sTime = math.floor(workspace.DistributedGameTime) local pTime = math.floor(tick() - startTime) statusLabel.Text = string.format("Server Uptime: %d m %d s\nYour Playtime: %d m %d s", math.floor(sTime/60), sTime%60, math.floor(pTime/60), pTime%60) end) player.Idled:Connect(function() if vars.AntiAFK then game:GetService("VirtualUser"):CaptureController() game:GetService("VirtualUser"):ClickButton2(Vector2.new(0,0)) end end) userInput.JumpRequest:Connect(function() if vars.InfJump and player.Character then player.Character:FindFirstChildOfClass("Humanoid"):ChangeState(3) end end) tabs[1].btn.TextColor3 = Color3.fromRGB(255, 0, 0) tabs[1].page.Visible = true currentTab = tabs[1]