Contracts
Contracts
Draft, format and sign property documents, lease agreements, sale deeds, block transfer deeds, or freeform agreements. A signed contract is an issuable certificate, not a transaction.
Configured in shared/contracts.lua.
What contracts are (and aren't)
Contract types are document categories:
- General agreement (custom)
- Lease agreement
- Sale deed
- Block transfer deed
Drafting a contract
- F7 → Contracts (company staff / realtor with the right permission).
- Use the document editor to write the agreement with formatted text blocks.
- Insert variables that auto-fill from the deal, drafter/client name,
client CID, company, date, property details, rent, deposit, price, block code,
district, etc. (
Config.ContractVars). - Save as a reusable template if you want (up to
Config.ContractDoc.maxTemplates= 40 per company).
Signing
- The drafter picks a recipient, a nearby player within
Config.ContractRecipientRadius(10 m). - The property picker is scoped to what the recipient actually holds (their owned units + active/arrears leases), so a deed can only certify real holdings.
- On signing, the contract's status flips to signed and both parties are notified. No debit, transfer, lease, or key change occurs.
The contract item
If Config.ContractItem.enabled (default true), a printed copy is added to
the recipient's inventory as a contract_paper item; with
giveToDrafter = true the drafter gets a copy too. Using the item re-opens the
document to read. → Items
Document limits
Config.ContractDoc = {
maxBlocks = 120, -- blocks per document
maxInlineRuns = 200, -- formatted runs per text field
maxTextLength = 4000, -- characters per text field
maxTemplates = 40, -- templates per company
}Where to find signed contracts
- Companies: Company → Contracts / customer profiles.
- Realtor jobs: the Job Hub customer records.
- Recipients: the
contract_paperitem, or their document list in the tablet.