Files
D4rkst3randClaude Opus 5 a33dba46a4 FiveM Natives + Docs Nachschlagewerk
7359 Natives (GTA5 + Cfx) und 342 Doc-Seiten von docs.fivem.net in einer
SQLite-DB mit FTS5-Volltextsuche, dazu ein dependency-freies Python-CLI und
eine SKILL.md fuer Claude Code.

- build.py zieht runtime.fivem.net/doc/natives*.json und citizenfx/fivem-docs
  und loest die Hugo-Shortcodes der Docs auf (code, native_link, alert, events)
- lua_name folgt exakt der Regel aus FiveM ext/natives/codegen_out_lua.lua
- fivem.py: show / search / ns / docs / doc / stats, optional --json
- data/natives.jsonl als grep-barer Fallback

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 02:14:56 +02:00

3.8 KiB

name, description
name description
fivem-natives Nachschlagewerk für FiveM/GTA5 Natives und docs.fivem.net. Nutzen, sobald ein FiveM-Native, ein Hash (0x...), eine Native-Signatur, ein Parameter oder ein Rückgabewert geprüft werden soll, wenn unklar ist ob ein Native client-, server- oder shared-seitig ist, wenn ein Native über die Beschreibung gesucht wird ("wie setze ich einen Ped in Ragdoll"), oder wenn etwas aus den FiveM-Docs gebraucht wird (fxmanifest, Resource-Manifest-Einträge, Server-Convars, Events, Scripting-Runtimes, Server-Setup, Streaming/Assets, Game-Referenzen).

FiveM Natives & Docs

Lokale SQLite-Datenbank mit 7.359 Natives (GTA5 + Cfx) und 342 Doc-Seiten von docs.fivem.net. Offline, keine Dependencies außer Python 3.

Immer diese Datenbank statt WebFetch/WebSearch verwenden — sie ist schneller, vollständig und enthält die Beschreibungen, Parametertypen und Beispiele aus den offiziellen Quellen.

Aufruf

Alle Kommandos relativ zum Skill-Verzeichnis ($SKILL_DIR = Ordner dieser SKILL.md):

python "$SKILL_DIR/fivem.py" <kommando> [args]

Kommandos

Kommando Zweck
fivem.py <freitext> Kombinierte Suche über Natives und Docs (Default)
fivem.py show <Name|Hash> Volles Detail: Signatur, Parameter, Rückgabe, Beschreibung, Beispiele
fivem.py search <worte> Nur Natives, mit --apiset client|server|shared, --ns VEHICLE, --limit N, --json
fivem.py ns / fivem.py ns PED Namespaces auflisten / alle Natives eines Namespace
fivem.py docs <worte> Volltextsuche in docs.fivem.net (--section scripting-reference)
fivem.py doc <slug> Komplette Doc-Seite ausgeben
fivem.py stats Umfang / Build-Datum

Typische Abläufe

Signatur eines bekannten Natives prüfen — vor dem Schreiben von Native-Aufrufen:

python "$SKILL_DIR/fivem.py" show SetEntityCoords
python "$SKILL_DIR/fivem.py" show 0xAE99FB955581844A

Akzeptiert Lua-Name (SetPedToRagdoll), Original-Name (SET_PED_TO_RAGDOLL), Hash und jhash — Groß-/Kleinschreibung egal.

Native über die Funktion suchen, wenn der Name unbekannt ist:

python "$SKILL_DIR/fivem.py" search vehicle engine health
python "$SKILL_DIR/fivem.py" search identifier --apiset server

Server- vs. Client-Kontext klären — das Feld apiset ist maßgeblich:

python "$SKILL_DIR/fivem.py" search player ping --apiset server

Docs nachschlagen:

python "$SKILL_DIR/fivem.py" docs fxmanifest
python "$SKILL_DIR/fivem.py" doc scripting-reference/resource-manifest
python "$SKILL_DIR/fivem.py" docs convar --section server-manual

Wichtig beim Interpretieren

  • apiset sagt, wo das Native läuft: client, server oder shared. Alle GTA5-Natives sind client; Cfx-Natives können server- oder shared-seitig sein.
  • Gleicher Name, zwei Einträge: viele Natives existieren zusätzlich als server-seitiges RPC-Pendant (z.B. SetPedToRagdoll als 0xAE99FB955581844A client und 0x83CB5052 server). show gibt beide aus — den passenden auswählen.
  • lua_name ist der Bezeichner, der in Lua/JS tatsächlich aufgerufen wird. Achtung auf Sonderfälle wie DrawScaleformMovie_3d (Unterstrich vor Ziffern bleibt) und World3dToScreen2d.
  • Unbenannte Natives heißen N_0x<hash>; per Citizen.InvokeNative(0x..., ...) aufrufbar.
  • Parameter mit Namen wie p4, p19 sind in den offiziellen Docs undokumentiert — das im Code kenntlich machen statt zu raten.

Fallback ohne Python

data/natives.jsonl enthält ein Native pro Zeile und ist direkt grep-bar:

grep -i '"lua_name": "SetPedToRagdoll"' "$SKILL_DIR/data/natives.jsonl"

Daten aktualisieren

python "$SKILL_DIR/build.py" --refresh

Zieht runtime.fivem.net/doc/natives*.json und github.com/citizenfx/fivem-docs neu.