Run it
Copy the script and paste it into your executor.
local players=game:GetService("Players");
local l=players.LocalPlayer;
local camera=workspace.CurrentCamera;
local m=require(game.ReplicatedStorage.Modules.Projectile);
UIS=:();
FOVR=; FOVON,SNAPON=,;
fov= .() ;
fov
fov.Visible=FOVON;fov.Thickness=;fov.Radius=FOVR;fov.Color=.(,,);fov.Transparency=;fov.Filled=;fov.NumSides=;
snap= .() ;
snap
snap.Visible=SNAPON;snap.Thickness=;snap.Color=.(,,);snap.Transparency=;
()
a; ml=UIS:(); min=FOVR;
_,b ,players:()
b~=l ( b.Team l.Team b.Team~=l.Team)
ch=b.Character; hd=ch ch:();
hd
s,on=camera:(hd.Position);
on
d=(.(s.X,s.Y)-ml).Magnitude;
d<=FOVR ( a d<min) a=b;min=d;;
a;
:().RenderStepped:(()
fov
ml=UIS:();
fov.Position=ml;fov.Radius=FOVR;fov.Visible=FOVON;
snap
pl=();
SNAPON pl pl.Character pl.Character:()
ml=UIS:();
s,on=camera:(pl.Character.Head.Position);
on
snap.From=ml;
snap.To=.(s.X,s.Y);snap.Visible=;
snap.Visible=;
snap.Visible=;
)
o=m.SpawnBullet;
m.SpawnBullet=(...)
g={...}; h=();
h
f=((g[])== g[].Position) g[];
s=h.Character.Head.Position;
v=h.Character:() h.Character.HumanoidRootPart.Velocity .zero;
db=g[]; spd=; grav=.(,-.Gravity,);
db
db.Speed spd=db.Speed ; db.Gravity grav=db.Gravity ;
dist=(s-f).Magnitude;
tme=spd> dist/spd ;
pred=s+v*tme+*grav*tme*tme;
g[]=.(f,pred).LookVector;
(.(g));
;
Universal