Rent
Full rent guide: list, accept, pay, terminate, and unpaid eviction. Payments use bank (prp-bridge) to the owner.
1. Configure rent defaults
lua
Config.RealEstate.rent = {
graceDays = 7,
checkMinutes = 30,
defaultFrequency = "WEEKLY", -- DAILY | WEEKLY | MONTHLY
}- Set
graceDays(days afteractiveTillbefore auto-evict). - Set
checkMinutes(how often the server scans unpaid contracts). - Restart
prp-housing-v2.
2. Owner / realtor — create a rent offer
- Open Housing Central (owner) or the realtor property profile (staff with
manageRent/listForSale). - Set period price and frequency (
DAILY/WEEKLY/MONTHLY). - Save the offer (Housing Central rent UI or realtor List for rent).
- Toggle displaying so it appears on the market For Rent tab.
Optional: assign a tenant by State ID from Housing Central instead of waiting for a market accept.
3. Tenant — take the listing
- Open the Market → For Rent.
- Open the property → Rent now.
- First period is charged from the tenant bank and deposited to the owner bank.
- Tenant receives access privileges from
privilegesApplied.
4. Tenant — pay the next period
- Enter the property → open Housing Central → Rent.
- Confirm the due amount.
- Pay → bank charged →
activeTillextended by one period → history updated.
5. End a contract
- Owner, tenant, or staff with
manageRentopens Housing Central / market terminate. - Confirm terminate → tenant access removed → contract cleared.
- Owner may list for rent again.
6. Auto-evict (unpaid)
- Tenant misses payment past
activeTill. - After
graceDays, the server removes tenant access and clears the contract. - Furniture is kept; listing can show again if price is still set.
- Tenant gets an eviction notify when online.
Data shape (reference)
Stored in world_housing_rent.rent_data:
lua
{
periodPrice = 2500,
periodFrequency = "WEEKLY",
isDisplaying = os.time() or false,
isActive = true,
tenant = stateId,
started = unix,
activeTill = unix,
privilegesApplied = {},
paymentHistory = {},
}Exports: GetRentData, SaveRentData — see Exports.