Electus LogoElectus Documentation

Electus Computers Guides

Devices, apps, businesses, hacking, police tools and laptop repair in Electus Computers.

Admin panel

/computersadmin opens the admin panel for players with the electus_computers.admin ACE or a framework group in Config.Admin.groups. Admins can manage computers, computer presets and businesses, find a computer by aiming at its prop, and remove a computer's password.

-- config/system/admin.lua
Config.Admin = {
    enabled = true, -- false removes the admin command and denies every admin action
    command = "computersadmin",
    ace = "electus_computers.admin",
    groups = { "admin", "superadmin" },
}
add_ace group.admin electus_computers.admin allow

Computers and devices

DeviceHow it works
LaptopUse the item to open it anywhere, or place it on a surface. Five finishes share one model.
Desktop computerPlace it from the inventory.
TVMount it on a wall and cast presentations, photos and screens to it.
RouterPlace it to share wifi with nearby computers. Owners can set a password.
PrinterPlace it beside a computer and connect it with a USB cable.
Card terminalConnect it to a computer with a USB cable to take payments from the Business app.

Every computer carries a serial number and keeps its own files, apps and settings. A new computer starts with a short setup where players name it and pick a wallpaper. Default apps and settings for new laptops are in config/laptop.lua.

Screens are replicated to nearby players, so others can watch someone use a computer. Tune distance, update rate and how many screens render at once in Config.Computer.replication (config/computer.lua).

Networking

Network apps such as the Browser, Mail, Cloud Drive, wallet and App Store only open while the computer is connected.

ConnectionSetup
InteriorsEvery interior has an open network while Config.Wifi.interiors = true.
RouterA placed router covers Config.Router.radius metres. Password-protected routers can be cracked with the Credential Cracker app (Config.Router.passwords.crackAppId).
SIM cardInsert it into a computer for mobile internet anywhere.

Set Config.Wifi.requireConnectionForApps = false to give every computer an always-on connection. Routers, SIM cards and laptop wifi cards then have no purpose.

USB devices and cables

Players plug USB drives, antennas and SIM cards into a computer, and connect computers, printers and card terminals with cables through Manage ports. Cables stay plugged in for everyone, across restarts, until someone unplugs them.

ItemUse
usb_4gb, usbMove files and software between computers (4 GB and 10 GB).
usb_antenna, usb_antenna_longExtend the scan range of call and radio intercepts. Set usbAntennas.required = true in their configs to make one mandatory.
usb_cable_short, usb_cable, usb_cable_long2 m, 5 m and 10 m cables.

Drive sizes and cable lengths are in config/devices/usb.lua. Antenna ranges are in config/hacking/call_intercept.lua and config/hacking/radio_intercept.lua.

Software store

Players buy apps in the in-game App Store and install them on the computer they are using. Every app takes disk space, and the server refuses installs that don't fit.

Prices are set in config/apps/software.lua in C-coin (Config.Crypto.asset). 0 is free.

Config.Software = {
    apps = {
        ["port-breacher"] = { title = L("lua.software.port_breacher"), price = 9, storageGb = 3 },
        ["vpn"] = { title = L("lua.software.vpn"), price = 14, storageGb = 1.5 },
    },
}

To add your own app to the store, see Desktop apps.

Businesses and card terminals

Business presets in Config.Business.presets (config/apps/business.lua) give a job a Business app with a catalog, orders, bookings and a Checkout page. Each catalog item has a supplier price and a customer sellPrice (0 means not for sale).

Presets are created in the database on first start. Afterwards they are edited in the admin panel, so changing an entry in the config only affects a database that doesn't have it yet.

To take a payment:

  1. An employee rings up the sale on the Business app's Checkout page.
  2. The customer pays on a card terminal cabled to that computer. Payment methods are in Config.CardTerminal.methods.
  3. The money is paid into the business's account through Electus Core's company money system.

The customer can ask for a paper receipt on the approved screen. It prints and goes into their inventory.

With storefrontEnabled = true, a business also gets a public website in the Browser app where customers place orders and book services. Requests land in the Business app as pending. No money changes hands online.

Shop clerks

Config.Stores (config/apps/stores.lua) places NPC clerks with their own shop screen. A clerk tied to a business sells its stock first, at its sell prices times markup, paid into that business.

staffModeBehaviour
"fallback"The clerk leaves the counter while an employee is on duty, so staff sell through the card terminal.
"staffed"The clerk stays and only serves while an employee is on duty.

Digital Den without the map

The Digital Den business, counter computer, card terminal, shop clerk and repair bench are positioned for the electus_digital_den map. Without that map, remove or move:

