Electus LogoElectus Documentation

Electus Animation Creator Exports

Use exported animation files, playback commands, and server data.

Exported files

Selecting Export writes these files inside electus_animation_creator:

PathPurpose
data/projects/<name>.anim.jsonEditable project data
data/exports/<name>.animation.jsonNormalized skeleton and animation data
data/exports/<name>.onimBaked OpenFormats animation source
stream/<name>@<name>.ycdGame-ready GTA V clip dictionary streamed by FiveM

Paired projects also write data/exports/<name>_partner.onim and stream/<name>_partner@<name>_partner.ycd.

After a successful export, the resource schedules its own restart after two seconds. This lets FiveM index the new .ycd files. The installation ACE rule must allow resource.electus_animation_creator to use command.restart.

Play an exported animation

The animation dictionary is <name>@<name>, and the clip is <name>.

local dictionary = "example@example"
local clip = "example"

RequestAnimDict(dictionary)
while not HasAnimDictLoaded(dictionary) do
	Wait(0)
end

TaskPlayAnim(PlayerPedId(), dictionary, clip, 8.0, -8.0, -1, 33, 1.0, false, false, false)

Use the built-in commands for a quick in-game check:

/playcreatedanim <animation name>
/stopcreatedanim

The play command normalizes the animation name, loads the exported dictionary, and attaches the exported prop when the project contains one.

If a new clip does not load after the scheduled restart, run these commands in the server console:

refresh
ensure electus_animation_creator

Restart the FiveM client if it still has stale animation data.

Read normalized animation data

Use the server export to read data/exports/<name>.animation.json without direct filesystem access:

local animation = exports["electus_animation_creator"]:GetAnimation("example")

if animation then
	print(animation.format, animation.durationMs)
end

GetAnimation returns the decoded table or nil when the export does not exist. The normalized export includes timing, bone hashes, labels, parent IDs, rest transforms, authored transforms, and sorted keyframes.

Register a Bablo emote

When bablo-animations is running, the export dialog can register a single-character animation in the Bablo animation menu. Set the command name, label, and GTA playback flags, then select Add to Bablo. The animation becomes available without restarting bablo-animations.

Paired animations cannot be registered through this dialog because both characters must be positioned and started together.