Battle Ships (Event Game) 2026 Oct Updated

Battle Ships (Event Game) 2026 Oct Updated

£20.00

Add to Basket

# mack-battleships (v1.1.0)

RC Boat Battleships mini-game for RSG-Core (RedM). Built from `mack-rcboats` (the RC boat / torpedo mechanics) and `mack-prophunt` (same HTML UI, invite flow, location menu, round HUD, result banner, stats and leaderboard).

## How it works

- A player opens `/battleships`, chooses **Start New Game** and picks a location from the image menu. They become the **host** and take part.

- Nearby players (within `Config.InviteDistance`) get an accept/decline dialog. Everyone who accepts is teleported to the location's shore.

- **Deploy phase** (`Config.DeployTime`, default 60s): each player stands at the water's edge, facing the water, and presses **F** when the native "Deploy Boat" prompt shows (`/rcboat` also works; the key is set in `Config.DeployPrompt`). The RC boat spawns in front of them (it must end up on water). Typing `/rcboat` while the boat is out picks it up so it can be re-placed. Players without a boat when the timer ends forfeit. The battle starts early (`Config.ReadyCountdown`) once everyone has deployed.

- **Battle**: drive the boat with the on-screen prompts and fire torpedoes (`Config.TorpedoDamage` per hit, `Config.StartingHealth` health). When a boat is blown up (torpedoes, self-destruct, walking out of control range, leaving the area) that player is out.

- The game continues until **one boat is left**, then the winner is announced with the big on-screen banner. Everyone is teleported back (`Config.ReturnToOrigin`).

- Optional time limit: `Config.RoundTime` (0 = unlimited). On timeout the surviving boat(s) with the most health win.

## NPC game (v1.1.0)

`/battleships` has a second option, **Start NPC Game** (also `/bs_startnpc`), for when nobody else is online. It uses the same location menu, but there is no invite: you are teleported to the shore alone and `Config.NPC.count` (default 3) NPC boats take to the water.

- Deploy your own boat with `/rcboat` as usual. The NPCs are placed on the water and deploy automatically; the battle then starts like a normal game.

- NPCs chase the nearest target (they prefer your boat), keep a firing distance, fire when lined up and stay inside the game area. Last boat afloat wins. If your boat is sunk the NPCs win and the game ends.

- Difficulty: `Config.NPC.difficulty` = `easy`, `medium` or `hard` (see `Config.NPC.presets`: aim tolerance, reaction time, extra reload delay, preferred range).

- Water spawns: add `botSpawns = { vector4(x, y, z, heading), ... }` to a location to put the NPC boats at exact points on the water (one per NPC, wrapping around). Without it they are placed out on the water in front of your boat once you have deployed it, which can fail on very narrow shores.

- The NPC boats are created and driven by the host's client. If the host disconnects the game ends.

- NPC games are **not** recorded on the leaderboard unless `Config.NPC.recordStats = true`.

- Set `Config.NPC.enabled = false` to hide the option.

## Requirements

- RedM (rdr3) with **OneSync enabled**

- `rsg-core`, `ox_lib`, `oxmysql`

- `uiprompt` (driving prompts, same as the original mack-rcboats)

- Internet access on the client for the Roboto font (falls back to `sans-serif`)