Skip to content

Jumps

Freeroam jump tracking for raycin_races' world. Works with any ramp, kerb, or bump — there's nothing to place or configure to start recording. Reach it from Raycin Menu (F5) → Jumps, or use the chat commands directly; both do exactly the same thing under the hood (the F5 tab is a thin button wrapper around the commands below).


How detection works

Every jump is detected automatically by watching your vehicle's own physics state — wheels going from on-ground to airborne (launch) and back to on-ground (landing). This means it works on literally anything: a stunt ramp, a kerb, a canyon edge, a custom prop track — there's no per-ramp setup.

Two thresholds filter out noise so kerbs and potholes don't spam the leaderboard:

Threshold Value Purpose
Minimum airtime 400 ms Ignore tiny bumps
Minimum distance 3.0 m Ignore anything too short to count as a real jump

On landing (once both thresholds are cleared) the jump is recorded with:

  • Distance — straight-line 3D distance from launch point to landing point
  • Airtime — milliseconds airborne
  • Launch speed / Landing speed (km/h)
  • Max height — peak height above the launch point reached mid-air
  • Vehicle — the model you were driving

A landing popup shows the result immediately, with a distinct sound cue if it's a new personal best.


Temp ramps

/spawnramp small
/spawnramp medium
/spawnramp large

Places a jump ramp 8 m ahead of you, facing back toward you so driving forward sends you straight up the incline. These are the exact same base-game props GTA Online's own Content Creator uses to build stunt-race jumps — verified against a real prop dump, not guessed — so they're guaranteed to work cleanly and carry no risk of an "unknown model" crash for other players (they're client-local and non-networked: only you see your own ramps).

/removeramps

Clears every ramp you've placed. Ramps are also auto-cleaned if the resource restarts.

Spawning is server-authorised — the client asks first, and a player an admin has restricted (see Permission below) never gets past that check.


The 50 vanilla stunt jumps

/stuntjumps

Toggles all 50 of GTA V's built-in stunt jumps as blips on your map (using the game's own stunt-jump blip icon), each labelled Stunt Jump #N. Run it again to hide them.

/gotostuntjump <1-50>

Teleports you (and your vehicle, if you're driving) directly to that jump's launch point, snapped safely onto the real ramp surface — several of the 50 launch off rooftop edges or ramp lips where a naive teleport would drop you half over the side, so this is handled deliberately before you're unfrozen.

Landing inside a vanilla jump's landing zone automatically tags that jump on the leaderboard as Stunt Jump #N — no extra step, it's the same detection system as any other jump, just geo-matched against the known landing zones afterward.


Leaderboards

Three separate boards, each its own full-screen overlay:

Command Board What's on it
/topjumps Top Ramp Jumps Best freeroam jumps — temp ramps, kerbs, anything off-track
/topstuntjumps Top Stunt Jumps Best landings inside each of the 50 vanilla stunt jump zones
/toptrackjumps Top Track Jumps Best jumps made during an active race or Track Preview

Track context tagging

A jump is tagged into the Track Jumps board automatically if you were in an active race or using Track Preview at the moment you launched. No manual toggle — the game polls the same race-status export raycin_races already exposes, so a jump that launches mid-race and lands after the race ends still counts correctly.

Closing a leaderboard (✕ or Esc) drops you back into whichever menu was open underneath it, rather than dumping you out to freeroam.


Permission (admin)

Jumps uses an opt-out model — every player is allowed by default. An admin can restrict a specific player:

/banjumps <player>
/unbanjumps <player>

A restricted player gets a chat toast the moment their permission changes, and is silently blocked from spawning ramps or having jumps recorded — the server re-checks on every action that matters, so a modified client claiming "I'm allowed" gains nothing.


On the stats site

Jumps results also appear on the Stats Site as a Jumps page — Top Ramp Jumps and Top Stunt Jumps together, plus a separate Top Track Jumps view that shows the track name for each entry (via the same race/preview tagging described above).


Where the code lives

Piece File
F5 menu tab (button wrapper) raycin_menu/client/jumps_tab.lua
Jump detection + leaderboard commands raycin_jumps/client/main.lua
Temp ramp spawning raycin_jumps/client/ramps.lua
50 vanilla stunt jump coords + teleport raycin_jumps/client/vanilla_jumps.lua
Track/preview context tagging raycin_jumps/client/track_context.lua
Client-side permission cache raycin_jumps/client/permissions.lua
Ban list + server-authoritative checks raycin_jumps/server/permissions.lua
Leaderboard queries + jump recording raycin_jumps/server/main.lua
Ramp props / thresholds config raycin_jumps/config.lua
Vanilla stunt jump coordinate table raycin_jumps/config_vanilla_jumps.lua

Jumps runs as its own resource (raycin_jumps) — the F5 menu only hosts its button UI; the DB table, permission list, and jump-detection game logic all still live inside raycin_jumps itself. If raycin_jumps isn't running, the F5 Jumps tab quietly no-ops rather than erroring.