Zum Inhalt springen
rpcrate

RPCrate AI · Kostenlos starten

FiveM AI Script Generator

Beschreib das Script, das dein Server braucht. RPCrate AI schreibt Lua, NUI und fxmanifest für QBCore, Qbox, ESX oder Standalone, prüft die Syntax jeder Datei und gibt dir eine Resource zum Prüfen und Testen.

Mit einer Vorlage starten

3 kostenlose Credits pro Tag, bis zu 15 pro Kalendermonat · Keine Karte nötig · Anmeldung per E-Mail

Beispielprojekte ansehen

So funktioniert es

RPCrate AI ist ein FiveM-Script-Generator im Browser. Er macht aus einer einfachen Beschreibung eine vollständige Resource und prüft sie schon beim Schreiben.

  1. Beschreib dein Script

    Schreib in deinen eigenen Worten und in jeder Sprache, was das Script tun soll. Wähl QBCore, Qbox, ESX oder Standalone oder lade eine bestehende Resource als ZIP hoch.

  2. Schau beim Bauen zu

    RPCrate AI schreibt fxmanifest.lua, Config, Client- und Server-Dateien und bei Bedarf eine NUI. Nach jeder Datei prüft es Lua-Syntax und Manifest und behebt, was es findet.

  3. Verfeinern und herunterladen

    Wünsch dir Änderungen im Chat, bearbeite den Code selbst, sieh dir die NUI an und stell ältere Versionen wieder her. Lade die Resource als ZIP und teste sie auf deinem Dev-Server.

Beispielprojekte zum Öffnen und Anpassen

Vollständige Ressourcen mit ihren Prompts. Öffne ein Projekt im Editor und entwickle es mit eigenen Prompts weiter.

Aufgezeichnete KI-Läufe zeigen ihren tatsächlichen Credit-Verbrauch. Andere Beispiele sind kuratierte Vorlagen. Prüfe und teste alle auf deinem Entwicklungsserver.

  1. 01Standalone

    Standalone server rules board

    Ein kleines Standalone-Panel für /rules. Regeln in der Config, Schließen per Escape oder Button und Freigabe des Fokus beim Schließen und Ressourcenstopp.

    Aufgezeichneter KI-Lauf · 0,6 Credits · 2026-10-13

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • config.lua
    • fxmanifest.lua
    • client/
    • main.lua
    • html/
    • index.html
    • script.js
    • style.css
    • locales/
    • en.lua
    html/index.html
    Browser-NUI-Vorschau von „Standalone server rules board“ mit simulierten Nachrichten zum Öffnen und Schließen

    NUI im Browser mit simulierten Nachrichten. Das Verhalten im Spiel wurde noch nicht geprüft.

    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

    Eigene Fahrzeuge in Garagen ein- und ausparken und verlorene gegen Gebühr vom Abschlepphof holen. Besitz, Entfernung und Zahlung prüft der Server.

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • 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

    Im Depot einstempeln, einen vom Server gespawnten Van bekommen und an zufällige Abgabepunkte liefern. Lohn, Entfernung und Timing prüft der Server.

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • 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

    Ein NUI-Shop mit Kategorien, Warenkorb und Zahlung bar oder per Karte. Preise kommen aus der Server-Config, Items laufen über ox_inventory.

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • config.lua
    • fxmanifest.lua
    • client/
    • main.lua
    • html/
    • app.js
    • index.html
    • style.css
    • locales/
    • en.lua
    • server/
    • main.lua
    html/index.html
    NUI des Beispiels „Qbox NUI shop“, gerendert in der Vorschau von RPCrate 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

    Ein NUI-Panel fürs Team mit Spielerliste, Teleport, Heilen, Wiederbeleben, Einfrieren, Zuschauen und Kick, per ACE-Recht geschützt und protokolliert.

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • config.lua
    • fxmanifest.lua
    • client/
    • main.lua
    • html/
    • app.js
    • index.html
    • style.css
    • locales/
    • en.lua
    • server/
    • main.lua
    html/index.html
    NUI des Beispiels „Standalone admin menu“, gerendert in der Vorschau von RPCrate 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

    Eine Zapfsäule per ox_target anvisieren, mit Fortschrittsbalken tanken, pro Liter auf dem Server zahlen und ein kleines Tank-HUD sehen.

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • 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

    Statusbalken, Tacho mit Tank und Gang, Layout und Farben in der Config. Werte gehen nur bei Änderungen an die Seite, im Pausenmenü verschwindet das HUD, Hunger und Durst kommen aus den QBCore- oder Qbox-Metadaten, wenn der Server sie hat.

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • config.lua
    • fxmanifest.lua
    • client/
    • framework.lua
    • main.lua
    • html/
    • app.js
    • index.html
    • style.css
    html/index.html
    NUI des Beispiels „HUD starter“, gerendert in der Vorschau von RPCrate 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

    Ein NUI-Handy mit Homescreen und funktionierenden Apps für Uhr, Rechner, Notizen und Einstellungen. Notizen bleiben auf dem PC des Spielers, ESC schließt es, Theme und Rahmengröße in der Config, Name und Job erscheinen, wenn QBCore, Qbox oder ESX läuft.

    Prompt, Dateien und Code ansehen
    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.

    Dateien

    • config.lua
    • fxmanifest.lua
    • client/
    • framework.lua
    • main.lua
    • html/
    • app.js
    • index.html
    • style.css
    html/index.html
    NUI des Beispiels „Phone starter“, gerendert in der Vorschau von RPCrate 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 })

