The Three Windows#
Motels Creator has three interfaces, one for each kind of person standing at a motel.
Window | Opened with | What it is for |
|---|---|---|
Creator |
| Admins and creator jobs build, edit, teleport to and delete motels. |
Reception | The motel's reception point | Owners and staff run the business: customers, employees, finance, requests, upgrades. Customers rent a room here when the front desk is automatic. |
Room Management | The reception, as a tenant | The tenant pays, extends, makes keys, shares the room, writes to staff and reads notifications. |
/motelcreator can also be bound to a key in Settings → Key Bindings → FiveM. Points are shown as markers with a 3D prompt — or, with Config.target = true, as ox_target / qb-target zones.
Motel Types#
Every motel is one of three types, chosen in the creator. The type decides where the rooms physically are.
Type | Interior | How rooms work |
|---|---|---|
MLO | A real map interior you already stream, such as Gabz Pinkcage. | Each room has its own physical doors, stashes and wardrobes, placed one by one. Doors lock and unlock for everybody. |
Shell | One of the 16 K4MB1 Starter Shells, spawned out of sight. | One entrance outside serves every room. Each tenant enters a private copy of the shell; stash and wardrobe points are placed once and shared by all rooms. |
IPL | A GTA Online interior loaded by bob74_ipl. | Same as shells: one entrance, private instances, shared stash and wardrobe points. |
Shell and IPL motels have a Room Count instead of hand-placed rooms, so a single shell can be a 200-room hotel. With Room Type Overrides chosen room numbers get a different shell or IPL and a label — VIP, Deluxe, Suite — which is shown on the key, the rental offer and the raid list.
Which shells and IPLs are offered is set in
Config.Shells(16 models) andConfig.IplData(three Executive Apartments and a Finance Office). See Adding Shells and IPLs below.
Building a Motel#
Creator → Motels → +. The list on the left holds every motel with its owner and a teleport button; the form on the right is the selected motel. Fill the sections from top to bottom and press Create Motel — the motel appears for every player at once.
Section | What you set there |
|---|---|
Basic Information | The motel's name (unique) and, optionally, an owner picked by searching online and offline players. |
Location Settings | The zone outline (required) and the reception point, with its heading. |
Reception Ped | An optional receptionist NPC standing on the reception point: model and idle scenario. |
Motel Settings | The type. Shell: the shell and its exit point. IPL: the interior. Both: the entrance in the world, the room count and room type overrides. |
Blip Settings | On or off, sprite and colour picked from a searchable list with previews, scale, label. |
Economic Settings | Purchasable, sale price, sale multiplier, Auto System, pricing unit, rent price, key cost — see Prices and Selling. |
Rooms | MLO: a tab per room with its label, doors, stashes and wardrobes. Shell / IPL: the shared stash and wardrobe points inside the interior. |
Placing points#
Pressing Select on any point hides the window and hands you a free camera with a ghost marker; the keys are listed on screen while you place.
Key | Does |
|---|---|
| Add a zone point / set the point / select a door. |
| Undo the last zone point. |
| Rotate the heading. |
| Raise or lower the zone's height boundary. |
| Done. |
| Cancel. |
A zone needs at least Config.MinPointLength points (4) and cannot overlap another motel. Every key is remappable in ActionControls, and the camera speed in CameraOptions.
Rooms in an MLO#
Press Add Room, give it a label, then Select Doors and click the real door props of that room — a double door is two doors. Add at least one stash and one wardrobe inside it. Each room shows how many of its points are configured, and every point has a teleport button so you can check it.
Rooms in a shell or IPL#
Pick the shell (and its exit point inside) or the IPL, then the Entry Point — the door in the world where tenants go in. Add Stash and Add Wardrobe take you inside the interior to place each point; every virtual room shares them.
Editing a motel later is the same form: select it, change anything, Save Motel. Delete Motel removes it with all its rentals, staff and finances; anybody inside one of its rooms is moved to
Config.teleport.
Prices and Selling#
Each motel carries its own economy, set in Economic Settings.
Field | What it does |
|---|---|
Pricing Unit | Per Day (1 to 30 days) or Per Hour (1 to 336 hours). |
Rent Price | Price per unit. Total = price × units, always recalculated by the server. |
Key Cost | What a new key costs: paid by the tenant when they make one, or by the motel balance when staff make one. |
Purchasable | An unowned motel is offered for sale at its reception. Off: ownership is only given in the creator. |
Sale Price | What a player pays, in cash, to buy the motel. |
Sale Multiplier | How much of the sale price the owner gets back when selling: |
Auto System | The reception rents rooms by itself with no staff. An Auto System motel cannot be bought and has every upgrade unlocked. |
Buying is done at the reception of an unowned, purchasable motel; the buyer becomes the owner immediately. The owner sells it back from the reception's Sell Motel tab. Config.generalPurchasable = false turns buying off on every motel at once.
Renting a Room#
Who hands over the room depends on the motel:
Motel | How a room is rented |
|---|---|
Auto System | The customer walks to the reception, chooses a free room and a duration, and pays. |
Owned | The owner or an employee with Motel Room Rental opens Nearby, picks a player within |
Owned + automatic desk | Once the owner buys and switches on the Auto System upgrade, customers can also rent by themselves. |
Every rental is checked on the server: the room must be free and within the motel's room capacity, a player holds one room per motel and at most Config.maxRoomsPerPlayer (5) in total, and with Config.existBillThenBlock nobody with an unpaid bill can rent. Owners and staff can rent to themselves when Config.nearbySeeSelf is on.
Paying: up front or as rent debt#
Config.bill.active | What happens |
|---|---|
| The full price is taken in cash when renting and goes into the motel balance. |
| The room is handed over at once and the price becomes the tenant's rent debt, paid from Room Management in one go or in parts. |
While a rental runs, Config.warningSystem checks it at 50 %, 70 % and 90 % of its time. A tenant with no debt gets a reminder of the time left. A tenant still in debt sees it grow by that level's debtMultiplier (+13 %, +14 %, +15 %) and, with suspendOnDebt, the room is suspended — keys stop working for them and their guests until the debt is paid.
When time runs out the tenant is evicted and every door, stash and wardrobe of the room locks. Any debt left becomes a bill of debt × finalMultiplier (2.0), paid at the Bill Payment Center (Config.bill.pos, with its own blip).
A tenant cannot leave a room while they owe rent. Pay the debt first, then Leave Room ends the rental — and, with
Config.wipeStashOnLeave, empties the room stash for the next guest.
Keys, Doors and Stashes#
Each rental hands out a Motel Key whose metadata names the motel, the room and a unique code. Use it near a door, stash or wardrobe of that room — or press G at the point — to lock or unlock it; E opens an unlocked stash or wardrobe. In a shell or IPL motel the key at the entrance takes you into your room.
Rule | Effect |
|---|---|
A new key is made | The room's code changes, so every older copy stops working — the way to lock out a lost key. |
The room is suspended | The key is refused until the debt is paid or staff lift the suspension. |
| The owner opens every room without a key. |
Access To Rooms | Employees with this right open every room too. |
| No key item at all: the tenant and their guests open the room directly. |
Stashes hold Config.stashSettings (80 slots, 1,000,000 weight). With Config.personalStashes each player gets their own stash instead of one per room. The wardrobe opens your clothing script's outfit menu. A player who disconnects inside a room reconnects inside it — or at the reception if the rental ended meanwhile.
Room Management#
Everything a tenant can do with their room, from the reception. It shows the room, its status (Active or Suspended), the time left as a live countdown and the debt.
Action | What it does |
|---|---|
Pay rent | Pays part or all of the debt in cash. Clearing it lifts a suspension. |
Extend time | Adds days or hours at the motel's price, paid in cash. |
Create key | A fresh key for the key cost, invalidating the old ones. |
Send request | A message to the staff — a repair, a change of room, a complaint. The answer arrives as a notification. |
Key sharing | Give a nearby player access, choose what they may do, change it or revoke it. |
Notifications | Rent warnings and answers to requests, kept until read. |
Leave room | Ends the rental. Refused while there is debt. |
Key sharing#
A tenant can share the room with up to Config.keySharing.maxGuests (5) guests. Each guest has their own switches; new guests start with defaultPermissions.
Permission | Default | Lets the guest |
|---|---|---|
| On | Open and lock the door. |
| Off | Use the stash. |
| Off | Use the wardrobe. |
| Off | Extend the rental. |
| Off | Pay the debt. |
| On | Write to the staff. |
| Off | Make a new key. |
A guest sees the room in their own Room Management with their permissions and can end their access at any time. In an owned motel key sharing has to be bought as an upgrade first.
Running an Owned Motel#
An owned motel is a business. The owner and their staff open the Reception panel at the reception point; each tab appears only for those allowed to use it.
Tab | What it is |
|---|---|
Dashboard | Balance, tenants, free rooms, staff, income charts and the latest transactions. |
Customers | Every tenant with room, time left and debt. Change room, extend time, suspend or reactivate, make a new key, send a message, kick. |
Employees | Staff with salary and permissions. Change salary, toggle permissions, give a bonus, fire. |
Nearby | Players around the reception: offer them a room, or (owner) offer them a job with a salary and permissions. Both need the player's acceptance. |
Finance | The motel balance, deposits and withdrawals in cash or bank, and the transaction history. |
Requests | Tenant messages to accept or reject. The tenant is notified either way. |
Upgrades | Owner only. See Upgrades below. |
Sell Motel | Owner only, on purchasable motels. Sells it for sale price × sale multiplier. |
Leave Job | For employees who want to quit. |
Employee permissions#
The owner can do everything. Employees only what they are given:
Permission | Lets the employee |
|---|---|
Motel Room Rental | Rent rooms to nearby players. |
View Requests | Read and answer tenant requests. |
Out Of The Room | Kick a tenant. |
Change Room | Move a tenant to another free room (a new key is handed over). |
Update Motel Status | Suspend or reactivate a tenant's room. |
Create New Key | Make a key for a tenant, paid from the motel balance. |
Send Message | Message tenants. |
Deposit · Withdraw | Put money into, or take it out of, the motel balance. |
Access To Rooms | Open any room without a key. |
Money and salaries#
With Config.storage.takeRent rent, extensions and key payments flow into the motel balance. Every Config.employee.autoSalary (20 minutes) each employee is paid their salary to bank or money — from the motel balance when takeSalary is on. If the balance is short and obligatorySalary is off, that payment is skipped and the employee is told why. justPayInGame pays only employees who are online, and maxMotelsPerWorker limits how many motels one person can work at.
Upgrades#
Owned motels start limited and grow with upgrades bought from the motel's balance. Auto System motels — and motels with no owner — have everything unlocked.
Upgrade | Levels and prices | Effect |
|---|---|---|
Room Capacity | 25 % → 50 % → 75 % → 100 % · $10,000 / $25,000 / $50,000 / $100,000 | Share of the motel's rooms that can be rented, counting from room 1. |
Security | ×1.5 → ×2 → ×3 · $15,000 / $30,000 / $60,000 | Multiplies the time a raid takes. |
Key Sharing | $20,000 | Lets tenants share their rooms. |
Auto System | $50,000 | An automatic front desk the owner can switch on and off. |
Levels and prices live in Config.Upgrades; each upgrade has its own enabled, and Config.Upgrades.enabled = false unlocks everything on every motel.
Police Raids#
A player whose job is in Config.raid.jobs (police) raids by typing /raid or by using the police_stormram item next to a room.
MLO: the nearest door, stash or wardrobe is rammed open.
Shell / IPL: at the entrance a list of rented rooms appears — VIP rooms marked — and the officer breaks into the chosen one.
The ram takes a few seconds, multiplied by the motel's Security upgrade. With Config.raid.minigame = true a ps-ui circle minigame decides instead. jobs = false lets anybody raid, command = false removes the command and item = false removes the item.
Adding Shells and IPLs#
Any streamed shell model can be offered in the creator — add it to Config.Shells. For IPLs, add an entry whose export returns the bob74_ipl object, with the interior and exit coordinates:
-- config/main.lua
Config.Shells[#Config.Shells + 1] = { model = 'my_custom_shell' }
Config.IplData[#Config.IplData + 1] = {
export = function()
return exports['bob74_ipl']:GetExecApartment1Object()
end,
exitCoords = vec3(-787.44, 315.81, 217.64),
iplCoords = vec3(-787.78, 334.92, 215.83)
}The Settings#
The server-wide behaviour, all in config/main.lua:
Option | Default | What it does |
|---|---|---|
|
| Language. |
| en-US / USD | How prices and dates are written in the interface. |
| true · motelkey | Physical keys and their item name; |
| false | One stash per player instead of per room. |
| true | Empty the stash when a tenant leaves, is kicked or expires. |
| true | Lock a room's door when the room is removed. |
| true | Owners open every room. |
| true | Players may buy purchasable motels. |
| 5 | Rentals per player across all motels. |
| true | No new rentals while a bill is unpaid. |
| on | Rent as debt, and the Bill Payment Center's position and blip. |
| 50 / 70 / 90 % | Warnings, debt growth, final multiplier and suspension. |
| on, 5 guests | Key sharing and the guests' default permissions. |
| on, 20 min | Salaries, and whether rent and salaries go through the motel balance. |
| 80 / 1,000,000 | Stash slots and weight. |
| false · type 2 | Target zones or markers, and which points show a marker. |
| true, 10 min | Periodic save; |
| 3 tracks | Local files in |
| true · false | Console logging and drawn zones. Turn both off on a live server. |
Motels are data, not config. Everything set in the creator lives in the database and is pushed to players live;
config/main.luachanges need a resource restart.



