Aller au contenu
RPScripts

RPScripts AI · Démarrage gratuit

FiveM AI Script Generator

Décrivez le script dont votre serveur a besoin. RPScripts 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 exemples

Comment ça marche

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

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

  2. Suivez la construction

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

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

  1. 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
    Aperçu NUI dans le navigateur de « Standalone server rules board » avec messages d’ouverture et de fermeture simulés

    Rendu NUI dans le navigateur avec messages simulés. Le comportement en jeu n’a pas encore été vérifié.

    client/main.lua
    local 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
        })
    end
    
  2. 02QBCore

    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.lua
    local 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 }
    end
  3. 03ESX

    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.lua
    ESX.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)
  4. 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
    NUI de l’exemple « Qbox NUI shop », affichée dans l’aperçu de RPScripts AI
    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' } end
  5. 05Standalone

    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
    NUI de l’exemple « Standalone admin menu », affichée dans l’aperçu de RPScripts AI
    server/main.lua
    RegisterNetEvent('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)
  6. 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.lua
    lib.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)
  7. 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
    NUI de l’exemple « HUD starter », affichée dans l’aperçu de RPScripts AI
    client/main.lua
    local 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
    end
  8. 08Standalone

    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
    NUI de l’exemple « Phone starter », affichée dans l’aperçu de RPScripts AI
    client/main.lua
    RegisterNUICallback('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

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

RPScripts 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èreRPScripts AIChatGPTAcheter un script
Idéal pourDes scripts sur mesure pour votre serveurProgrammation générale, questions et explicationsDe grands systèmes aboutis : téléphone, logement, MDT
Ce que vous obtenezUne ressource complète : manifest, config, client, serveur et NUICode dans le chat ou un espace de travail ; export selon les outilsUne ressource finie, livrée par son créateur
Vérifications FiveMSyntaxe Lua et fxmanifest vérifiés après chaque fichierEffectue les vérifications FiveM avec tes propres outilsVérifie les tests annoncés par le créateur
ModificationsDemandez dans le chat ou éditez le code, chaque version est gardéeModifications dans le chat ou l’espace de travail, selon l’outilOptions de config ; code souvent chiffré (escrow)
Mises à jour et supportVous testez et maintenez le codeVous testez et maintenez le codeMises à jour et support selon le produit
Coût3 crédits gratuits/jour, jusqu’à 15/mois civil ; forfaits dès 19 €/moisLes limites gratuites et payantes dépendent du forfait et des outilsUn 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 offres

Questions sur le générateur de scripts FiveM par IA

Qu’est-ce que RPScripts AI ?

RPScripts 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 RPScripts, 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 ?

RPScripts 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. RPScripts 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 ?

RPScripts 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. RPScripts 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é à RPScripts : 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 RPScripts 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 RPScripts 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.