Skip to content

It reads your script. It writes your docs. It answers your customers.

Upload a zip of your FiveM resource. It reads the code — the exports, the events, the config, what it depends on — and writes your documentation from what it finds. Then it answers your customers from that, in your own Discord, citing the file and the line.

Card required · nothing charged for 7 days · cancel any time

An illustration, not a screenshot
In your own serverWaiting on them
ticket-0042
Today
mavrikToday at 14:32
bank UI opens but the panel is blank, no errors in F8
Legacy TicketsAPPToday at 14:32
That usually means the NUI opened before the account payload arrived. Check that Config.UseOxMySQL matches the driver you actually have installed. legacy-banking/server/main.lua:88 is where the payload is built, and it returns early when the driver name does not match.
Message #ticket-0042

A customer who half-remembers a config option still gets the right page. Every question is searched against your documentation three ways at once — by meaning, by wording, and by the exact names in your code.

An illustration, not a screenshot. Every part of it — the lookups, the passages, the file and the line — is what the bot produces from your own documentation.

The job nobody sold you

You did not start a studio to answer tickets.

The same handful of questions, in whatever language the buyer speaks, at whatever hour they are online. Every one of them is already answered somewhere in your own code.

Twelve hours · an illustration, not a screenshot

  • bank ui opens but the panel is blank
  • does this work with qb-inventory?
  • wie ändere ich das währungssymbol?
  • where is the transaction log stored
  • can i make the atm charge a withdrawal fee
  • how do I add a second bank location?
  • ¿por qué el panel sale vacío?

The part that matters

It would rather say nothing than embarrass you in public.

Every answer is checked against your own documentation before it is sent. When nothing in there is a good enough match, it stops, tells your customer a human is coming, and pings your team.

In your own serverNeeds a human
ticket-0117
Today
kazToday at 09:14
can i make the atm charge a withdrawal fee
Legacy StudioAPPToday at 09:14
Your documentation does not cover a withdrawal fee, and I am not going to guess at one for a paid resource. I have passed this to the team.
No export, event or config key named "WithdrawalFee" exists in legacy-banking.
Legacy StudioAPPToday at 09:14
@support — this one needs a human.
Message #ticket-0117

Recorded as a documentation gap. The next person to ask the same thing, however they word it, adds to the count instead of opening a second entry. An illustration, not a screenshot.

What it does with a question your documentation cannot answer. An illustration, not a screenshot.

16 / 16

Sixteen real questions. Half your docs could answer, half they could not. It got the difference right every time.

The line it draws sits deliberately low. If it is ever wrong, it is wrong in the safe direction: a question your docs do cover gets handed to a person instead of the bot. Nobody gets a made-up answer.

Setting it up

Ten minutes of setup. Then it runs without you.

A zip, up to 50 MB, and your bot token. Then you can close the tab. It keeps building without you, and shows you how far it has got when you come back.

It reads your code, not your README

It walks the archive and maps what is in it: every export, event, command, config option and database table, plus what your resource depends on, each with the file and line it came from. That map is fixed before the AI is allowed to write a word about it.

legacy-banking6 found
  • ExportCreateBill(source, amount, reason)server/billing.lua:88
  • Server eventlegacy-banking:depositserver/main.lua:142
  • Client eventlegacy-banking:refreshclient/nui.lua:31
  • Command/bankclient/main.lua:12
  • Config keyConfig.UseOxMySQLconfig.lua:7
  • Database tablebank_accountsinstall.sql:1

Read straight out of your files, so a name it cannot find is a fact about the resource rather than a shrug. An illustration, not a screenshot.

It writes the docs you never wrote

Written from that map, in plain English, on your own site, in your own colour. Every script gets the same five pages so your customers always know where to look. Edit any page and your version is the one that publishes. Connect your repository and it tells you when a push has left your documentation behind.

docs.legacy-studio.com/legacy-banking/installation

Installation

Legacy Banking depends on oxmysql and ox_lib. Both must start before it.

  1. 1.Drop the resource into resources/
  2. 2.Import install.sql, which creates bank_accounts
  3. 3.Add ensure legacy-banking after its dependencies

