Before You Begin#
Before installing Yacht Creator, make sure your server meets the minimum requirements. A handful of resources are mandatory; everything else is optional and detected on its own.
Requirement | Status | Notes |
|---|---|---|
| Required | Database access for yachts, keys, furniture, vault codes and Tebex transactions. |
| Required | Callbacks, zones, context menus, text UI and progress bars. |
| Required | Declared as a dependency in the manifest — the resource will not start without it. |
Framework | Required | ESX, QBCore or Qbox — auto-detected. Ownership, money and character names come from it. |
3D sound | Recommended |
|
Target | Optional |
|
Inventory | Optional | Needed for the yacht stash and storage furniture. |
Wardrobe | Optional | Your clothing script opens when a player uses the yacht wardrobe. |
| Optional | Adds the Yacht app: manage keys, radio, upgrades, the doorbell and a waypoint from the phone. |
Everything framework- or third-party-specific sits behind a small, unencrypted bridge file, and the resource picks the right one by looking at what is already running:
Layer | Detected resources |
|---|---|
Framework | es_extended · qb-core · qbx_core |
Target | ox_target → qb-target |
Inventory | qs-inventory · ox_inventory · qb-inventory · ps-inventory · core_inventory · codem-inventory · origen_inventory · tgiann-inventory · inventory (Chezza) |
Wardrobe | qs-appearance · qb-clothing · illenium-appearance · fivem-appearance · codem-appearance · ak47_clothing · raid_clothes · rcore_clothes · rcore_clothing · origen_clothing · sleek-clothestore · tgiann-clothing · p_appearance |
Sound | mx-surround → qs-3dsound → xsound |
Weather sync | Renewed-Weathersync · qb-weathersync · cd_easytime · vSync · av_weather |
Every optional integration degrades quietly — a missing resource simply switches that feature off. Integrations has the details and how to pin one by hand.
github.comReleases · overextended/oxmysqlMySQL resource for FXServer.github.comReleases · overextended/ox_libA FiveM resource and script library for Lua and JS.github.comcitizenfx/screenshot-basicFiveM/RedM screenshot resource.github.comReleases · Xogy/xsoundImproved audio library for FiveM.www.quasar-store.com3D Sound – Advanced 3D Audio System for FiveM | Quasar StoreAdvanced 3D audio system for FiveM with positional sound, car radio, CarPlay, boomboxes, and dynamic audio sources for immersive roleplay.
Downloading Yacht Creator#
After purchasing Yacht Creator, the resource is automatically linked to your CFX Portal account.
Sign in to the CFX Portal using the same account used during checkout, open Granted Assets, and download Yacht Creator.
After extracting the download, you should have the following folder:
qs-yacht/
├── config/
│ ├── main.lua -- prices, shop, upgrades, vehicles, Tebex
│ └── furniture.lua -- the decoration catalogue
├── client/custom/ -- inventory, wardrobe, target, weather bridges (editable)
├── server/custom/ -- inventory and society bridges (editable)
├── custom/ -- framework bridges: esx/ and qb/ (editable)
├── database/ -- main.sql, esx.sql, qb.sql
├── locales/ -- 41 languages
└── web/ -- the interface and furniture imagesThe folder must be named
qs-yacht. The interface path (nui://qs-yacht/web/), every export (exports['qs-yacht']) and the phone app all look for that exact name.
Installing the Resource#
Move the qs-yacht folder into your server's resources directory. It can live anywhere inside it, including a category folder:
resources/
└── [qs]/
└── qs-yacht/Once copied, open your server.cfg and make sure every dependency — and everything it should detect — starts before Yacht Creator:
ensure oxmysql
ensure ox_lib
ensure screenshot-basic
# Framework
ensure es_extended
# ensure qb-core
# ensure qbx_core
# Target, inventory, wardrobe, sound, phone
ensure ox_target
ensure qs-inventory
ensure qs-appearance
ensure xsound
ensure qs-smartphone-pro
ensure qs-yachtThe loading order matters. Detection only sees resources that are already started, so an inventory or wardrobe that starts after Yacht Creator is not found and that feature stays off.
The Database#
The database/ folder holds three files. Run main.sql first, then the one for your framework, with HeidiSQL or any MariaDB/MySQL client:
File | What it does |
|---|---|
| Every Yacht Creator table. Same on every framework. |
| Adds |
| Adds |
What the tables hold:
Table | Holds |
|---|---|
| Every owned yacht: its slot, owner, name, modifications (model, paint, lights, flag, radio), upgrades and the wardrobe/stash positions. |
| Who holds a key to which yacht. |
| Every piece of furniture: model, position, rotation, whether it is stored, and light settings. |
| The codes protecting the yacht stash and storage furniture. |
| Tebex purchases: which transaction bought which yacht, which transaction IDs are used up for good, and the ID a player redeemed in game. |
-- 1. database/main.sql (all tables)
-- 2. database/esx.sql
ALTER TABLE `users` ADD COLUMN IF NOT EXISTS `yacht_inside` VARCHAR(40) NULL DEFAULT NULL;
INSERT INTO `datastore` (name, label, shared) VALUES ('yacht', 'Yacht', 0);-- 1. database/main.sql (all tables)
-- 2. database/qb.sql
ALTER TABLE `players` ADD COLUMN IF NOT EXISTS `yacht_inside` VARCHAR(40) NULL DEFAULT NULL;
yacht_insideremembers whether a player logged out inside the cabin or on the bridge, so they wake up in the same place on their next join. Without the column, players reconnect on the open deck.
Configuring the Resource#
Everything is set in two files. Changes need a resource restart.
File | Contents |
|---|---|
| Language, detection, the shop and its camera, base price and every modification price, the resale percentage, the yacht limit, upgrades, yacht vehicles, the radio, decorating limits, Tebex, keybinds and debug. |
| The decoration catalogue: 37 categories and over 400 props with their prices and colour variants — more than a hundred of them double as a stash or wardrobe. |
The values worth reviewing first:
Config.Locale = 'en' -- any file in locales/
Config.MoneyType = 'bank' -- account charged for yachts, upgrades and furniture
Config.MaxYachtsPerPlayer = 1
Config.ShopDefaultPrice = 5000000 -- base price; modifications are added on top
Config.YachtSellPercentage = 0.7 -- 70% of the total value back when selling to the bank
Config.UseTarget = true -- false = key prompts instead of ox_target / qb-target
Config.EnableKeyGiveFromUI = true -- let owners hand out keys from the menu
Config.DefaultYachtName = 'Quasar' -- shown when a yacht has no custom name
Config.Debug = true -- set to false on a live serverVerifying the Installation#
After completing the installation, restart your server and read the console. You should see the framework that was picked and the version check:
[INFO] Successfully loaded the framework. esx
You are using the latest version of qs-yacht!Then join your server and work through the first loop:
Visit the Yacht Shop
The Yacht Shop blip sits on the west coast. Walk up to the dealer and use Open Shop (or press
Ewithout a target). The camera flies out to sea over the first free yacht slot.Configure and buy
Pick a model, paint, lighting, railing and flag, name the yacht and press Purchase Yacht. The yacht appears on the map with a blip for you and anyone you give a key to.
Go aboard and open the menu
Reach the yacht, then type
/yachtMenuto open Yacht Management. From there, Usage covers keys, upgrades, decorating and life on board.



