-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local Players = game:GetService("Players") local LP = Players.LocalPlayer local FireRifle = game.ReplicatedStorage.Voxel.Remotes.FireRifle local BotRigs = workspace.BotRigs local target local function targets(char) local hum = char and char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return false end local plr = Players:GetPlayerFromCharacter(char) if plr then return plr ~= LP and (not LP.Team or plr.Team ~= LP.Team) end if LP.Team then local t = char:GetAttribute("Team") if t and (typeof(t) == "Instance" and t.Name or tostring(t)) == LP.Team.Name then return false end end return true end game:GetService("RunService").RenderStepped:Connect(function() local cam = workspace.CurrentCamera if not cam then return end target = nil local best, center = math.huge, cam.ViewportSize * 0.5 local function check(char) if not targets(char) then return end local head = char:FindFirstChild("Head") if not head then return end local sp, on = cam:WorldToViewportPoint(head.Position) if on then local d = (Vector2.new(sp.X, sp.Y) - center).Magnitude if d < best then best, target = d, head end end end for _, p in Players:GetPlayers() do if p ~= LP then check(p.Character) end end for _, m in BotRigs:GetChildren() do check(m) end end) local old; old = hookmetamethod(game, "__namecall", function(self, ...) if not checkcaller() and self == FireRifle and getnamecallmethod() == "FireServer" then local a = {...} if target and a[1] then a[2] = (target.Position - a[1]).Unit end return old(self, table.unpack(a)) end return old(self, ...) end)