FreeScriptsDocsSupport

Browse

  • Documentation
    • FAQ
  • 📱 Phone
    • 🧠 Installation
    • 🦄 Unique phones
    • 💿 Configure
      • 💄 Additional Features
      • 📸 Camera
      • 📹 Video Calls
      • 🍏 Apps
      • 🪵 Logs
      • 🔋 Battery System
      • 🖼️ Media Customization
      • 🗣️ Multi-Language Support
      • 🗃️ SIM Cards
      • 🚗 Valet System
      • 🖼️ Wallpapers App
      • ⛅ Weather Widget
    • ⏭️ Exports
      • Client side
        • 👁️‍🗨️ General
        • 📞 Calls
        • ☀️ Groups
        • 🏢 Companies
        • 🔧 Misc
        • 🗼 Signal Towers
      • Server side
        • 🆔 Identify Player
        • ☎️ Sim Cards
        • 📞 Calls
        • 💬 Messages
        • ☀️ Groups
        • 🌐 Cell Broadcast
        • 💸 YPay
        • 📧 Mail
        • 📪 Notifications
        • 📵 Screen Damage
        • 🗯️ Dark Chat
        • 🔧 Misc
    • 🪛 Commands
    • 📡 Events
      • Server side
        • 📨 Messages
        • 📱 Social Media
        • ☎️ Calls
    • 🍎 Custom apps
    • 🏦 Banking App
    • 📈 Markets App
    • 👜 State bags
  • ☎️ Boomer Phone
    • 🧠 Installation
    • 🦄 Unique phones
    • ⏯️ Exports
      • Client side
  • 🏠 Properties
    • 🧠 Installation
    • 💿 Configure
    • 🔗 Compatibility
      • Phones
        • YSeries
        • LB Phone
    • 📖 Guides
      • 🛏️ Starter Apartments
      • 🐚 Add More Shells
      • 🔑 Physical Keys
      • 🪑 Furniture As Items
      • 🛠️ Fix Interactable Points
      • 📋 Discord Logs Setup
    • ⏭️ Exports
      • Client side
        • GetCurrentPropertyId
        • GetCurrentProperty
        • IsPointInsideProperty
        • OpenPropertyMenu
        • AddKey
        • RemoveKey
        • SetWaypointToProperty
        • GetAllProperties
        • GetKeyHolders
        • PoliceRaidDoor
        • WrapIntoProperty
        • GetClosestDoor
        • GetEntryCoordinates
        • UseLockpick
        • PoliceRaidDoor
      • Server side
        • GetAllProperties
        • GetPropertyData
        • AddKey
        • RemoveKey
        • ToggleDoorlock
        • GetPlayersInProperty
        • GetKeyHolders
        • DeleteProperty
        • AddStarterApartment
        • SellProperty
        • TransferProperty
    • 🪝 Hooks System
      • buyProperty
      • rentProperty
      • sellProperty
      • deleteProperty
      • createDoor
      • saveSettings
      • setInteractablePoint
      • canEnter
      • canExit
    • 👜 State bags
  • 🏦 Banking
    • 🧠 Installation
    • 🪛 Commands
    • ⏯️ Exports
      • Client side
      • Server side
    • 🪵 Logs
    • 🪝 Hooks
    • 🏦 Banking App
  • 💸 Billing
    • 🧠 Installation
    • ⏭️ Exports
      • Client side
      • Server side
  • 📊 Hud
    • 🧠 Installation
    • ⏭️ Exports
      • Client side
  • 📦 Storage Units
    • 🧠 Installation
  • 🎰 Slots
    • 🧠 Installation
    • 📱 Phone app
  • 🎃 Minigames
    • 🎯 Exports and Usage
    • 🔧 Commands

🛏️ Starter Apartments

They can be granted in two ways:

  • Automatically: call the AddStarterApartment export during character creation.
  • Manually (one-time backfill): use the /givestarterapartments command (or your custom command in GiveStarterApartmentCommand).

✅ Setup

  1. 1

    Configure the starter apartment

    Open nolag_properties/config.lua and edit the StarterApartment block:

    lua
    StarterApartment = {
        Enabled = true,
        DisableForceSale = true,
        DisableSell = true,
        DisableRent = true,
        DisableInactivity = true,
        DisableFurniture = true,
        BuildingId = 1,
        Address = "Los Santos",
        Name = "Starter Apartment",
        UniqueName = true,
        RentedInstead = true,
        InitialRentDays = 7,
        FutureRentPrice = 500,
        Interior = {
            type = "shell",
            name = "Container",
        },
        Inventory = {
            slots = 10,
            weight = 10000,
        },
        InteractablePoints = {
            ["OpenInventory"] = true,
            ["ClothingMenu"] = true,
        }
    },
  2. 2

    Make sure the building exists

    The starter apartment is assigned to a building (BuildingId). If the building does not exist, the creation fails with Building does not exists.

    Create a building from the creation menu (/createproperty) and set BuildingId to that building's ID.

  3. 3

    Ensure the interior exists

    The Interior block must match a valid shell or ipl:

    • Shells: enable the correct shell pack in Config.Shells (example: K4mb1StarterShells = true).
      The default name = "Container" is from custom/shells/StarterShells.lua.
    • IPLs: the name must exist in nolag_properties/ipls.lua.

    If the name is wrong or the pack is disabled, you will see Invalid shell type or Invalid ipl type.

  4. 4

    Grant apartments to players

    • New characters: call the export when the character is created:
    lua
    exports.nolag_properties:AddStarterApartment(playerIdentifier)
    • Existing players (one-time backfill): run the command configured in GiveStarterApartmentCommand (default /givestarterapartments).

Config reference

Key options and what they do:

  • Enabled: turns the system on/off.
  • BuildingId: the building the apartment is attached to (must exist).
  • Interior.type: shell or ipl.
  • Interior.name: must match a shell/ipl definition.
  • Name + UniqueName: allows automatic numbering when multiple players receive the same name.
  • RentedInstead: if true, the apartment is rented (owned by DefaultBuyerType / DefaultBuyerIdentifier) and rented to the player for free days.
  • InitialRentDays: free rent period.
  • FutureRentPrice: price after the free period ends.
  • Inventory: starter apartment stash size.
  • InteractablePoints: which points are available inside (inventory, clothing, etc).
  • DisableSell, DisableRent, DisableForceSale, DisableInactivity, DisableFurniture: restrict starter-apartment actions.

Common issues

Set `StarterApartment.Enabled = true` and restart the resource.

The building ID is invalid. Create or select a building in `/allproperties` and update `BuildingId`.

The interior name doesn't exist or the pack isn't enabled. Use a name from `custom/shells/*.lua` or `ipls.lua` and enable the correct pack.

The script blocks duplicates. Remove the old starter apartment before re-granting.

These are intentionally disabled by the `Disable*` flags in `StarterApartment`. Toggle them if you want those features.

Ensure `RentedInstead = true`, `FutureRentPrice` is set, and the `ProcessPropertiesCron` scheduler is running.

On this page

  • ✅ Setup
  • Config reference
  • Common issues

All Rights Reserved

TeamsGG © 2026

Pages

FreeScriptsDocsSupport

Legal

Terms of ServiceRefunds

Tebex

Tebex ImpressumTebex TermsTebex Privacy

Socials

DiscordYouTube