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 14 days · cancel any time

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.

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.

  1. 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.

    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.

  2. It writes the docs you never wrote

    Written from that map, in plain English, on your own site, in your own colour. Edit any page and your version is the one that publishes.

    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 Studio and above. An illustration, not a screenshot.

  3. Your bot answers from it

    Your token, your name, your avatar. 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.

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.

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.

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?

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.

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.

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.

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.

Every plan starts free

Starter

$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
  • Only your paying customers can open a ticket
  • A hard stop when the credits run out, never a surprise overage
  • Top up any time if you need more
  • 1,000 AI credits a month, and 3 scripts
Start 14 days free

Studio

Most studios

$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 Starter
  • Your own domain with automatic HTTPS
  • Ticket channels named by what they are about
  • Every solved ticket reused, so it is only worked out once
  • Answers from resolved tickets published to your docs
  • Docs rebuild themselves when you push to GitHub
  • Ticket CSV export, and ninety days of analytics
  • 2,000 AI credits a month, and 10 scripts
Start 14 days free

Publisher

$129per monthBilled monthlyAfter the trial: $129 a month$129$108per monthBilled annually · save $258 a yearAfter the trial: $1290 billed once a year

  • Everything in Studio
  • Your own footer, and no powered-by credit
  • Headroom for a catalogue rebuilt on every push
  • Top up whenever you need more, at any time
  • 6,000 AI credits a month, and unlimited scripts
Start 14 days free
Nothing charged for 14 daysCancel any time from your billing pageHard credit stop, no overage on any plan

Compare every plan →

Upload one script and see what it writes

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

Start 14 days free

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