Gebaut für FiveM, nicht für ein Chatfenster

  • Framework-Konventionen

    Nutzt die Exports und Muster von QBCore, Qbox und ESX, dazu ox_lib, ox_target, ox_inventory und oxmysql, wo sie passen.

  • Serverseitig als Regel

    RPCrate AI hat die Vorgabe, Geld, Items und Rechte auf dem Server zu halten und Client-Events zu prüfen. Kontrollier das Ergebnis, bevor du live gehst.

  • Geprüft beim Schreiben

    Jede Lua-Datei wird auf Syntaxfehler geparst, und jedes Script muss in der fxmanifest.lua stehen. Probleme gehen direkt zurück an die KI.

  • Live-NUI-Vorschau

    Menüs aus HTML, CSS und JavaScript laufen in einer abgeschotteten Vorschau. So siehst du das Interface, bevor du den Server startest.

  • Jede Version gespeichert

    Jede Änderung der KI wird zu einer Version. Vergleich den Diff, stell eine ältere wieder her oder lade jede Version als ZIP.

  • Lesbarer Code, keine Bindung

    Klares, unverschlüsseltes Lua mit config.lua und Sprachdateien. Kein Escrow, keine Verschleierung, keine versteckten HTTP-Aufrufe.

RPCrate AI vs. ChatGPT vs. Script kaufen

Mit allen dreien kommt ein Script auf deinen Server. Sie unterscheiden sich darin, wie viel du selbst zusammenbaust, wie frei du es ändern kannst und was du zahlst.

MerkmalRPCrate AIChatGPTScript kaufen
Ideal fürEigene Scripts, die genau zu deinem Server passenAllgemeine Programmierung, Fragen und ErklärungenGroße, ausgereifte Systeme wie Handy, Housing oder MDT
Was du bekommstEine komplette Resource: Manifest, Config, Client, Server und NUICode im Chat oder Workspace; Export je nach verwendeten ToolsEine fertige Resource vom Ersteller
FiveM-PrüfungenLua-Syntax und fxmanifest nach jeder Datei geprüftFiveM-spezifische Prüfungen mit eigenen Tools durchführenPrüfumfang laut Hersteller beachten
ÄnderungenIm Chat wünschen oder Code bearbeiten, jede Version bleibt erhaltenÄnderungen im Gespräch oder Workspace, je nach ToolConfig-Optionen; der Code ist oft verschlüsselt (Escrow)
Updates und SupportDu testest und pflegst den CodeDu testest und pflegst den CodeUpdates und Support hängen vom Produkt ab
Kosten3 kostenlose Credits/Tag, bis zu 15/Kalendermonat; Tarife ab 19 €/MonatGratis- und Bezahllimits hängen von Tarif und Tools abEinmalpreis pro Script

Du brauchst lieber ein großes System mit Updates und Support? Stöbere in QBCore-Scripts, ESX-Scripts oder allem im Shop.

Preise

Starte kostenlos mit 3 Credits pro Tag, bis zu 15 im Monat. Ein typisches Script braucht etwa 3 Credits. Bezahlpläne geben dir zusätzlich zu den Tages-Credits monatliche Credits.

Alle Pläne vergleichen

Fragen zum FiveM AI Script Generator

Was ist RPCrate AI?

