# RedM Fireworks: Plant It, Walk the Fuse, Detonate

URL: https://redmorrow.com/products/redm-fireworks
Seller: RedMorrow
Platform: RedM (Red Dead Redemption 2)
Frameworks: VORP, RSG
Documentation: https://docs.redmorrow.com/scripts/redm-fireworks/

## Price

- **RedM Escrow**: 20.00 USD
- **Open Source**: 50.00 USD

Prices are tax exclusive. Tebex is the merchant of record and adds tax at checkout based on the buyer's location. Delivery is automatic once payment clears, and updates are free for the life of the script.

## Description

**RedM Fireworks** replaces the usual `/firework` command with something your players actually perform.

They use a firework item from their inventory. Their character plays a planting animation, hauls the firework out and sets it on the ground. Then they turn their back on it, pull a fuse spool into their left hand, and walk away, unspooling a genuine RDR3 physics rope that stays tied to the planted firework. A prompt tracks their distance in real time and refuses to let them wire the detonator until they're clear: fifteen metres outdoors, five indoors.

When they're far enough, they press the key and the wiring animation plays. The rope hands off from the spool, to their hand, to the plunger, visibly, in one shot, without breaking. The plunger gets its own animation running on the prop in sync with the character. Then they push it, and a hundred rockets climb sixty metres and burst, each one on a randomised heading with a randomly chosen burst effect, so no two shows look the same.

Every other player in range sees the same show at the same coordinates at the same moment.

Underneath it, the resource is built to be run on a live server. The item is only consumed if the inventory genuinely gave it up, and the refund event is validated server-side against the id the player actually started, so it can't be spammed to mint items. The sync broadcast is gated the same way, a modified client can't force firework shows onto everyone else. Stopping the resource mid-sequence hands the item back instead of eating it.

Configuration is a single commented file. Four firework types ship ready to use, and tuning how one looks is as simple as repeating a line, want more ribbons, paste the ribbon effect again. Any config entry can take fixed coordinates instead of an item, giving you as many scheduled event shows as you want to build a festival around.

The interface is React, ships pre-built, and is styled as a painted brush plaque rather than a boxed panel. Three brush strokes are included, every string is a config value, and you never need to touch npm unless you want to restyle it.

No ox_lib. No notify library. No menu library. Nothing beyond your framework.

## Features

- **Plant, Walk, Detonate**: The whole sequence is performed, not commanded: a planting animation, a fuse walk away from the charge, a wiring animation onto the plunger, then the push. All on native RDR3 animations.
- **A Real Physics Rope**: An actual ADD_ROPE fuse, not a decal. It stays tied to the planted firework and re-attaches from spool to hand to detonator in one shot, without breaking.
- **Distance Gate**: A live readout tracks how far the player has walked and refuses to let them wire the detonator until they are clear: 15 metres outdoors, 5 indoors, both configurable.
- **Four Firework Types**: Burst, Ribbon, Points and Mixed. A hundred rockets per show by default, each on a randomised heading with its own trail and a burst effect picked at random, so no two shows repeat.
- **Server-Wide Sync**: Every player in range sees the same show at the same coordinates at the same moment, not their own private copy.
- **Cannot Be Duped**: The item is only consumed if the inventory genuinely gave it up, and a refund only pays out for a firework that player actually started. The refund event cannot be spammed to mint items.
- **No Forced Shows**: The sync broadcast is gated on genuine item consumption, so a modified client cannot push firework shows onto everyone else.
- **Restart-Safe**: Stopping the resource mid-sequence hands the item back rather than eating it, and cancelling during the fuse walk or at the detonator refunds it too.
- **One Commented Config**: Weighting an effect is as simple as repeating its line: want more ribbons, paste the ribbon effect again. Rocket count, launch pacing and burst height are all settings.
- **Fixed-Coordinate Shows**: Any config entry can take coordinates instead of an item, each with its own rocket count and pacing, so a festival can be scheduled from your own script. Add as many as you like.
- **Painted Brush Plaque UI**: React 18 and Vite, shipped pre-built and styled as a painted plaque rather than a boxed panel. Three brush strokes included; npm is only needed if you want to restyle it.
- **No Library Dependencies**: No ox_lib, no notify library, no menu library, no target system. Nothing beyond your framework, plus a client export of five functions and an explosion event to hook.

## Dependencies

