RPCrate AI · Démarrage gratuit
FiveM AI Script Generator
Décrivez le script dont votre serveur a besoin. RPCrate AI écrit le Lua, la NUI et le fxmanifest pour QBCore, Qbox, ESX ou standalone, vérifie la syntaxe de chaque fichier et vous livre une ressource à relire et à tester.
Partir d'un modèle
3 crédits gratuits par jour, jusqu’à 15 par mois civil · Sans carte · Connexion par e-mail
Voir les projets exemplesComment ça marche
RPCrate AI est un générateur de scripts FiveM dans votre navigateur. Il transforme une simple description en ressource complète et la vérifie pendant qu’il l’écrit.
Décrivez votre script
Écrivez ce que le script doit faire, avec vos mots et dans la langue de votre choix. Choisissez QBCore, Qbox, ESX ou standalone, ou importez une ressource existante en ZIP.
Suivez la construction
RPCrate AI écrit le fxmanifest.lua, la config, les fichiers client et serveur et une NUI si besoin. Après chaque fichier, il vérifie la syntaxe Lua et le manifest et corrige ce qu’il trouve.
Affinez et téléchargez
Demandez des modifications dans le chat, éditez le code vous-même, prévisualisez la NUI et restaurez d’anciennes versions. Téléchargez la ressource en ZIP et testez-la sur votre serveur de dev.
Des projets d’exemple à ouvrir et à modifier
Des ressources complètes avec leurs prompts. Ouvre un projet dans l’éditeur et continue avec tes propres prompts.
Les générations enregistrées indiquent les crédits réellement utilisés. Les autres exemples sont des modèles sélectionnés. Vérifie et teste chaque ressource sur ton serveur de développement.
01Standalone
Standalone server rules board
Un petit panneau /rules standalone. Règles configurables, fermeture par Échap ou bouton et libération du focus à la fermeture et à l’arrêt de la ressource.
Génération IA enregistrée · 0,6 crédits · 2026-10-13
Voir le prompt, les fichiers et le code
Prompt Create a standalone FiveM /rules command. Show a small NUI panel with three server rules from config.lua. Escape and a Close button dismiss it. Release NUI focus on close and resource stop. No database, payments or external HTTP requests. Include fxmanifest.lua and explain how to test it.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- main.lua
- html/
- index.html
- script.js
- style.css
- locales/
- en.lua
html/index.html
Rendu NUI dans le navigateur avec messages simulés. Le comportement en jeu n’a pas encore été vérifié.
client/main.lualocal function openRules() if isOpen then return end isOpen = true SetNuiFocus(true, true) SendNUIMessage({ action = 'open', title = Locale.title, close = Locale.close, hint = Locale.hint, rules = Config.Rules, layout = Config.Layout.panel, theme = Config.Theme.name }) end02QBCore
QBCore garage with impound
Rangez et sortez vos véhicules dans des garages et récupérez ceux perdus à la fourrière contre des frais. Propriété, distance et paiement sont vérifiés par le serveur.
Voir le prompt, les fichiers et le code
Prompt Create a garage script for QBCore: players store and retrieve their owned vehicles at marked garages through an ox_lib menu, with an impound lot that charges a retrieval fee. Garage locations and fees in config.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- main.lua
- locales/
- en.lua
- server/
- main.lua
server/main.lualocal function takeFromImpound(player, cid, plate) local row = MySQL.single.await('SELECT state FROM player_vehicles WHERE plate = ? AND citizenid = ?', { plate, cid }) if not row or row.state == GARAGED or inWorld(plate) then return false, 'vehicle_out' end local fee = Config.Impound.fee local account = Config.PayFrom if player.PlayerData.money[account] < fee then account = account == 'bank' and 'cash' or 'bank' end if not player.Functions.RemoveMoney(account, fee, 'garage-impound-fee') then return false, 'no_money' end -- An impounded vehicle is claimed atomically; a lost "out" one stays out (the busy lock guards it). if row.state == IMPOUNDED then local changed = MySQL.update.await( 'UPDATE player_vehicles SET state = ? WHERE plate = ? AND citizenid = ? AND state = ?', { OUT, plate, cid, IMPOUNDED } ) if changed ~= 1 then player.Functions.AddMoney(account, fee, 'garage-impound-refund') return false, 'vehicle_out' end end return true, nil, { fee = fee, account = account } end03ESX
ESX delivery job with van spawn
Prenez votre service au dépôt, recevez une camionnette créée par le serveur et livrez des points aléatoires. Paie, distance et délais sont vérifiés par le serveur.
Voir le prompt, les fichiers et le code
Prompt Create a delivery job for ESX: players clock in at a depot, a work van spawns, they deliver packages to random drop-off points marked with blips and get paid per delivery. The van despawns when the shift ends.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- main.lua
- locales/
- en.lua
- server/
- main.lua
server/main.luaESX.RegisterServerCallback('rpc_delivery:deliver', function(src, cb) local shift = shifts[src] local xPlayer = ESX.GetPlayerFromId(src) if not shift or not shift.van or not xPlayer then return cb(false) end local drop = Config.DropOffs[shift.route[shift.step]] if not drop then return cb(false) end local ped = GetPlayerPed(src) if #(GetEntityCoords(ped) - drop) > Config.DropRadius then return cb(false) end if not DoesEntityExist(shift.van) or #(GetEntityCoords(shift.van) - drop) > 40.0 then return cb(false, 'need_van') end if os.time() - shift.lastDrop < Config.MinSecondsBetweenDrops then return cb(false, 'too_fast') end local pay = Config.PayPerDelivery + math.random(Config.Bonus.min, Config.Bonus.max) xPlayer.addAccountMoney(Config.PayAccount, pay, 'Delivery job') shift.delivered = shift.delivered + 1 shift.step = shift.step + 1 shift.lastDrop = os.time() cb(true, pay, Config.DropOffs[shift.route[shift.step]]) end)04Qbox
Qbox NUI shop
Une boutique NUI avec catégories, panier et paiement en espèces ou par carte. Les prix viennent de la config serveur, les objets passent par ox_inventory.
Voir le prompt, les fichiers et le code
Prompt Create an NUI shop for Qbox: a clean shop menu that opens at configurable store locations, with item categories, a cart and payment by cash or bank. Items and prices in config, items through ox_inventory.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- main.lua
- html/
- app.js
- index.html
- style.css
- locales/
- en.lua
- server/
- main.lua
html/index.html
server/main.lua-- Only names and counts come from the client; prices are always looked up here. local catalog, lines, total = prices[shop.catalog], {}, 0 for name, count in pairs(cart) do count = math.floor(tonumber(count) or 0) local price = type(name) == 'string' and catalog[name] if price and count > 0 then count = math.min(count, Config.MaxPerItem) lines[#lines + 1] = { name = name, count = count } total = total + price * count end end if #lines == 0 then return { ok = false, reason = 'empty_cart' } end05Standalone
Standalone admin menu
Un panneau NUI pour le staff avec liste des joueurs, téléportation, soin, réanimation, gel, spectateur et kick, protégé par permission ACE et journalisé.
Voir le prompt, les fichiers et le code
Prompt Create a standalone admin menu: an NUI panel for staff with a player list and actions (teleport, bring, heal, revive, freeze, spectate, kick), restricted by ace permissions, and every action logged.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- main.lua
- html/
- app.js
- index.html
- style.css
- locales/
- en.lua
- server/
- main.lua
html/index.html
server/main.luaRegisterNetEvent('rpc_admin:server:action', function(action, targetId, reason) local src = source -- Everything is re-checked here: the NUI and the client are not trusted. if not isStaff(src) or not allowedActions[action] or not handlers[action] then return end local target = tonumber(targetId) if not target or GetPlayerPing(target) == 0 then return TriggerClientEvent('rpc_admin:client:notify', src, Locale.player_gone) end if action == 'kick' then reason = type(reason) == 'string' and reason:sub(1, 120) or '' if reason == '' then reason = Locale.default_reason end end local detail = handlers[action](src, target, reason) log(src, action, target, detail) TriggerClientEvent('rpc_admin:client:notify', src, Locale.done:format(action, GetPlayerName(target) or target)) TriggerClientEvent('rpc_admin:client:players', src, playerList()) end)06QBCore
ox_target fuel station
Ciblez une pompe avec ox_target, faites le plein avec une barre de progression, payez au litre côté serveur et suivez un petit HUD de carburant.
Voir le prompt, les fichiers et le code
Prompt Create a fuel station script using ox_target for QBCore: target a pump to refuel the closest vehicle, price per liter in config, a progress bar while refueling and a small fuel HUD.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- main.lua
- locales/
- en.lua
- server/
- main.lua
server/main.lualib.callback.register('rpc_fuel:server:pay', function(src, netId, requested) local player = QBCore.Functions.GetPlayer(src) local veh, reason = validVehicle(src, netId) if not player or not veh then return { ok = false, reason = reason or 'no_vehicle' } end local liters = math.floor(tonumber(requested) or 0) if liters < 1 then return { ok = false, reason = 'full' } end liters = math.min(liters, Config.TankSize) local price = liters * Config.PricePerLiter for _, account in ipairs(Config.PayFrom) do if player.PlayerData.money[account] >= price and player.Functions.RemoveMoney(account, price, 'fuel') then return { ok = true, liters = liters, price = price } end end return { ok = false, reason = 'no_money', price = price } end)07Standalone
HUD starter
Barres d'état, compteur de vitesse avec carburant et rapport, disposition et couleurs dans la config. Les valeurs ne partent vers la page que lorsqu'elles changent, le HUD se masque dans le menu pause, et la faim et la soif viennent des métadonnées QBCore ou Qbox quand le serveur les fournit.
Voir le prompt, les fichiers et le code
Prompt Create a player HUD: health, armor, hunger and thirst bars, and a speedometer with fuel and gear while driving. Hide it in the pause menu, update only on change, positions, colors and km/h or mph in config. Hunger and thirst from QBCore or Qbox metadata when available.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- framework.lua
- main.lua
- html/
- app.js
- index.html
- style.css
html/index.html
client/main.lualocal function update() local changed, any = {}, false local function put(key, value) if last[key] ~= value then changed[key], last[key], any = value, value, true end end for key, value in pairs(readState()) do put(key, value) end -- Hidden in the pause menu and wherever the game hides its own HUD (cutscenes, DisplayHud(false)). put('show', enabled and not IsPauseMenuActive() and not IsHudHidden()) if not ready then SendNUIMessage({ action = 'init', settings = SETTINGS, data = last }) elseif any then SendNUIMessage({ action = 'update', data = changed }) end end08Standalone
Phone starter
Un téléphone NUI avec écran d'accueil et des apps horloge, calculatrice, notes et réglages qui fonctionnent. Les notes restent sur le PC du joueur, Échap le ferme, thème et taille du cadre dans la config, et le nom et le métier s'affichent quand QBCore, Qbox ou ESX tourne.
Voir le prompt, les fichiers et le code
Prompt Create a phone as an NUI page: open and close it with a rebindable key or /phone, ESC closes, home screen with an app grid, and working clock, calculator, notes and settings apps. Notes saved per player with client KVP, dark or light mode in settings, accent colour, wallpaper and phone size/position in config. Show name and job when QBCore, Qbox or ESX is running.
Fichiers
- config.lua
- fxmanifest.lua
- client/
- framework.lua
- main.lua
- html/
- app.js
- index.html
- style.css
html/index.html
client/main.luaRegisterNUICallback('saveNote', function(data, cb) local text = type(data) == 'table' and type(data.text) == 'string' and data.text or '' if not utf8.len(text) or not text:find('%S') then return cb({ ok = false, notes = notes }) end local cut = utf8.offset(text, Config.Notes.maxLength + 1) if cut then text = text:sub(1, cut - 1) end local index = type(data.id) == 'number' and findNote(data.id) local note if index then note = table.remove(notes, index) elseif #notes >= Config.Notes.max then return cb({ ok = false, error = 'full', notes = notes }) else local id = 0 for _, other in ipairs(notes) do id = math.max(id, other.id) end note = { id = id + 1 } end note.text = text table.insert(notes, 1, note) -- the latest edit first save('notes', notes) cb({ ok = true, id = note.id, notes = notes })
Conçu pour FiveM, pas pour une fenêtre de chat
Conventions des frameworks
Utilise les exports et les usages de QBCore, Qbox et ESX, ainsi qu’ox_lib, ox_target, ox_inventory et oxmysql quand ils s’y prêtent.
Le serveur comme règle
RPCrate AI a pour consigne de garder l’argent, les objets et les permissions côté serveur et de vérifier les événements client. Contrôlez le résultat avant la mise en production.
Vérifié pendant l’écriture
Chaque fichier Lua est analysé pour détecter les erreurs de syntaxe, et chaque script doit figurer dans le fxmanifest.lua. Les problèmes repartent directement à l’IA.
Aperçu NUI en direct
Les menus en HTML, CSS et JavaScript s’affichent dans un aperçu isolé, pour voir l’interface avant de lancer votre serveur.
Chaque version conservée
Chaque modification de l’IA devient une version. Comparez le diff, restaurez une version antérieure ou téléchargez n’importe laquelle en ZIP.
Code lisible, sans enfermement
Du Lua clair et non chiffré, avec un config.lua et des fichiers de langue. Pas d’escrow, pas d’obfuscation, pas d’appels HTTP cachés.
RPCrate AI vs ChatGPT vs acheter un script
Les trois permettent d’installer un script sur votre serveur. Ils diffèrent par ce que vous assemblez vous-même, votre liberté de modification et le prix.
| Critère | RPCrate AI | ChatGPT | Acheter un script |
|---|---|---|---|
| Idéal pour | Des scripts sur mesure pour votre serveur | Programmation générale, questions et explications | De grands systèmes aboutis : téléphone, logement, MDT |
| Ce que vous obtenez | Une ressource complète : manifest, config, client, serveur et NUI | Code dans le chat ou un espace de travail ; export selon les outils | Une ressource finie, livrée par son créateur |
| Vérifications FiveM | Syntaxe Lua et fxmanifest vérifiés après chaque fichier | Effectue les vérifications FiveM avec tes propres outils | Vérifie les tests annoncés par le créateur |
| Modifications | Demandez dans le chat ou éditez le code, chaque version est gardée | Modifications dans le chat ou l’espace de travail, selon l’outil | Options de config ; code souvent chiffré (escrow) |
| Mises à jour et support | Vous testez et maintenez le code | Vous testez et maintenez le code | Mises à jour et support selon le produit |
| Coût | 3 crédits gratuits/jour, jusqu’à 15/mois civil ; forfaits dès 19 €/mois | Les limites gratuites et payantes dépendent du forfait et des outils | Un prix unique par script |
Vous préférez un grand système avec mises à jour et support ? Parcourez les scripts QBCore, les scripts ESX ou toute la boutique.
Tarifs
Commencez gratuitement avec 3 crédits par jour, jusqu’à 15 par mois. Un script typique utilise environ 3 crédits. Les offres payantes ajoutent des crédits mensuels aux crédits quotidiens.
Comparer toutes les offresQuestions sur le générateur de scripts FiveM par IA
Qu’est-ce que RPCrate AI ?
RPCrate AI est un générateur de scripts FiveM qui fonctionne dans votre navigateur. Vous décrivez une ressource avec des mots simples, et il écrit le fxmanifest.lua, la config, le Lua client et serveur et, si besoin, une interface NUI. Pendant qu’il travaille, il vérifie chaque fichier pour les erreurs de syntaxe Lua et les entrées manquantes du manifest. Il utilise le modèle Claude Sonnet d’Anthropic et est édité par rpcrate, une boutique de ressources FiveM.
Le générateur de scripts FiveM par IA est-il gratuit ?
Oui, vous pouvez commencer gratuitement. Chaque compte reçoit 3 crédits par jour, jusqu’à 15 crédits par mois civil, sans carte bancaire. Un script typique utilise environ 3 crédits, une petite modification moins. Si vous avez besoin de plus, les offres payantes ajoutent des crédits mensuels aux crédits quotidiens, à partir de 19 € par mois. Tous les prix sont en euros TTC.
Quels frameworks sont pris en charge ?
RPCrate AI écrit des scripts pour les serveurs QBCore, Qbox, ESX et standalone. Vous choisissez le framework avant de commencer, et il suit ses exports et ses conventions, par exemple les objets joueur, les fonctions d’argent et les callbacks. Il utilise aussi des ressources courantes comme ox_lib, ox_target, ox_inventory et oxmysql quand elles s’y prêtent. Indiquez les autres dépendances de votre serveur dans votre prompt.
Peut-il modifier ou corriger un script existant ?
Oui. Importez votre ressource sous forme de fichier ZIP de 5 Mo maximum et décrivez ce que vous voulez changer, par exemple une nouvelle fonction, une correction de bug ou une traduction. RPCrate AI lit les fichiers, ne modifie que le nécessaire et enregistre le résultat comme nouvelle version, pour que vous puissiez comparer les changements ou revenir à l’ancien code.
Les scripts FiveM générés par IA sont-ils sûrs ?
RPCrate AI a pour consigne de garder l’argent, les objets et les permissions côté serveur, de vérifier chaque événement client et de ne jamais ajouter de code obfusqué, de backdoor ou de requête HTTP cachée. Le résultat est du Lua clair et lisible. Une IA peut toutefois se tromper : lisez le code, testez chaque script d’abord sur un serveur de développement, puis seulement sur votre serveur en production.
Quelle est la différence avec ChatGPT ?
Les assistants IA généralistes peuvent aussi écrire et modifier des fichiers. RPCrate AI réunit l’arborescence FiveM, les contrôles fxmanifest, les diagnostics Lua, l’aperçu NUI et l’historique des versions. Tu peux vérifier chaque modification et exporter la ressource en ZIP. Les deux approches nécessitent une revue du code et des tests sur ton serveur de développement.
Puis-je télécharger et modifier le code ?
Oui. Chaque version de votre projet se télécharge en ZIP et se dépose dans le dossier resources de votre serveur. Le code n’est ni chiffré ni lié à rpcrate : vous pouvez le modifier dans n’importe quel éditeur, le garder dans votre propre dépôt Git et continuer à le faire évoluer avec ou sans RPCrate AI.
Comment installer un script généré ?
Téléchargez le ZIP, décompressez-le dans le dossier resources de votre serveur et ajoutez ensure suivi du nom de la ressource dans votre server.cfg. Vérifiez que les dépendances listées dans le fxmanifest.lua, comme ox_lib ou oxmysql, sont installées et démarrent avant. Redémarrez ensuite le serveur, ou lancez refresh puis ensure dans la console, et testez le script en jeu.
Faut-il générer un script ou l’acheter ?
Générez un script quand vous avez besoin de quelque chose de propre à votre serveur : un métier, une boutique, une adaptation de garage ou un outil d’admin que personne ne vend sous cette forme. Achetez-en un quand vous voulez un grand système fini, comme un téléphone, du logement ou un MDT, avec mises à jour et support de son créateur. Beaucoup de serveurs combinent les deux.
Guides pour travailler avec l'IA sur FiveM
Avec RPCrate AI ou un autre outil : comment formuler, vérifier et tester le code FiveM écrit par l'IA avant qu'il n'atteigne vos joueurs.
Du prompt au ZIP testé (anglais)Décris ton framework, vérifie le Lua et teste l’export étape par étape.