Run it
Copy the script and paste it into your executor.
replicated_storage = :();
user_input_service = :();
run_service = :();
= :();
players = :();
local_player = players.LocalPlayer;
camera = .CurrentCamera;
my_camera = (:().Modules.MyCameraModule);
bullet_constructor = (replicated_storage.Modules.BulletConstructor);
map = :();
(map)
map.Parent = .Bulletholes;
silent_fov, current_target = , ;
silent_aim_fov_outline = .();
silent_aim_fov = .();
snapline_outline = .();
snapline = .();
silent_aim_fov_outline.Position = .(camera.ViewportSize.X / , camera.ViewportSize.Y / );
silent_aim_fov_outline.Color = .(, , )
silent_aim_fov_outline.Visible = ;
silent_aim_fov_outline.Thickness = ;
silent_aim_fov_outline.Radius = silent_fov;
silent_aim_fov.Position = .(camera.ViewportSize.X / , camera.ViewportSize.Y / );
silent_aim_fov.Color = .(, , )
silent_aim_fov.Visible = ;
silent_aim_fov.Thickness = ;
silent_aim_fov.Radius = silent_fov;
snapline_outline.Color = .(, , );
snapline_outline.Thickness = ;
snapline.Color = .(, , );
snapline.Thickness = ;
camera:():(()
silent_aim_fov_outline.Position = .(camera.ViewportSize.X / , camera.ViewportSize.Y / );
silent_aim_fov.Position = silent_aim_fov_outline.Position;
)
(radius: number)
closest_head, max_distance = , radius;
mouse = user_input_service:();
_, player (players:())
(player == local_player)
;
character = player.Character;
( character)
;
humanoid = character:();
head = character:();
( head) ( humanoid) (humanoid.Health <= )
;
screen_position, visible = camera:(head.Position);
( visible)
;
distance = (.(screen_position.X, screen_position.Y) - .(mouse.X, mouse.Y)).Magnitude;
(distance < max_distance)
max_distance = distance;
closest_head = head;
closest_head;
run_service.RenderStepped:(()
current_target = (silent_fov);
(current_target)
screen_position = camera:(current_target.Position);
snapline_outline.From = .(camera.ViewportSize.X / , camera.ViewportSize.Y / );
snapline_outline.To = .(screen_position.X, screen_position.Y);
snapline.From = snapline_outline.From;
snapline.To = snapline_outline.To;
snapline_outline.Visible = ;
snapline.Visible = ;
snapline_outline.Visible = ;
snapline.Visible = ;
)
old; old = (bullet_constructor.new, (self)
(current_target) (self.Player == local_player)
self.Direction = (current_target.Position - self.OriginCFrame.Position).Unit;
self.ProjectileSpeed = ;
(self);
)
(my_camera.Recoil, ()
;
)Made by @kylosilly on discord i didnt add any checks if sm1 has forecfield or is lobby so add it urself