local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Players = game:GetService("Players") local Teams = game:GetService("Teams") local RunService = game:GetService("RunService") local lp = Players.LocalPlayer local ForceThirdPersonEnabled = false local CamNoclipEnabled = false local ForceZoomEnabled = false local AimLockEnabled = false local EspTeamEnabled = false local WallHopEnabled = false local SelectedTarget = nil local SelectedTeam = nil local Connection = nil local isFlicking = false local lastFlickTime = 0 local lastHitInstance = nil local Window = Rayfield:CreateWindow({ Name = "REXZONAL HUB V1", LoadingTitle = "Welcome to Rexzonal Hub!", LoadingSubtitle = "have fun using this!", ConfigurationSaving = { Enabled = false }, KeySystem = false }) local MainTab = Window:CreateTab("Camera Mods", 4483362458) local AimTab = Window:CreateTab("Combat Mods", 4483362458) local VisualTab = Window:CreateTab("Visual Mods", 4483362458) local MovementTab = Window:CreateTab("Movement Mods", 4483362458) local TutorialTab = Window:CreateTab("Tutorial", 4483362458) MainTab:CreateToggle({ Name = "Force Third-Person", CurrentValue = false, Flag = "ForceThirdPersonToggle", Callback = function(Value) ForceThirdPersonEnabled = Value if ForceThirdPersonEnabled then lp.CameraMinZoomDistance = 5 lp.CameraMaxZoomDistance = 30 if lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") then lp.Character:FindFirstChildOfClass("Humanoid").CameraOffset = Vector3.new(0, 0, 0) end Rayfield:Notify({ Title = "Force Third-Person", Content = "Third-person mode has been successfully forced!", Duration = 3 }) else lp.CameraMinZoomDistance = 0 lp.CameraMaxZoomDistance = 128 end end, }) MainTab:CreateToggle({ Name = "Camera Noclip", CurrentValue = false, Flag = "CamNoclipToggle", Callback = function(Value) CamNoclipEnabled = Value if CamNoclipEnabled then Rayfield:Notify({ Title = "Camera Noclip", Content = "Camera can now pass through all objects!", Duration = 3 }) end end, }) MainTab:CreateToggle({ Name = "Force Zoom", CurrentValue = false, Flag = "ForceZoomToggle", Callback = function(Value) ForceZoomEnabled = Value if ForceZoomEnabled then lp.CameraMinZoomDistance = 0 lp.CameraMaxZoomDistance = 500 Rayfield:Notify({ Title = "Force Zoom", Content = "Camera zoom limits have been fully unlocked!", Duration = 3 }) else lp.CameraMinZoomDistance = 0 lp.CameraMaxZoomDistance = 128 end end, }) local function GetPlayerList() local list = {} for _, p in pairs(Players:GetPlayers()) do if p ~= lp then table.insert(list, p.Name) end end return list end local TargetDropdown = AimTab:CreateDropdown({ Name = "Select Target", Options = GetPlayerList(), CurrentOption = "", MultipleOptions = false, Flag = "AimTargetDrop", Callback = function(Option) SelectedTarget = Players:FindFirstChild(Option[1]) if SelectedTarget then Rayfield:Notify({ Title = "Target Locked", Content = "Aim target changed to: " .. SelectedTarget.Name, Duration = 3 }) end end, }) AimTab:CreateButton({ Name = "Refresh Player List", Callback = function() TargetDropdown:Refresh(GetPlayerList()) end, }) AimTab:CreateToggle({ Name = "Aim Lock", CurrentValue = false, Flag = "AimLockToggle", Callback = function(Value) AimLockEnabled = Value if AimLockEnabled then if not SelectedTarget then Rayfield:Notify({ Title = "Aim Error", Content = "Please select a target from the dropdown first!", Duration = 3 }) else lp.CameraMode = Enum.CameraMode.LockFirstPerson Rayfield:Notify({ Title = "Aim Lock Active", Content = "Forced first-person mode! Recommended to shoot now!", Duration = 3 }) end else lp.CameraMode = Enum.CameraMode.Classic end end, }) local function GetTeamList() local list = {} for _, t in pairs(Teams:GetTeams()) do table.insert(list, t.Name) end return list end local function RemoveEspBoxes() for _, p in pairs(Players:GetPlayers()) do if p.Character then if p.Character:FindFirstChild("RexEspBox") then p.Character.RexEspBox:Destroy() end if p.Character:FindFirstChild("RexEspTag") then p.Character.RexEspTag:Destroy() end end end end local function CreateEspBox(player, color) local character = player.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") local currentHealth = humanoid and math.round(humanoid.Health) or 0 local maxHealth = humanoid and math.round(humanoid.MaxHealth) or 100 local infoText = player.Name .. " [" .. currentHealth .. "/" .. maxHealth .. " HP]" if not character:FindFirstChild("RexEspBox") then local box = Instance.new("BoxHandleAdornment") box.Name = "RexEspBox" box.Size = character:GetExtentsSize() + Vector3.new(0.5, 0.5, 0.5) box.AlwaysOnTop = true box.ZIndex = 10 box.Adornee = character box.Color3 = color box.Transparency = 0.4 box.Parent = character else character.RexEspBox.Color3 = color end local head = character:FindFirstChild("Head") if head then if not character:FindFirstChild("RexEspTag") then local bgui = Instance.new("BillboardGui") bgui.Name = "RexEspTag" bgui.AlwaysOnTop = true bgui.Size = UDim2.new(0, 200, 0, 50) bgui.StudsOffset = Vector3.new(0, 3, 0) bgui.Adornee = head local tl = Instance.new("TextLabel") tl.Name = "EspText" tl.Size = UDim2.new(1, 0, 1, 0) tl.BackgroundTransparency = 1 tl.TextColor3 = color tl.TextSize = 14 tl.TextStrokeTransparency = 0 tl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) tl.Text = infoText tl.Parent = bgui bgui.Parent = character else local tl = character.RexEspTag:FindFirstChild("EspText") if tl then tl.Text = infoText tl.TextColor3 = color end end end end local TeamDropdown = VisualTab:CreateDropdown({ Name = "Select Team", Options = GetTeamList(), CurrentOption = "", MultipleOptions = false, Flag = "VisualTeamDrop", Callback = function(Option) SelectedTeam = Teams:FindFirstChild(Option[1]) if SelectedTeam then Rayfield:Notify({ Title = "Team Filter Set", Content = "Target team changed to: " .. SelectedTeam.Name, Duration = 3 }) end end, }) VisualTab:CreateButton({ Name = "Refresh Team List", Callback = function() TeamDropdown:Refresh(GetTeamList()) end, }) VisualTab:CreateToggle({ Name = "Player Team ESP", CurrentValue = false, Flag = "PlayerTeamEspToggle", Callback = function(Value) EspTeamEnabled = Value if not EspTeamEnabled then RemoveEspBoxes() Rayfield:Notify({ Title = "ESP Disabled", Content = "Team ESP highlights have been removed!", Duration = 3 }) else if not SelectedTeam then Rayfield:Notify({ Title = "ESP Error", Content = "Please select a team from the dropdown first!", Duration = 3 }) else Rayfield:Notify({ Title = "ESP Enabled", Content = "Tracking chosen team! New players will auto-apply!", Duration = 3 }) end end end, }) MovementTab:CreateToggle({ Name = "Auto Wallhop", CurrentValue = false, Flag = "AutoWallhopToggle", Callback = function(Value) WallHopEnabled = Value if WallHopEnabled then Rayfield:Notify({ Title = "Auto Wallhop", Content = "Feature enabled successfully!", Duration = 3 }) else lastHitInstance = nil end end, }) TutorialTab:CreateParagraph({Title = "1. Force Third-Person", Content = "Turn this on if the game locks your view inside the character's head. It will force the camera outside back into normal classic view."}) TutorialTab:CreateParagraph({Title = "2. Camera Noclip", Content = "Enable this to allow your camera to glide straight through walls, solid blocks, or invisible boundaries without snapping forward."}) TutorialTab:CreateParagraph({Title = "3. Force Zoom", Content = "If the game stops you from zooming out, activate this feature to unlock the max distance limit up to 500 studs away."}) TutorialTab:CreateParagraph({Title = "4. Aim Lock", Content = "First, select a player from the dropdown list inside Combat Mods. Turn on the toggle to switch into first-person view and fully lock your crosshair direction onto them. (Highly recommended to start shooting once activated!)"}) TutorialTab:CreateParagraph({Title = "5. Player Team ESP", Content = "Choose a team from the dropdown menu in Visual Mods. Toggle this feature on to illuminate members of that specific team with a colored 3D box outline, real Username, and dynamic Health trackers. Newly joined players will automatically render without manual updates."}) local function ManagePlayerEsp(p) if EspTeamEnabled and SelectedTeam and p.Team == SelectedTeam then if p ~= lp and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then CreateEspBox(p, SelectedTeam.TeamColor.Color) end else if p.Character then if p.Character:FindFirstChild("RexEspBox") then p.Character.RexEspBox:Destroy() end if p.Character:FindFirstChild("RexEspTag") then p.Character.RexEspTag:Destroy() end end end end local function performVideoFlick() if isFlicking then return end isFlicking = true local char = lp.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local hrp = char and char:FindFirstChild("HumanoidRootPart") local camera = game.Workspace.CurrentCamera if not hum or not hrp then isFlicking = false return end hum:ChangeState(Enum.HumanoidStateType.Jumping) hrp.Velocity = Vector3.new(hrp.Velocity.X, 50, hrp.Velocity.Z) local startCFrame = camera.CFrame camera.CFrame = startCFrame * CFrame.Angles(0, math.rad(180), 0) task.wait(0.01) camera.CFrame = startCFrame isFlicking = false end Players.PlayerAdded:Connect(function(newPlayer) newPlayer.CharacterAdded:Connect(function(char) task.wait(1) ManagePlayerEsp(newPlayer) end) newPlayer:GetPropertyChangedSignal("Team"):Connect(function() ManagePlayerEsp(newPlayer) end) end) RunService.Heartbeat:Connect(function() if not WallHopEnabled then return end local char = lp.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local camera = game.Workspace.CurrentCamera if not hrp then return end local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {char} raycastParams.FilterType = Enum.RaycastFilterType.Exclude local result = workspace:Raycast(hrp.Position, camera.CFrame.LookVector * 3, raycastParams) if result and result.Instance.CanCollide then if lastHitInstance and lastHitInstance ~= result.Instance then if tick() - lastFlickTime > 0.05 then lastFlickTime = tick() performVideoFlick() end end lastHitInstance = result.Instance else lastHitInstance = nil end end) Connection = RunService.RenderStepped:Connect(function() local camera = game.Workspace.CurrentCamera if ForceThirdPersonEnabled and not AimLockEnabled then if lp.CameraMode == Enum.CameraMode.LockFirstPerson then lp.CameraMode = Enum.CameraMode.Classic end if (camera.CoordinateFrame.p - camera.Focus.p).Magnitude < 2 then lp.CameraMinZoomDistance = 5 end end if CamNoclipEnabled then lp.DevCameraOcclusionMode = Enum.DevCameraOcclusionMode.Invisicam else if not CamNoclipEnabled then lp.DevCameraOcclusionMode = Enum.DevCameraOcclusionMode.Zoom end end if ForceZoomEnabled then lp.CameraMinZoomDistance = 0 if lp.CameraMaxZoomDistance < 500 then lp.CameraMaxZoomDistance = 500 end end if AimLockEnabled and SelectedTarget and SelectedTarget.Character and SelectedTarget.Character:FindFirstChild("HumanoidRootPart") then local targetPart = SelectedTarget.Character.HumanoidRootPart lp.CameraMode = Enum.CameraMode.LockFirstPerson camera.CFrame = CFrame.new(camera.CFrame.Position, targetPart.Position) end for _, p in pairs(Players:GetPlayers()) do ManagePlayerEsp(p) end end) lp.CharacterRemoving:Connect(function() if lp.CameraMode == Enum.CameraMode.Classic then lp.CameraMinZoomDistance = 0 end end)