๐ดStables
Players can buy, store, retrieve, modify, or capture horses and carts. Every interaction is persistent and logged to Discord.
โ๏ธ Overview
The Stables System allows players to:
๐ Buy, manage and customize horses and carts
๐งณ Store or retrieve them from a stable or relay
๐บ๏ธ Recall lost or distant mounts (paid by distance)
โ๏ธ Rename and edit visual equipment (mane, tail, bags, saddle, etc.)
โ Delete a mount permanently
๐ชถ Capture or sell wild horses (job restriction)
๐ฌ Automatically log every important action to Discord
๐ต๏ธ Horse theft: ownership can be transferred if someone stows your mount.
โ ๏ธ Permanent death: dead horses cannot be revived; their inventory is wiped and the mount is unusable forever.
๐ฅ Fire disable: if a cart burns, it is disabled until the next server reboot.
โ ๏ธ A horse or cart stored in a relay or a stable is only accessible from that same relay or stable.
All mounts persist through server restarts โ if you left a horse outside, it will remain exactly where you parked it.
๐ Horses
๐ Buying Horses
Horses are sorted by categories.
Each model includes:
๐ฐ Price
๐ฆ Storage capacity
๐ Description
๐ด Model hash
Example (excerpt from config.lua):
When buying a horse:
The player must choose a name (5โ15 alphanumeric characters, no spaces)
The horse is added to their stable
A unique shared inventory is created automatically ๐ Only the horse or cartโs owner can access this inventory.
A Discord log is sent confirming the purchase
๐ Recall System
If your horse is too far away, you can recall it directly from the stable menu.
Free if closer than 100 meters
Otherwise: $0.05 per meter โ 1000 m = $50
Once recalled, the horse is removed from the world and placed safely back in the stable
Example notification:
๐ด You paid $50 to recall โMustangโ.
A detailed log is also sent to Discord (including distance and price).
๐ชถ Relays
Relays are temporary storage points for mounts (horses only), perfect during long travels. They work like small stables but are independent from the main one.
Defined in config.lua:
Players can:
Store or retrieve horses.
Use relays for RP routes or missions
โฐ๏ธ Death and Deletion
๐ Death
Dead horses are marked as โdeadโ permanently.
They cannot be revived or used again.
Their inventory is automatically deleted.
A log is sent to Discord:
โ ๏ธ John killed a horse named โMustangโ (ID #3)
๐๏ธ Deletion
Players can delete a horse or cart manually.
They must confirm by typing its exact name.
The entry is soft-deleted (hidden from DB and UI).
Its inventory is permanently removed.
๐ป Carts
Carts behave just like horses but can be restricted by job.
Example:
๐ชถ Horse Capture
The defined job (Config.CaptureJob) can capture wild horses found in the world.
Requirements
Must belong to the defined job
Only horses that are unowned can be captured
Only models listed in Config.AllHorses are capturable
In config.lua:
๐ Capture Flow
When a player captures a wild horse:
They find and approach a wild horse in the world.
They must bring it back to a stable.
Once at the stable, they select โCapture the horseโ in the menu.
A confirmation window then appears offering two options:
๐ฐ Sell the horse
Instantly sells it for 1/10 of its stable price
๐ด Keep it
Adds it to the playerโs stable like a purchased horse
๐ต Example
Mustang
$800
$80
Added to stable
Logs are automatically sent to Discord:
๐ฌ Discord Logs
Every action triggers a formatted log sent to your Discord channel.
๐ Purchase
+ purchased a horse: Mustang ($800)
๐ Recall
+ initiated a recall for Mustang (ID: 12) at ~250 m for $12
๐ฅ Fire
- FIRE detected on a cart (ID: 34)
โฐ๏ธ Death
- Permanently killed a horse (Mustang)
๐ป Deletion
- Removed a cart (ID: 3)
๐ชถ Capture
- Captured a wild horse (Model: Mustang, $80)
๐ฐ Sale
- Sold a horse (Model: Mustang, $80)
Configure your webhook inside config.lua:
๐งฉ Exports
โ Create a Horse or Cart
Creates a new horse or cart inside the playerโs stable. It automatically registers an inventory in VORP Inventory.
Example:
๐ Supported Languages
You can add a new language by:
Extending the NUI translations in
translate.jsAdding the same language keys in
Config.Txt(server messages)
Available in 6 languages:
๐ซ๐ท French
๐ฌ๐ง English
๐ช๐ธ Spanish
๐ฉ๐ช German
๐ต๐น Portuguese
๐ฎ๐น Italian
Select your language in config.lua:
๐ง Summary
๐ด Horses
Purchase, store, edit, recall, delete, Job restrictions, inventory
๐ป Carts
Purchase, store, delete, Job restrictions, inventory
๐ชถ Capture
Native-exclusive capture or sell
๐ฌ Discord
Logs every stable action
๐พ Persistence
Fully saved and restored
๐ Languages
6 translations included (you can add more)
โ๏ธ Exports
Create
๐ง Config
Everything editable in config.lua
Last updated