Imported from ScriptBlox https://scriptblox.com/
Made by @kylosilly on discord
i didnt add any checks if sm1 has forecfield or is lobby so add it urself
Free
script.lua
114 lines
local replicated_storage = game:GetService("ReplicatedStorage");
local user_input_service = game:GetService("UserInputService");
local run_service = game:GetService("RunService");
local workspace = game:GetService("Workspace");
local players = game:GetService("Players");
local local_player = players.LocalPlayer;
local camera = workspace.CurrentCamera;
local my_camera = require(game:GetService("ReplicatedStorage").Modules.MyCameraModule);
local bullet_constructor = require(replicated_storage.Modules.BulletConstructor);
local map = workspace:WaitForChild("Map");
if (map) then
map.Parent = workspace.Bulletholes;
end
local silent_fov, current_target = 500, nil;
local silent_aim_fov_outline = Drawing.new("Circle");
local silent_aim_fov = Drawing.new("Circle");
local snapline_outline = Drawing.new("Line");
local snapline = Drawing.new("Line");
do
silent_aim_fov_outline.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2);
silent_aim_fov_outline.Color = Color3.new(0, 0, 0)
silent_aim_fov_outline.Visible = true;
silent_aim_fov_outline.Thickness = 3;
silent_aim_fov_outline.Radius = silent_fov;
end
do
silent_aim_fov.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2);
silent_aim_fov.Color = Color3.new(1, 1, 1)
silent_aim_fov.Visible = true;
silent_aim_fov.Thickness = 1;
silent_aim_fov.Radius = silent_fov;
end
do
snapline_outline.Color = Color3.new(0, 0, 0);
snapline_outline.Thickness = 3;
end
do
snapline.Color = Color3.new(1, 1, 1);
snapline.Thickness = 1;
end
camera:GetPropertyChangedSignal("ViewportSize"):Connect(function()
silent_aim_fov_outline.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2);
silent_aim_fov.Position = silent_aim_fov_outline.Position;
end)
local function closest(radius: number)
local closest_head, max_distance = nil, radius;
local mouse = user_input_service:GetMouseLocation();
for _, player in (players:GetChildren()) do
if (player == local_player) then
continue;
end
local character = player.Character;
if (not character) then
continue;
end
local humanoid = character:FindFirstChildWhichIsA("Humanoid");
local head = character:FindFirstChild("Head");
if (not head) or (not humanoid) or (humanoid.Health <= 0) then
continue;
end
local screen_position, visible = camera:WorldToViewportPoint(head.Position);
if (not visible) then
continue;
end
local distance = (Vector2.new(screen_position.X, screen_position.Y) - Vector2.new(mouse.X, mouse.Y)).Magnitude;
if (distance < max_distance) then
max_distance = distance;
closest_head = head;
end
end
return closest_head;
end
run_service.RenderStepped:Connect(function()
current_target = closest(silent_fov);
if (current_target) then
local screen_position = camera:WorldToViewportPoint(current_target.Position);
snapline_outline.From = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2);
snapline_outline.To = Vector2.new(screen_position.X, screen_position.Y);
snapline.From = snapline_outline.From;
snapline.To = snapline_outline.To;
snapline_outline.Visible = true;
snapline.Visible = true;
else
snapline_outline.Visible = false;
snapline.Visible = false;
end
end)
local old; old = hookfunction(bullet_constructor.new, function(self)
if (current_target) and (self.Player == local_player) then
self.Direction = (current_target.Position - self.OriginCFrame.Position).Unit;
self.ProjectileSpeed = 9e9;
end
return old(self);
end)
hookfunction(my_camera.Recoil, function()
return;
end)
Description
Comments 0
Login to comment
Loading comments...
Copied!