Description
if you have any issues with this script please leave a comment
GAMETrack & Field: Infinite
UPDATEDOct 20, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
if not game:IsLoaded() then
game.Loaded:Wait()
end
-- ============================================================
-- SERVICES
-- ============================================================
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local lp = Players.LocalPlayer
-- ============================================================
-- RAYFIELD
-- ============================================================
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
local Window = Rayfield:CreateWindow({
Name = "Track & Field Hub",
LoadingTitle = "Track & Field Hub",
LoadingSubtitle = "Made by HIM",
Theme = "Default",
DisableRayfieldPrompts = false,
DisableBuildWarnings = false,
ConfigurationSaving = {
Enabled = true,
FolderName = "TrackFieldHub",
FileName = "Config",
},
KeySystem = false,
})
-- ============================================================
-- HELPERS
-- ============================================================
local function getChar() return lp.Character end
local function getHum()
local c = getChar()
return c and c:FindFirstChildOfClass("Humanoid")
end
local function getHRP()
local c = getChar()
return c and c:FindFirstChild("HumanoidRootPart")
end
local function notify(t, c, d)
Rayfield:Notify({ Title = t, Content = c, Duration = d or 2, Image = 4483362458 })
end
-- ============================================================
-- STATE
-- ============================================================
local baseSpeed = 16
local State = {
SpeedEnabled = false,
TargetSpeed = 32,
JumpEnabled = false,
JumpMode = "Long Jump",
InfJump = false,
LongJumpForward = 80,
LongJumpUp = 40,
HighJumpForce = 80,
NoclipEnabled = false,
ShotPutDistance = 50,
ShotPutAngle = 45,
ShotPutTimed = false,
ShotPutDelay = 0.5,
}
-- ============================================================
-- SPEED: BodyVelocity (never touches WalkSpeed)
-- ============================================================
local speedBody = nil
local speedActive = false
local function enableSpeedBody()
local hrp = getHRP()
if not hrp then return end
if speedBody then speedBody:Destroy() speedBody = nil end
speedBody = Instance.new("BodyVelocity")
speedBody.Name = "_SpeedBV"
speedBody.Velocity = Vector3.new(0, 0, 0)
speedBody.MaxForce = Vector3.new(1e5, 0, 1e5)
speedBody.P = 1e4
speedBody.Parent = hrp
speedActive = true
end
local function disableSpeedBody()
speedActive = false
if speedBody then
speedBody:Destroy()
speedBody = nil
end
end
RunService.Heartbeat:Connect(function()
if not speedActive or not speedBody or not speedBody.Parent then return end
local hum = getHum()
local hrp = getHRP()
if not hum or not hrp or hum.Health <= 0 then return end
local moveDir = hum.MoveDirection
if moveDir.Magnitude > 0.1 then
speedBody.Velocity = moveDir * State.TargetSpeed
else
speedBody.Velocity = Vector3.new(0, 0, 0)
end
end)
-- ============================================================
-- JUMP: High Jump
-- ============================================================
local function applyHighJump(hrp, force)
local old = hrp:FindFirstChild("_HighJumpBV")
if old then old:Destroy() end
local bv = Instance.new("BodyVelocity")
bv.Name = "_HighJumpBV"
bv.Velocity = Vector3.new(0, force, 0)
bv.MaxForce = Vector3.new(0, math.huge, 0)
bv.P = math.huge
bv.Parent = hrp
game:GetService("Debris"):AddItem(bv, 0.08)
end
-- ============================================================
-- JUMP: Long Jump
-- ============================================================
local function applyLongJump(hrp, forwardForce, upForce)
local old = hrp:FindFirstChild("_LongJumpBV")
if old then old:Destroy() end
local lookDir = hrp.CFrame.LookVector
local flatDir = Vector3.new(lookDir.X, 0, lookDir.Z).Unit
local bv = Instance.new("BodyVelocity")
bv.Name = "_LongJumpBV"
bv.Velocity = Vector3.new(
flatDir.X * forwardForce,
upForce,
flatDir.Z * forwardForce
)
bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bv.P = math.huge
bv.Parent = hrp
game:GetService("Debris"):AddItem(bv, 0.12)
end
-- ============================================================
-- JUMP CONNECTION
-- ============================================================
local jumpConn = nil
local function connectJump(char)
if jumpConn then jumpConn:Disconnect() jumpConn = nil end
local hum = char:WaitForChild("Humanoid")
jumpConn = hum.StateChanged:Connect(function(_, new)
if new == Enum.HumanoidStateType.Jumping then
local hrp = char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
if State.JumpEnabled then
if State.JumpMode == "Long Jump" then
task.delay(0.02, function()
applyLongJump(hrp, State.LongJumpForward, State.LongJumpUp)
end)
elseif State.JumpMode == "High Jump" then
task.delay(0.02, function()
applyHighJump(hrp, State.HighJumpForce)
end)
end
end
if State.InfJump then
task.wait(0.13)
hum:ChangeState(Enum.HumanoidStateType.Jumping)
end
end
end)
end
-- ============================================================
-- NOCLIP
-- ============================================================
RunService.Stepped:Connect(function()
if State.NoclipEnabled then
local c = getChar()
if c then
for _, p in ipairs(c:GetDescendants()) do
if p:IsA("BasePart") and p.CanCollide then
p.CanCollide = false
end
end
end
end
end)
-- ============================================================
-- RESPAWN
-- ============================================================
lp.CharacterAdded:Connect(function(char)
task.wait(0.8)
speedBody = nil
if State.SpeedEnabled then enableSpeedBody() end
connectJump(char)
end)
if lp.Character then connectJump(lp.Character) end
-- ============================================================
-- SHOT PUT
-- ============================================================
local function findShotPutRemote()
local names = {
"Throw","ThrowBall","Launch","Release",
"ShotPut","PutShot","ThrowShotPut",
"EventThrow","Compete","Submit","Power","Force"
}
for _, name in ipairs(names) do
local r = ReplicatedStorage:FindFirstChild(name, true)
or workspace:FindFirstChild(name, true)
if r and (r:IsA("RemoteEvent") or r:IsA("RemoteFunction")) then
return r
end
end
return nil
end
local function findShotPutBall()
local keywords = {"ShotPut","Ball","Shot","Put","Throw","Projectile","Puck"}
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") or obj:IsA("Model") then
for _, kw in ipairs(keywords) do
if obj.Name:lower():find(kw:lower()) then
return obj
end
end
end
end
return nil
end
local function calculateThrowVelocity(distance, angleDeg)
local g = workspace.Gravity or 196.2
local angleRad = math.rad(angleDeg)
local v = math.sqrt(distance * g / math.sin(2 * angleRad))
local hrp = getHRP()
if not hrp then return Vector3.new(0, v, 0) end
local lookDir = hrp.CFrame.LookVector
local flatDir = Vector3.new(lookDir.X, 0, lookDir.Z).Unit
return Vector3.new(
flatDir.X * v * math.cos(angleRad),
v * math.sin(angleRad),
flatDir.Z * v * math.cos(angleRad)
)
end
local function executeShotPut()
local hrp = getHRP()
if not hrp then notify("Shot Put", "No character.", 2) return end
local remote = findShotPutRemote()
if remote then
local vel = calculateThrowVelocity(State.ShotPutDistance, State.ShotPutAngle)
if remote:IsA("RemoteEvent") then
remote:FireServer(vel, State.ShotPutDistance, State.ShotPutAngle)
else
remote:InvokeServer(vel, State.ShotPutDistance, State.ShotPutAngle)
end
notify("Shot Put", "Thrown! Distance: " .. State.ShotPutDistance, 2)
return
end
local ball = findShotPutBall()
if ball then
local click = ball:FindFirstChildOfClass("ClickDetector")
local prompt = ball:FindFirstChildOfClass("ProximityPrompt")
if click then pcall(fireclick, click) notify("Shot Put", "Clicked.", 2) return end
if prompt then pcall(fireproximityprompt, prompt) notify("Shot Put", "Prompted.", 2) return end
local ballPart = ball:IsA("BasePart") and ball or ball:FindFirstChildWhichIsA("BasePart")
if ballPart then
local vel = calculateThrowVelocity(State.ShotPutDistance, State.ShotPutAngle)
local bv = Instance.new("BodyVelocity")
bv.Velocity = vel
bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
bv.P = 1e5
bv.Parent = ballPart
game:GetService("Debris"):AddItem(bv, 0.1)
notify("Shot Put", "Physics throw!", 2)
return
end
end
notify("Shot Put", "Nothing found. Run debug.", 3)
end
local shotConn = nil
local function startTimedThrow()
if shotConn then shotConn:Disconnect() shotConn = nil end
shotConn = RunService.Heartbeat:Connect(function()
if not State.ShotPutTimed then
shotConn:Disconnect() shotConn = nil return
end
local ball = findShotPutBall()
if ball then
task.wait(State.ShotPutDelay)
executeShotPut()
task.wait(4)
end
end)
end
-- ============================================================
-- TAB: SPEED
-- ============================================================
local SpeedTab = Window:CreateTab("Speed", 4483362458)
SpeedTab:CreateSection("Speed Hack")
SpeedTab:CreateToggle({
Name = "Enable Speed",
CurrentValue = false,
Flag = "SpeedToggle",
Callback = function(v)
State.SpeedEnabled = v
if v then
enableSpeedBody()
notify("Speed", string.format("ON → %.0f ws", State.TargetSpeed), 2)
else
disableSpeedBody()
notify("Speed", "OFF — back to normal.", 2)
end
end,
})
SpeedTab:CreateSlider({
Name = "Speed (1.0x - 8.0x)",
Range = {10, 80},
Increment = 1,
Suffix = "x",
CurrentValue = 20,
Flag = "SpeedSlider",
Callback = function(v)
local mult = v / 10
State.TargetSpeed = baseSpeed * mult
if State.SpeedEnabled and speedBody then
speedBody.Velocity = Vector3.new(0, 0, 0)
end
notify("Speed", string.format("%.1fx = %.0f ws", mult, State.TargetSpeed), 1)
end,
})
SpeedTab:CreateSection("Presets")
SpeedTab:CreateDropdown({
Name = "Quick Presets",
Options = {
"1.5x — Subtle",
"2.0x — Normal",
"3.0x — Fast",
"5.0x — Very Fast",
"8.0x — Max",
},
CurrentOption = {"2.0x — Normal"},
MultipleOptions = false,
Flag = "SpeedPreset",
Callback = function(v)
local map = {
["1.5x — Subtle"] = 1.5,
["2.0x — Normal"] = 2.0,
["3.0x — Fast"] = 3.0,
["5.0x — Very Fast"] = 5.0,
["8.0x — Max"] = 8.0,
}
local mult = map[v[1]]
if mult then
State.TargetSpeed = baseSpeed * mult
notify("Preset", v[1] .. string.format(" = %.0f ws", State.TargetSpeed), 2)
end
end,
})
SpeedTab:CreateButton({
Name = "Reset Speed",
Callback = function()
disableSpeedBody()
State.SpeedEnabled = false
notify("Speed", "Reset to normal.", 2)
end,
})
-- ============================================================
-- TAB: JUMP
-- ============================================================
local JumpTab = Window:CreateTab("Jump", 4483362458)
JumpTab:CreateSection("Event Mode")
JumpTab:CreateDropdown({
Name = "Select Jump Event",
Options = {"Long Jump", "High Jump"},
CurrentOption = {"Long Jump"},
MultipleOptions = false,
Flag = "JumpMode",
Callback = function(v)
State.JumpMode = v[1]
notify("Jump Mode", v[1] .. " selected", 2)
end,
})
JumpTab:CreateToggle({
Name = "Enable Jump Boost",
CurrentValue = false,
Flag = "JumpToggle",
Callback = function(v)
State.JumpEnabled = v
notify("Jump", v and ("ON — " .. State.JumpMode) or "OFF", 2)
end,
})
JumpTab:CreateSection("Long Jump Settings")
JumpTab:CreateSlider({
Name = "Forward Force",
Range = {20, 300},
Increment = 5,
Suffix = " fwd",
CurrentValue = 80,
Flag = "LongJumpFwd",
Callback = function(v)
State.LongJumpForward = v
end,
})
JumpTab:CreateSlider({
Name = "Arc (Upward Force)",
Range = {0, 100},
Increment = 5,
Suffix = " up",
CurrentValue = 40,
Flag = "LongJumpUp",
Callback = function(v)
State.LongJumpUp = v
end,
})
JumpTab:CreateSection("High Jump Settings")
JumpTab:CreateSlider({
Name = "Upward Force",
Range = {50, 500},
Increment = 5,
Suffix = " force",
CurrentValue = 80,
Flag = "HighJumpForce",
Callback = function(v)
State.HighJumpForce = v
end,
})
JumpTab:CreateSection("Misc")
JumpTab:CreateToggle({
Name = "Infinite Jump",
CurrentValue = false,
Flag = "InfJump",
Callback = function(v)
State.InfJump = v
notify("Inf Jump", v and "Enabled" or "Disabled", 2)
end,
})
JumpTab:CreateButton({
Name = "Test Long Jump",
Callback = function()
local hrp = getHRP()
if hrp then
applyLongJump(hrp, State.LongJumpForward, State.LongJumpUp)
notify("Long Jump", "Fwd: " .. State.LongJumpForward .. " Up: " .. State.LongJumpUp, 2)
end
end,
})
JumpTab:CreateButton({
Name = "Test High Jump",
Callback = function()
local hrp = getHRP()
if hrp then
applyHighJump(hrp, State.HighJumpForce)
notify("High Jump", "Force: " .. State.HighJumpForce, 2)
end
end,
})
-- ============================================================
-- TAB: SHOT PUT
-- ============================================================
local ShotTab = Window:CreateTab("Shot Put", 4483362458)
ShotTab:CreateSection("Throw Settings")
ShotTab:CreateSlider({
Name = "Target Distance (studs)",
Range = {10, 200},
Increment = 1,
Suffix = " st",
CurrentValue = 50,
Flag = "ShotDist",
Callback = function(v) State.ShotPutDistance = v end,
})
ShotTab:CreateSlider({
Name = "Launch Angle",
Range = {10, 80},
Increment = 1,
Suffix = "°",
CurrentValue = 45,
Flag = "ShotAngle",
Callback = function(v) State.ShotPutAngle = v end,
})
ShotTab:CreateSection("Controls")
ShotTab:CreateButton({
Name = "Throw Now",
Callback = executeShotPut,
})
ShotTab:CreateToggle({
Name = "Auto Timed Throw",
CurrentValue = false,
Flag = "ShotAuto",
Callback = function(v)
State.ShotPutTimed = v
if v then startTimedThrow() end
notify("Shot Put", v and "Auto throw ON" or "OFF", 2)
end,
})
ShotTab:CreateSlider({
Name = "Throw Delay",
Range = {0, 3},
Increment = 0.1,
Suffix = "s",
CurrentValue = 0.5,
Flag = "ShotDelay",
Callback = function(v) State.ShotPutDelay = v end,
})
ShotTab:CreateSection("Debug - Run during shot put event")
ShotTab:CreateButton({
Name = "Find Throw Remote",
Callback = function()
local r = findShotPutRemote()
if r then
print("REMOTE: " .. r:GetFullName())
notify("Found!", r.Name, 4)
else
print("=== ALL REMOTES ===")
for _, obj in ipairs(ReplicatedStorage:GetDescendants()) do
if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then
print(obj.ClassName .. " | " .. obj:GetFullName())
end
end
notify("Not Found", "Check Xeno output.", 3)
end
end,
})
ShotTab:CreateButton({
Name = "Find Shot Put Ball",
Callback = function()
local b = findShotPutBall()
if b then
print("BALL: " .. b:GetFullName())
notify("Found!", b.Name, 3)
else
notify("Not Found", "No ball found.", 3)
end
end,
})
-- ============================================================
-- TAB: MOVEMENT
-- ============================================================
local MoveTab = Window:CreateTab("Movement", 4483362458)
MoveTab:CreateSection("Misc")
MoveTab:CreateToggle({
Name = "Noclip",
CurrentValue = false,
Flag = "Noclip",
Callback = function(v)
State.NoclipEnabled = v
if not v then
local c = getChar()
if c then
for _, p in ipairs(c:GetDescendants()) do
if p:IsA("BasePart") then p.CanCollide = true end
end
end
end
notify("Noclip", v and "ON" or "OFF", 2)
end,
})
MoveTab:CreateButton({
Name = "Reset Everything",
Callback = function()
disableSpeedBody()
State.SpeedEnabled = false
State.JumpEnabled = false
State.InfJump = false
State.NoclipEnabled = false
State.ShotPutTimed = false
local c = getChar()
if c then
for _, p in ipairs(c:GetDescendants()) do
if p:IsA("BasePart") then p.CanCollide = true end
end
end
notify("Reset", "All values default.", 2)
end,
})
MoveTab:CreateButton({
Name = "Copy Position",
Callback = function()
local hrp = getHRP()
if hrp then
local p = hrp.Position
local str = string.format("%.2f, %.2f, %.2f", p.X, p.Y, p.Z)
setclipboard(str)
notify("Copied", str, 3)
end
end,
})
-- ============================================================
-- LOAD CONFIG
-- ============================================================
Rayfield:LoadConfiguration()Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place