Skip to content

Lumo Apartments ​

Starter apartments: instanced flats on any server, plus walk-in buildings with real doors.

Version 1.0.1 · Frameworks QBCore · Qbox · ESX · standalone · Requires oxmysql

Installation · Config files · Exports & events · Changelog

Starter apartments for FiveM: private instanced flats that work on any server, plus walk-in apartment buildings with real doors when you own the map. QBCore, Qbox, ESX Legacy and standalone, detected automatically.

Install guide per framework: Installation.

What players get ​

Instanced flats (every server, no map needed)

  • Five street buildings. Each apartment is a private copy of the Del Perro Heights interior.
  • At the entrance: enter your flat, ring a resident's doorbell, or move your home to this building.
  • Inside: storage, wardrobe, a bed to log out, and a door panel to let visitors in and show guests out.

Walk-in buildings (Starlite Motel, Little Seoul, La Puerta)

  • Real doors in the building. They are locked; residents and key holders open them. Anyone inside can always let themselves out.
  • Your flat stays yours through logouts and restarts until you move, so furniture stays where you placed it. With Config.WalkIn.keepRoom = false rooms are per session instead: your last room if it is free, otherwise any vacant one, held for 15 minutes after you log out.
  • An office with a building manager. Browse vacant flats by floor, switch flat, or move your home here.
  • Lifts with a floor picker, keys for friends, knocking.
  • If every room is taken, the resident gets a private instanced flat instead.

New characters pick a starter building in the spawn menu (lumo-spawn, qb-spawn and compatible). Without a spawn menu, they get one automatically.

Requirements ​

  • oxmysql
  • Optional, detected at runtime:
    • Interaction: lumo-interact, qb-target or ox_target. Without one, a built-in key prompt is used.
    • Storage: lumo-inventory, ox_inventory, qb-inventory, ps-inventory or lj-inventory.
    • Wardrobe: lumo-clothing, illenium-appearance or qb-clothing.
    • Walk-in buildings need their maps: zydrec-starlitemotel, zydrec-littleseoul, kiiya_lapuerta. These are sold separately by their creators and are not included.

Configuration ​

Everything is in config.lua:

  • Framework, interaction, inventory and wardrobe providers ('auto' by default).
  • Starter rules and prices.
  • The instanced interior and the five buildings.
  • Walk-in rules: hold time, move fee, auto-lock, the office ped.
  • Custom hooks if your inventory or wardrobe is not listed.

Walk-in room coordinates are in data/walkin.lua. Texts are in locales/en.lua.

Commands ​

CommandWhoWhat
/apartmenteveryoneInside a flat: open the panel. Otherwise: show this session's walk-in room.
/aptkey [id]residentsAt your walk-in door: give a key to that player.
/aptrevokekeysresidentsAt your walk-in door: take every key back.
/aptdooreveryonePrint what the game sees at the nearest walk-in door (for support).
/aptmapadminsRecalibrate a La Puerta flat (aim at its door, then /aptmap save inside).
/aptcoordsConfig.DebugPrint your position, for adding interiors.

For developers ​

  • Events and exports keep the qb-apartments names: apartments:server:CreateApartment, apartments:GetOwnedApartment, apartments:client:setupSpawnUI, qb-apartments:client:LastLocationHouse and others.
  • exports['lumo-apartments'] and exports['qb-apartments'] both answer:
    • GetApartment(identifier)
    • IsInside(src)
    • WalkInSummary(identifier)
    • WalkInKeyedFor(identifier)
    • WalkInHouseFor(src)
    • WalkInOwner(name)
    • GetWalkInFrame(name)
  • Tables: apartments (the stock schema) and apartment_walkin_homes. The apartment name is its stash id.
  • Every framework call is in framework/server.lua and framework/client.lua.

Credits ​

Lumo — https://lumo-server.tebex.io/ Fonts: Barlow Semi Condensed and Oxanium (SIL Open Font License).