WELCOME TO INFOCHEATS.NET

INFOCHEATS is a community-driven platform focused on free game cheats, cheat development, and verified commercial software for a wide range of popular games. We provide a large collection of free cheats shared by the community. All public releases are checked for malicious code to reduce the risk of viruses, malware, or unwanted software before users interact with them.

Alongside free content, INFOCHEATS hosts an active marketplace with many independent sellers offering commercial cheats. Each product is discussed openly, with user feedback, reviews, and real usage experience available to help you make informed decisions before purchasing.

Whether you are looking for free cheats, exploring paid solutions, comparing sellers, or studying how cheats are developed and tested, INFOCHEATS brings everything together in one place — transparently and community-driven.

Guide Roblox Rivals — Viewmodel Mods, Weapon ESP & Bullet Tracers

byte_corvus

Expert
Expert
Expert
Expert
Status
Offline
Joined
Mar 3, 2026
Messages
729
Reaction score
457
Been digging into the Roblox Rivals client-side modules lately. While the devs tried to bury some logic, you can pull some clean visual mods and data points if you know which modules to require and hook. Here is a breakdown of what is currently exploitable in the local environment.

Viewmodel Manipulation & No-Bob
To mess with the gun positioning, bobbing, and spring physics, you need to pull ClientViewModel. By hooking the Update function, you can force the spring values to zero or apply a custom CFrame offset to the weapon's primary part.

Code:
cViewModel = require(LocalPlayer.PlayerScripts.Modules.ClientReplicatedClasses.ClientFighter.ClientItem.ClientViewModel)

Code:
local oldUpdate = cViewModel.Update
cViewModel.Update = function(self, dt, input, camData)
    if vars.VisualGunMods.enabled then
        if vars.VisualGunMods.nobob then
            self._bobbing_speed_spring.Target = 0
            self._bobbing_speed_spring.Value = 0
            self._bobbing_speed_spring.Velocity = 0
            self._bobbing_value_spring.Target = Vector2.zero
            self._bobbing_value_spring.Value = Vector2.zero
            self._bobbing_value_spring.Velocity = Vector2.zero
            self._bobbing_tick = 0
        end
        if vars.VisualGunMods.minimizespring then
            -- Nuke all spring velocities to stop the visual lag/offset
            self._equip_spring.Value = 0
            self._sprinting_spring.Value = 0
            self._recoil_spring.Value = Vector3.zero
            -- etc for landing, jump, and tilt springs
        end
        if vars.VisualGunMods.nosway then
            local oldGetCameraSway = self.ClientItem.ClientFighter.GetCameraSway
            self.ClientItem.ClientFighter.GetCameraSway = function(...) return Vector3.zero end
            task.defer(function() self.ClientItem.ClientFighter.GetCameraSway = oldGetCameraSway end)
        end
    end
    local result = oldUpdate(self, dt, input, camData)
    if self.Model and self.Model.PrimaryPart and vars.VisualGunMods.enabled then
        local offset = CFrame.new((vars.VisualGunMods.xpos or 0) / 20, (vars.VisualGunMods.ypos or 0) / 20, (vars.VisualGunMods.zpos or 0) / 20)
        self.Model.PrimaryPart.CFrame = self.Model.PrimaryPart.CFrame * offset
    end
    return result
end

Weapon ESP Methodology
Rivals handles viewmodels in the workspace using a specific naming convention: playerName - gunName - gunSkin. Instead of complicated raycasting for weapon detection, you can just iterate through workspace:ViewModels and split the string to see exactly what an enemy is holding.

Code:
for _, viewmodel in pairs(workspace:WaitForChild("ViewModels"):GetChildren()) do
    local parts = string.split(viewmodel.Name, " - ")
    if #parts >= 3 then
        local playerName = parts[1]
        local gunName = parts[2]
        -- Match playerName to your ESP list to display the current weapon
    end
end

Custom Bullet Tracers
For those wanting custom tracers or hit detection visuals, hook _Tracers in the ItemTypes.Gun module. This function handles both enemy and friendly data, making it easy to filter by the IsEnemy flag provided in the data table.

Code:
local oldTracers = gunModule._Tracers
gunModule._Tracers = function(self, data, ...)
    oldTracers(self, data, ...)
    local rays = data.RaycastResults or {}
    if #rays == 0 then return end
    
    local tracerColor = data.IsEnemy and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(0, 255, 0)
    for _, ray in ipairs(rays) do
        -- Drawing logic using Instance.new("Part") or your preferred drawing lib
        local distance = (ray.Position - ray.StartPosition).Magnitude
        -- Set Neon material and handle cleanup with task.delay
    end
end

Camera Lean Mechanics
If you want to manipulate the camera lean or create a "wiggle" effect, look into MechanicsController. You can force the lean value and trigger an update to the server state to ensure it replicates if needed.

Code:
local lean = math.sin(tick() * 4) * intensity
mechanicsController.LocalCameraLean = lean
mechanicsController:_UpdateServerState("CameraLean", lean)

Note that some of these modules like ClientItem are heavily obfuscated. If anyone has made progress on a clean deobfuscation of the fighter classes, drop some info below.

Anyone tested this on the latest patch?
 
Top