local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Rivals Hub - COMMANDS & MAX EDITION", LoadingTitle = "Loading Commands & Full Hub...", LoadingSubtitle = "by Rivals Hub", ConfigurationSaving = { Enabled = false }, Discord = { Enabled = false }, KeySystem = true, KeySettings = { Title = "Rivals Hub | Key System", Subtitle = "Enter Key to Access", Note = "Password is: 123", FileName = "RivalsHubKey_123", SaveKey = true, GrabKeyFromSite = false, Key = {"123"}, KeyLink = "https://lootlabs.gg" } }) -- Services & Core Variables local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local UserInputService = game:GetService("UserInputService") local TeleportService = game:GetService("TeleportService") local Workspace = game:GetService("Workspace") local TextChatService = game:GetService("TextChatService") local player = Players.LocalPlayer local camera = Workspace.CurrentCamera local flying = false local speed = 50 local walkSpeedValue = 16 local jumpPowerValue = 50 local spinSpeed = 0 local bodyVelocity, bodyGyro -- States & Banned List local bannedPlayers = {} local noclipEnabled = false local infJumpEnabled = false local spectating = false local fullbrightEnabled = false local clickTPEnabled = false local rainbowEnabled = false local autoClickerEnabled = false local originalBrightness = Lighting.Brightness local originalClockTime = Lighting.ClockTime local currentHighlight = nil -- Fly Mechanics local function startFlying() local character = player.Character if not character then return end local root = character:FindFirstChild("HumanoidRootPart") local humanoid = character:FindFirstChildOfClass("Humanoid") if not root or not humanoid then return end humanoid.PlatformStand = true bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(1, 1, 1) * 100000 bodyVelocity.Velocity = Vector3.zero bodyVelocity.Parent = root bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(1, 1, 1) * 100000 bodyGyro.CFrame = root.CFrame bodyGyro.Parent = root flying = true end local function stopFlying() flying = false if bodyVelocity then bodyVelocity:Destroy() end if bodyGyro then bodyGyro:Destroy() end local character = player.Character if character then local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.PlatformStand = false end end end -- Helper Target Finder local function findTarget(name) if not name or name == "" then return nil end name = name:lower():gsub("@", "") for _, p in ipairs(Players:GetPlayers()) do if p ~= player then if p.Name:lower():sub(1, #name) == name or p.DisplayName:lower():sub(1, #name) == name then return p end end end return nil end -- Morph Function local function applyMorphFromUserId(targetUserId) local myChar = player.Character if not myChar then return end local modelSuccess, model = pcall(function() return Players:CreateHumanoidModelFromUserId(targetUserId) end) if modelSuccess and model then for _, item in ipairs(myChar:GetChildren()) do if item:IsA("Accessory") or item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") or item:IsA("CharacterMesh") then item:Destroy() end end for _, item in ipairs(model:GetChildren()) do if item:IsA("Accessory") or item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") or item:IsA("CharacterMesh") then item:Clone().Parent = myChar end end local modelHead = model:FindFirstChild("Head") local myHead = myChar:FindFirstChild("Head") if modelHead and myHead then local myMesh = myHead:FindFirstChildOfClass("SpecialMesh") if myMesh then myMesh:Destroy() end local modelMesh = modelHead:FindFirstChildOfClass("SpecialMesh") if modelMesh then modelMesh:Clone().Parent = myHead end local myFace = myHead:FindFirstChildOfClass("Decal") if myFace then myFace:Destroy() end local modelFace = modelHead:FindFirstChildOfClass("Decal") if modelFace then modelFace:Clone().Parent = myHead end end model:Destroy() Rayfield:Notify({ Title = "Morph Applied!", Content = "Character morph completed successfully!", Duration = 2 }) end end -- Fling Target Function local function flingTarget(targetPlayer) if not targetPlayer or not targetPlayer.Character then return end local targetRoot = targetPlayer.Character:FindFirstChild("HumanoidRootPart") local myRoot = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if targetRoot and myRoot then local oldPos = myRoot.CFrame task.spawn(function() for i = 1, 50 do myRoot.CFrame = targetRoot.CFrame * CFrame.Angles(0, math.rad(i * 360), 0) myRoot.Velocity = Vector3.new(9999, 9999, 9999) task.wait() end myRoot.CFrame = oldPos myRoot.Velocity = Vector3.zero end) end end -- Ban Monitor Loop Players.PlayerAdded:Connect(function(newPlayer) if bannedPlayers[newPlayer.Name:lower()] then if newPlayer.Character then newPlayer.Character:Destroy() end end end) --------------------------------------------------------- -- CHAT COMMANDS PROCESSOR (/fly, /morph, /kick, etc.) --------------------------------------------------------- local function processCommand(msg) local args = string.split(msg, " ") local cmd = args[1]:lower() if cmd == "/fly" then if flying then stopFlying() else startFlying() end Rayfield:Notify({ Title = "Cmd /fly", Content = "Fly state toggled!", Duration = 2 }) elseif cmd == "/unlock" then task.spawn(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/imshrak/rivals/refs/heads/main/main"))() end) Rayfield:Notify({ Title = "Skins Unlocked!", Content = "Skin script running without closing GUI!", Duration = 3 }) elseif cmd == "/morph" and args[2] then local target = findTarget(args[2]) if target then applyMorphFromUserId(target.UserId) else local success, id = pcall(function() return Players:GetUserIdFromNameAsync(args[2]) end) if success then applyMorphFromUserId(id) end end elseif cmd == "/kick" and args[2] then local target = findTarget(args[2]) if target and target.Character then target.Character:Destroy() Rayfield:Notify({ Title = "Cmd /kick", Content = target.Name .. " removed from view!", Duration = 2 }) end elseif cmd == "/ban" and args[2] then local targetName = args[2]:lower() bannedPlayers[targetName] = true local target = findTarget(args[2]) if target and target.Character then target.Character:Destroy() end Rayfield:Notify({ Title = "Cmd /ban", Content = args[2] .. " added to Local Ban list!", Duration = 2 }) elseif cmd == "/unban" and args[2] then local targetName = args[2]:lower() bannedPlayers[targetName] = nil Rayfield:Notify({ Title = "Cmd /unban", Content = args[2] .. " unbanned!", Duration = 2 }) elseif cmd == "/fling" and args[2] then local target = findTarget(args[2]) if target then flingTarget(target) Rayfield:Notify({ Title = "Cmd /fling", Content = "Flinging " .. target.Name, Duration = 2 }) end end end -- Chat Hooks for Old & New Roblox Chat System player.Chatted:Connect(processCommand) pcall(function() if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then TextChatService.OnIncomingMessage = function(message) if message.TextSource and message.TextSource.UserId == player.UserId then processCommand(message.Text) end end end end) -- Engine Loops RunService.Stepped:Connect(function() if noclipEnabled and player.Character then for _, part in ipairs(player.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) RunService.RenderStepped:Connect(function() local character = player.Character if character then local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then if not flying then humanoid.WalkSpeed = walkSpeedValue end humanoid.JumpPower = jumpPowerValue end if spinSpeed > 0 and character:FindFirstChild("HumanoidRootPart") then character.HumanoidRootPart.CFrame = character.HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(spinSpeed), 0) end end end) RunService.RenderStepped:Connect(function() if flying and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local root = player.Character.HumanoidRootPart local humanoid = player.Character:FindFirstChildOfClass("Humanoid") bodyGyro.CFrame = camera.CFrame local moveDir = humanoid and humanoid.MoveDirection or Vector3.zero if moveDir.Magnitude > 0 then bodyVelocity.Velocity = camera.CFrame.LookVector * (moveDir.Magnitude * speed) else bodyVelocity.Velocity = Vector3.zero end end end) -- Extra Loops task.spawn(function() while true do task.wait(0.1) if rainbowEnabled and player.Character then local hue = (tick() % 5) / 5 local color = Color3.fromHSV(hue, 1, 1) for _, part in ipairs(player.Character:GetChildren()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then part.Color = color end end end end end) UserInputService.JumpRequest:Connect(function() if infJumpEnabled and player.Character then local humanoid = player.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end end) UserInputService.InputBegan:Connect(function(input, gameProcessed) if clickTPEnabled and not gameProcessed and input.UserInputType == Enum.UserInputType.MouseButton1 then local mouse = player:GetMouse() if mouse and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then player.Character.HumanoidRootPart.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 3, 0)) end end end) --------------------------------------------------------- -- TAB 1: MAIN CONTROLS --------------------------------------------------------- local MainTab = Window:CreateTab("Main Controls", 4483362458) MainTab:CreateToggle({ Name = "Enable Fly (/fly)", CurrentValue = false, Flag = "FlyToggle", Callback = function(Value) if Value then startFlying() else stopFlying() end end, }) MainTab:CreateSlider({ Name = "Fly Speed", Range = {10, 500}, Increment = 5, Suffix = "Speed", CurrentValue = 50, Flag = "FlySpeedSlider", Callback = function(Value) speed = Value end, }) MainTab:CreateSlider({ Name = "WalkSpeed", Range = {16, 300}, Increment = 1, Suffix = "Speed", CurrentValue = 16, Flag = "WalkSpeedSlider", Callback = function(Value) walkSpeedValue = Value end, }) MainTab:CreateSlider({ Name = "Jump Power", Range = {50, 300}, Increment = 5, Suffix = "Power", CurrentValue = 50, Flag = "JumpPowerSlider", Callback = function(Value) jumpPowerValue = Value end, }) MainTab:CreateSlider({ Name = "Spinbot Speed", Range = {0, 200}, Increment = 5, Suffix = "RPM", CurrentValue = 0, Flag = "SpinSlider", Callback = function(Value) spinSpeed = Value end, }) MainTab:CreateToggle({ Name = "Low Gravity Mode", CurrentValue = false, Flag = "GravityToggle", Callback = function(Value) Workspace.Gravity = Value and 40 or 196.2 end, }) MainTab:CreateToggle({ Name = "Infinite Jump", CurrentValue = false, Flag = "InfJumpMainToggle", Callback = function(Value) infJumpEnabled = Value end, }) MainTab:CreateButton({ Name = "Enable Anti-AFK", Callback = function() local virtualUser = game:GetService("VirtualUser") player.Idled:Connect(function() virtualUser:CaptureController() virtualUser:ClickButton2(Vector2.new()) end) Rayfield:Notify({ Title = "Anti-AFK", Content = "Anti-AFK Enabled!", Duration = 2 }) end, }) MainTab:CreateButton({ Name = "Rejoin Server", Callback = function() TeleportService:Teleport(game.PlaceId, player) end, }) MainTab:CreateButton({ Name = "Server Hop", Callback = function() TeleportService:Teleport(game.PlaceId) end, }) --------------------------------------------------------- -- TAB 2: PLAYER MORPH --------------------------------------------------------- local MorphTab = Window:CreateTab("Player Morph", 4483362458) local morphUsername = "" MorphTab:CreateInput({ Name = "Morph Username (/morph )", PlaceholderText = "Enter Username...", RemoveTextOnFocusLost = false, Callback = function(Text) morphUsername = Text end, }) MorphTab:CreateButton({ Name = "Morph By Username", Callback = function() if morphUsername == "" then return end local target = findTarget(morphUsername) if target then applyMorphFromUserId(target.UserId) else local success, id = pcall(function() return Players:GetUserIdFromNameAsync(morphUsername) end) if success then applyMorphFromUserId(id) end end end, }) MorphTab:CreateDropdown({ Name = "Preset Avatars", Options = {"Builderman (156)", "Shedletsky (261)", "Telamon (261)", "Roblox (1)"}, CurrentOption = {"Builderman (156)"}, MultipleOptions = false, Flag = "PresetMorphDropdown", Callback = function(Option) local selected = Option[1] if selected:find("156") then applyMorphFromUserId(156) elseif selected:find("261") then applyMorphFromUserId(261) elseif selected:find("1") then applyMorphFromUserId(1) end end, }) MorphTab:CreateButton({ Name = "Remove Clothing", Callback = function() if player.Character then for _, item in ipairs(player.Character:GetChildren()) do if item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") then item:Destroy() end end end end, }) MorphTab:CreateButton({ Name = "Remove Accessories", Callback = function() if player.Character then for _, item in ipairs(player.Character:GetChildren()) do if item:IsA("Accessory") then item:Destroy() end end end end, }) --------------------------------------------------------- -- TAB 3: ADMIN PANEL (WITH CHAT COMMAND CONTROLS) --------------------------------------------------------- local AdminTab = Window:CreateTab("Admin Panel", 4483362458) local targetInput = "" AdminTab:CreateInput({ Name = "Target Player Username", PlaceholderText = "@Username", RemoveTextOnFocusLost = false, Callback = function(Text) targetInput = Text end, }) AdminTab:CreateButton({ Name = "Kick Target (/kick)", Callback = function() local target = findTarget(targetInput) if target and target.Character then target.Character:Destroy() Rayfield:Notify({ Title = "Admin Kick", Content = target.Name .. " kicked!", Duration = 2 }) end end, }) AdminTab:CreateButton({ Name = "Ban Target (/ban)", Callback = function() if targetInput ~= "" then bannedPlayers[targetInput:lower()] = true local target = findTarget(targetInput) if target and target.Character then target.Character:Destroy() end Rayfield:Notify({ Title = "Admin Ban", Content = targetInput .. " banned!", Duration = 2 }) end end, }) AdminTab:CreateButton({ Name = "Unban Target (/unban)", Callback = function() if targetInput ~= "" then bannedPlayers[targetInput:lower()] = nil Rayfield:Notify({ Title = "Admin Unban", Content = targetInput .. " unbanned!", Duration = 2 }) end end, }) AdminTab:CreateButton({ Name = "Fling Target (/fling)", Callback = function() local target = findTarget(targetInput) if target then flingTarget(target) end end, }) AdminTab:CreateButton({ Name = "Teleport To Target", Callback = function() local target = findTarget(targetInput) local myRoot = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if target and target.Character and myRoot then local tRoot = target.Character:FindFirstChild("HumanoidRootPart") if tRoot then myRoot.CFrame = tRoot.CFrame * CFrame.new(0, 0, 3) end end end, }) AdminTab:CreateToggle({ Name = "Click Teleport Tool", CurrentValue = false, Flag = "ClickTPToggleAdmin", Callback = function(Value) clickTPEnabled = Value end, }) AdminTab:CreateButton({ Name = "Spectate Target Toggle", Callback = function() local target = findTarget(targetInput) if target and target.Character and target.Character:FindFirstChild("Humanoid") then spectating = not spectating camera.CameraSubject = spectating and target.Character.Humanoid or (player.Character and player.Character:FindFirstChild("Humanoid")) end end, }) AdminTab:CreateButton({ Name = "ESP Highlight Target", Callback = function() if currentHighlight then currentHighlight:Destroy() end local target = findTarget(targetInput) if target and target.Character then local hl = Instance.new("Highlight") hl.FillColor = Color3.fromRGB(255, 0, 0) hl.Parent = target.Character currentHighlight = hl end end, }) AdminTab:CreateToggle({ Name = "Noclip Walls", CurrentValue = false, Flag = "NoclipAdminToggle", Callback = function(Value) noclipEnabled = Value end, }) AdminTab:CreateToggle({ Name = "Invisible (Local Character)", CurrentValue = false, Flag = "InvisAdminToggle", Callback = function(Value) if player.Character then for _, v in ipairs(player.Character:GetDescendants()) do if v:IsA("BasePart") or v:IsA("Decal") then v.LocalTransparencyModifier = Value and 1 or 0 end end end end, }) AdminTab:CreateButton({ Name = "Give Classic Btools", Callback = function() local t1, t2, t3 = Instance.new("HopperBin", player.Backpack), Instance.new("HopperBin", player.Backpack), Instance.new("HopperBin", player.Backpack) t1.BinType, t2.BinType, t3.BinType = Enum.BinType.Clone, Enum.BinType.Hammer, Enum.BinType.Grab end, }) --------------------------------------------------------- -- TAB 4: SKINS & COSMETICS --------------------------------------------------------- local SkinsTab = Window:CreateTab("Skins & Unlocker", 4483362458) SkinsTab:CreateButton({ Name = "Unlock All Skins (/unlock)", Callback = function() task.spawn(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/imshrak/rivals/refs/heads/main/main"))() end) Rayfield:Notify({ Title = "Skins Unlocked!", Content = "Skin Script loaded without closing GUI!", Duration = 3 }) end, }) SkinsTab:CreateButton({ Name = "Unlock Weapon Utility (Backup)", Callback = function() task.spawn(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))() end) end, }) SkinsTab:CreateToggle({ Name = "Rainbow Skin Loop", CurrentValue = false, Flag = "RainbowSkinToggle", Callback = function(Value) rainbowEnabled = Value end, }) SkinsTab:CreateButton({ Name = "Force Neon Material", Callback = function() if player.Character then for _, v in ipairs(player.Character:GetChildren()) do if v:IsA("BasePart") then v.Material = Enum.Material.Neon end end end end, }) --------------------------------------------------------- -- TAB 5: CAMERA & VISUALS --------------------------------------------------------- local VisualsTab = Window:CreateTab("Camera & Visuals", 4483362458) VisualsTab:CreateToggle({ Name = "Fullbright (No Shadows)", CurrentValue = false, Flag = "FullbrightVisualToggle", Callback = function(Value) fullbrightEnabled = Value Lighting.Brightness = fullbrightEnabled and 2 or originalBrightness Lighting.ClockTime = fullbrightEnabled and 14 or originalClockTime Lighting.GlobalShadows = not fullbrightEnabled end, }) VisualsTab:CreateSlider({ Name = "Field Of View (FOV)", Range = {70, 120}, Increment = 1, Suffix = "FOV", CurrentValue = 70, Flag = "FOVSliderVisual", Callback = function(Value) camera.FieldOfView = Value end, }) VisualsTab:CreateButton({ Name = "Remove Fog / Boost Graphics", Callback = function() Lighting.FogEnd = 9e9 for _, v in ipairs(Lighting:GetChildren()) do if v:IsA("Atmosphere") or v:IsA("PostEffect") then v:Destroy() end end end, })