So fügst du Addon-Peds zu FiveM hinzu: stream-Dateien, peds.meta, spawn-Name
Füge Addon-Peds zu einem FiveM-Server hinzu: die stream-Dateien (ydd, yft, ytd, ymt), peds.meta mit PED_METADATA_FILE, spawnen nach Modellname und Einstellen eines Ped als Spielermodell.
Du hast ein Ped-Paket mit Dateien wie .ydd, .yft, .ytd und einer peds.meta, und du möchtest den Ped spawnen oder als dieser spielen. Diese Anleitung zeigt dir, wohin jede Datei geht, was das Manifest braucht, wie du den Ped spawnst und wie du ihn als Spielermodell einstellst.
Was ein Ped-Paket enthält
Ein Ped besteht aus mehreren Dateien, die den Namen des Ped teilen:
.yft: das Hauptmodell des Ped..ydd: die Kleidung und Körperteile (Kopf, Haare, Oberkörper, Beine). Oft in einem Unterordner mit dem Namen des Ped platziert..ytd: die Texturen..ymt: die „Ped-Variations"-Datei, die dem Spiel sagt, welche Komponenten und Texturen der Ped hat.peds.meta: der Dateneintrag, der den Ped definiert (Name, Typ, Animationen und so weiter).
Die Modelldateien gehen in stream. Die peds.meta geht neben das Manifest und wird als Datendatei geladen.
Ordnerstruktur
resources/[peds]/mycop/
fxmanifest.lua
peds.meta
stream/
mycop.yft
mycop.ymt
mycop.ytd
mycop/
head_000_r.ydd
uppr_000_u.ydd
lowr_000_u.ydd
...Die genauen inneren Dateinamen hängen vom Paket ab. Benenne sie nicht um: die .ymt verweist auf sie. Behalte die Struktur, die dir der Autor gab.
Die fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
files {
'peds.meta',
}
data_file 'PED_METADATA_FILE' 'peds.meta'Der files-Eintrag macht die Datei für den Spiel-Client verfügbar, und data_file 'PED_METADATA_FILE' sagt dem Spiel, dass es Ped-Definitionen enthält. Du brauchst beide. Für mehrere Peds in einer Ressource kannst du eine peds.meta mit mehreren Einträgen verwenden oder ein Muster wie '**/peds.meta' in beiden Zeilen.
Der Name eines Ped ist in der peds.meta:
<CPedModelInfo__InitDataList>
<InitDatas>
<Item>
<Name>mycop</Name>
<PropsName>NULL</PropsName>
...
</Item>
</InitDatas>
</CPedModelInfo__InitDataList>Hier ist der Modellname mycop. Er muss mit den Dateinamen der .yft, .ymt und .ytd übereinstimmen.
Starte es und spawne es
ensure mycopUm den Ped in einem Skript zu spawnen, fordere zuerst das Modell an:
local model = joaat('mycop')
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
local ped = CreatePed(4, model, coords.x, coords.y, coords.z, heading, true, false)
SetModelAsNoLongerNeeded(model)Wenn dein Server ox_lib verwendet, macht lib.requestModel(model) die Anforderung und das Warten. Wenn der Modellname nicht existiert, wird HasModelLoaded nie wahr und die obige Schleife hängt, daher ist ein Timeout eine gute Praxis für Namen, die aus einer Konfiguration kommen.
Viele Admin-Menüs können auch einen Ped nach Name spawnen: Gib mycop ein und er erscheint.
Stelle den Ped als Spielermodell ein
Um als Ped zu spielen, ändere das Modell des Spielers:
local model = joaat('mycop')
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
SetPlayerModel(PlayerId(), model)
SetModelAsNoLongerNeeded(model)
SetPedDefaultComponentVariation(PlayerPedId())Denk daran, dass das Ändern des Spielermodells dir einen neuen Ped gibt. Waffen, Gesundheit und einige Zustände werden zurückgesetzt, daher gib sie nach der Änderung zurück, wenn dein Server dies braucht.
ESX und QBCore Skin-Menüs
Skin- und Charakterskripte sind das Hauptproblem. Sie wenden einen Freemode-Ped (mp_m_freemode_01 oder mp_f_freemode_01) an, wenn du spawnst, und dein Modell wird einen Moment später ersetzt. Optionen:
- Verwende die Option in deinem Skin-Skript. Viele Erscheinungsskripte haben eine Möglichkeit, einen benutzerdefinierten Ped oder eine Liste zulässiger Peds einzustellen. Überprüfe die Konfiguration des Skripts.
- Stelle das Modell ein, nachdem der Skin geladen ist. Bei ESX warte auf
esx:playerLoadedund dass das Skin-Skript fertig ist. Bei QBCore warte aufQBCore:Client:OnPlayerLoaded. Rufe dannSetPlayerModelauf. - Speichere den Addon-Ped nicht als Skin. Erscheinungsdaten für einen Freemode-Ped passen nicht zu einem anderen Modell, und ein gespeicherter Skin vom falschen Typ kann dazu führen, dass der Charakter falsch geladen wird. Halte die Ped-Auswahl in einem separaten Feld oder Skript.
Bei QBox gilt das gleiche: Das Erscheinungsskript entscheidet, welches Modell der Spieler bekommt, daher stelle den Ped danach ein oder verwende seine eigene benutzerdefinierte Ped-Option, falls vorhanden.
Häufige Probleme
- Der Ped ist unsichtbar oder ein Standard-Modell. Die
peds.metawird nicht geladen oder die Namen unterscheiden sich. Überprüfe diedata_file-Zeile und den Namen in<Name>. - Der Ped hat kein Gesicht oder weiße Texturen. Die
.ytd- oder.ydd-Dateien fehlen, befinden sich im falschen Ordner oder wurden umbenannt. Die.ymtbraucht die ursprünglichen Namen. - Die Ressource startet, aber der Ped kann nicht gespawnt werden. Ein Tippfehler im Spawn-Namen. Er muss dem Eintrag
<Name>inpeds.metaentsprechen. - Das Spiel stürzt ab oder Streaming warnt. Große Dateien und viele Peds verwenden Streaming-Speicher. Siehe Oversized Assets.
- Die Ressource startet nicht. Ein Pfad in
filesexistiert nicht. Siehe konnte Ressource nicht starten.
Autos folgen der gleichen Datendatei-Idee: siehe wie man Addon-Autos hinzufügt.
Checkliste
| Symptom | Behebung |
|---|---|
| Ped kann nicht gespawnt werden | Verwende den <Name> aus peds.meta; ensure die Ressource |
| Ped ist unsichtbar oder Standard | Füge files und data_file 'PED_METADATA_FILE' hinzu; stimme Namen ab |
| Weiße oder fehlende Texturen | Behalte die .ydd- und .ytd-Namen wie im Paket |
| Modell setzt sich nach Spawn zurück | Rufe SetPlayerModel auf, nachdem das Skin- oder Charakterskript fertig ist |
| Waffen weg nach Änderung | Gib sie nach SetPlayerModel zurück |
| Ressource startet nicht | Überprüfe, dass jeder Pfad in files existiert |
Kurze Antworten
Welchen Namen verwende ich, um einen Addon-Ped zu spawnen?
Den Namen des Ped in peds.meta, was auch der Name seiner .ydd-, .yft-, .ytd- und .ymt-Dateien ist. Wenn die Dateien mycop heißen, verwendest du mycop mit joaat('mycop').
Warum wird mein Addon-Ped als Standard-Ped angezeigt oder ist unsichtbar?
Normalerweise ist die peds.meta nicht geladen, oder der Name darin stimmt nicht mit den Dateinamen überein. Überprüfe die Zeile data_file 'PED_METADATA_FILE' und dass die Namen übereinstimmen.
Kann ich einen Addon-Ped als mein eigenes Zeichen verwenden?
Ja, mit SetPlayerModel, aber ESX und QBCore Skin- oder Charakterskripte setzen das Modell oft auf den Freemode-Ped zurück. Du musst es nach ihrer Ausführung setzen oder eine Option im Skin-Skript verwenden.
Scripts ohne dieses Problem
Parrots as PetsVierzehn Vögel, die auf deiner Schulter sitzen, mit dir fliegen und auf Zuruf zurückkommen.Script ansehen →
Drug Dealer AppStraßenverkauf als lb-phone-App: Zonen, NPC-Käufer, Level und Polizeialarme.Script ansehen →
Quest CreatorEin visueller Editor für Quests und NPC-Dialoge, Node für Node im Spiel gebaut.Script ansehen →