Kartik Scripts

Economy & Billing

Economy & Billing

All economy settings live in shared/economy.lua. This drives licences, tax, the billing cycle, utilities, services, and the layout marketplace.


Currency & locale

Config.Locale = 'en'
Config.Currency = '$'

Company licensing (Block mode)

Config.LicenceFee = 50000              -- business licence application fee
Config.LicenceDurationDays = 30        -- licence validity in days
Config.CompanyRegistrationOpen = true  -- allow civilians to apply
Config.MaxCompaniesPerPlayer = 1       -- pending or approved
Config.CompanyApprovalJobs = { doj = 0 } -- jobs that approve applications

Tax & land revenue

Config.PlatformTaxRate = 0.05          -- state cut on rent payments (0..1)
Config.StateSaleRevenue = 'burn'       -- 'burn' or 'treasury' (state land-sale money)
Config.TreasuryAccount = 'government'  -- society account when StateSaleRevenue = 'treasury'
Config.AuctionMinIncrement = 0.05      -- minimum bid increment fraction
Config.SaleEscrowTimeout = 300         -- escrow timeout (seconds)

Homes held on a Tebex deed skip the PlatformTaxRate cut on rent while Config.Tebex.ExemptPlatformTax = true, and can pay reduced or no maintenance (Config.Tebex.UpkeepPercent, or per product). See Tebex Integration.

Billing cycle, eviction & condition

The billing loop sweeps periodically and charges rent, maintenance, utilities, and services. Missed payments decay condition, then trigger eviction (tenants) or repossession (owners).

Config.BillingCycleSeconds = 7 * 24 * 60 * 60 -- 1 week
Config.BillingCheckInterval = 60              -- sweep interval (seconds)
Config.EvictionAfter = 3                       -- missed rent cycles → auto-evict
Config.RepossessAfter = 3                      -- missed maintenance cycles → repossess
Config.ConditionDecayPerCycle = 2              -- % condition lost per paid cycle
Config.ConditionDecayUnpaid = 8                -- % condition lost per unpaid cycle
Config.ConditionRentCap = 40                   -- below this %, rent ceiling halves
Config.RepairCostPerPct = 150                  -- repair cost per 1% condition
Config.DepositCycles = 2                       -- default deposit = rent × this

See Utilities & Billing and Renting & Leases for how these play out.

Electricity

Config.Electricity = {
    Enabled = true,
    BaseFee = 15,                              -- base charge per cycle
    RatePerActiveLight = 5,                    -- per active light per cycle
    BlackoutNoLights = true,                   -- black out interior if 0 lights active
    BlackoutTimecycle = "custom_car_interior",
    DeviceDraw = {                             -- security devices also draw power
        camera       = 8,                      -- per camera
        motion       = 4,                      -- per motion sensor
        alarmPerTier = 6,                      -- per alarm tier
    },
}

Set any DeviceDraw value to 0 (or delete the table) to stop security devices from adding to the electricity bill.

Water

Config.Water = { Enabled = true, BaseFee = 10 }

Services

Optional recurring services shown in the property's Utilities panel. Monitored alarm tiers auto-subscribe the security service.

Config.Services = {
    { key = 'cleaning',  label = 'Cleaning Service',    fee = 50, icon = 'fa-solid fa-broom',
      desc = 'Weekly interior clean-up' },
    { key = 'security',  label = 'Security Monitoring', fee = 40, icon = 'fa-solid fa-shield-halved',
      desc = 'Monitored alarm response' },
    { key = 'internet',  label = 'Internet',            fee = 25, icon = 'fa-solid fa-wifi',
      desc = 'High-speed connection' },
    { key = 'insurance', label = 'Home Insurance',      fee = 35, icon = 'fa-solid fa-house-circle-check',
      desc = 'Covers break-in losses' },
}

Layout marketplace

Config.LayoutMarket = {
    Enabled = true,
    CommissionRate = 0.10,      -- platform commission (0..1)
    MinPrice = 100,
    MaxPrice = 5000000,
    MaxActivePerSeller = 10,
    HideAfterReports = 5,       -- auto-hide after N reports (0 = disable)
    TitleMax = 64,
    DescMax = 255,
}

See Layout Marketplace.

On this page