Skip to content

prp-lombank-tower

prp-lombank-tower is an apartment shell / map resource. It streams the Lombank towers, related IPLs, elevators, and apartment door registration. It is not a full housing script — pair it with your own housing system (ownership, furnishing, stash, keys, etc.).

What is included

This resource ships interior shells only. Each apartment is an empty shell ready to be wired into your housing script.

BuildingLocationFloorsRooms per floorTotal units
Lombank Tower 1-1572, -571 area1814252
Lombank Tower 2-1018, -425 area1814252
Eclipse Tower-784, 329 area51470
Tinsel Tower-602, 54 area51470

644 apartments total, defined in apartments.json (room IDs like 101, 214, 1801, etc.).

Also included:

  • Garage / lobby / tower shell geometry and audio
  • Vanilla IPL blocker (prevents default GTA interiors from conflicting)
  • Automatic IPL loader — loads the correct floor IPLs when a player enters a zone
  • Elevators — ox_lib TextUI + context menu between garage, lobby, and floors
  • Apartment doors — registers door entities in the door system (locked by default; wire locks in your housing script)

Requirements

  • ox_lib

Installation

Installation steps

1
Download and place the resource
Place prp-lombank-tower from the apartments pack into your resources folder.
2
Install ox_lib
Install ox_lib if it is not already on the server.
3
Add to server.cfg
Start ox_lib before the map resource.
ensure ox_lib
ensure prp-lombank-tower
4
Wire your housing script
Connect your housing system for ownership, keys, furnishing, and stashes. This resource handles shells, IPL streaming, elevators, and door registration only.

Shell only

Like the rest of the Housing Pack, this is a developer asset. You still need a housing script (or custom code) for renting, buying, furnishing, stashes, and door access.

How it works

Everything runs automatically on the client when prp-lombank-tower is started:

  1. default_ipl_blocker_lombank.lua — disables conflicting vanilla interiors (Lombank, Eclipse, Tinsel areas).
  2. lombank_loader.lua — ox_lib box zones per floor/building. On enter: requests that floor's IPLs and calls GenerateApartments. On exit: removes IPLs.
  3. apartments_data.lua — loads apartments.json and builds ApartmentFloors (coords per building/floor/room).
  4. apartment.lua — registers apartment doors in the GTA door system when a floor loads.
  5. elevator.lua — elevator points, menu, and teleport animation between floors.

You do not need to manually RequestIpl for each unit — the loader handles it by zone.

Customization

Locales

Strings live in locales/en.json. Language follows ox_lib (setr ox:locale en).

Editable client scripts are listed in escrow_ignore inside fxmanifest.lua.

Door locks

Doors are registered locked (DoorSystemSetDoorState state 4). To control access, hook into your housing script using the door hashes door_apartment_<apartmentId> or the coords from apartments.json.

Debug loader zones

In client/lombank_loader.lua, set debugMode = true at the top to visualize IPL loader zones in-game.

File reference

FileRole
apartments.jsonAll 644 apartment coords, floor, room, building
client/apartments_data.luaParses JSON into ApartmentFloors
client/apartment.luaDoor registration, GenerateApartments()
client/lombank_loader.luaZone IPL streaming
client/default_ipl_blocker_lombank.luaVanilla IPL blocker
client/elevator.luaElevator system
locales/*.jsonUI strings (elevators)