--[[ AV: INFINITE [V1360] - MATERIAL: ForceField (Clean purple silhouette, no blurry neon bleed). - UI: Minimalist top-left HUD only. - DEFAULTS: Sync OFF | Lock OFF. - LOGIC: [G] Summon | [L] Lock Focus | [Q/E] Switch | [F] Warp. --]] local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera local TargetParent = (game:GetService("CoreGui"):FindFirstChild("RobloxGui") or game:GetService("CoreGui")) local CoreID = "AV_INFINITE_V1360" -- [ STATE ] if getgenv().AstralData then getgenv().AstralData.Running = false end getgenv().AstralData = { Running = true, Syncing = false, ITF = true, Speed = 195, FocusAlpha = 0.9, OtherAlpha = 0.4, Astrals = {}, FocusIndex = 1, IsWarping = false, PreWarpPos = nil, Purple = Color3.fromRGB(180, 50, 255) } local Data = getgenv().AstralData local function DeepPurge() pcall(function() local char = LocalPlayer.Character if char then char.HumanoidRootPart.Anchored = false; Camera.CameraSubject = char.Humanoid end for _, v in pairs(workspace:GetChildren()) do if v.Name == "AV_Astral" then v:Destroy() end end if TargetParent:FindFirstChild(CoreID) then TargetParent[CoreID]:Destroy() end end) end DeepPurge() -- [ UI ] local ScreenGui = Instance.new("ScreenGui", TargetParent); ScreenGui.Name = CoreID local HUD = Instance.new("TextLabel", ScreenGui); HUD.Size = UDim2.new(0, 300, 0, 20); HUD.Position = UDim2.new(0, 20, 0, 20); HUD.BackgroundTransparency = 1; HUD.TextColor3 = Data.Purple; HUD.Font = "Code"; HUD.TextSize = 14; HUD.TextXAlignment = "Left"; HUD.Text = "SYSTEM: READY" -- [ ENGINE ] local function Style(model, alpha) for _, v in pairs(model:GetDescendants()) do if v:IsA("BasePart") then v.Color = Data.Purple v.Transparency = alpha v.Material = Enum.Material.ForceField -- Switched from Neon v.CanCollide = false elseif v:IsA("Decal") or v:IsA("Texture") or v:IsA("Clothing") or v:IsA("BodyColors") then v:Destroy() end end end local function Summon() local char = LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.Anchored = true; char.Archivable = true local clone = char:Clone(); char.Archivable = false; clone.Name = "AV_Astral"; clone.Parent = workspace local hrp = clone:WaitForChild("HumanoidRootPart") hrp.CFrame = char.HumanoidRootPart.CFrame hrp.Anchored = false local bv = Instance.new("BodyVelocity", hrp); bv.Velocity = Vector3.zero; bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) local bg = Instance.new("BodyGyro", hrp); bg.CFrame = hrp.CFrame; bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) table.insert(Data.Astrals, {Model = clone, Locked = false, BV = bv, BG = bg}) Data.FocusIndex = #Data.Astrals end end RunService.Heartbeat:Connect(function(dt) if not Data.Running then return end local char = LocalPlayer.Character local focus = Data.Astrals[Data.FocusIndex] if focus and char and char:FindFirstChild("HumanoidRootPart") then Camera.CameraSubject = focus.Model.Head HUD.Text = string.format("CAM_%02d // %s // SYNC_%s", Data.FocusIndex, (focus.Locked and "LOCKED" or "LIVE"), (Data.Syncing and "ON" or "OFF")) if Data.IsWarping then char.HumanoidRootPart.Anchored = false; char.HumanoidRootPart.CFrame = focus.Model.PrimaryPart.CFrame end for i, a in pairs(Data.Astrals) do Style(a.Model, (i == Data.FocusIndex and Data.FocusAlpha or Data.OtherAlpha)) local hrp = a.Model.PrimaryPart if not a.Locked and (Data.Syncing or i == Data.FocusIndex) then hrp.Anchored = false local mv = Vector3.zero if not UserInputService:GetFocusedTextBox() then if UserInputService:IsKeyDown(Enum.KeyCode.W) then mv += Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then mv -= Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then mv -= Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then mv += Camera.CFrame.RightVector end end a.BV.Velocity = mv * Data.Speed a.BG.CFrame = Camera.CFrame else hrp.Anchored = true a.BV.Velocity = Vector3.zero end end end end) UserInputService.InputBegan:Connect(function(k, gpe) if gpe or not Data.Running then return end if k.KeyCode == Enum.KeyCode.F then Data.PreWarpPos = LocalPlayer.Character.HumanoidRootPart.Position; Data.IsWarping = true elseif k.KeyCode == Enum.KeyCode.G then Summon() elseif k.KeyCode == Enum.KeyCode.L then local a = Data.Astrals[Data.FocusIndex]; if a then a.Locked = not a.Locked end elseif k.KeyCode == Enum.KeyCode.Z then Data.Syncing = not Data.Syncing elseif k.KeyCode == Enum.KeyCode.Q then Data.FocusIndex = (Data.FocusIndex - 2) % #Data.Astrals + 1 elseif k.KeyCode == Enum.KeyCode.E then Data.FocusIndex = Data.FocusIndex % #Data.Astrals + 1 elseif k.KeyCode == Enum.KeyCode.X then Data.Running = false; DeepPurge() end end) UserInputService.InputEnded:Connect(function(k) if k.KeyCode == Enum.KeyCode.F and Data.IsWarping then Data.IsWarping = false if not Data.ITF then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(Data.PreWarpPos) end task.wait(0.05); LocalPlayer.Character.HumanoidRootPart.Anchored = true end end)