Skip to content

Apartments ​

Starter high-rise housing across four towers (Lombank 1 & 2, Eclipse, Tinsel). Players get an auto-assigned unit on connect, can furnish it, lock the door, and use Housing Central with apartment-specific limits.

Requirement — Apartment Towers ​

Apartment logic in prp-property only runs when the map resource prp-apartments is started.

You need the Apartment Towers product (resource name prp-apartments). It provides the tower shells, floor IPLs, lobbies, and garage geometry (644 units across 46 floors). See also prp-apartments.

lua
-- config/sh_config.lua
apartments = GetResourceState("prp-apartments") == "started",

Runtime checks use the same rule (AreApartmentsEnabled() → GetResourceState("prp-apartments") == "started").

Soft dependency

prp-apartments is not a hard fxmanifest dependency. If it is missing or stopped, apartments simply stay off (no auto-assign, elevators, receptionists, or unit attach). Regular MLO / shell / IPL properties still work.

Start prp-apartments before prp-property when possible so the feature flag is true at load. It is recommended, not required — the live GetResourceState check still enables apartments if the map starts later (restart clients / reconnect for floor zones and elevators that already initialized).

Example server.cfg order:

cfg
ensure ox_lib
ensure prp-apartments
ensure prp-property

What apartments do ​

FeatureBehavior
Auto-assignOn character connect, a free physical unit is assigned if apartments are enabled
Persistent housingCreates / reuses a world_housing row with location_id = -1 (furniture, access, settings)
Session roomThe physical room (coords / room number) is pooled per session and freed on disconnect
DoorsNative door system lock/unlock (prp-housing:server:toggleApartmentLock) for players with access
EnterWalking into your unit loads it as a property (isApartment) and opens Housing Central
Furnish / storageSame furnish flow as houses; storage cap is lower (default 3)
ElevatorsGarage / lobby / floor teleports; your floor is labeled in the menu
Map blipBlip on your tower lobby only (not floor/room)
ReceptionistLobby NPC answers What's my room? with room and floor
Limits vs housesRent, upgrades, and maintenance seizure are disabled / skipped for apartments

Buildings (from apartments.json / apartments.lua):

BuildingName
1Lombank Tower 1
2Lombank Tower 2
3Eclipse Tower
4Tinsel Tower

Data files: apartments.json (coords, room, floor, building), apartments.lua (ApartmentFloors, ApartmentsData, Receptionists).

How a player finds room & location ​

Tower blip ​

When a unit is assigned, the client creates a map blip on that player's tower lobby (Lombank 1/2, Eclipse, or Tinsel). There is no blip for floor or room number.

Receptionist (floor & room) ​

Each tower lobby has a receptionist ped. Interact and choose What's my room?

They get a notify like:

Your room is 101 on floor 1. Have a great day!

Elevator ​

At an elevator point, open the menu. The floor that matches the player's assigned unit is marked as your room. Use that to go to the correct floor, then find the matching room number on the corridor.

Typical player path ​

  1. Connect → unit auto-assigned (when prp-apartments is started).
  2. Follow the tower blip to the correct building lobby.
  3. Ask the receptionist for room and floor.
  4. Take the elevator to that floor (menu shows your room).
  5. Find the door for that room number → lock/unlock with E if you have access → enter to load Housing Central.

Differences from normal properties ​

ApartmentNormal property
Locationlocation_id = -1Real location id
CreationAuto on connectStaff / realtor / market
Physical unitSession poolFixed doors / coords
DoorsNative apartment door toggleox_doorlock options
Rent / upgrades / seizureOffOn (when configured)