Created by Scream
Features:
- SILENT AIM
local players = game:GetService("Players") --// players
local local_player = players.LocalPlayer --// localplayer
local mouse = local_player:GetMouse() --// mouse
local user_input_service = game:GetService("UserInputService") --// userinputservice
local run_service = game:GetService("RunService") --// runservice
local current_camera = game:GetService("Workspace").CurrentCamera --// currentcamera
local mouse_location = user_input_service:GetMouseLocation() --// mouselocation
local teams = game:GetService("Teams") --// teams
local ts = require(game:GetService("ReplicatedStorage").TS) --// ts
--// index hook
local old_index
old_index = hookmetamethod(game, "__index", function(t, i)
if i == "Character" then
return ts.Characters:GetCharacter(t)
elseif i == "Team" then
return ts.Teams:GetPlayerTeam(t)
end
return old_index(t, i)
end)
--// ignore this. (not needed here)
local old = ts.Network.Fire
ts.Network.Fire = function(self, name, ...)
local args = {...}
if getnamecallmethod() == "GetService" then
return wait(9e9)
end
return old(self, name, ...)
end
--// get closest entity to cursor
local function closest_to_cursor()
local target, max_distance = nil, math.huge
for i, v in next, players:GetPlayers() do
if v ~= local_player and v.Character and v.Character:FindFirstChild("Root") and v.Team ~= local_player.Team then
local position, on_screen = current_camera:WorldToScreenPoint(v.Character.Root.Position)
local distance = (Vector2.new(position.x, position.y) - Vector2.new(mouse.x, mouse.y)).Magnitude
if distance < max_distance then
target, max_distance = v, distance
end
end
end
return target
end
--// silent aim (max dist of 150m)
local old = ts.Raycast.CastGeometryAndEnemies
ts.Raycast.CastGeometryAndEnemies = function(...)
local args = {...}
if closest_to_cursor() then
args[3] = (closest_to_cursor().Character.Root.Position - args[2])
end
return old(unpack(args))
end
ENJOY!