Run it
Copy the script and paste it into your executor.
Rayfield = (:())()
Players = :()
RunService = :()
UserInputService = :()
VirtualInputManager = :()
StarterGui = :()
CoreGui = :()
LocalPlayer = Players.LocalPlayer
Camera = .CurrentCamera
Gravity = .Gravity
REACH_DISTANCE =
THICKNESS_MULTIPLIER =
Y_OFFSET =
isEnabledMags =
showRadiusBubble =
bubbleRadius =
fakeArms = {}
DevSettings = {
TargetingEnabled = ,
TeammateOnly = ,
CameraLockEnabled = ,
TargetRange = ,
ThrowPower = ,
LeadMultiplier = ,
AssistMode = ,
ShowTrajectory = ,
ShowDebug = ,
TrajectoryColor = .(, , )
}
currentTarget =
manuallyLockedTarget =
isThrowing =
(title, text)
StarterGui:(, { Title = title, Text = text, Duration = })
visualBubble = .()
visualBubble.Name =
visualBubble.Shape = .PartType.Ball
visualBubble.Material = .Material.ForceField
visualBubble.Color = .(, , )
visualBubble.Anchored =
visualBubble.CanCollide =
visualBubble.Massless =
visualBubble.CastShadow =
DebugScreenGui = .()
DebugScreenGui.Name =
success = (() DebugScreenGui.Parent = CoreGui )
success DebugScreenGui.Parent = LocalPlayer:()
DebugText = .(, DebugScreenGui)
DebugText.Size = .(, , , )
DebugText.Position = .(, , , )
DebugText.BackgroundTransparency =
DebugText.BackgroundColor3 = .(, , )
DebugText.TextColor3 = .(, , )
DebugText.TextXAlignment = .TextXAlignment.Left
DebugText.TextYAlignment = .TextYAlignment.Top
DebugText.Font = .Font.Code
DebugText.TextSize =
DebugText.Visible = DevSettings.ShowDebug
TrajectoryFolder = .(, )
TrajectoryFolder.Name =
trajectoryLines = {}
maxSegments =
i = , maxSegments
line = .()
line.Anchored =
line.CanCollide =
line.Material = .Material.Neon
line.Color = DevSettings.TrajectoryColor
line.Transparency =
line.Parent = TrajectoryFolder
.(trajectoryLines, line)
CatchMarker = .()
CatchMarker.Shape = .PartType.Ball
CatchMarker.Size = .(, , )
CatchMarker.Material = .Material.Neon
CatchMarker.Color = .(, , )
CatchMarker.Anchored =
CatchMarker.CanCollide =
CatchMarker.Transparency =
CatchMarker.Parent = TrajectoryFolder
MobileGui = .()
MobileGui.Name =
MobileGui.Parent = success CoreGui LocalPlayer:()
MobileGui.ResetOnSpawn =
ButtonContainer = .(, MobileGui)
ButtonContainer.Size = .(, , , )
ButtonContainer.Position = .(, -, , -)
ButtonContainer.BackgroundTransparency =
UIListLayout = .(, ButtonContainer)
UIListLayout.Padding = .(, )
UIListLayout.SortOrder = .SortOrder.LayoutOrder
(name, text, layoutOrder)
btn = .(, ButtonContainer)
btn.Name = name
btn.Size = .(, , , )
btn.BackgroundColor3 = .(, , )
btn.BackgroundTransparency =
btn.Font = .Font.SourceSansBold
btn.Text = text
btn.TextColor3 = .(, , )
btn.TextSize =
btn.TextWrapped =
btn.LayoutOrder = layoutOrder
corner = .(, btn)
corner.CornerRadius = .(, )
btn
btnToggleUI = (, , )
btnTarget = (, , )
btnThrow = (, , )
btnToggleUI.MouseButton1Click:(()
VirtualInputManager:(, .KeyCode.RightControl, , )
.()
VirtualInputManager:(, .KeyCode.RightControl, , )
)
()
character = LocalPlayer.Character
character
rightSource = character:() character:()
leftSource = character:() character:()
rightSource leftSource
rClone = .()
rClone.Name =
rClone.Size = .(rightSource.Size.X * THICKNESS_MULTIPLIER, REACH_DISTANCE, rightSource.Size.Z * THICKNESS_MULTIPLIER)
rClone.Transparency =
rClone.CanCollide =
rClone.Massless =
rClone.Anchored =
rClone.Parent = character
lClone = .()
lClone.Name =
lClone.Size = .(leftSource.Size.X * THICKNESS_MULTIPLIER, REACH_DISTANCE, leftSource.Size.Z * THICKNESS_MULTIPLIER)
lClone.Transparency =
lClone.CanCollide =
lClone.Massless =
lClone.Anchored =
lClone.Parent = character
fakeArms = {Right = rClone, Left = lClone}
()
fakeArms.Right fakeArms.Right:()
fakeArms.Left fakeArms.Left:()
fakeArms = {}
()
()
isEnabledMags ()
(startPos, targetPos, throwPower)
distance = (.(targetPos.X, , targetPos.Z) - .(startPos.X, , startPos.Z)).Magnitude
distance / throwPower
(qbPos, receiverPos, receiverVel, throwPower, leadMult)
estimatedTime = (qbPos, receiverPos, throwPower)
predictedPos = receiverPos + (receiverVel * estimatedTime * leadMult)
predictedPos, estimatedTime
(startPos, targetPos, timeToTarget)
displacement = targetPos - startPos
velocityXZ = .(displacement.X, , displacement.Z) / timeToTarget
velocityY = (displacement.Y + * Gravity * (timeToTarget ^ )) / timeToTarget
velocityXZ + .(, velocityY, )
()
DevSettings.TargetingEnabled {}
validTargets = {}
screenCenter = .(Camera.ViewportSize.X / , Camera.ViewportSize.Y / )
localChar = LocalPlayer.Character
localChar localChar:() {}
qbPos = localChar.HumanoidRootPart.Position
_, player (Players:())
player == LocalPlayer
DevSettings.TeammateOnly player.Team ~= LocalPlayer.Team
char = player.Character
char char:() char.Humanoid.Health >
root = char.HumanoidRootPart
distFromQB = (root.Position - qbPos).Magnitude
distFromQB <= DevSettings.TargetRange
screenPos, onScreen = Camera:(root.Position)
onScreen
distFromCenter = (.(screenPos.X, screenPos.Y) - screenCenter).Magnitude
.(validTargets, {Player = player, Dist = distFromCenter})
.(validTargets, (a, b) a.Dist < b.Dist )
sortedPlayers = {}
_, data (validTargets)
.(sortedPlayers, data.Player)
sortedPlayers
(startPos, velocity, flightTime, predictedPos)
DevSettings.ShowTrajectory
_, p (trajectoryLines) p.Transparency =
CatchMarker.Transparency =
numSegments = .(.(flightTime * ), , maxSegments)
timeStep = flightTime / numSegments
lastPos = startPos
i = , maxSegments
part = trajectoryLines[i]
i <= numSegments
t = i * timeStep
nextPos = startPos + (velocity * t) + (.(, - * Gravity * t^, ))
distance = (nextPos - lastPos).Magnitude
part.Size = .(, , distance)
part.CFrame = .(lastPos, nextPos) * .(, , -distance / )
part.Transparency = + ( * (i / numSegments))
lastPos = nextPos
part.Transparency =
CatchMarker.Position = predictedPos
CatchMarker.Transparency =
()
_, p (trajectoryLines) p.Transparency =
CatchMarker.Transparency =
(qbRoot, recRoot)
recRoot DevSettings.AssistMode ==
targetPos = recRoot.Position
recVel = recRoot.AssemblyLinearVelocity
leadMult = DevSettings.LeadMultiplier
DevSettings.AssistMode == leadMult =
predictedPos, flightTime = (qbRoot.Position, targetPos, recVel, DevSettings.ThrowPower, leadMult)
(qbRoot.Position, predictedPos, flightTime), flightTime, predictedPos
()
validTargets = ()
#validTargets >
currentIndex =
i, target (validTargets)
target == manuallyLockedTarget
currentIndex = i
nextIndex = currentIndex +
nextIndex > #validTargets nextIndex =
manuallyLockedTarget = validTargets[nextIndex]
btnTarget.MouseButton1Click:(CycleTargetFunction)
(isAutoThrow)
isThrowing
char = LocalPlayer.Character
char char:()
qbRoot = char.HumanoidRootPart
tool = char:()
tool
backpack = LocalPlayer:()
backpack
bpTool = backpack:()
bpTool char.Humanoid:(bpTool)
finalVelocity =
predictedPos =
currentTarget currentTarget.Character
recRoot = currentTarget.Character.HumanoidRootPart
finalVelocity, _, predictedPos = (qbRoot, recRoot)
finalVelocity predictedPos
isThrowing =
rootPos = qbRoot.Position
lookAtCFrame = .(rootPos, .(predictedPos.X, rootPos.Y, predictedPos.Z))
qbRoot.CFrame = lookAtCFrame
originalCFrame = Camera.CFrame
viewportSize = Camera.ViewportSize
centerX = viewportSize.X /
centerY = viewportSize.Y /
isAutoThrow
timeToApex = finalVelocity.Y / Gravity
timeToApex < timeToApex =
apexPos = qbRoot.Position + (finalVelocity * timeToApex) - .(, * Gravity * timeToApex^, )
Camera.CFrame = .(Camera.CFrame.Position, apexPos)
.()
VirtualInputManager:(centerX, centerY, , , , )
.()
VirtualInputManager:(centerX, centerY, , , , )
.(()
ballPart =
i = ,
.()
_, obj (:())
obj:()
obj:(char)
nameLower = .(obj.Name)
(.(nameLower, ) .(nameLower, ) .(nameLower, )) obj.Anchored
dist = (obj.Position - qbRoot.Position).Magnitude
dist <
ballPart = obj
ballPart
isAutoThrow
Camera.CFrame = originalCFrame
ballPart
_, v (ballPart:())
v:() v:() v:() v:() v:()
v:()
startTime = ()
forceConnection
forceConnection = RunService.Heartbeat:(()
() - startTime > ballPart ballPart.Parent
forceConnection:()
isThrowing =
ballPart.AssemblyLinearVelocity = finalVelocity
)
isThrowing =
)
btnThrow.MouseButton1Click:(() () )
updateThrottle =
RunService.RenderStepped:((dt)
isEnabledMags
character = LocalPlayer.Character
character
rightSource = character:() character:()
leftSource = character:() character:()
rightSource leftSource fakeArms.Right fakeArms.Left
fakeArms.Right.CFrame = rightSource.CFrame * .(, (-REACH_DISTANCE / ) + Y_OFFSET, )
fakeArms.Left.CFrame = leftSource.CFrame * .(, (-REACH_DISTANCE / ) + Y_OFFSET, )
showRadiusBubble
targetBall =
_, obj (:())
obj:() obj.Name ==
targetBall = obj
targetBall
visualBubble.Size = .(bubbleRadius * , bubbleRadius * , bubbleRadius * )
visualBubble.CFrame = targetBall.CFrame
visualBubble.Parent ~= visualBubble.Parent =
visualBubble.Parent visualBubble.Parent =
visualBubble.Parent visualBubble.Parent =
updateThrottle = updateThrottle + dt
updateThrottle >=
updateThrottle =
char = LocalPlayer.Character
char char:()
qbRoot = char.HumanoidRootPart
validTargets = ()
isTargetStillValid =
manuallyLockedTarget
_, target (validTargets)
target == manuallyLockedTarget
isTargetStillValid =
isTargetStillValid manuallyLockedTarget = validTargets[]
currentTarget = manuallyLockedTarget
currentTarget currentTarget.Character DevSettings.AssistMode ~=
recRoot = currentTarget.Character.HumanoidRootPart
requiredVelocity, flightTime, predictedPos = (qbRoot, recRoot)
requiredVelocity
(qbRoot.Position, requiredVelocity, flightTime, predictedPos)
DevSettings.CameraLockEnabled isThrowing
Camera.CFrame = .(Camera.CFrame.Position, recRoot.Position)
DevSettings.ShowDebug
DebugText.Text = .(
,
currentTarget.Name, DevSettings.AssistMode, (recRoot.Position - qbRoot.Position).Magnitude
)
()
DevSettings.ShowDebug
DebugText.Text = .(, DevSettings.AssistMode)
)
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
isEnabledMags (input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch)
character = LocalPlayer.Character
character
rightSource = character:() character:()
_, obj (:())
obj:() obj.Name ==
rightSource (rightSource.Position - obj.Position).Magnitude <= REACH_DISTANCE + (THICKNESS_MULTIPLIER * )
(rightSource, obj, )
(rightSource, obj, )
obj.CFrame = rightSource.CFrame
input.KeyCode == .KeyCode.T ()
input.KeyCode == .KeyCode.G ()
)
UserInputService.InputEnded:((input, gameProcessed)
gameProcessed
input.UserInputType == .UserInputType.MouseButton1
isThrowing ()
)
Window = Rayfield:({
Name = ,
LoadingTitle = ,
LoadingSubtitle = ,
Theme = ,
DisableRayfieldPrompts = ,
ConfigurationSaving = { Enabled = },
KeySystem =
})
ReceiverTab = Window:(, )
ReceiverTab:()
ReceiverTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
isEnabledMags = Value
()
(, Value )
,
})
ReceiverTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
REACH_DISTANCE = Value
()
,
})
ReceiverTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
THICKNESS_MULTIPLIER = Value
()
,
})
QBTab = Window:(, )
QBTab:()
QBTab:({
Name = ,
CurrentValue = DevSettings.TargetingEnabled,
Flag = ,
Callback = (Value) DevSettings.TargetingEnabled = Value ,
})
QBTab:({
Name = ,
CurrentValue = DevSettings.TeammateOnly,
Flag = ,
Callback = (Value) DevSettings.TeammateOnly = Value ,
})
QBTab:({
Name = ,
CurrentValue = DevSettings.CameraLockEnabled,
Flag = ,
Callback = (Value) DevSettings.CameraLockEnabled = Value ,
})
QBTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = DevSettings.TargetRange,
Flag = ,
Callback = (Value) DevSettings.TargetRange = Value ,
})
QBTab:()
QBTab:({
Name = ,
Options = {, , , },
CurrentOption = {},
MultipleOptions = ,
Flag = ,
Callback = (Options) DevSettings.AssistMode = Options[] ,
})
QBTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = DevSettings.ThrowPower,
Flag = ,
Callback = (Value) DevSettings.ThrowPower = Value ,
})
QBTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = DevSettings.LeadMultiplier,
Flag = ,
Callback = (Value) DevSettings.LeadMultiplier = Value ,
})
VisualsTab = Window:(, )
VisualsTab:()
VisualsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value) showRadiusBubble = Value ,
})
VisualsTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = ,
Flag = ,
Callback = (Value) bubbleRadius = Value ,
})
VisualsTab:()
VisualsTab:({
Name = ,
CurrentValue = DevSettings.ShowTrajectory,
Flag = ,
Callback = (Value)
DevSettings.ShowTrajectory = Value
Value ()
,
})
VisualsTab:({
Name = ,
Color = DevSettings.TrajectoryColor,
Flag = ,
Callback = (Value)
DevSettings.TrajectoryColor = Value
_, part (trajectoryLines) part.Color = Value
})
VisualsTab:({
Name = ,
CurrentValue = DevSettings.ShowDebug,
Flag = ,
Callback = (Value)
DevSettings.ShowDebug = Value
DebugText.Visible = Value
,
})
Rayfield:()Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: sirius.menu.
find out your self to hide the menu move it out of your screen i have to fix the hide button