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.
/gallery/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)config.lua tooIsInRound, GetBooths, GetRound, GetPlayerStats) and a rex_shootinggallery:roundEnded eventrex_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.IsModelInCdimage); vanilla fallback p_targetsmall01x stays configurablerex_shootinggallery_props resource: the duck is built in since 1.0.3| Command | Who | What it does |
|---|---|---|
/gallery | everyone | Open the booth card & leaderboard of the nearest booth (today / all time + your own line) |
/galleryquit | everyone | Quit 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 / console | Remove the nearest booth (or by id); its round is cancelled and the price refunded |
/gallerylist | admin / console | List every booth (position, owner / society, running round) |
/galleryowner <id> <player id|job:name|none> | admin / console | Set who receives the round price of a booth: a player, a job society, or nobody |
/gallerycancel [id] | admin / console | Cancel the round on the nearest booth (or by id), price refunded |
/gallerydebug | admin | Show 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.
| Where | Key | Action |
|---|---|---|
| on the shooting mark | hold E | Play: pay the round price and start (intro camera, 3-2-1) |
| on the shooting mark | R | Booth card & leaderboard (Esc / Backspace closes it) |
| during a round | right click / mouse | Aim the rifle (first or third person) |
| left click | Fire | |
| hold G | Quit the round (no prize) | |
| placing a booth | arrows left / right (Shift = faster), E, Backspace | Rotate, place, cancel |
vorp_core, vorp_inventoryrsg-core, rsg-inventoryDetection 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.
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