Save 20% today Use code WELCOME at checkout. WELCOME

FiveM Marry Script (Marriage Mod)

Marry (FiveM/ESX/QBCore) — Weddings with Limo, Fireworks & Shared Surnames

Bring unforgettable weddings to your city. Marry lets players propose, accept, and celebrate with a full ceremony pipeline: limousine ride, cinematic camera, synchronized fireworks, optional outfits—and an automatic shared last name for both partners.

Download


Why “Marry”?

Roleplay is all about meaningful moments. With Marry, engagements and weddings become server‑wide happenings rather than simple chat emotes. Everything is orchestrated server‑side for fairness and immersion, with a clean NUI for both proposer and receiver.

  • Immersive Ceremony: spawn limo + AI driver, route to venue, timed animations, fireworks, and camera shots.
  • Real Identity: optional last‑name update (auto‑detects ESX identity schemas) or soft mode via exports.
  • Frictionless Flow: propose → accept/decline → ceremony → cleanup. Server keeps the truth (money, DB, logs).
  • Multi‑Framework: ESX 1.1/1.2/oldlegacy/legacy and QBCore through a shared adapter.
  • Secure by default: session tokens, rate limits, proximity & cooldown checks, profanity filters.
  • Localized: EN/DE locales out of the box.
  • Fully Open Source

New to frameworks? Our quick Framework Guide (ESX vs QBCore vs QBOX) can help you choose the right base for your city. Read the guide »


Feature Highlights

  • Proposal System — Nearby player picker, surname entry, venue selector, optional message; receiver sees a modal prompt to accept or decline.
  • Ceremony Pipeline — Optional routing buckets for isolation, AI‑driven limo from pre‑anim start to destination, synchronized fireworks, male/female anims, and cinematic camera.
  • Surname Update — Auto‑detects users/characters tables (ESX variants); falls back to soft‑mode export if no identity system is present.
  • Config‑Driven — Stations, venues, animations, fireworks, clothing hooks, and prices are all in config.
  • Admin Tools/marry:divorce and /marry:status with ACE permission FiveMX_marry.admin.
  • Developer Surface — Exports for marital status & partner lookup, plus stable events for integrations (HUDs, scoreboards, etc.).

How it Works (Player Journey)

  1. Propose near a configured Marry Station or via /marry (at station).
  2. Accept/Decline — Receiver gets a localized prompt with details.
  3. Celebrate — On acceptance, fee is processed, DB entries are created, surname logic runs, and the limo + fireworks + camera sequence kicks in. The server cleans up everything at the end.

Compatibility & Requirements

  • Frameworks: ESX (1.1, 1.2, oldlegacy, legacy) and QBCore (parity via adapter).
  • Database: oxmysql (migrations included).
  • Optional: skinchanger / esx_skin or qb-clothing for wedding outfits.

New to QBCore? See our quick starter on Setting Up QBCore Scripts.
Follow the steps »


Compatible with this Wedding dress:

https://fivemx.com/fivem-wedding-dress

Installation (5–10 minutes)

  1. Drop the folder FiveMX_marry into your server’s resources/.
  2. Ensure dependencies (es_extended or qb-core, and @oxmysql).
  3. Start once; migrations auto‑create tables marriages and marriage_audit.
  4. Configure config.lua (see below) and set your desired ESX version string.
  5. Add to your server.cfg in proper order: ensure oxmysql ensure es_extended # or: ensure qb-core ensure FiveMX_marry
  6. Restart the server or the resource via txAdmin.

Tip: After go‑live, use Resmon to keep an eye on performance while players test the ceremony. How to use Resmon »


Configuration Snapshot

Below is a tiny excerpt to illustrate the style (we ship a full, documented config):

FiveMXCore = FiveMXCore or {}
FiveMXLocales = FiveMXLocales or {}

-- Framework & version
FiveMXCore.ESXVersion = 'legacy' -- 1.1 | 1.2 | oldlegacy | legacy

-- Internal event prefix (do not change at runtime)
FiveMXCore.InternalPrefix = 'FiveMX_marry:'

-- Price & stations
FiveMXCore.MarryPrice = 5000
FiveMXCore.MarryStations = {
  { pos = vec3(-1378.4, -1409.8, 4.3), ped = 's_m_m_highsec_01', blip = {sprite=280, color=3}, radius = 3.0 }
}

-- Venues
FiveMXCore.MarryLocations = {
  beach = {
    preanim = { car = 'stretch', start = vec3(-1395.1,-1370.2,4.5), destination = vec3(-1495.2,-1045.5,6.3), speed = 14.0 },
    mainanim = { duration = 30, camera = { fov = 60 } , firework = { loop = 3 } }
  }
}

A built‑in validator checks venues, stations, fireworks, and framework settings at startup, logging clear warnings if anything is misconfigured.


Admin Commands & Permissions

  • /marry — open the proposal UI (at a Marry Station).
  • /marry:status [id] — print marriage status for you or a target.
  • /marry:divorce <id|identifier> — close an active marriage record; optional surname revert.

ACE Permission: FiveMX_marry.admin


Developer API (Exports)

Use these to integrate with HUDs, scoreboards, or custom storylines:

exports['FiveMX_marry']:IsMarried(identifier_or_source) -- boolean
exports['FiveMX_marry']:GetPartner(identifier)          -- {identifier, surname, married_at} | nil
exports['FiveMX_marry']:GetMarriageRecord(identifier)   -- table | nil

Events follow the pattern FiveMX_marry:<side>:<name> and are protected by session tokens and proximity checks. See the README for a full list.


Security & Fair Play

  • Server‑side money handling & DB writes
  • Session tokens (rotated), cooldowns & rate limits
  • Proximity checks (stations & partners), input sanitization
  • Optional routing buckets during ceremonies

FAQs

Does it work on both ESX and QBCore?
Yes—full parity through a shared framework adapter.

Will it change player last names?
If your ESX identity schema exposes a lastname column, we can sync it. Otherwise, surname is stored in our own table and exposed via exports (for HUDs/scoreboards).

What about performance?
The ceremony uses short‑lived entities and cleans up rigorously. Use Resmon during your first events to confirm budget on your machine.

Can we add our own venues & fireworks?
Absolutely—everything is config‑driven. Add new MarryLocations with pre‑anim and main‑anim blocks.

How do we localize?
Set FiveMXCore.Locales and edit locales/en.lua or locales/de.lua.


Changelog

v1.0.0 — Initial public release: proposals, full ceremony pipeline, surname integration, EN/DE locales, exports, admin tools, config validator.


Need help setting it up or want a custom ceremony pack? Reach out via Support from the site footer.

Luke
Luke

I'm Luke, I am a gamer and love to write about FiveM, GTA, and roleplay. I run a roleplay community and have about 10 years of experience in administering servers.

Articles: 570