Run it
Copy the script and paste it into your executor.
local Players = game:()
RunService = :()
UIS = :()
lp = Players.LocalPlayer
mouse = lp:()
camera = .CurrentCamera
tool = .()
tool.Name =
tool.RequiresHandle =
tool.Parent = lp.Backpack
targetPart =
att0, att1, ap, ao = , , ,
currentDistance =
throwPower =
()
att0 att0:() att0 =
att1 att1:() att1 =
ap ap:() ap =
ao ao:() ao =
targetPart =
tool.Deactivated:(release)
tool.Activated:(()
target = mouse.Target
target target.Anchored target:(lp.Character)
targetPart = target
currentDistance = (camera.CFrame.Position - target.Position).Magnitude
att0 = .(, targetPart)
att1 = .(, .Terrain)
ap = .(, targetPart)
ap.Attachment0 = att0
ap.Attachment1 = att1
ap.MaxForce = .huge
ap.Responsiveness =
ao = .(, targetPart)
ao.Attachment0 = att0
ao.Attachment1 = att1
ao.MaxTorque = .huge
ao.Responsiveness =
loop
loop = RunService.RenderStepped:(()
targetPart att1
ray = mouse.UnitRay
targetPos = ray.Origin + (ray.Direction * currentDistance)
att1.Position = targetPos
att1.WorldOrientation = targetPart.Orientation
loop:()
)
)
UIS.InputBegan:((input, gameProcessed)
gameProcessed targetPart
input.KeyCode == .KeyCode.R
currentDistance = .(currentDistance - , )
input.KeyCode == .KeyCode.T
currentDistance = currentDistance +
input.KeyCode == .KeyCode.Y
throwDir = mouse.UnitRay.Direction
savedPart = targetPart
()
savedPart.AssemblyLinearVelocity = throwDir * throwPower
)
()R to bring closer T to bring farther and Y to throw

Universal