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
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.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.
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.
No export, event or config key named "WithdrawalFee" exists in legacy-banking.
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.
- 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.
Installation
Legacy Banking depends on oxmysql and ox_lib. Both must start before it.
- 1.Drop the resource into resources/
- 2.Import install.sql, which creates bank_accounts
- 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.
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.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.
Legacy Banking is only supported for customers who bought it. Paste the transaction ID from your receipt.
Transaction ID
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.
- 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×
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
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
Compare
What is in each
| Feature | Pro | Enterprise |
|---|---|---|
| On every plan, including the trial | ||
| Public documentation site | Yes | Yes |
| Script uploads | Yes | Yes |
| AI-generated documentation | Yes | Yes |
| Tebex purchase verification | Yes | Yes |
| Multilingual ticket answers | Yes | Yes |
| Solved tickets reused | Yes | Yes |
| Documentation gap list | Yes | Yes |
| Hand edits kept on rebuild | Yes | Yes |
| Escalation to your team | Yes | Yes |
| Ask your docs from the dashboard | Yes | Yes |
| Teammates and roles | Yes | Yes |
| Connect a GitHub repository | Yes | Yes |
| Where the plans differ | ||
| Ticket channels named by topic | — | Yes |
| Publish answers to your docs | — | Yes |
| Your own domain | — | Yes |
| Your own footer text | — | Yes |
| No powered-by credit | — | Yes |
| Ticket CSV export | — | Yes |
| Rebuild your docs on every push | — | Yes |
| Analytics | standard | full |
| Monthly credits | 1,500 | 2,500 |
| Ticket types | 15 | 25 |
| Scripts | 10 | Unlimited |
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 freeCard required · cancel inside the 7 days and no invoice is ever raised