Run it
Copy the script and paste it into your executor.
Players = :()
ReplicatedStorage = :()
LocalPlayer = Players.LocalPlayer
Remote = ReplicatedStorage:():()
projectileSpeed =
gravity = .Gravity
gui = .()
gui.Parent = LocalPlayer:()
main = .(, gui)
main.Size = .(, )
main.Position = .(, )
main.BackgroundColor3 = .(,,)
main.Active =
main.Draggable =
corner = .(, main)
corner.CornerRadius = .(,)
title = .(, main)
title.Size = .(, )
title.Text =
title.TextScaled =
title.BackgroundTransparency =
title.TextColor3 = .(,,)
list = .(, main)
list.Size = .(, )
list.Position = .(, )
list.AutomaticCanvasSize = .AutomaticSize.Y
list.CanvasSize = .(,,,)
list.ScrollBarImageTransparency =
list.BackgroundColor3 = .(,,)
list.BorderSizePixel =
listCorner = .(, list)
listCorner.CornerRadius = .(,)
layout = .(, list)
layout.Padding = .(,)
partLabel = .(, main)
partLabel.Size = .(, )
partLabel.Position = .(, )
partLabel.Text =
partLabel.TextScaled =
partLabel.BackgroundTransparency =
partLabel.TextColor3 = .(,,)
partButton = .(, main)
partButton.Size = .(, )
partButton.Position = .(, )
partButton.Text =
partButton.TextScaled =
partButton.BackgroundColor3 = .(,,)
partButton.TextColor3 = .(,,)
partCorner = .(, partButton)
partCorner.CornerRadius = .(,)
speedLabel = .(, main)
speedLabel.Size = .(, )
speedLabel.Position = .(, )
speedLabel.Text =
speedLabel.TextScaled =
speedLabel.BackgroundTransparency =
speedLabel.TextColor3 = .(,,)
speedBox = .(, main)
speedBox.Size = .(, )
speedBox.Position = .(, )
speedBox.Text = (projectileSpeed)
speedBox.PlaceholderText =
speedBox.TextScaled =
speedBox.BackgroundColor3 = .(,,)
speedBox.TextColor3 = .(,,)
speedCorner = .(, speedBox)
speedCorner.CornerRadius = .(,)
fireButton = .(, main)
fireButton.Size = .(, )
fireButton.Position = .(, )
fireButton.Text =
fireButton.TextScaled =
fireButton.BackgroundColor3 = .(,,)
fireButton.TextColor3 = .(,,)
btnCorner = .(, fireButton)
btnCorner.CornerRadius = .(,)
selectedPlayer =
selectedPart =
partButton.MouseButton1Click:(()
selectedPart ==
selectedPart =
partButton.Text =
selectedPart =
partButton.Text =
)
speedBox.FocusLost:(()
val = (speedBox.Text)
val val >
projectileSpeed = val
speedBox.Text = (projectileSpeed)
)
()
_, child (list:())
child:()
child:()
_, plr (Players:())
plr ~= LocalPlayer
btn = .()
btn.Size = .(, -, , )
btn.Text = plr.DisplayName .. .. plr.Name ..
btn.TextScaled =
btn.BackgroundColor3 = .(,,)
btn.TextColor3 = .(,,)
btn.Parent = list
c = .(, btn)
c.CornerRadius = .(,)
btn.MouseButton1Click:(()
selectedPlayer = plr
_, child (list:())
child:()
child.BackgroundColor3 = .(,,)
btn.BackgroundColor3 = .(,,)
)
()
Players.PlayerAdded:(refreshList)
Players.PlayerRemoving:(refreshList)
fireButton.MouseButton1Click:(()
selectedPlayer
selectedPlayer.Character
char = selectedPlayer.Character
part = char:(selectedPart)
part
targetPos = part.Position
targetVel = part.AssemblyLinearVelocity
origin = .CurrentCamera.CFrame.Position
distance = (targetPos - origin).Magnitude
time = distance / projectileSpeed
predictedPosition =
targetPos +
(targetVel * time) +
.(, (gravity * time * time) / , )
args = {
,
,
,
predictedPosition
}
Remote:((args))
)
Same as last but for setd 1.2 recreation. Use the box to change the speed. has limits

Universal