ConfigEntry
config/apps/business.luaThe screen of the digital_den preset
config/devices/card_terminal.luaThe digital_den entry in Config.CardTerminal.fixed
config/apps/stores.luaThe digital_den clerk (set enabled = false)
config/laptop_hardware.luaThe digital_den bench in Config.LaptopHardware.repair.benches

Laptop hardware and repair

Laptops have parts that wear down, break and can be repaired or upgraded at a repair bench. Desktops, TVs and world screens have none. Everything is in config/laptop_hardware.lua, and every section can be turned off. With Config.LaptopHardware.enabled = false, laptops behave as if the feature did not exist.

PartUpgradeEffect
BatteryExtended batteryRuns longer unplugged (90 to 180 minutes).
ProcessorQuad-core, octa-coreExtra seconds on hacking minigames.
FanCopper coolerHalves processor wear.
SSD120 GB, 250 GBDisk space for installed apps.
Wifi cardLong-rangeReaches routers further away.
DisplayShows cracks when worn. A broken display stops the laptop.
Security chipHardened chipLocks out password guessing sooner and slows down password resetters.

Parts lose condition while the laptop is on, and accidents damage them: water, drops and failed hacks. A broken processor, drive or display stops the laptop from booting, and a dead battery needs a plug. Placed laptops count as plugged in and charge.

Technicians with the bench's job open the laptop at a repair bench and swap parts. With repair.selfService.enabled, customers can restore worn parts themselves for a price while no employee is on duty. Broken parts and upgrades always need a technician.

Hacking and heat

Hacking programs are bought in the App Store and installed on a specific computer. Each one runs its own minigame, configured in Config.HackingApps (config/hacking/hacking.lua).

AppUsed for
Port Breacher, Binary Decoder, Grid Recall, Color Cipher, Signal Matcher, Packet Router, Circuit Bypass, Credential Cracker, Firewall Sweep, Decryption ToolHacking programs, also used by other resources through RunHack
Password ResetterRemoves the password of a cabled computer after a timed reset, or resets a phone passcode
Call Intercept, Radio InterceptListen in on nearby calls and radio channels for a short time
SMS DumpRead a phone's text messages
Phone TriangulatorFind a phone's position from cell towers

The server only accepts a result for a hack it started, finished by the same player after a plausible time. Config.HackSessions sets the minimum solve time and how long a result stays valid.

Heat

Heat builds up on a computer as players hack (Config.Heat in config/hacking/heat.lua) and cools down over time. Computers at or above policeThreshold show on the police terminal and trigger a dispatch alert through Config.DispatchSystem. Without a dispatch script, every on-duty player in Config.Police.jobs gets a notification and a blip.

A VPN reduces the heat a computer gains by Config.Heat.vpn.reductionPercent.

Police tools

The police app, its tracking map, phone lookups and the evidence board are limited to the jobs and minimum grades in Config.Police.jobs (config/hacking/police.lua).

Config.Police = {
    jobs = {
        police = 0,
        sheriff = 0,
    },
}

The vehicle finder reads owned vehicles from Config.Police.vehicleTables. ESX (owned_vehicles) and QBCore (player_vehicles) tables are both listed, and missing tables are skipped.

Phone integration

Set Config.PhoneSystem to "lb-phone", "roadphone", "yseries" or "none", and Config.PhoneSystemResource to the phone's resource name. Restart electus_computers after changing it.

FeatureLB PhoneRoadPhoneYSeries
Phone app pairingPhone passcodeTexted codeTexted code
Live texts in the Phone appYesYesYes
Gallery import and exportYesYesThrough texted photos
SMS DumpYesMessage logMessage log
Password ResetterYesYesNo
Police PIN recoveryYesNoNo

RoadPhone and YSeries pair with a six-digit code texted from Config.PhoneServiceNumber. Keep that number shorter than player numbers so it can never be a real phone. Their texts are copied into a message log for history and SMS Dump, starting when Electus Computers is installed.

Logs

Set the log service in config/system/logs_admin.lua:

Config.Logs = {
    Enabled = true,
    Service = "discord", -- "discord", "ox_lib", "fivemanage"
    categories = {
        admin = true,
        purchase = true,
        money = true,
        hacking = true,
        police = true,
        security = true,
        hardware = true,
    },
}

For Discord, set the webhook in server.cfg, never in the config:

set electus_computers_logs_webhook "https://discord.com/api/webhooks/..."

Data retention

Expired Cloud Drive sessions and share links, uncollected prints, police vehicle sightings, cooled-down heat and old copied phone texts are cleaned up in the background. Player computers, files, notes, mail and accounts are never removed for being old.

Tune each category in config/system/retention.lua, or set false to keep it forever. abandonedComputers can remove player-placed computers nobody has opened for a number of days. It is off by default.

Translations

All text is in config/locales/en.lua. Copy it, translate it and set Config.Locale in config/config.lua. Missing keys fall back to English.