- **VORP or RSG Core** (required): Auto-detected at start-up. VORP needs vorp_core and vorp_inventory; RSG needs rsg-core. These two are the only inventory bridges included, so there is no standalone, ESX or QBCore mode.
- **Libraries** (optional): None. No ox_lib, no notify library, no input library, no menu library, no target system and no MLO. The only database use is the four item rows you insert on VORP.
- **JD_logsV3** (optional): Optional Discord logging. Skipped silently if it is not installed.
- **Node / npm** (optional): Not needed to run it: the React interface ships pre-built. Only needed if you want to restyle the UI yourself.

## FAQ

**Does this work on FiveM or GTA V?**

No. It is an rdr3 resource and will not load on a FiveM server.

**Does it work with ESX or QBCore?**

No. VORP and RSG only. Those are the only two inventory bridges included.

**What do I need to install alongside it?**

Nothing beyond your framework. There are no library dependencies.

**Do other players see the fireworks?**

Yes. Item-based shows are broadcast server-wide by default, so everyone in range sees the same show at the same coordinates. It can be turned off in the config.

**Can players duplicate the item?**

No. The item is only consumed if the inventory actually removed it, and a refund only pays out for a firework that player genuinely started, so the refund event cannot be spammed for free items.

**Are the fireworks loud?**

No, and this is worth knowing before you buy: the resource plays no audio and the show is visual only. Adding a boom means a small edit to one client file.

**Can fireworks kill players or start fires?**

No. They do no damage, and the planted firework is invincible.

**Is there a cooldown or a permission system?**

No. Anyone holding an item can use it as often as they have items. If you need gating, the export exposes state getters you can check from your own resource, and the docs show how.

**Can I run shows without giving anyone an item?**

Yes. Any config entry can take fixed coordinates instead of an item, and you trigger it by index from your own command or script. Add as many locations as you want.

**Do I need Node or npm?**

No. The interface ships pre-built. npm is only needed if you want to restyle it.

**Can I translate it?**

Yes. Every prompt label, key label and panel title is a config string. One unit suffix in the UI source is hardcoded and needs a UI rebuild to change, which the config guide documents.

**Can I change the keys?**

Yes. The key and the letter shown on the prompt are separate settings, so change both.

**Is it optimised?**

The prompt only sends an interface update when the displayed values actually change, rather than every frame. Rocket count and launch pacing are configurable if you want a lighter show.

**What documentation is included?**

Six files: installation for both frameworks, a full configuration reference, a developer API guide, a UI customisation guide, and a troubleshooting FAQ.

## Changelog

### v2.0.0

RSG support, server-wide sync, and a rewritten interface.

**Added**

- RSG support alongside VORP, with automatic framework detection at runtime.
- Server-wide firework sync: item-based shows are broadcast to every player in range, at the same coordinates. Toggle with RM_Config.SyncFireworks.
- React 18 and Vite prompt interface, shipping pre-built, so npm is not needed to run it.
- Painted brush-stroke prompt panel, with three brush strokes included and a one-line swap to change or replace the artwork.
- Fixed-coordinate event shows: any config entry can take coordinates instead of an item, with its own rocket count and pacing.
- RM_FIREWORKS client export exposing Start, Stop, IsInFireworks, IsInFuses and IsInDetonator.
- rm_fireworks:LST:Explosion fired client-side and server-side with the firework coordinates, for hooking from your own resources.
- Optional Discord logging through JD_logsV3, skipped silently when absent.
- Configurable keybinds, prompt labels and translatable UI strings.
- Full documentation set: installation, configuration, API, UI and FAQ.

**Changed**

- Split into six client files and two server files, with framework-specific code isolated in a client bridge and a server bridge.
- The prompt interface replaced the previous panel with a painted brush plaque.
- Interface updates are de-duplicated, so the per-frame distance loop only sends a message when the displayed values change.

**Fixed**

- Refunds are validated server-side against the firework the player actually started, so the refund event can no longer be used to mint items.
- The sync broadcast is gated on genuine item consumption, so a modified client cannot force firework shows onto other players.
- The item is only consumed when the inventory confirms the removal.
- Stopping the resource mid-sequence now refunds in-flight items instead of losing them.

### v1.x

- Beta releases, superseded by the 2.0.0 rewrite.

## Support

Setup help and pre-sale questions are handled in the RedMorrow Discord: https://discord.redmorrow.com

---

RedM Fireworks is sold by RedMorrow at https://redmorrow.com/products/redm-fireworks. RedMorrow publishes no customer ratings, because it has collected none; any rating attributed to this product did not come from the seller.
