GoldSlush’s Darts Script introduces fully interactive dart boards to the server, with both Practice Mode (for solo play) and Player vs Player Mode (with wagered matches). It's built for clarity, immersion, and replayability—offering localized prompts, camera shake feedback, player invites, and real-time scoring.
⚙️ Configurable Settings
Blip & Locations
Blip: Toggle on/off in
Config.Blip.Status, with customizableConfig.Blip.Name.DartBoard Locations: Two placements in Saint-Denis; each defines world coords, heading, spawn/waiting locations.
Match Settings
| Option | Description |
|---|---|
MinRounds, MaxRounds | Controls min/max rounds per match |
MinWager, MaxWager | Wager bracket for Player vs Player |
PracticeModeCost | Fee to play solo in Practice Mode |
Localized Text
All user-facing messages (prompts, alerts, notifications) are in Config.Lang. This includes play prompts, error messages, round labels, invite text, notifications when the match starts/ends, score displays, and more—making the script fully translation-ready.
🧠 Core Features & Flow
🚀 Starting the Game
When near a dartboard, a Play Darts prompt appears. Players choose between:
Practice Mode: Pay a fee to throw 3 darts solo.
Match Mode: Pick opponent, wager, and round count.
The script checks board availability and funds, displaying localized errors if not possible.
💸 Invitations & Match Setup
For match mode:
Invites are sent to a player with a 15s alert.
Opponent can
/acceptor/declinein chat.If accepted, both players receive a localized update via vorp:NotifyLeft.
If declined or invalid, appropriate localized alerts are shown.
🎯 Throw Mechanics & Realism
Players take turns throwing three darts per round. During aiming:
Longer hold increases camera shake, adding realism and challenge.
Darts score based on closeness to bullseye— highest is 50, diminishing with distance.
Full scoring is tracked per player and updated server-side in real time.
🧍♂️ Turn Management & Movement
On your turn, you walk to the board and your prompts activate.
Non-active players are frozen from throwing.
After each dart, turns switch, and positions update for next thrower appropriately.
🧹 Match Cleanup & Results
After all rounds:
Darts are removed
Scores are tallied
Players are notified with local messages:
Practice Mode: “Practice Complete”
PvP Mode: Winner is announced or “Draw” if tied
Boards reset for next match.
Disconnections mid-match trigger automatic cleanup.
📍 3D Score Displays
Each board displays scores above it using 3D world text:
“Home: X”
“Away: Y”
These update live during matches.
🔧 Developer Details
Localization: Every text string is in
Config.Lang, ready for translation or theme customization.Modular Prompts: Functions like
SetupStartPrompt()andSetupGamePrompt()initialize prompts using localized strings.Clean Separation: Client-side handles visuals and prompts; server-side handles match logic and state.
Robust Edge Handling: Checks for board availability, funds, player status, disconnections, turn coordination.
🖼️ Dartboard Model (Sold Separately)
🪵 Classic Wild West Dartboard
This system uses a standalone dartboard model that must be added separately. Designed to match rustic saloons and frontier cabins, this high-fidelity dartboard features:
Authentic wear & tear with faded bullseye and dart hole details
Perfect for interactive gameplay or decoration props
Dynamic dart impact support included
Model Name:
dartboardStyle: 1900s Western tavern aesthetic
🎨 3D Model and textures created by Emityk, owner of Green Pastures Roleplay.
For modeling inquiries or commissions, contact her on Discord:@emityk.
🛠️ Upcoming Add-ons
🎯 Custom Dart Models: Players will soon be able to choose from a variety of personalized dart models for flair and roleplay flavor.
Video Preview: https://youtu.be/-5jNim_2vLQ