RPCrate AI ist ein FiveM-Script-Generator, der in deinem Browser läuft. Du beschreibst eine Resource in einfachen Worten, und er schreibt die fxmanifest.lua, die Config, Client- und Server-Lua und bei Bedarf eine NUI. Während er arbeitet, prüft er jede Datei auf Lua-Syntaxfehler und fehlende Manifest-Einträge. Er läuft mit dem Modell Claude Sonnet von Anthropic und kommt von rpcrate, einem Shop für FiveM-Resources.

Ist der FiveM AI Script Generator kostenlos?

Ja, du kannst kostenlos starten. Jedes Konto bekommt 3 Credits pro Tag, bis zu 15 Credits pro Kalendermonat, ganz ohne Zahlungskarte. Ein typisches Script braucht etwa 3 Credits, kleine Änderungen weniger. Wenn du mehr brauchst, geben dir die Bezahlpläne monatliche Credits zusätzlich zu den Tages-Credits, ab 19 € im Monat. Alle Preise sind in Euro inklusive Mehrwertsteuer.

Welche Frameworks werden unterstützt?

RPCrate AI schreibt Scripts für QBCore, Qbox, ESX und Standalone-Server. Du wählst das Framework vor dem Start, und es hält sich an dessen Exports und Konventionen, zum Beispiel Spielerobjekte, Geldfunktionen und Callbacks. Wo es passt, nutzt es auch verbreitete Resources wie ox_lib, ox_target, ox_inventory und oxmysql. Andere Abhängigkeiten deines Servers nennst du einfach im Prompt.

Kann es ein bestehendes Script ändern oder reparieren?

Ja. Lade deine Resource als ZIP-Datei mit bis zu 5 MB hoch und beschreib, was du ändern willst, zum Beispiel eine neue Funktion, einen Bugfix oder eine Übersetzung. RPCrate AI liest die Dateien, ändert nur das Nötige und speichert das Ergebnis als neue Version. So kannst du die Änderungen vergleichen oder zum alten Code zurückkehren.

Sind KI-generierte FiveM-Scripts sicher?

RPCrate AI hat die Vorgabe, Geld, Items und Rechte auf dem Server zu halten, jedes Client-Event zu prüfen und nie verschleierten Code, Backdoors oder versteckte HTTP-Anfragen einzubauen. Heraus kommt klares, lesbares Lua. Auch eine KI macht Fehler. Lies deshalb den Code, teste jedes Script zuerst auf einem Entwicklungsserver und übernimm es erst dann auf deinen Live-Server.

Was ist der Unterschied zu ChatGPT?

Allgemeine KI-Assistenten können ebenfalls Dateien schreiben und bearbeiten. RPCrate AI verbindet einen FiveM-Dateibaum, fxmanifest-Prüfungen, Lua-Diagnostik, NUI-Vorschau und Versionsverlauf in einem Ablauf. Du kannst jede Änderung prüfen und die Ressource als ZIP exportieren. Beide Wege brauchen Code-Review und Tests auf deinem Entwicklungsserver.

Kann ich den Code herunterladen und ändern?

Ja. Jede Version deines Projekts kannst du als ZIP herunterladen und in den resources-Ordner deines Servers legen. Der Code ist nicht verschlüsselt und nicht an rpcrate gebunden. Du kannst ihn in jedem Editor bearbeiten, in dein eigenes Git-Repository legen und mit oder ohne RPCrate AI weiterentwickeln.

Wie installiere ich ein generiertes Script?

Lade das ZIP herunter, entpack es in den resources-Ordner deines Servers und trag ensure mit dem Namen der Resource in deine server.cfg ein. Achte darauf, dass die Abhängigkeiten aus der fxmanifest.lua, etwa ox_lib oder oxmysql, installiert sind und vorher starten. Starte dann den Server neu oder führ refresh und ensure in der Konsole aus und teste das Script im Spiel.

Soll ich ein Script generieren oder kaufen?

Generier ein Script, wenn du etwas Spezielles für deinen Server brauchst: einen Job, einen Shop, eine Garagen-Anpassung oder ein Admin-Tool, das es so nirgends zu kaufen gibt. Kauf eines, wenn du ein großes, fertiges System wie ein Handy, Housing oder ein MDT willst, das Updates und Support vom Ersteller bekommt. Viele Server nutzen beides.

Ratgeber: mit KI an FiveM arbeiten

Ob mit RPCrate AI oder einem anderen Tool: So formulierst, prüfst und testest du KI-Code für FiveM, bevor er deine Spieler erreicht.

Vom Prompt zum getesteten ZIP (Englisch)

Framework beschreiben, Lua prüfen und den Export Schritt für Schritt testen.