Your own subdomain on every plan, or your own domain on Enterprise. An illustration, not a screenshot.

Your bot answers from it

Your token, your name, your avatar. It opens ticket channels in your server and answers in them, in whatever language the customer writes in. Nobody can tell it is us, because in every way that matters it is not.

Your server, your botWaiting on them
ticket-0091
Today
rikoToday at 21:07
el panel del banco no abre, se queda la pantalla en negro
Legacy StudioAPPToday at 21:07
Eso suele pasar cuando Config.UseOxMySQL no coincide con el driver que tienes instalado. El payload se construye en legacy-banking/server/main.lua:88 y se detiene antes si el nombre no coincide.
Message #ticket-0091

Same answer, same file and line, in the language the customer used. Setting names and paths stay exactly as they are, because those are names rather than words. An illustration, not a screenshot.

While you are asleep

Only the people who actually bought it.

Verify your purchase

Legacy Banking is only supported for customers who bought it. Paste the transaction ID from your receipt.

Transaction ID

Checked once, then remembered.
An illustration, not a screenshot. The order id is invented.

Verified against your Tebex store

Map a package to a resource and that mapping is the gate. A transaction ID is claimed by the first Discord account to use it, then remembered. If your store key ever breaks, tickets come through unverified instead of locking every paying customer out of support.

4 questions your documentation does not answer
  • How do I add a second bank location?11×
  • Can I change the currency symbol?6×
  • Does this work with qb-inventory?asked again4×
  • Where is the transaction log stored?2×
An illustration, not a screenshot.

It only debugs a problem once

A solved ticket is written up and kept. The next customer who hits the same thing — however they word it — skips the back and forth and gets the fix straight away. What nothing could answer becomes a ranked list of what to write next.

Every plan starts free

Pro

Most studios

$19per monthBilled monthlyAfter the trial: $19 a month$19$16per monthBilled annually · save $38 a yearAfter the trial: $190 billed once a year

  • Upload a script archive and get documentation
  • Hosted documentation site in your own colour
  • AI-answered Discord tickets, cited to the file and line
  • A hard stop when the credits run out, never a surprise overage
  • Only your paying customers can open a ticket
  • Every solved ticket reused, so it is only worked out once
  • 1,500 AI credits a month, and 10 scripts
Start 7 days free

Enterprise

$49per monthBilled monthlyAfter the trial: $49 a month$49$41per monthBilled annually · save $98 a yearAfter the trial: $490 billed once a year

  • Everything in Pro
  • Your own domain with automatic HTTPS
  • Ticket channels named by what they are about
  • Answers from resolved tickets published to your docs
  • Your own footer, and no powered-by credit
  • Ticket CSV export, and ninety days of analytics
  • 2,500 AI credits a month, and unlimited scripts
Start 7 days free
Nothing charged for 7 daysCancel any time from your billing pageHard credit stop, no overage on any plan

Compare

What is in each

FeatureProEnterprise
On every plan, including the trial
Public documentation siteYesYes
Script uploadsYesYes
AI-generated documentationYesYes
Tebex purchase verificationYesYes
Multilingual ticket answersYesYes
Solved tickets reusedYesYes
Documentation gap listYesYes
Hand edits kept on rebuildYesYes
Escalation to your teamYesYes
Ask your docs from the dashboardYesYes
Teammates and rolesYesYes
Connect a GitHub repositoryYesYes
Where the plans differ
Ticket channels named by topicYes
Publish answers to your docsYes
Your own domainYes
Your own footer textYes
No powered-by creditYes
Ticket CSV exportYes
Rebuild your docs on every pushYes
Analyticsstandardfull
Monthly credits1,5002,500
Ticket types1525
Scripts10Unlimited

A credit is a unit of AI work, priced on what a request actually costs to run rather than a flat rate per message. A short answer from your documentation costs a fraction of what writing that documentation does. Tickets and documentation builds draw on the same monthly allowance. Credit packs never expire, and they are spent last.

Upload one script and see what it writes

The trial runs the whole product for 7 days. If the documentation it writes is not accurate, you will know within ten minutes.

Start 7 days free

Card required · cancel inside the 7 days and no invoice is ever raised