REX SHOOTING GALLERY

REX STUDIO – REX SHOOTING GALLERY – Fairground shooting booth for RedM (VORP / RSG / Standalone)

A real fairground booth, in the world. Step behind the counter, pay the barker, take the varmint rifle and shoot: painted tin ducks glide on their rail and vanish behind the side screens, cans race above them, pop-up targets flip up and down, bottles swing on their strings. Hit them and they fall. Everybody around sees the same targets.

The server decides every shot. The client only says "I fired shot n at time t, in this direction". The server rebuilds the round from its seed, places every target at that exact moment and tests the shot itself. Scores and prizes cannot be faked or farmed.

A shooting gallery minigame for RedM towns and fairs: timed rounds, combos, accuracy bonus, prize tiers and a daily + all-time leaderboard, with an NPC barker at the booth. Custom painted tin duck prop included (streamed with the script). One resource, works with VORP, RSG or standalone without any framework (detected automatically), with a sober wood / parchment UI and native RedM prompts.

New in 1.0.3: the custom tin duck is now built in (streamed with the script), nothing else to install.


Features

Targets

  • Painted tin ducks on a rail (custom prop, included), tin cans on a faster high rail, pop-up targets that flip up and down on 4 slots behind a hay bale row, bottles swinging on strings
  • Side screens: a red folding screen on a hay bale at each end of the rails, ducks and cans come out from behind them and disappear behind them (not hittable while hidden)
  • Scripted, seeded paths: targets get faster and more frequent as the round goes on
  • Every kind configurable: points, hit size, lane distance / height, speed, rhythm, direction, models
  • Hit targets tip over, bottles shatter; spectators see exactly the same thing

Rounds

  • Timed rounds (30 s / 15 bullets by default), intro camera over the lanes, 3-2-1 countdown
  • Score per target kind, combo multiplier (x1.5 after 3 hits in a row, x2 after 6, up to x3), accuracy bonus, perfect round bonus
  • Shooting zone behind the counter: leave it and you get a warning, stay out and the round is lost
  • Weapon wheel, sprint, jump and melee blocked during the round, quit with a hold prompt

Weapon

  • Gallery mode: a varmint rifle given for the round only, with exactly the round's bullets, then taken back. No real ammo used: a rifle the player already owned stays and his ammo is restored
  • Own-weapon mode: shoot with your own rifle from an allowed list
  • Works on infinite-ammo servers (ammo drop + shooting flag)

Prizes & money (VORP / RSG)

  • Always off in standalone (every round is free)
  • Round price: burned, paid to the booth owner, or to a job society (RSG: rsg-bossmenu)
  • Prize tiers (bronze / silver / gold / sharpshooter): money and / or items, daily cap per character
  • Crash-safe ledger: admin cancel and restarts refund the price, prices held during a crash are refunded on next login, owners and winners offline are paid on next login

Security (server-authoritative)

  • Clients only send the shot number, the round clock and the camera ray
  • The server checks the round, the sequence, the bullet budget, the timing, the rate of fire, that the ray starts at the shooter and that the shooter stands in the zone
  • Suspicious shots count as misses, never as hits; every event is rate limited, exploits logged (console + Discord)

Leaderboard

  • Booth card: price, round, target values, prize tiers
  • Today and All time tabs: best score, rounds, accuracy, winnings, plus your own line
  • End-of-round card: score, hits, accuracy, best combo, bonus, prize, personal and daily records
  • Open with R at the booth or /gallery

Booths

  • /galleryadd [label]: transparent ghost of the whole booth (counter, backstop, posts, side screens, torches, lanes), rotate and place, saved in the database (or the resource KVP without oxmysql)
  • /galleryremove, /gallerylist, /galleryowner, /gallerycancel, /gallerydebug (hit spheres)
  • NPC barker at every booth (model, position and scenario configurable), map blips, booths in config.lua too
  • Standalone: optional placement command for everyone or by ACE (off by default)

Other

  • Native RedM prompts only, sober NUI (wood or parchment theme, one accent colour), bundled font
  • English and French locales
  • Notifications: framework, built-in toast, ox_lib or chat
  • Exports (IsInRound, GetBooths, GetRound, GetPlayerStats) and a rex_shootinggallery:roundEnded event
  • Optional Discord webhook logs
  • Database tables created automatically (SQL file included), oxmysql optional (resource KVP fallback)

Props

  • Custom tin duck prop included: rex_gallery_duck, a painted sheet-metal fairground duck made for the script (RDR3 has none), streamed with the resource (nothing else to install). Its hit size matches the server scoring exactly.
  • Detected automatically (IsModelInCdimage); vanilla fallback p_targetsmall01x stays configurable
  • Every other prop (counter, backstop, side screens, cans, pop-up boards, bottles, torches) is vanilla RDR3
  • Do not also start the old rex_shootinggallery_props resource: the duck is built in since 1.0.3

Commands

CommandWhoWhat it does
/galleryeveryoneOpen the booth card & leaderboard of the nearest booth (today / all time + your own line)
/galleryquiteveryoneQuit your current round (no prize)
/galleryadd [label]admin (standalone: option Config.Placement.standaloneCommand: off / everyone / ACE)Place a booth with a transparent ghost, saved
/galleryremove [id]admin / consoleRemove the nearest booth (or by id); its round is cancelled and the price refunded
/gallerylistadmin / consoleList every booth (position, owner / society, running round)
/galleryowner <id> <player id|job:name|none>admin / consoleSet who receives the round price of a booth: a player, a job society, or nobody
/gallerycancel [id]admin / consoleCancel the round on the nearest booth (or by id), price refunded
/gallerydebugadminShow the server hit spheres of the targets (calibration)

No usable item. Every command name is configurable (Config.Commands). Admin = framework admin group (Config.Admin.groups) or ACE rex_shootinggallery.admin.

Controls (native RedM prompts)

WhereKeyAction
on the shooting markhold EPlay: pay the round price and start (intro camera, 3-2-1)
on the shooting markRBooth card & leaderboard (Esc / Backspace closes it)
during a roundright click / mouseAim the rifle (first or third person)

left clickFire

hold GQuit the round (no prize)
placing a bootharrows left / right (Shift = faster), E, BackspaceRotate, place, cancel

Framework compatibility

  • VORP: vorp_core, vorp_inventory
  • RSG: rsg-core, rsg-inventory
  • Standalone (no framework, supported): players identified by their Rockstar license, names = player names, admin by ACE, free rounds only (no money, no items), built-in notifications, optional placement command. oxmysql optional: without it, booths and stats are saved in the resource KVP

Detection is automatic (VORP, then RSG, else standalone), or can be forced in the config. All framework calls are in an open bridge file, so you can adapt it if needed.

Escrow

The resource uses the Cfx.re Asset Escrow. config.lua, the locales, the client/server bridge, the SQL, the duck .ytyp and the README are open and editable. The core logic and the duck model / textures are escrowed.


Released by REX STUDIO. Requirements: OneSync. Optional: VORP or RSG, oxmysql, ox_lib, rsg-bossmenu.

Price: 25 € · Version: 1.0.3

25.00 EUR

Purchase